diff --git a/.changeset/fifty-mugs-reply.md b/.changeset/fifty-mugs-reply.md new file mode 100644 index 000000000..2de6801d6 --- /dev/null +++ b/.changeset/fifty-mugs-reply.md @@ -0,0 +1,5 @@ +--- +"@delvtech/hyperdrive-artifacts": patch +--- + +Added a `name` field for the contract's name. diff --git a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx index 5f6c136c6..bb6f2f315 100644 --- a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx +++ b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx @@ -146,7 +146,7 @@ export function OpenLongForm({ amount: depositAmountAsBigInt, }); - const { maxBaseIn, maxSharesIn, maxBondsOut } = useMaxLong({ + const { maxBaseIn, maxSharesIn } = useMaxLong({ hyperdriveAddress: hyperdrive.address, chainId: hyperdrive.chainId, }); @@ -227,25 +227,6 @@ export function OpenLongForm({ minSharePrice: poolInfo?.vaultSharePrice || 0n, }); - const { fiatPrice: baseTokenPrice } = useTokenFiatPrice({ - chainId: hyperdrive.chainId, - tokenAddress: baseToken.address, - }); - let zapTokenAmountInBase = 0n; - if ( - isZapping && - activeTokenPrice && - baseTokenPrice && - depositAmountAsBigInt - ) { - const fiatValueOfDepositAmount = fixed( - depositAmountAsBigInt, - activeToken.decimals, - ).mul(activeTokenPrice); - const equivalentAmountOfBase = fiatValueOfDepositAmount.div(baseTokenPrice); - zapTokenAmountInBase = equivalentAmountOfBase.bigint; - } - // Plausible event props const formName = "Open Long"; const chainId = hyperdrive.chainId; diff --git a/crates/ts-type/src/lib.rs b/crates/ts-type/src/lib.rs index 52393d05b..6ef927aff 100644 --- a/crates/ts-type/src/lib.rs +++ b/crates/ts-type/src/lib.rs @@ -239,10 +239,9 @@ impl TsType { } // a & b join c | d -> (a & b & c) | d Self::Union(mut union_types) => { - let first_member = union_types.remove(0); - let intersection = Self::Intersection(types); - let intersected_member = intersection.and(first_member); - union_types.insert(0, intersected_member); + let first_union_member = union_types.remove(0); + let intersection = Self::Intersection(types).and(first_union_member); + union_types.insert(0, intersection); Ok(Self::Union(union_types)) } // a & b join _ -> a & b & _ @@ -258,7 +257,10 @@ impl TsType { Ok(Self::Tuple(types)) } // (a | b) join c -> (a | b | c) - Self::Paren(inner) => inner.join(other), + Self::Paren(inner) => { + let joined = inner.join(other)?; + Ok(Self::Paren(Box::new(joined))) + } _ => Err("Type does not support joining."), } } @@ -304,22 +306,22 @@ impl TsType { '|' => { // push pending as union or an empty union since types can // start with `|` - let member = match pending_type { + let members = match pending_type { Some(ty) => vec![ty], None => vec![], }; - let mut _union = Self::Union(member); + let mut _union = Self::Union(members); pending_stack.push(_union); pending_type = None; } '&' => { // push pending as union or an empty union since types can // start with `&` - let member = match pending_type { + let members = match pending_type { Some(ty) => vec![ty], None => vec![], }; - let intersection = Self::Intersection(member); + let intersection = Self::Intersection(members); pending_stack.push(intersection); pending_type = None; } @@ -328,8 +330,8 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `<` found.")); } - let inner = pending_type.unwrap(); - let generic = inner.as_generic(vec![]); + let pending = pending_type.unwrap(); + let generic = pending.as_generic(vec![]); pending_stack.push(generic); pending_type = None; } @@ -339,13 +341,13 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `,` found.")); } - let mut inner = pending_type.unwrap(); + let mut pending = pending_type.unwrap(); loop { let top = pending_stack.pop().unwrap(); - inner = top.join(inner).unwrap(); + pending = top.join(pending).unwrap(); - match inner { + match pending { Self::Generic(_, _) => break, Self::IndexedAccess(_, _) => break, Self::Tuple(_) => break, @@ -356,7 +358,7 @@ impl TsType { return Err(type_error_at!(location, "Unexpected `,` found.")); } } - pending_stack.push(inner); + pending_stack.push(pending); pending_type = None; } '>' => { @@ -365,20 +367,21 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `>` found.")); }; - let mut ty = pending_type.unwrap(); + let mut pending = pending_type.unwrap(); + loop { let top = pending_stack.pop().unwrap(); - ty = top.join(ty).unwrap(); + pending = top.join(pending).unwrap(); - if let Self::Generic(_, _) = ty { + if let Self::Generic(_, _) = pending { break; } if pending_stack.is_empty() { - return Err(type_error_at!(location, "Unexpected `,` found.")); + return Err(type_error_at!(location, "Unexpected `>` found.")); } } - pending_type = Some(ty); + pending_type = Some(pending); } '[' => { if pending_type.is_none() { @@ -395,19 +398,19 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `]` found.")); }; - let mut ty = pending_type.unwrap(); + let mut pending = pending_type.unwrap(); // If there's an ambiguous bracket, it's an array, otherwise // it's the end of a bracketed type on the stack. if ambiguous_bracket { - pending_type = Some(ty.in_array()); + pending_type = Some(pending.in_array()); ambiguous_bracket = false; } else { loop { let top = pending_stack.pop().unwrap(); - ty = top.join(ty).unwrap(); + pending = top.join(pending).unwrap(); - match ty { + match pending { Self::IndexedAccess(_, _) => break, Self::Tuple(_) => break, _ => {} @@ -417,7 +420,7 @@ impl TsType { return Err(type_error_at!(location, "Unexpected `]` found.")); } } - pending_type = Some(ty); + pending_type = Some(pending); } } '(' => { @@ -778,6 +781,13 @@ fn match_simple_type(rust_type: &str) -> Option { mod tests { use super::*; + #[test] + fn test_join_parens() { + let parens = ts_type!((string | number)); + let joined = parens.join(ts_type!(boolean)).unwrap(); + assert_eq!(joined, ts_type!((string | number | boolean))); + } + #[test] fn test_formatting() { let base = ts_type!(string); diff --git a/packages/fixed-point-wasm/fixed_point_wasm.cjs b/packages/fixed-point-wasm/fixed_point_wasm.cjs index 1a24d017e..4ef77b910 100644 --- a/packages/fixed-point-wasm/fixed_point_wasm.cjs +++ b/packages/fixed-point-wasm/fixed_point_wasm.cjs @@ -641,7 +641,7 @@ class FixedPoint { mulDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_mul(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_mulDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -695,7 +695,7 @@ class FixedPoint { divDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_div(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_divDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; diff --git a/packages/fixed-point-wasm/fixed_point_wasm.js b/packages/fixed-point-wasm/fixed_point_wasm.js index 199cdf4e5..66fb9f99a 100644 --- a/packages/fixed-point-wasm/fixed_point_wasm.js +++ b/packages/fixed-point-wasm/fixed_point_wasm.js @@ -567,7 +567,7 @@ export class FixedPoint { mulDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_mul(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_mulDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -621,7 +621,7 @@ export class FixedPoint { divDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_div(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_divDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -1535,7 +1535,7 @@ let input; return result.subarray(0, result.length - missingOctets); } - input = base64Decode("AGFzbQEAAAAB0wEfYAJ/fwF/YAJ/fwBgA39/fwF/YAF/AX9gA39/fwBgBH9/f38AYAF/AGAAAX9gBH9/f38Bf2AFf39/f38AYAAAYAV/f39/fwF/YAZ/f39/f38AYAZ/f39/f38Bf2AHf39/f39/fwF/YAN/fn4AYAN/fn4Bf2ABfAF/YAJ/fwF8YAN+f38AYAN+f38Bf2ABfwF8YAV/fn5+fgBgA39+fwBgBH9+fn4AYAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AAtQfSBguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfZGVjaW1hbHNfMzAxN2I1MmY3Yzk5NjBiZAADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyRfX3diZ190cmFpbGluZ3plcm9zX2UyOWEyMDZmYTEwNWU0MzYAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193Ymdfcm91bmRpbmdfNjUyM2E3Mzg5NmYyMWI2ZAABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19sb2NhbGVfZWRlYWM4ZjFiYmRlZThiNAABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxxfX3diZ19ncm91cF9mOTUzYWYwNTBjMzZhYThmAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzJV9fd2JnX2NvbXBhY3RkaXNwbGF5XzRmMmY2MzM2YmNlYzQ3YmQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMeX193YmdfcGVyY2VudF81ZWRlNjQ4MzdhYzQ2YjJhAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAGGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ19jdXJyZW5jeV9iOTNjYWIxNTY3ZDgyZjM5AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX2NvbXBhY3RfNjc0OTBlNjAyMDQ1MThiMAADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx5fX3diZ19kaXNwbGF5XzkyZjMyZjc4NmViYzkyNjMAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMVX193YmluZGdlbl9udW1iZXJfbmV3ABEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzI19fd2JnX2lzZml4ZWRwb2ludF84Zjc1MGViYmE5YTJkMjQ5AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX21pbl8yZDA2NDFkMWU3ODU4NjAxAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX21heF8yZGRkMjQ3MGQyNTRhMTkzAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX2RlY2ltYWxzX2JhMTQ3OWM2MTkxM2U5MjMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNmZlZjNhZDhiNzVhZDc5ZQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxFfX3diaW5kZ2VuX3R5cGVvZgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193Ymdfc3RhY2tfNjU4Mjc5ZmU0NDU0MWNmNgABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxxfX3diZ19lcnJvcl9mODUxNjY3YWY3MWJjZmM2AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzDV9fd2JpbmRnZW5fZ2UAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfY3J5cHRvXzFkMWYyMjgyNGE2YTA4MGMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMUX193YmluZGdlbl9pc19vYmplY3QAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMeX193YmdfcHJvY2Vzc180YTcyODQ3Y2M1MDM5OTViAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3ZlcnNpb25zX2Y2ODY1NjVlNTg2ZGQ5MzUAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193Ymdfbm9kZV8xMDRhMmZmOGQ2ZWEwM2EyAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFF9fd2JpbmRnZW5faXNfc3RyaW5nAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX3JlcXVpcmVfY2NhOTBiMWE5NGEwMjU1YgAHGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX21zQ3J5cHRvX2ViMDVlNjJiNTMwYTE1MDgAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMlX193YmdfcmFuZG9tRmlsbFN5bmNfNWM5Yzk1NWFhNTZiNjA0OQABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyZfX3diZ19nZXRSYW5kb21WYWx1ZXNfM2FhNTZhYTZlZGVjODc0YwABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19CaWdJbnRfNDJiNjkyYzE4ZTFhYzZkNgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyBfX3diZ19uZXdub2FyZ3NfZTI1ODA4N2NkMGRhYTBlYQAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ19jYWxsXzI3YzBmODc4MDFkZWRmOTMAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzcyZmI5YTE4YjVhZTI2MjQABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfbGVuZ3RoX2RlZTQzM2Q0Yzg1YzkzODcAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193YmluZGdlbl9vYmplY3RfY2xvbmVfcmVmAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JnX3NlbGZfY2UwZGJmYzQ1Y2YyZjViZQAHGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ193aW5kb3dfYzZmYjkzOWE3ZjQzNjc4MwAHGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyFfX3diZ19nbG9iYWxUaGlzX2QxZTZhZjQ4NTZiYTMzMWIABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfZ2xvYmFsXzIwN2I1NTg5NDI1Mjc0ODkABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMXX193YmluZGdlbl9pc191bmRlZmluZWQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193YmdfcGFyc2VGbG9hdF9jMDcwZGIzMzZkNjg3ZTUzABIYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGV9fd2JnX29mXzRhMmIzMTNhNDUzZWMwNTkAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfQmlnSW50X2YwMGI4NjQwOTgwMTI3MjUAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNjZiZTNjOGUxYzZhN2M3NgAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ190b1N0cmluZ18wYjUyN2ZjZTBlOGYyYmFiAAQYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX25ld18yOGM1MTFkOWJhZWJmYTg5AAAYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JnX2NhbGxfYjNjYTdjNjA1MWY5YmVjMQACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfNWRkODZlYmM5MTdkOWY1MgAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19jb25jYXRfM2RlMjI5ZmU0ZmU5MGZlYQAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyFfX3diZ19yZXBsYWNlQWxsXzlkNzdjOGEyNDMwZWFhMTYACxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193Ymdfc2xpY2VfNTJmYjYyNmZmZGM4ZGE4ZgACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyFfX3diZ19zdGFydHNXaXRoX2Q3YTY0ZDk1MTA3NzRlOGYACBguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMiX193YmdfdG9Mb3dlckNhc2VfY2FhMjYzMmI0MzllODhlYwADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ190cmltX2NhN2Q1MzZiYzgzZjBlYjQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfYnVmZmVyXzEyZDA3OWNjMjFlMTRiZGIAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMxX193YmdfbmV3d2l0aGJ5dGVvZmZzZXRhbmRsZW5ndGhfYWE0YTE3YzMzYTA2ZTVjYgACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfNjNiOTJiYzg2NzFlZDQ2NAADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19zZXRfYTQ3YmFjNzAzMDZhMTlhNwAEGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyRfX3diZ19uZXd3aXRobGVuZ3RoX2U5YjQ4NzhjZWJhZGIzZDMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193Ymdfc3ViYXJyYXlfYTFmNzNjZDRiNWI0MmZlMQACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfOWI5MmU0YTMwYjhmYjA1ZgAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19mb3JtYXRfMGQxYTQzNDIyYjA2NTQwOQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19zZXRfMWY5YjA0ZjE3MDA1NWQzMwACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzEV9fd2JpbmRnZW5fbWVtb3J5AAcDugK4AgEBBAQDBAQEBAUFAQUEBAUFAQQBBAUBAAIFBQUFAgQBBAEIBQQFDQATBgECAgEFBQECBAQJCQkFBQABAAEEAQEBBAQAAAEEDA4BCwgBBAUAFAAAAwABBQABAAEBAAAAAAAEAAUFBQUEBAABAQoMBgQEBAYGAQUDDgUMBQAAAAEVABYJAAAAAAABBAEXAwEEAwAGCgYAAQUHAQYDAAIBAgIBCg8GDwYFAAQEAQsYAAAAAAAAAAEBAAEAAAAAAAgGAAAFBgAGAwoDAA0JGQsbHQYQABAABQAAAAIGAAEBCAEBAgQCAAYAAAAJAAEBAQEAAAABAAEBAQEBAQEGAQEBAQAAAQIAAAQEAAQABgMAAAAAAAAAAAAAAAAAAAAAAAABCgoAAAAAAQAAAgICAgEAAQAAAwMDBgEGBAQHAXAB5QHlAQUDAQARBgkBfwFBgIDAAAsHtwcxBm1lbW9yeQIAFV9fd2JnX2ZpeGVkcG9pbnRfZnJlZQCMAh1fX3diZ19nZXRfZml4ZWRwb2ludF9kZWNpbWFscwCNAg5maXhlZHBvaW50X25ldwCJAQ5maXhlZHBvaW50X29uZQCgARFmaXhlZHBvaW50X3JhbmRvbQCHARFmaXhlZHBvaW50X2JpZ2ludAB4DmZpeGVkcG9pbnRfYWJzAIYBEmZpeGVkcG9pbnRfYWJzRGlmZgBYDmZpeGVkcG9pbnRfYWRkAH8OZml4ZWRwb2ludF9zdWIAgAEVZml4ZWRwb2ludF9tdWxEaXZEb3duAHwTZml4ZWRwb2ludF9tdWxEaXZVcAB9EGZpeGVkcG9pbnRfbXVsVXAAYQ5maXhlZHBvaW50X211bABiEGZpeGVkcG9pbnRfZGl2VXAAYw5maXhlZHBvaW50X2RpdgBkDmZpeGVkcG9pbnRfcG93AFcNZml4ZWRwb2ludF9lcQB3DWZpeGVkcG9pbnRfbmUAdg1maXhlZHBvaW50X2d0AKsBDmZpeGVkcG9pbnRfZ3RlAKwBDWZpeGVkcG9pbnRfbHQArQEOZml4ZWRwb2ludF9sdGUArgEOZml4ZWRwb2ludF9taW4AbQ5maXhlZHBvaW50X21heABdEGZpeGVkcG9pbnRfY2xhbXAAfhNmaXhlZHBvaW50X3RvU3RyaW5nALwBEGZpeGVkcG9pbnRfdG9IZXgAogETZml4ZWRwb2ludF90b051bWJlcgDHARlmaXhlZHBvaW50X2lzX2ZpeGVkX3BvaW50AI8CEmZpeGVkcG9pbnRfdG9GaXhlZABvCmluaXRpYWxpemUA6QESZml4ZWRwb2ludF92YWx1ZU9mALwBEmZpeGVkcG9pbnRfbXVsRG93bgBiEmZpeGVkcG9pbnRfZGl2RG93bgBkCmdldFZlcnNpb24A7QEFZml4ZWQAiQEKcGFyc2VGaXhlZACKAQtyYW5kb21GaXhlZACHAQJsbgBnEWZpeGVkcG9pbnRfZm9ybWF0AK8BGWZpeGVkcG9pbnRfZm9ybWF0Q3VycmVuY3kAsAERX193YmluZGdlbl9tYWxsb2MA7wESX193YmluZGdlbl9yZWFsbG9jAIUCH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIA0wIPX193YmluZGdlbl9mcmVlAKkCFF9fd2JpbmRnZW5fZXhuX3N0b3JlAMICEF9fd2JpbmRnZW5fc3RhcnQA6QEJzAMBAEEBC+QBsQKBAtcC/gGhAuQBnwHZAv4C1AL+AvgB9wKIAssB+ALMAdEC/ALOAaEC5AGfAf4C1QL3AbcCmQKxAqEC5AGfAf4C1gKhAuQBnwH+AtoCsQK2AvQCtAKyAv8C4QGCAvUC5QGzAtsBpAK1ApgC6gH+ApAC/AL+Av0C/QL9AtgC/gL5AfwCoQLkAZ8B/gLbAqEC5gGZAdwC/gLdAp0CngLcAfsBoQLnAZoB3wL+At4C/gKAAsUBmwKhAucBoQH+AuAC/gL6AdgCpgG3AoEBzwKkAfwC/gLhAv4C1AHXAf4CiQKJAokCqwLiAv4CeaoB5ALbAacCvQKYAuoBoQKxArYC9AK0ArwC9AL/AusBpgK+ApoC7AG3AroCuQLhAfUBzwHgAbMC4AGKAvUBzwHgAb8C4AG7AmqTAfYCtwL+AsoC4wKfAqIC5QLYAf4C9gGrAv4CpwGxAfQCwQLAAv8CiwL+AoQCugKDApQCwQGSApQCkQKgApwCkgKSApYClQKTAv4C9gGxAtIBoQLkAZwB6QLDAv4CxQLoAcYClwKzAcYB/gLEAqEC5wHuAuoC/gLrAuwCrgLHAsgChwKlAf4CxAL+AnTjAe8CCouvCrgC8bsBAgp/HH4jAEHQC2siAiQAAkACQAJAIAEpAxgiDkIAWQRAIAEpAwAhDyABKQMIIREgASkDECEUIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgAkGAC2oiA0IANwMAIAJB+ApqIgRCADcDACACQfAKaiIFQgA3AwAgAkIANwPoCiACQagLaiACQegKahDNAUH/AXFBAUYNAQsgAkEANgL4CkEBIQEgAkEBNgLsCiACQaC7wAA2AugKIAJCBDcC8AogACACQegKakGou8AAEIwBNgIEDAELIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgBUJ/NwMAIANCADcDACACQn83A+gKIAJCADcD+AogAkGoC2oiBSACQegKaiIGEM0BIQcgASkDGCERIAEpAxAhDiABKQMIIQ8gASkDACEYIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgB0H/AXFBAUatQgeGIhQ3A6gLIARCADcDACADQgA3AwAgAkIANwPwCiACQv////8PNwPoCgJ+AkACQAJAAkACQAJAAkAgBSAGEM0BQf8BcUEBRwRAIBSnIQMCQAJ+AkACfgJAAkAgEUIAWQRAIANFDQQgASADQQN2aiIEKQMAIRggBEEIaikDACEPQgAhDiADQQZ2IgNBAmoiBEEERw0BQgAhEQwECyADDQFCAAwECyADQQN0IAFqQRhqKQMAIREgASAEQQN0aikDAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEQJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEOIAIpA8ALIQ8MAQsgAikDuAshDiARUEUEQCARQgF9IREgAikDwAshDwwBCyACKQPACyEPIA5QDQEgDkIBfSEOQn8hEQsgDEIBfQwBCyAPUA0EQn8hDiAPQgF9IQ9CfyERQn8LIQwgDkJ/hSARQn+FIRYgASADQQN2aiIEKQMAIARBCGopAwBCACEOQgAhESADQQZ2IgNBAmoiBEEERwRAIANBA3QgAWpBGGopAwAhESABIARBA3RqKQMAIQ4LIA9Cf4UgEYQhESAWhCEPIAxCf4WEIRggDoQLIQ5CACARQgBTDQEaCyACIBE3A8ALIAIgDjcDuAsgAiAPNwOwCyACIBg3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJCfzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGrUIGhgshESABKQMYIQ4gASkDECEPIAEpAwghGCABKQMAIRsgAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiARIBSEIhQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEM0BQf8BcUEBRg0CIBSnIQMCfgJAAkACQAJAIA5CAFkEQCADRQ0EIAEgA0EDdmopAwAhG0IAIQ4gA0EGdiIDQQFqIgRBBEcNAUIAIRhCACEPDAQLIAMNAUIADAQLIAEgBEEDdGopAwAhGCADQQJqIgRBBEYEQEIAIQ8MAwsgASAEQQN0aikDACEPIANBA2oiA0EERg0CIAEgA0EDdGopAwAhDgwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEQJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEOIAIpA8ALIQ8MAQsgAikDuAshDiARUEUEQCARQgF9IREgAikDwAshDwwBCyACKQPACyEPIA5QDQEgDkIBfSEOQn8hEQsgDEIBfQwBCyAPUA0PQn8hDiAPQgF9IQ9CfyERQn8LIA9Cf4UhDyAOQn+FIQ0gEUJ/hSEWQn+FIAEgA0EDdmopAwBCACERAkAgA0EGdiIDQQFqIgRBBEYEQEIAIRgMAQsgASAEQQN0aikDACEYIANBAmoiBEEERg0AIAEgBEEDdGopAwAhIiADQQNqIgNBBEYNACABIANBA3RqKQMAIRELIA8gEYQhDiANICKEIQ8gFiAYhCEYhCEbC0IAIA5CAFMNARoLIAIgDjcDwAsgAiAPNwO4CyACIBg3A7ALIAIgGzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGrUIFhgshESABKQMYIQ4gASkDECEcIAEpAwghGyABKQMAIRggAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiARIBSEIhQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEM0BQf8BcUEBRwRAIBSnIQMCQAJAIA5CAFkEQCADRQ0MIAEgA0EGdiIEQQN0aikDACEPQgAhDiAEQQFqIgVBBEcNAUIAIRsMCQsgAw0BQgAMDAsgASAFQQN0aikDACARiCEbIARBAmoiBkEERg0HIAEgBkEDdGopAwAgEYghHCAEQQNqIgZBBEYNCCABIAZBA3RqKQMAIBGIIQ4MCAsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiAUQv8BhTcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDyACKQPACyEcDAELIAIpA7gLIQ8gDlBFBEAgDkIBfSEOIAIpA8ALIRwMAQsgAikDwAshHCAPUA0BIA9CAX0hD0J/IQ4LIAxCAX0MAQsgHFANDUJ/IQ8gHEIBfSEcQn8hDkJ/CyEMIAEgA0EGdiIEQQN0aikDACENIARBAWoiBUEERgRAQgAhGAwFCyABIAVBA3RqKQMAIBGIIRggBEECaiIGQQRGDQQgASAGQQN0aikDACARiCEbIARBA2oiBkEERg0FIAEgBkEDdGopAwAgEYghEgwFC0HAucAAQSsgAkHPC2pB2MLAAEHYw8AAEMoBAAsMCgtBwLnAAEErIAJBzwtqQdjCwABB+MPAABDKAQALQcC5wABBKyACQc8LakHYwsAAQejDwAAQygEAC0IAIRsLIBxCf4UhFiAPQn+FIA5Cf4UhECAMQn+FIQwgDSARiCEPAkAgA0EgcUUgA0G/AUtyDQAgASAFQQN0aikDACARhiAPfCEPIAVBA0YNACABIARBAmoiA0EDdGopAwAgEYYgGHwhGCADQQNGDQAgBEEDdCABakEYaikDACARhiAbfCEbCyASIBaEIQ4gG4QhHCAQIBiEIRsgDCAPhCEYDAILQgAhHAsgDyARiCEYIANBIHFFIANBvwFLcg0AIAEgBUEDdGopAwAgEYYgGHwhGCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBGGIBt8IRsgA0EDRg0AIARBA3QgAWpBGGopAwAgEYYgHHwhHAtCACAOQgBTDQEaCyACIA43A8ALIAIgHDcDuAsgAiAbNwOwCyACIBg3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC//8DNwPoCiACQagLaiACQegKahDNAUH/AXFBAUatQgSGCyEPIAEpAxghDiABKQMQIRwgASkDCCEbIAEpAwAhGCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIA8gFIQiFDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGBEBBwLnAAEErIAJBzwtqQdjCwABByMPAABDKAQALIBSnIQMCfgJAAkACQAJAAkACQCAOQgBZBEAgA0UNBiAPIBGEIQ8gASADQQZ2IgRBA3RqKQMAIRFCACEOIARBAWoiBUEERw0BQgAhGwwDCyADDQFCAAwGCyABIAVBA3RqKQMAIA+IIRsgBEECaiIGQQRGDQEgASAGQQN0aikDACAPiCEcIARBA2oiBkEERg0CIAEgBkEDdGopAwAgD4ghDgwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDgJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEYIAIpA8ALIRwMAQsgAikDuAshGCAOUEUEQCAOQgF9IQ4gAikDwAshHAwBCyACKQPACyEcIBhQDQEgGEIBfSEYQn8hDgsgDEIBfQwBCyAcUA0HQn8hGCAcQgF9IRxCfyEOQn8LIA8gEYQhESABIANBBnYiBEEDdGopAwBCACESAkACQCAEQQFqIgVBBEYEQEIAIQ8MAQsgASAFQQN0aikDACARiCEPIARBAmoiBkEERg0AIAEgBkEDdGopAwAgEYghGyAEQQNqIgZBBEYNASABIAZBA3RqKQMAIBGIIRIMAQtCACEbCyARiCERIBxCf4UhDSAYQn+FIRYgDkJ/hSEXQn+FAkAgA0EwcUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBR9QjCDIg6GIBF8IREgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOhiAPfCEPIANBA0YNACAEQQN0IAFqQRhqKQMAIA6GIBt8IRsLIA0gEoQhDiAWIBuEIRwgDyAXhCEbIBGEIRgMAgtCACEcCyARIA+IIRggA0EwcUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBR9QjCDIg+GIBh8IRggBUEDRg0AIAEgBEECaiIDQQN0aikDACAPhiAbfCEbIANBA0YNACAEQQN0IAFqQRhqKQMAIA+GIBx8IRwLQgAgDkIAUw0BGgsgAiAONwPACyACIBw3A7gLIAIgGzcDsAsgAiAYNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv8BNwPoCiACQagLaiACQegKahDNAUH/AXFBAUatQgOGCyERIAEpAxghDiABKQMQIRwgASkDCCEYIAEpAwAhDyACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIBEgFIQiETcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGBEBBwLnAAEErIAJBzwtqQdjCwABBuMPAABDKAQALIBGnIQMCfgJAAkACQAJAAkACQCAOQgBZBEAgA0UNBiARQjiDIQ8gASADQQZ2IgRBA3RqKQMAIRRCACEOIARBAWoiBUEERw0BQgAhGAwDCyADDQFCAAwGCyABIAVBA3RqKQMAIA+IIRggBEECaiIGQQRGDQEgASAGQQN0aikDACAPiCEcIARBA2oiBkEERg0CIAEgBkEDdGopAwAgD4ghDgwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBFC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDgJ+AkACQCACKQOoCyIPUEUEQCACKQO4CyEYIAIpA8ALIRwMAQsgAikDuAshGCAOUEUEQCAOQgF9IQ4gAikDwAshHAwBCyACKQPACyEcIBhQDQEgGEIBfSEYQn8hDgsgD0IBfQwBCyAcUA0HQn8hGCAcQgF9IRxCfyEOQn8LIBFCOIMhFCABIANBBnYiBEEDdGopAwBCACESAkACQCAEQQFqIgVBBEYEQEIAIQ8MAQsgASAFQQN0aikDACAUiCEPIARBAmoiBkEERg0AIAEgBkEDdGopAwAgFIghGyAEQQNqIgZBBEYNASABIAZBA3RqKQMAIBSIIRIMAQtCACEbCyAUiCEUIBxCf4UhDSAYQn+FIRYgDkJ/hSEXQn+FAkAgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9Ig6GIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOQj+DIg6GIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDoYgG3whGwsgDSAShCEOIBYgG4QhHCAPIBeEIRggFIQhDwwCC0IAIRwLIBQgD4ghDyADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iFIYgD3whDyAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBRCP4MiFIYgGHwhGCADQQNGDQAgBEEDdCABakEYaikDACAUhiAcfCEcC0IAIA5CAFMNARoLIAIgDjcDwAsgAiAcNwO4CyACIBg3A7ALIAIgDzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIPNwPoCiACQagLaiACQegKahDNAUH/AXFBAUatQgKGCyEMIAEpAxghDiABKQMQIRggASkDCCEPIAEpAwAhFCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIAwgEYQiETcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGBEBBwLnAAEErIAJBzwtqQdjCwABBqMPAABDKAQALIBGnIQMCfgJAAkACQCAOQgBZBEAgA0UNA0IAIRRCACEPQgAhGEIAIQ4gA0H+AUsNAyABIANBBnYiBEEDdGopAwAhDCAEQQFqIgVBBEYNASABIAVBA3RqKQMAIBFCP4MiFIghDyAEQQJqIgZBBEYNASABIAZBA3RqKQMAIBSIIRggBEEDaiIGQQRGDQEgASAGQQN0aikDACAUiCEODAELQgAgA0EBa0H+AU8NAxogAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiARQv8BhTcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIQ4CfgJAAkAgAikDqAsiD1BFBEAgAikDuAshFCACKQPACyEbDAELIAIpA7gLIRQgDlBFBEAgDkIBfSEOIAIpA8ALIRsMAQsgAikDwAshGyAUUA0BIBRCAX0hFEJ/IQ4LIA9CAX0MAQsgG1ANBkJ/IRQgG0IBfSEbQn8hDkJ/CyABIANBBnYiBEEDdGopAwAhFkIAIRwCQAJAIARBAWoiBUEERgRAQgAhDwwBCyABIAVBA3RqKQMAIBFCP4MiDIghDyAEQQJqIgZBBEYNACABIAZBA3RqKQMAIAyIIRggBEEDaiIGQQRGDQEgASAGQQN0aikDACAMiCEcDAELQgAhGAsgG0J/hSEMIBRCf4UhFyAOQn+FIRBCf4UgFiARiCEUAkAgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9Ig6GIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOQj+DIg6GIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDoYgGHwhGAsgDCAchCEOIBcgGIQhGCAPIBCEIQ8gFIQhFAwBCyAMIBGIIRQgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9IgyGIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAMQj+DIgyGIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDIYgGHwhGAtCACAOQgBTDQEaCyACIA43A8ALIAIgGDcDuAsgAiAPNwOwCyACIBQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJCAzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGrUIBhgshDCABKQMYIQ4gASkDECEYIAEpAwghDyABKQMAIRQgAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiAMIBGEIhE3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEM0BQf8BcUEBRgRAQcC5wABBKyACQc8LakHYwsAAQZjDwAAQygEACyARpyEDAn8CQAJAAkAgDkIAWQRAIANFDQNCACEUQgAhD0IAIRhCACEOIANB/gFLDQMgASADQQZ2IgRBA3RqKQMAIQwgBEEBaiIFQQRGDQEgASAFQQN0aikDACARQj+DIhSIIQ8gBEECaiIGQQRGDQEgASAGQQN0aikDACAUiCEYIARBA2oiBkEERg0BIAEgBkEDdGopAwAgFIghDgwBC0H/ASADQQFrQf4BTw0DGiACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBFC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDgJ+AkACQCACKQOoCyIPUEUEQCACKQO4CyEUIAIpA8ALIRsMAQsgAikDuAshFCAOUEUEQCAOQgF9IQ4gAikDwAshGwwBCyACKQPACyEbIBRQDQEgFEIBfSEUQn8hDgsgD0IBfQwBCyAbUA0GQn8hFCAbQgF9IRtCfyEOQn8LIAEgA0EGdiIEQQN0aikDACEWQgAhHAJAAkAgBEEBaiIFQQRGBEBCACEPDAELIAEgBUEDdGopAwAgEUI/gyIMiCEPIARBAmoiBkEERg0AIAEgBkEDdGopAwAgDIghGCAEQQNqIgZBBEYNASABIAZBA3RqKQMAIAyIIRwMAQtCACEYCyAbQn+FIQwgFEJ/hSEXIA5Cf4UhEEJ/hSAWIBGIIRQCQCADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iDoYgFHwhFCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIA5CP4MiDoYgD3whDyADQQNGDQAgBEEDdCABakEYaikDACAOhiAYfCEYCyAMIByEIQ4gFyAYhCEYIA8gEIQhDyAUhCEUDAELIAwgEYghFCADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iDIYgFHwhFCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIAxCP4MiDIYgD3whDyADQQNGDQAgBEEDdCABakEYaikDACAMhiAYfCEYCyAOQgBZDQBB/wEMAQsgAiAONwPACyACIBg3A7gLIAIgDzcDsAsgAiAUNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQgE3A+gKIAJBqAtqIAJB6ApqEM0BCyEDIAJB6ApqQbi7wABBAhBQAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKALoCkUEQCACKQP4CiEOIAIpA4gLIRRCACACKQOACyIPfSEYAkACfiARIANB/wFxQQFGrYQiDCACKQPwCiINWgRAQgAgDn0hGyAOQgBSrQwBCyAOQn+FIRsgDkIAUq0gDlCtfAsiDlAEQEJ/QgAgD0IAUhshEwwBC0J/QgAgD0IAUhsgDiAYVq19IRMgGCAOfSEYCyACQegKakG6u8AAQQMQUCACKALoCg0BIAIpA/gKIQ4gEyAUfSEiIAIpA4gLIAIpA4ALIg8gGH0hEQJAAn4gAikD8AoiFyAMIA19IhxaBEAgDiAbfSEQIA4gG1StDAELIA4gG0J/hXwhECAOIBtUrSAOIBtRrXwLIg5QBEBCf0IAIA8gGFQbIRQMAQtCf0IAIA8gGFQbIA4gEVatfSEUIBEgDn0hEQsgIn0gFHwiDkIAUw0CIAIgDjcDwAsgAiARNwO4CyACIBA3A7ALIAIgFyAcfSIMNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKaiIDEM0BQf8BcUEBRg0CQgAhEUIAIQ5CACEUQgAhDyAMpyIEQf8BTQRAIwBBIGsiBUEYaiIJQgA3AwAgBUEQaiIKQgA3AwAgBUEIaiILQgA3AwAgBUIANwMAAkAgBEH/AUsNACAFIARBBnYiBkEDdGogASkDACIRIAStIg6GNwMAAkAgBkEBaiIHQQRGDQAgBSAHQQN0aiABKQMIIA5CP4MiD4Y3AwAgBkECaiIIQQRGDQAgBSAIQQN0aiABKQMQIA+GNwMAIAZBA2oiCEEERg0AIAUgCEEDdGogASkDGCAPhjcDAAsgBEE/cUUgBEG/AUtyDQAgBSAHQQN0aiIEIAQpAwAgEUIAIA59Ig6IfDcDACAHQQNGDQAgBSAGQQJqIgRBA3RqIgcgBykDACABKQMIIA5CP4MiDoh8NwMAIARBA0YNACAGQQN0IAVqQRhqIgQgBCkDACABKQMQIA6IfDcDAAsgAyAFKQMANwMAIANBGGogCSkDADcDACADQRBqIAopAwA3AwAgA0EIaiALKQMANwMAIAIpA/gKIREgAikD8AohDyACKQPoCiEUIAIpA4ALIQ4LIAEgFDcDACABQRhqIgcgDjcDACABQRBqIgkgETcDACABQQhqIgogDzcDACACQegKaiEFQgAhDkIAIQ9CACERQgAhDCMAQUBqIgMkACADQQhqQZ8BENABAkACQAJAIAMpAxBCAFINACADKQMYQgBSDQAgAykDIFBFDQAgAykDCCIUQv////8PVg0AIBSnIgZB/wFLDQIgASAGQQZ2IgRBA3RqKQMAIQ0gBEEBaiILQQRGDQEgASALQQN0aikDACAUQj+DIg6IIQ8gBEECaiIIQQRGDQEgASAIQQN0aikDACAOiCERIARBA2oiCEEERg0BIAEgCEEDdGopAwAgDoghDAwBCyADQQA2AjggA0EBNgIsIANBrMXAADYCKCADQgQ3AjAgA0EoakH0xMAAEP0BAAsgDSAUiCEOIAZBP3FFIAZBvwFLcg0AIAEgC0EDdGopAwBCACAUfSIUhiAOfCEOIAZBgAFPDQAgASAEQQJyIgZBA3RqKQMAIBRCP4MiFIYgD3whDyAGQQNGDQAgBEEDdCABakEYaikDACAUhiARfCERCyAFIAw3AxggBSARNwMQIAUgDzcDCCAFIA43AwAgA0FAayQAIAcgAkGAC2opAwA3AwAgCSACQfgKaikDADcDACAKIAJB8ApqKQMANwMAIAEgAikD6Ao3AwAgBykDACERIAkpAwAhDyAKKQMAIQ4gASkDACEUIAVBvbvAAEEfEFAgAigC6AoNAyAOIAIpA/gKfCISIA5UIQMgAikDgAsgD3wiFSAPVCEEIAIpA4gLIQxCfyEWIBQgFCACKQPwCnwiE1gEfiADrQUgEkIBfCISUK0gA618CyINUAR+IAStBSAVIA0gFXwiFVatIAStfAsiDVAEfiAMIBF8BSAMIBF8IA18CyIQQgBZBEAgEiAThCAQIBWEhEIAUq0hFgsgEEIAUwRAIBJCf4VCACASfSINQgAgE30iE0IAUiIDGyESIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gEEJ/hXwhEAtCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAWfiAUIQ0gDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIA19Ig1CAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJBuApqIA1CACATQgAQyQEgAkGoCmogDUIAIBJCABDJASACQZgKaiANQgAgFUIAEMkBIAJBiApqIBZCACATQgAQyQEgAkH4CWogFkIAIBJCABDJASACQegJaiAXQgAgE0IAEMkBIAIpA5gKIhogAkGwCmopAwAgAikDqAoiHSACQcAKaikDAHwiHiAdVK18fCIdIBpUrSACQfAJaikDACACQYAKaikDACACQaAKaikDACAVIBZ+IA0gEH58IBIgF358fCAMIBN+fHx8fCACQZAKaikDACACKQOICiIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQP4CSIMIA18Ig0gDFStfCACKQPoCSIMIA18IhMgDFStfCESQgJaBEAgEkJ/hSINIAIpA7gKIhZCACAVfSIXhFAiAyATQn+FIgwgA618IhAgDFRxIgStfCANIAQbIRIgFyAVQn+FIBZQGyEVIBAgDCADGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgEkIgiCENQgAhFiATQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEQAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ0gAikDwAshFgwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEWDAELIAIpA8ALIRYgDVANASANQgF9IQ1CfyEQCyAMQgF9DAELIBZQDRhCfyENIBZCAX0hFkJ/IRBCfwshDCANQn+FIBJCIIiEIQ0gEkIghiATQiCIhCAQQn+FhCEQIBZCf4UhFiATQiCGIBVCIIiEIAxCf4WECyEMIAJB6ApqQdy7wABBIBBQIAIoAugKDQQgECACKQP4CnwiEiAQVCEDIAIpA4ALIA18IhUgDVQhBCACKQOICyENIAwgDCACKQPwCnwiE1gEfiADrQUgEkIBfCISUK0gA618CyIMUAR+IAStBSAVIAwgFXwiFVatIAStfAsiDFAEfiANIBZ8BSANIBZ8IAx8CyENQn8gEiAThCANIBWEhEIAUq0gDUIAUyIDGyEZIAMEQCASQn+FQgAgEn0iFkIAIBN9IhNCAFIiAxshEiAVQn+FIgwgFlAgA0F/c3EiA618IhYgDCADGyEVIAMgDCAWVnGtIA1Cf4V8IQ0LIBQhECAOIRYgDyEXIBEiDEIAUwRAIA5Cf4VCACAOfSIXQgAgEH0iEEIAUiIDGyEWIA9Cf4UiDCAXUCADQX9zcSIDrXwiGiAMIAMbIRcgAyAMIBpWca0gEUJ/hXwhDAsgAkHYCWogEEIAIBNCABDJASACQcgJaiAQQgAgEkIAEMkBIAJBuAlqIBBCACAVQgAQyQEgAkGoCWogFkIAIBNCABDJASACQZgJaiAWQgAgEkIAEMkBIAJBiAlqIBdCACATQgAQyQEgAikDuAkiGiACQdAJaikDACACKQPICSIdIAJB4AlqKQMAfCIeIB1UrXx8Ih0gGlStIAJBkAlqKQMAIAJBoAlqKQMAIAJBwAlqKQMAIBUgFn4gDSAQfnwgEiAXfnx8IAwgE358fHx8IAJBsAlqKQMAIAIpA6gJIgwgHnwiFSAMVK18IgwgHXwiDSAMVK18IAIpA5gJIgwgDXwiDSAMVK18IAIpA4gJIgwgDXwiEyAMVK18IRJCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAZfkICWgRAIBJCf4UiDSACKQPYCSIWQgAgFX0iF4RQIgMgE0J/hSIMIAOtfCIQIAxUcSIErXwgDSAEGyESIBcgFUJ/hSAWUBshFSAQIAwgAxshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBJCIIghDUIAIRYgE0IghiAVQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEAJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyENIAIpA8ALIRYMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshFgwBCyACKQPACyEWIA1QDQEgDUIBfSENQn8hEAsgDEIBfQwBCyAWUA0YQn8hDSAWQgF9IRZCfyEQQn8LIQwgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECAWQn+FIRYgE0IghiAVQiCIhCAMQn+FhAshDCACQegKakH8u8AAQSAQUCACKALoCg0FIBAgAikD+Ap8IhIgEFQhAyACKQOACyANfCIVIA1UIQQgAikDiAshDSAMIAwgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDFAEfiAErQUgFSAMIBV8IhVWrSAErXwLIgxQBH4gDSAWfAUgDSAWfCAMfAshEEJ/IBIgE4QgECAVhIRCAFKtIBBCAFMiAxshGSADBEAgEkJ/hUIAIBJ9Ig1CACATfSITQgBSIgMbIRIgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSAQQn+FfCEQCyAUIQ0gDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIA19Ig1CAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJB+AhqIA1CACATQgAQyQEgAkHoCGogDUIAIBJCABDJASACQdgIaiANQgAgFUIAEMkBIAJByAhqIBZCACATQgAQyQEgAkG4CGogFkIAIBJCABDJASACQagIaiAXQgAgE0IAEMkBIAIpA9gIIhogAkHwCGopAwAgAikD6AgiHSACQYAJaikDAHwiHiAdVK18fCIdIBpUrSACQbAIaikDACACQcAIaikDACACQeAIaikDACAVIBZ+IA0gEH58IBIgF358fCAMIBN+fHx8fCACQdAIaikDACACKQPICCIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQO4CCIMIA18Ig0gDFStfCACKQOoCCIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgGX5CAloEQCASQn+FIg0gAikD+AgiFkIAIBV9IheEUCIDIBNCf4UiDCADrXwiECAMVHEiBK18IA0gBBshEiAXIBVCf4UgFlAbIRUgECAMIAMbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECASQiCIIRdCACEdIBNCIIYgFUIgiIQMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIRACfgJAAkAgAikDqAsiFlBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBZCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEWIA1Cf4UgEkIgiIQhFyASQiCGIBNCIIiEIBBCf4WEIRAgDEJ/hSEdIBNCIIYgFUIgiIQgFkJ/hYQLIRkgAkHoCmpBnLzAAEEgEFAgAigC6AoNBiACKQOACyEWIAIpA/gKIQwCfiACKQPwCiIaIBlYBEAgDCAQVq0hDSAQIAx9DAELIAwgEFatIAwgEFGtfCENIBAgDEJ/hXwLIRUgAikDiAshDCAXIBZ9IRMCQCANUARAQn9CACAWIBdWGyEXDAELQn9CACAWIBdWGyANIBNWrX0hFyATIA19IRMLIBkgGn0hEkJ/IRYgHSAMfSAXfCINQgBZBEAgEiAVhCANIBOEhEIAUq0hFgsgDUIAUwRAIBVCf4VCACAVfSIXQgAgEn0iEkIAUiIDGyEVIBNCf4UiDCAXUCADQX9zcSIDrXwiFyAMIAMbIRMgAyAMIBdWca0gDUJ/hXwhDQtCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAWfiAUIRAgDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIBB9IhBCAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJBmAhqIBBCACASQgAQyQEgAkGICGogEEIAIBVCABDJASACQfgHaiAQQgAgE0IAEMkBIAJB6AdqIBZCACASQgAQyQEgAkHYB2ogFkIAIBVCABDJASACQcgHaiAXQgAgEkIAEMkBIAIpA/gHIhogAkGQCGopAwAgAikDiAgiHSACQaAIaikDAHwiHiAdVK18fCIdIBpUrSACQdAHaikDACACQeAHaikDACACQYAIaikDACATIBZ+IA0gEH58IBUgF358fCAMIBJ+fHx8fCACQfAHaikDACACKQPoByIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQPYByIMIA18Ig0gDFStfCACKQPIByIMIA18IhMgDFStfCESQgJaBEAgEkJ/hSINIAIpA5gIIhZCACAVfSIXhFAiAyATQn+FIgwgA618IhAgDFRxIgStfCANIAQbIRIgFyAVQn+FIBZQGyEVIBAgDCADGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgEkIgiCEXQgAhHSATQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEQAn4CQAJAIAIpA6gLIhZQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyEQCyAWQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRBCfwshFiANQn+FIBJCIIiEIRcgEkIghiATQiCIhCAQQn+FhCEQIAxCf4UhHSATQiCGIBVCIIiEIBZCf4WECyEZIAJB6ApqQby8wABBIBBQIAIoAugKDQcgAikDgAshFiACKQP4CiEMAn4gAikD8AoiGiAZWARAIAwgEFatIQ0gECAMfQwBCyAMIBBWrSAMIBBRrXwhDSAQIAxCf4V8CyEVIAIpA4gLIQwgFyAWfSETAkAgDVAEQEJ/QgAgFiAXVhshFwwBC0J/QgAgFiAXVhsgDSATVq19IRcgEyANfSETCyAZIBp9IRJCfyEWIB0gDH0gF3wiDUIAWQRAIBIgFYQgDSAThIRCAFKtIRYLIA1CAFMEQCAVQn+FQgAgFX0iF0IAIBJ9IhJCAFIiAxshFSATQn+FIgwgF1AgA0F/c3EiA618IhcgDCADGyETIAMgDCAXVnGtIA1Cf4V8IQ0LQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgFn4gFCEQIA4hFiAPIRcgESIMQgBTBEAgDkJ/hUIAIA59IhdCACAQfSIQQgBSIgMbIRYgD0J/hSIMIBdQIANBf3NxIgOtfCIaIAwgAxshFyADIAwgGlZxrSARQn+FfCEMCyACQbgHaiAQQgAgEkIAEMkBIAJBqAdqIBBCACAVQgAQyQEgAkGYB2ogEEIAIBNCABDJASACQYgHaiAWQgAgEkIAEMkBIAJB+AZqIBZCACAVQgAQyQEgAkHoBmogF0IAIBJCABDJASACKQOYByIaIAJBsAdqKQMAIAIpA6gHIh0gAkHAB2opAwB8Ih4gHVStfHwiHSAaVK0gAkHwBmopAwAgAkGAB2opAwAgAkGgB2opAwAgEyAWfiANIBB+fCAVIBd+fHwgDCASfnx8fHwgAkGQB2opAwAgAikDiAciDCAefCIVIAxUrXwiDCAdfCINIAxUrXwgAikD+AYiDCANfCINIAxUrXwgAikD6AYiDCANfCITIAxUrXwhEkICWgRAIBJCf4UiDSACKQO4ByIWQgAgFX0iF4RQIgMgE0J/hSIMIAOtfCIQIAxUcSIErXwgDSAEGyESIBcgFUJ/hSAWUBshFSAQIAwgAxshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBNCIIYgFUIgiIQhF0IAIR0gEkIgiAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEAJ+AkACQCACKQOoCyIWUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgFkIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRYgEkIghiATQiCIhCAQQn+FhCEQIBNCIIYgFUIgiIQgFkJ/hYQhFyAMQn+FIR0gDUJ/hSASQiCIhAshFiACQegKakHcvMAAQSAQUCACKALoCg0IIAIpA4ALIRkgAikD+AohDAJ+IAIpA/AKIhogF1gEQCAMIBBWrSENIBAgDH0MAQsgDCAQVq0gDCAQUa18IQ0gECAMQn+FfAshFSACKQOICyEQIBYgGX0hEwJAIA1QBEBCf0IAIBYgGVQbIQwMAQtCf0IAIBYgGVQbIA0gE1atfSEMIBMgDX0hEwsgFyAafSESQn8hFiAdIBB9IAx8Ig1CAFkEQCASIBWEIA0gE4SEQgBSrSEWCyANQgBTBEAgFUJ/hUIAIBV9IhdCACASfSISQgBSIgMbIRUgE0J/hSIMIBdQIANBf3NxIgOtfCIXIAwgAxshEyADIAwgF1ZxrSANQn+FfCENC0J/IA4gFIQgD4QgEYRCAFKtIBFCAFMbIBZ+IBQhECAOIRYgDyEXIBEiDEIAUwRAIA5Cf4VCACAOfSIXQgAgEH0iEEIAUiIDGyEWIA9Cf4UiDCAXUCADQX9zcSIDrXwiGiAMIAMbIRcgAyAMIBpWca0gEUJ/hXwhDAsgAkHYBmogEEIAIBJCABDJASACQcgGaiAQQgAgFUIAEMkBIAJBuAZqIBBCACATQgAQyQEgAkGoBmogFkIAIBJCABDJASACQZgGaiAWQgAgFUIAEMkBIAJBiAZqIBdCACASQgAQyQEgAikDuAYiGiACQdAGaikDACACKQPIBiIdIAJB4AZqKQMAfCIeIB1UrXx8Ih0gGlStIAJBkAZqKQMAIAJBoAZqKQMAIAJBwAZqKQMAIBMgFn4gDSAQfnwgFSAXfnx8IAwgEn58fHx8IAJBsAZqKQMAIAIpA6gGIgwgHnwiFyAMVK18IgwgHXwiDSAMVK18IAIpA5gGIgwgDXwiDSAMVK18IAIpA4gGIgwgDXwiEiAMVK18IR4gAikD2AYhHUICWgRAIB5Cf4UiDUIAIBd9IhZQQgAgHX0iHUIAUiIEQX9zcSIDIBJCf4UiDCADrXwiECAMVHEiBa18IA0gBRshHiAQIAwgAxshEiAXQn+FIBYgBBshFwsgAkHoCmpB/LzAAEEeEFAgAigC6AoNCSACKQOACyASIAIpA/gKIiZCIIYgAikD8AoiDUIgiIQiDH0hFgJAIA1CIIYiJyAXWARAQn9CACAMIBJWGyEkDAELQn9CACAMIBJWGyAWUK19ISQgFkIBfSEWCyACQegKakGavcAAQR8QUCACKALoCg0KIA4gAikD+Ap8IhIgDlQhAyACKQOACyAPfCIVIA9UIQQgAikDiAshDCAUIBQgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDVAEfiAErQUgFSANIBV8IhVWrSAErXwLIg1QBH4gDCARfAUgDCARfCANfAshEEJ/IBIgE4QgECAVhIRCAFKtIBBCAFMiAxsgAwRAIBJCf4VCACASfSIZQgAgE30iE0IAUiIDGyESIBVCf4UiDCAZUCADQX9zcSIDrXwiGSAMIAMbIRUgAyAMIBlWca0gEEJ/hXwhEAtCfyAOIBSEIA+EIBGEQgBSrSARQgBTIgMbIAMEQCAOQn+FQgAgDn0iGkIAIBR9IhRCAFIiAxshDiAPQn+FIgwgGlAgA0F/c3EiA618IhogDCADGyEPIAMgDCAaVnGtIBFCf4V8IRELIAJB+AVqIBRCACATQgAQyQEgAkHoBWogFEIAIBJCABDJASACQdgFaiAUQgAgFUIAEMkBIAJByAVqIA5CACATQgAQyQEgAkG4BWogDkIAIBJCABDJASACQagFaiAPQgAgE0IAEMkBIAIpA9gFIgwgAkHwBWopAwAgAikD6AUiGiACQYAGaikDAHwiISAaVK18fCIaIAxUrSACQbAFaikDACACQcAFaikDACACQeAFaikDACAOIBV+IBAgFH58IA8gEn58fCARIBN+fHx8fCACQdAFaikDACACKQPIBSIOICF8IhQgDlStfCIOIBp8Ig8gDlStfCACKQO4BSIOIA98Ig8gDlStfCAPIAIpA6gFIhF8Ig4gEVStfCERfkICWgRAIBFCf4UiDyACKQP4BSIMQgAgFH0iDYRQIgMgDkJ/hSIOIAOtfCIQIA5UcSIErXwgDyAEGyERIA0gFEJ/hSAMUBshFCAQIA4gAxshDgsCfiARQgBZBEAgEUIghiAOQiCIhCEPIA5CIIYgFEIgiIQhDiARQiCIIRBCAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDwJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyESIAIpA8ALIRMMAQsgAikDuAshEiAPUEUEQCAPQgF9IQ8gAikDwAshEwwBCyACKQPACyETIBJQDQEgEkIBfSESQn8hDwsgDEIBfQwBCyATUA0YQn8hEiATQgF9IRNCfyEPQn8LIQwgEkJ/hSARQiCIhCEQIBFCIIYgDkIgiIQgD0J/hYQhDyAOQiCGIBRCIIiEIAxCf4WEIQ4gE0J/hQshESACQegKakG5vcAAQSAQUCACKALoCg0LIA8gAikD+Ap8IhIgD1QhAyACKQOACyAQfCIVIBBUIQQgAikDiAshDyAOIA4gAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDlAEfiAErQUgFSAOIBV8IhVWrSAErXwLIg5QBH4gDyARfAUgDyARfCAOfAshECABKQMYIRFCfyASIBOEIBAgFYSEQgBSrSAQQgBTIgMbISEgASkDECEPIAEpAwghDiABKQMAIRQgAwRAIBJCf4VCACASfSINQgAgE30iE0IAUiIBGyESIBVCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRUgASAMIA1Wca0gEEJ/hXwhEAsgFCENIA4hDCAPIRkgESEaIBFCAFMEQCAMQn+FQgAgDH0iGUIAIA19Ig1CAFIiARshDCAPQn+FIhogGVAgAUF/c3EiAa18Ih8gGiABGyEZIAEgGiAfVnGtIBFCf4V8IRoLIAJBmAVqIA1CACATQgAQyQEgAkGIBWogDUIAIBJCABDJASACQfgEaiANQgAgFUIAEMkBIAJB6ARqIAxCACATQgAQyQEgAkHYBGogDEIAIBJCABDJASACQcgEaiAZQgAgE0IAEMkBIAIpA/gEIh8gAkGQBWopAwAgAikDiAUiICACQaAFaikDAHwiIyAgVK18fCIgIB9UrSACQdAEaikDACACQeAEaikDACACQYAFaikDACAMIBV+IA0gEH58IBIgGX58fCATIBp+fHx8fCACQfAEaikDACACKQPoBCIMICN8IhUgDFStfCIMICB8Ig0gDFStfCACKQPYBCIMIA18Ig0gDFStfCACKQPIBCIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgIX5CAloEQCASQn+FIg0gAikDmAUiEEIAIBV9IhmEUCIBIBNCf4UiDCABrXwiGiAMVHEiA618IA0gAxshEiAZIBVCf4UgEFAbIRUgGiAMIAEbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECATQiCGIBVCIIiEIRUgEkIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIRACfgJAAkAgAikDqAsiGVBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBlCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEZIA1Cf4UgEkIgiIQhDSASQiCGIBNCIIiEIBBCf4WEIRAgE0IghiAVQiCIhCAZQn+FhCEVIAxCf4ULIQwgAkHoCmpB2b3AAEEhEFAgAigC6AoNDCAQIAIpA/gKfCISIBBUIQEgAikDgAshGSAVIBUgAikD8Ap8IhNYBH4gAa0FIBJCAXwiElCtIAGtfAshECANIBl8IhUgDVQhASACKQOICyENQn8gEiAThCAQUAR+IAGtBSAVIBAgFXwiFVatIAGtfAsiEFAEfiAMIA18BSAMIA18IBB8CyIQIBWEhEIAUq0gEEIAUyIBGyEhIAEEQCASQn+FQgAgEn0iDUIAIBN9IhNCAFIiARshEiAVQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEVIAEgDCANVnGtIBBCf4V8IRALIBQhDSAOIQwgDyEZIBEhGiARQgBTBEAgDEJ/hUIAIAx9IhlCACANfSINQgBSIgEbIQwgD0J/hSIaIBlQIAFBf3NxIgGtfCIfIBogARshGSABIBogH1ZxrSARQn+FfCEaCyACQbgEaiANQgAgE0IAEMkBIAJBqARqIA1CACASQgAQyQEgAkGYBGogDUIAIBVCABDJASACQYgEaiAMQgAgE0IAEMkBIAJB+ANqIAxCACASQgAQyQEgAkHoA2ogGUIAIBNCABDJASACKQOYBCIfIAJBsARqKQMAIAIpA6gEIiAgAkHABGopAwB8IiMgIFStfHwiICAfVK0gAkHwA2opAwAgAkGABGopAwAgAkGgBGopAwAgDCAVfiANIBB+fCASIBl+fHwgEyAafnx8fHwgAkGQBGopAwAgAikDiAQiDCAjfCIVIAxUrXwiDCAgfCINIAxUrXwgAikD+AMiDCANfCINIAxUrXwgAikD6AMiDCANfCITIAxUrXwhEkJ/IA4gFIQgD4QgEYRCAFKtIBFCAFMbICF+QgJaBEAgEkJ/hSINIAIpA7gEIhBCACAVfSIZhFAiASATQn+FIgwgAa18IhogDFRxIgOtfCANIAMbIRIgGSAVQn+FIBBQGyEVIBogDCABGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgE0IghiAVQiCIhCEVIBJCIIghDUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEQAn4CQAJAIAIpA6gLIhlQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyEQCyAZQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRBCfwshGSANQn+FIBJCIIiEIQ0gEkIghiATQiCIhCAQQn+FhCEQIBNCIIYgFUIgiIQgGUJ/hYQhFSAMQn+FCyEMIAJB6ApqQfq9wABBIRBQIAIoAugKDQ0gECACKQP4CnwiEiAQVCEBIAIpA4ALIRkgFSAVIAIpA/AKfCITWAR+IAGtBSASQgF8IhJQrSABrXwLIRAgDSAZfCIVIA1UIQEgAikDiAshDUJ/IBIgE4QgEFAEfiABrQUgFSAQIBV8IhVWrSABrXwLIhBQBH4gDCANfAUgDCANfCAQfAsiECAVhIRCAFKtIBBCAFMiARshISABBEAgEkJ/hUIAIBJ9Ig1CACATfSITQgBSIgEbIRIgFUJ/hSIMIA1QIAFBf3NxIgGtfCINIAwgARshFSABIAwgDVZxrSAQQn+FfCEQCyAUIQ0gDiEMIA8hGSARIRogEUIAUwRAIAxCf4VCACAMfSIZQgAgDX0iDUIAUiIBGyEMIA9Cf4UiGiAZUCABQX9zcSIBrXwiHyAaIAEbIRkgASAaIB9Wca0gEUJ/hXwhGgsgAkHYA2ogDUIAIBNCABDJASACQcgDaiANQgAgEkIAEMkBIAJBuANqIA1CACAVQgAQyQEgAkGoA2ogDEIAIBNCABDJASACQZgDaiAMQgAgEkIAEMkBIAJBiANqIBlCACATQgAQyQEgAikDuAMiHyACQdADaikDACACKQPIAyIgIAJB4ANqKQMAfCIjICBUrXx8IiAgH1StIAJBkANqKQMAIAJBoANqKQMAIAJBwANqKQMAIAwgFX4gDSAQfnwgEiAZfnx8IBMgGn58fHx8IAJBsANqKQMAIAIpA6gDIgwgI3wiFSAMVK18IgwgIHwiDSAMVK18IAIpA5gDIgwgDXwiDSAMVK18IAIpA4gDIgwgDXwiEyAMVK18IRJCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAhfkICWgRAIBJCf4UiDSACKQPYAyIQQgAgFX0iGYRQIgEgE0J/hSIMIAGtfCIaIAxUcSIDrXwgDSADGyESIBkgFUJ/hSAQUBshFSAaIAwgARshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBNCIIYgFUIgiIQhFSASQiCIIQ1CAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEAJ+AkACQCACKQOoCyIZUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgGUIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRkgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECATQiCGIBVCIIiEIBlCf4WEIRUgDEJ/hQshDCACQegKakGbvsAAQSEQUCACKALoCg0OIBAgAikD+Ap8IhIgEFQhASACKQOACyEZIBUgFSACKQPwCnwiE1gEfiABrQUgEkIBfCISUK0gAa18CyEQIA0gGXwiFSANVCEBIAIpA4gLIQ1CfyASIBOEIBBQBH4gAa0FIBUgECAVfCIVVq0gAa18CyIQUAR+IAwgDXwFIAwgDXwgEHwLIhAgFYSEQgBSrSAQQgBTIgEbISEgAQRAIBJCf4VCACASfSINQgAgE30iE0IAUiIBGyESIBVCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRUgASAMIA1Wca0gEEJ/hXwhEAsgFCENIA4hDCAPIRkgESEaIBFCAFMEQCAMQn+FQgAgDH0iGUIAIA19Ig1CAFIiARshDCAPQn+FIhogGVAgAUF/c3EiAa18Ih8gGiABGyEZIAEgGiAfVnGtIBFCf4V8IRoLIAJB+AJqIA1CACATQgAQyQEgAkHoAmogDUIAIBJCABDJASACQdgCaiANQgAgFUIAEMkBIAJByAJqIAxCACATQgAQyQEgAkG4AmogDEIAIBJCABDJASACQagCaiAZQgAgE0IAEMkBIAIpA9gCIh8gAkHwAmopAwAgAikD6AIiICACQYADaikDAHwiIyAgVK18fCIgIB9UrSACQbACaikDACACQcACaikDACACQeACaikDACAMIBV+IA0gEH58IBIgGX58fCATIBp+fHx8fCACQdACaikDACACKQPIAiIMICN8IhUgDFStfCIMICB8Ig0gDFStfCACKQO4AiIMIA18Ig0gDFStfCACKQOoAiIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgIX5CAloEQCASQn+FIg0gAikD+AIiEEIAIBV9IhmEUCIBIBNCf4UiDCABrXwiGiAMVHEiA618IA0gAxshEiAZIBVCf4UgEFAbIRUgGiAMIAEbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECATQiCGIBVCIIiEIRUgEkIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIRACfgJAAkAgAikDqAsiGVBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBlCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEZIA1Cf4UgEkIgiIQhDSASQiCGIBNCIIiEIBBCf4WEIRAgE0IghiAVQiCIhCAZQn+FhCEVIAxCf4ULIQwgAkHoCmpBvL7AAEEgEFAgAigC6AoNDyAQIAIpA/gKfCISIBBUIQEgAikDgAshGSAVIBUgAikD8Ap8IhNYBH4gAa0FIBJCAXwiElCtIAGtfAshECANIBl8IhUgDVQhASACKQOICyENQn8gEiAThCAQUAR+IAGtBSAVIBAgFXwiFVatIAGtfAsiEFAEfiAMIA18BSAMIA18IBB8CyIQIBWEhEIAUq0gEEIAUyIBGyABBEAgEkJ/hUIAIBJ9IhlCACATfSITQgBSIgEbIRIgFUJ/hSIMIBlQIAFBf3NxIgGtfCIZIAwgARshFSABIAwgGVZxrSAQQn+FfCEQC0J/IA4gFIQgD4QgEYRCAFKtIBFCAFMiARsgAQRAIA5Cf4VCACAOfSIaQgAgFH0iFEIAUiIBGyEOIA9Cf4UiDCAaUCABQX9zcSIBrXwiGiAMIAEbIQ8gASAMIBpWca0gEUJ/hXwhEQsgAkGYAmogFEIAIBNCABDJASACQYgCaiAUQgAgEkIAEMkBIAJB+AFqIBRCACAVQgAQyQEgAkHoAWogDkIAIBNCABDJASACQdgBaiAOQgAgEkIAEMkBIAJByAFqIA9CACATQgAQyQEgAikD+AEiDCACQZACaikDACACKQOIAiIaIAJBoAJqKQMAfCIhIBpUrXx8IhogDFStIAJB0AFqKQMAIAJB4AFqKQMAIAJBgAJqKQMAIA4gFX4gECAUfnwgDyASfnx8IBEgE358fHx8IAJB8AFqKQMAIAIpA+gBIg4gIXwiFCAOVK18Ig4gGnwiDyAOVK18IAIpA9gBIg4gD3wiDyAOVK18IA8gAikDyAEiEXwiDiARVK18IRF+QgJaBEAgEUJ/hSIPIAIpA5gCIgxCACAUfSINhFAiASAOQn+FIg4gAa18IhAgDlRxIgOtfCAPIAMbIREgDSAUQn+FIAxQGyEUIBAgDiABGyEOCwJ+IBFCAFkEQCARQiCGIA5CIIiEIRIgDkIghiAUQiCIhCEOIBFCIIghFUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEPAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRIgAikDwAshEwwBCyACKQO4CyESIA9QRQRAIA9CAX0hDyACKQPACyETDAELIAIpA8ALIRMgElANASASQgF9IRJCfyEPCyAMQgF9DAELIBNQDRhCfyESIBNCAX0hE0J/IQ9CfwshDCASQn+FIBFCIIiEIRUgEUIghiAOQiCIhCAPQn+FhCESIA5CIIYgFEIgiIQgDEJ/hYQhDiATQn+FCyEUIAJB6ApqQdy+wABBHhBQIAIoAugKDRFCIIYgJkIgiIQhESASIAIpA/gKfCIPIBJUIQEgAikDgAsgDiAOIAIpA/AKfCITWAR+IAGtBSAPQgF8Ig9QrSABrXwLIQwgFXwiDiAVVCEDQf8BIQFB/wEgHiARfSAkfCIRIB0gFyAnfSIShCAWhIRCAFIgEUIAUxsCQCACKQOICyINIBR8IAxQBH4gA60FIA4gDCAOfCIOVq0gA618CyIMIA0gFHx8IAxQGyIUQgBTDQBBASEBIA8gE4QgDoRCAFINACAUUA0RC8AgAcBtIAIgEUIAUwR+IBJCf4VCACASfSINQgAgHX0iHUIAUiIBGyESIBZCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRYgASAMIA1Wca0gEUJ/hXwFIBELNwPgCiACIBY3A9gKIAIgEjcD0AogAiAdNwPICiACIBRCAFMEfiAPQn+FQgAgD30iDEIAIBN9IhNCAFIiARshDyAOQn+FIhEgDFAgAUF/c3EiAa18IgwgESABGyEOIAEgDCARVHGtIBRCf4V8BSAUCzcDwAsgAiAONwO4CyACIA83A7ALIAIgEzcDqAsgAkHoCmogAkHICmogAkGoC2oQTiACKQOACyEUIAIpA/gKIRMgAikD8AohDiACKQPoCiERQf8BcUECTwRAIBRCf4UiFEIAIA59IgxQQgAgEX0iEUIAUiIDQX9zcSIBIBNCf4UiDyABrXwiDSAPVHEiBK18IBQgBBshFCANIA8gARshEyAOQn+FIAwgAxshDgsgAkHoCmpBjL/AAEErEFAgAigC6AoNEiACKQOICyEVQn8gDiARhCATIBSEhEIAUq0gFEIAUyIBGyACKQOACyEQIAIpA/gKIRIgAikD8AohDyABBEAgDkJ/hUIAIA59IhZCACARfSIRQgBSIgEbIQ4gE0J/hSIMIBZQIAFBf3NxIgGtfCIWIAwgARshEyABIAwgFlZxrSAUQn+FfCEUC0J/IA8gEoQgEIQgFYRCAFKtIBVCAFMiARsgAQRAIBJCf4VCACASfSIXQgAgD30iD0IAUiIBGyESIBBCf4UiDCAXUCABQX9zcSIBrXwiFyAMIAEbIRAgASAMIBdWca0gFUJ/hXwhFQsgAkG4AWogD0IAIBFCABDJASACQagBaiAPQgAgDkIAEMkBIAJBmAFqIA9CACATQgAQyQEgAkGIAWogEkIAIBFCABDJASACQfgAaiASQgAgDkIAEMkBIAJB6ABqIBBCACARQgAQyQEgAikDmAEiDCACQbABaikDACACKQOoASIXIAJBwAFqKQMAfCIZIBdUrXx8IhcgDFStIAJB8ABqKQMAIAJBgAFqKQMAIAJBoAFqKQMAIBIgE34gDyAUfnwgDiAQfnx8IBEgFX58fHx8IAJBkAFqKQMAIAIpA4gBIg4gGXwiFCAOVK18Ig4gF3wiDyAOVK18IAIpA3giDiAPfCIPIA5UrXwgAikDaCIOIA98IhMgDlStfCEQIAIpA7gBIRV+QgJaBEAgEEJ/hSIPQgAgFH0iEVBCACAVfSIVQgBSIgNBf3NxIgEgE0J/hSIOIAGtfCIMIA5UcSIErXwgDyAEGyEQIAwgDiABGyETIBRCf4UgESADGyEUCyACQegKakG3v8AAQccAEFAgAigC6AoNEyACKQOACyEPIAIpA/gKIQ4gAikD8AohEUJ/IRYgAikDiAsiEkIAWQRAIA4gEYQgDyAShIRCAFKtIRYLIBJCAFMEQCAOQn+FQgAgDn0iDUIAIBF9IhFCAFIiARshDiAPQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEPIAEgDCANVnGtIBJCf4V8IRILQn8gGyAchCAYhCAihEIAUq0gIkIAUyIBGyABBEAgG0J/hUIAIBt9IhdCACAcfSIcQgBSIgEbIRsgGEJ/hSIMIBdQIAFBf3NxIgGtfCIXIAwgARshGCABIAwgF1ZxrSAiQn+FfCEiCyACQdgAaiAcQgAgEUIAEMkBIAJByABqIBxCACAOQgAQyQEgAkE4aiAcQgAgD0IAEMkBIAJBKGogG0IAIBFCABDJASACQRhqIBtCACAOQgAQyQEgAkEIaiAYQgAgEUIAEMkBIAIpAzgiDCACQdAAaikDACACKQNIIhcgAkHgAGopAwB8IhkgF1StfHwiFyAMVK0gAkEQaikDACACQSBqKQMAIAJBQGspAwAgDyAbfiASIBx+fCAOIBh+fHwgESAifnx8fHwgAkEwaikDACACKQMoIg8gGXwiDiAPVK18Ig8gF3wiESAPVK18IAIpAxgiDyARfCIRIA9UrXwgESACKQMIIhF8Ig8gEVStfCEYIAIpA1ghGyAWfkICWgR+IBhCf4UiEUIAIA59IgxQQgAgG30iG0IAUiIDQX9zcSIBIA9Cf4UiDyABrXwiDSAPVHEiBK18IBEgBBshGCANIA8gARshDyAOQn+FIAwgAxsFIA4LIBR8Ig4gFFQhASAPIBN8IhEgE1QhAyAVIBUgG3wiD1gEfiABrQUgDkIBfCIOUK0gAa18CyIUUAR+IAOtBSARIBEgFHwiEVatIAOtfAsiFFAEfiAQIBh8BSAQIBh8IBR8CyEMIAJB6ApqQf6/wABByAAQUCACKALoCkUEQCAOIA4gAikD+Ap8IhRWIgGtIBRCf1GtIAGtfCAPIA8gAikD8Ap8WBshDyACKQOACyARfCIOIBFUIQFCACEUAn4gAikDiAsiESAMfCAPUAR+IAGtBSAOIA4gD3wiDlatIAGtfAsiDyAMIBF8fCAPUBsiEUIAWQRAIBFCEoYgDkIuiIQhDkIAIQ8gEUIuiAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQtEANwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshFAJ+AkACQAJAAkAgAikDqAsiDFBFBEAgAikDuAshDwwBCyACKQO4CyEPIBRQDQEgFEIBfSEUCyAUQn+FIRggAikDwAshFAwBCyACKQPACyEUIA9QDQEgD0IBfSEPQgAhGAsgD0J/hSEPQgAgDH0MAQtCACEPIBRQDRcgFEIBfSEUQgAhGEIACyARQhKGIA5CLoiEhCEOIBRCf4UhFCAYIBFCLoiECyERIAAgFDcDICAAIA83AxggACARNwMQIAAgDjcDCEEAIQEMFgsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABByMDAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQYjDwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEH4wsAAEMoBAAtBwLnAAEErIAJBzwtqQdjCwABB6MLAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQcjCwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEG4wsAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABBqMLAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQZjCwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEGIwsAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABB+MHAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQejBwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEHYwcAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABByMHAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQbjBwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEGowcAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABBmMHAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQYjBwAAQygEAC0H8vsAAEIYCAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABB+MDAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQejAwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEHYwMAAEMoBAAsMAQsgACABNgIAIAJB0AtqJAAPCyACQQA2AvgKIAJBATYC7AogAkHktMAANgLoCiACQgQ3AvAKIAJB6ApqQbS0wAAQ/QEAC/cgAjR/HX5B9MqB2QYhCUGy2ojLByEMQe7IgZkDIRJB5fDBiwYhCkEGISpB5fDBiwYhC0HuyIGZAyETQbLaiMsHIRZB9MqB2QYhGEHl8MGLBiEUQe7IgZkDIRlBstqIywchGkH0yoHZBiEbQeXwwYsGIRVB7siBmQMhHEGy2ojLByEdQfTKgdkGIR4gACkDGCI3IUMgACkDECI4IUQgNyE5IDghOiA3ITsgOCE8IAApAwgiQiFFIAApAwAiPSFGIEIhRyA9IUAgQiFIID0hQSAAKQMoIkohSyAAKQMgIkkhTCBJQgF8Ik0hTiBKIjYhPiBJQgJ8Ik8hUCA2IT8gSUIDfCJRIVIDQCBBIFIgFSBBp2oiFa0gHCBBQiCIp2oiHK1CIIaEhSJBQiCIp0EQdyIhIDxCIIinaiIirUIghiBBp0EQdyIjIDynaiIXrYSFIjxCIIinQQx3Ig0gHGoiHK1CIIYgFSA8p0EMdyIVaiIRrYQgI60gIa1CIIaEhSI8QiCIp0EIdyIhICJqIiKtQiCGIDynQQh3IiMgF2oiF62EIBWtIA2tQiCGhIUiQadBB3ciFSA/IB0gSKdqIh2tIB4gSEIgiKdqIh6tQiCGhIUiPEIgiKdBEHciDSA7QiCIp2oiBq1CIIYgPKdBEHciDiA7p2oiAq2EIEiFIjtCIIinQQx3IgcgHmoiHmoiBK1CIIYgBiAdIDunQQx3Ih1qIgatIB6tQiCGhCAOrSANrUIghoSFIjtCIIinQQh3Ig1qIg6tQiCGIDunQQh3Ih4gAmoiAq2EIB2tIAetQiCGhIUiO0IgiKdBB3ciHSAGaiIGrYQgIa0gHq1CIIaEhSI8QiCIp0EQdyIhICJqIiKtQiCGIBcgPKdBEHciF2oiB62EIB2tIBWtQiCGhIUiPEIgiKdBDHciFSAEaiIerUIghiAGIDynQQx3IgZqIh2thCAXrSAhrUIghoSFIjxCIIinQQh3IiEgImqtQiCGIDynQQh3IiIgB2qthCI8IAatIBWtQiCGhIUiP6dBB3ciLK1CIIYgQUIgiKdBB3ciFSARaiIXrSAcIDunQQd3IhxqIhGtQiCGhCANrSAjrUIghoSFIjtCIIinQRB3IiMgDmoiDa1CIIYgO6dBEHciBiACaiIOrYQgFa0gHK1CIIaEhSI7QiCIp0EMdyICIBFqIhytQiCGIDunQQx3IhEgF2oiFa2EIAatICOtQiCGhIUiO0IgiKdBCHciIyANaq1CIIYgO6dBCHciFyAOaq2EIjsgEa0gAq1CIIaEhSJBQiCIp0EHdyItrYQhSCA/QiCIp0EHdyIurSBBp0EHdyIvrUIghoQhQSA9IFAgFCA9p2oiFK0gGSA9QiCIp2oiGa1CIIaEhSI9QiCIp0EQdyINIDhCIIinaiIRrUIghiA9p0EQdyIGIDinaiIOrYSFIjhCIIinQQx3IgIgGWoiGa1CIIYgFCA4p0EMdyIUaiIHrYQgBq0gDa1CIIaEhSI4QiCIp0EIdyINIBFqIhGtQiCGIDinQQh3IgYgDmoiDq2EIBStIAKtQiCGhIUiPadBB3ciFCA+IBogQqdqIhqtIBsgQkIgiKdqIhutQiCGhIUiOEIgiKdBEHciAiA3QiCIp2oiBK1CIIYgOKdBEHciDyA3p2oiA62EIEKFIjdCIIinQQx3IgggG2oiG2oiBa1CIIYgBCAaIDenQQx3IhpqIgStIButQiCGhCAPrSACrUIghoSFIjdCIIinQQh3IgJqIg+tQiCGIDenQQh3IhsgA2oiA62EIBqtIAitQiCGhIUiN0IgiKdBB3ciGiAEaiIErYQgDa0gG61CIIaEhSI4QiCIp0EQdyINIBFqIhGtQiCGIA4gOKdBEHciDmoiCK2EIBqtIBStQiCGhIUiOEIgiKdBDHciFCAFaiIbrUIghiAEIDinQQx3IgRqIhqthCAOrSANrUIghoSFIjhCIIinQQh3Ig0gEWqtQiCGIDinQQh3IhEgCGqthCI4IAStIBStQiCGhIUiPqdBB3ciMK1CIIYgPUIgiKdBB3ciFCAHaiIOrSAZIDenQQd3IhlqIgetQiCGhCACrSAGrUIghoSFIjdCIIinQRB3IgYgD2oiAq1CIIYgN6dBEHciBCADaiIPrYQgFK0gGa1CIIaEhSI3QiCIp0EMdyIDIAdqIhmtQiCGIDenQQx3IgcgDmoiFK2EIAStIAatQiCGhIUiN0IgiKdBCHciBiACaq1CIIYgN6dBCHciDiAPaq2EIjcgB60gA61CIIaEhSI9QiCIp0EHdyIxrYQhQiA+QiCIp0EHdyIyrSA9p0EHdyIzrUIghoQhPSBOIAsgRqdqIgutIBMgRkIgiKdqIhOtQiCGhIUiPkIgiKdBEHciAiBEQiCIp2oiB61CIIYgPqdBEHciBCBEp2oiD62EIEaFIj5CIIinQQx3IgMgE2oiE61CIIYgCyA+p0EMdyILaiIIrYQgBK0gAq1CIIaEhSI+QiCIp0EIdyICIAdqIgetQiCGID6nQQh3IgQgD2oiD62EIAutIAOtQiCGhIUiPqdBB3ciCyA2IBYgRadqIhatIBggRUIgiKdqIhitQiCGhIUiNkIgiKdBEHciAyBDQiCIp2oiBa1CIIYgNqdBEHciECBDp2oiJK2EIEWFIjZCIIinQQx3IiggGGoiGGoiK61CIIYgBSAWIDanQQx3IhZqIgWtIBitQiCGhCAQrSADrUIghoSFIjZCIIinQQh3IgNqIhCtQiCGIDanQQh3IhggJGoiJK2EIBatICitQiCGhIUiNkIgiKdBB3ciFiAFaiIFrYQgAq0gGK1CIIaEhSI/QiCIp0EQdyICIAdqIgetQiCGIA8gP6dBEHciD2oiKK2EIBatIAutQiCGhIUiP0IgiKdBDHciCyAraiIYrUIghiAFID+nQQx3IgVqIhathCAPrSACrUIghoSFIj9CIIinQQh3IgIgB2qtQiCGID+nQQh3IgcgKGqthCJEIAWtIAutQiCGhIUiP6dBB3ciKK1CIIYgPkIgiKdBB3ciCyAIaiIPrSATIDanQQd3IhNqIgitQiCGhCADrSAErUIghoSFIjZCIIinQRB3IgQgEGoiA61CIIYgNqdBEHciBSAkaiIQrYQgC60gE61CIIaEhSI2QiCIp0EMdyIkIAhqIhOtQiCGIDanQQx3IgggD2oiC62EIAWtIAStQiCGhIUiNkIgiKdBCHciBCADaq1CIIYgNqdBCHciDyAQaq2EIkMgCK0gJK1CIIaEhSI2QiCIp0EHdyIkrYQhRSA/QiCIp0EHdyIrrSA2p0EHdyI0rUIghoQhRiBAIAogQKdqIgqtIBIgQEIgiKdqIhKtQiCGhCBMhSJAQiCIp0EQdyIDIDpCIIinaiIIrUIghiBAp0EQdyIFIDqnaiIQrYSFIjpCIIinQQx3Ih8gEmoiEq1CIIYgCiA6p0EMdyIKaiIlrYQgBa0gA61CIIaEhSI6QiCIp0EIdyIDIAhqIgitQiCGIDqnQQh3IgUgEGoiEK2EIAqtIB+tQiCGhIUiQKdBB3ciCiAMIEenaiIMrSAJIEdCIIinaiIJrUIghoQgS4UiOkIgiKdBEHciHyA5QiCIp2oiIK1CIIYgOqdBEHciJiA5p2oiJ62EIEeFIjlCIIinQQx3IikgCWoiCWoiNa1CIIYgICAMIDmnQQx3IgxqIiCtIAmtQiCGhCAmrSAfrUIghoSFIjlCIIinQQh3Ih9qIiatQiCGIDmnQQh3IgkgJ2oiJ62EIAytICmtQiCGhIUiOUIgiKdBB3ciDCAgaiIgrYQgA60gCa1CIIaEhSI6QiCIp0EQdyIDIAhqIgitQiCGIBAgOqdBEHciEGoiKa2EIAytIAqtQiCGhIUiOkIgiKdBDHciCiA1aiIJrUIghiAgIDqnQQx3IiBqIgythCAQrSADrUIghoSFIjpCIIinQQh3IgMgCGqtQiCGIDqnQQh3IgggKWqthCI6ICCtIAqtQiCGhIUiNqdBB3ciIK1CIIYgQEIgiKdBB3ciCiAlaiIQrSASIDmnQQd3IhJqIiWtQiCGhCAfrSAFrUIghoSFIjlCIIinQRB3IgUgJmoiH61CIIYgOadBEHciJiAnaiInrYQgCq0gEq1CIIaEhSI5QiCIp0EMdyIpICVqIhKtQiCGIDmnQQx3IiUgEGoiCq2EICatIAWtQiCGhIUiOUIgiKdBCHciBSAfaq1CIIYgOadBCHciECAnaq2EIjkgJa0gKa1CIIaEhSJAQiCIp0EHdyIfrYQhRyA2QiCIp0EHdyIlrSBAp0EHdyImrUIghoQhQCAhrSAXrUIghoQhPyAjrSAirUIghoQhUiANrSAOrUIghoQhPiAGrSARrUIghoQhUCACrSAPrUIghoQhNiAErSAHrUIghoQhTiADrSAQrUIghoQhSyAFrSAIrUIghoQhTCAqQQFrIioNAAsgACgCICEqIAAoAiQhJyAAIElCBHw3AyAgASAeQfTKgdkGajYCzAEgASAdQbLaiMsHajYCyAEgASAcQe7IgZkDajYCxAEgASAVQeXwwYsGajYCwAEgASAbQfTKgdkGajYCjAEgASAaQbLaiMsHajYCiAEgASAZQe7IgZkDajYChAEgASAUQeXwwYsGajYCgAEgASAYQfTKgdkGajYCTCABIBZBstqIywdqNgJIIAEgE0HuyIGZA2o2AkQgASALQeXwwYsGajYCQCABIAlB9MqB2QZqNgIMIAEgDEGy2ojLB2o2AgggASASQe7IgZkDajYCBCABIApB5fDBiwZqNgIAIAEgISBKpyIWajYC+AEgASAjIFGnajYC8AEgASAAKAIYIgkgO6dqNgLoASABIAAoAhAiDCA8p2o2AuABIAEgACgCDCISICxqNgLcASABIAAoAggiCiAtajYC2AEgASAAKAIEIgsgL2o2AtQBIAEgACgCACITIC5qNgLQASABIA0gFmo2ArgBIAEgBiBPp2o2ArABIAEgCSA3p2o2AqgBIAEgDCA4p2o2AqABIAEgEiAwajYCnAEgASAKIDFqNgKYASABIAsgM2o2ApQBIAEgEyAyajYCkAEgASACIBZqNgJ4IAEgBCBNp2o2AnAgASAJIEOnajYCaCABIAwgRKdqNgJgIAEgEiAoajYCXCABIAogJGo2AlggASALIDRqNgJUIAEgEyArajYCUCABIBAgACgCLGo2AjwgASADIAAoAihqNgI4IAEgCCAnajYCNCABIAUgKmo2AjAgASAJIDmnajYCKCABIAwgOqdqNgIgIAEgEiAgajYCHCABIAogH2o2AhggASALICZqNgIUIAEgEyAlajYCECABIBcgSkIgiKciDGo2AvwBIAEgIiBRQiCIp2o2AvQBIAEgACgCFCIJIDxCIIinajYC5AEgASAMIA5qNgK8ASABIBEgT0IgiKdqNgK0ASABIAkgOEIgiKdqNgKkASABIAwgD2o2AnwgASAHIE1CIIinajYCdCABIAkgREIgiKdqNgJkIAEgCSA6QiCIp2o2AiQgASAAKAIcIgAgO0IgiKdqNgLsASABIAAgN0IgiKdqNgKsASABIAAgQ0IgiKdqNgJsIAEgACA5QiCIp2o2AiwLvRwCA38bfiMAQYAHayIDJAACQAJAAkAgAikDAEIAUg0AIAIpAwhCAFINACACKQMQQgBSDQAgAikDGFANAQsgA0HYBmpCADcDACADQdAGakIANwMAIANCADcDyAYgA0IBNwPABiADQfgGaiACQRhqKQMAIhY3AwAgA0HwBmogAkEQaikDACIZNwMAIANB6AZqIAJBCGopAwAiHDcDACADIAIpAwAiGzcD4AYgASkDGCEGIAEpAxAhCCABKQMIIQ0gASkDACEMQgEhEgNAQRghAgJAAkADQCACQXhGDQEgA0HgBmogAmohASADQcAGaiACaiEFIAJBCGshAkF/IAUpAwAiCiABKQMAIgdSIAcgClQbIgFFDQALIAFB/wFxQQFGDQELIANB8AFqIBJCACAMQgAQyQEgA0HgAWogEkIAIA1CABDJASADQdABaiASQgAgCEIAEMkBIANBwAFqIBJCACAGQgAQyQEgA0GwAWogF0IAIAxCABDJASADQaABaiAXQgAgDUIAEMkBIANBkAFqIBdCACAIQgAQyQEgA0GAAWogF0IAIAZCABDJASADQfAAaiAaQgAgDEIAEMkBIANB4ABqIBpCACANQgAQyQEgA0HQAGogGkIAIAhCABDJASADQUBrIBpCACAGQgAQyQEgA0EwaiAVQgAgDEIAEMkBIANBIGogFUIAIA1CABDJASADQRBqIBVCACAIQgAQyQEgAyAVQgAgBkIAEMkBIAMpA/ABIQoCf0EBIAMpAyAiHCADQThqKQMAIAMpAzAiGSADKQNgIgcgA0H4AGopAwAgAykDcCIWIAMpA6ABIgkgA0G4AWopAwAgAykDsAEiBiADKQPgASIIIANB+AFqKQMAfCINfCIMIAZUrXwiBiADKQPQASISIANB6AFqKQMAIAggDVatfHwiCHwiDXwiF3wiGiAWVK18IhUgAykDkAEiGyADQagBaikDACAJIBdWrXwiCSAGIA1WrXwiFiADKQPAASIGIANB2AFqKQMAIAggElStfHwiCHwiDXwiEnwiF3wiC3wiDiAZVK18IhAgAykDUCIPIANB6ABqKQMAIAcgC1atfCIHIBUgF1atfCIZIAMpA4ABIhcgA0GYAWopAwAgEiAbVK18IhIgDSAWVCAJIBZWcq18IhYgA0HIAWopAwAgBiAIVq18fCIJfCIGfCIIfCINfCIVfCIbQgBSDQAaQQEgAykDECILIANBKGopAwAgGyAcVK18IhsgECAVVq18IhwgAykDQCIVIANB2ABqKQMAIA0gD1StfCINIAggGVQgByAZVnKtfCIZIAYgF1StIANBiAFqKQMAIAkgFlQgEiAWVnKtfHx8Igd8Igl8IhZ8IgZCAFINABpBASADKQMAIgggA0EYaikDACAGIAtUrXwiBiAWIBxUIBsgHFZyrXwiFiAJIBVUrSADQcgAaikDACAHIBlUIA0gGVZyrXx8fCIZfCIcQgBSDQAaIANBCGopAwAgCCAcVq18QgAgBiAWViAWIBlWcq19UgshAiAAIA43AxggACAaNwMQIAAgDDcDCCAAIAo3AwAgACACIARyQQFxOgAgDAMLAkAgG6dBAXFFBEAgA0GQA2ogDEIAIAxCABDJASADQYADaiAMQgAgDUIAEMkBIANB4AJqIAhCACAMQgAQyQEgA0GwAmogBkIAIAxCABDJASADQfACaiANQgAgDUIAEMkBIANB0AJqIAhCACANQgAQyQEgA0GgAmogBkIAIA1CABDJASADQcACaiAIQgAgCEIAEMkBIANBkAJqIAZCACAIQgAQyQEgA0GAAmogBkIAIAZCABDJAUEBIQICQCADKQOgAiIKIANBuAJqKQMAIg4gAykDsAIiByADKQPQAiIJIANB6AJqKQMAIgsgAykD4AIiBiADKQPwAiIMIANBiANqKQMAIhAgAykDgAMiCCAIIANBmANqKQMAfCIPfCINIAhUrXwiESAGIAggD1atIBB8fCIQfCIPfCITfCIIIAZUrXwiFCAJIANB+AJqKQMAIAwgE1atfCITIA8gEVStfCIMIAcgBiAQVq0gC3x8IhB8Ig98IhF8Igt8Ihh8IgYgB1StfCIdIAMpA8ACIh8gA0HYAmopAwAiHiAJIBhWrXwiGCALIBRUrXwiCyAKIAkgEVatIB58IhEgDCATVCAMIA9Wcq18IgkgByAQVq0gDnx8Ig58IhB8Ig98IhN8Igx8IhRCAFINACADKQOQAiIHIANBqAJqKQMAIh4gCiAUVq18IhQgDCAdVK18IgwgByADQcgCaikDACATIB9UrXwiEyALIBhUIAsgD1ZyrXwiCyAKIBBWrSAJIBFUIAkgDlZyrSAefHx8Igl8Ig58Igp8IhBCAFINACADKQOAAiIPIANBmAJqKQMAIhEgByAQVq18IhAgDCAUVCAKIAxUcq18IgogByAOVq0gCyATVCAJIAtUcq0gEXx8fCIHfCIJQgBSDQAgA0GIAmopAwAgCSAPVK18QgAgCiAQVCAHIApUcq19UiECCyADKQOQAyEMDAELIANBsAZqIBJCACAMQgAQyQEgA0GgBmogEkIAIA1CABDJASADQZAGaiASQgAgCEIAEMkBIANBgAZqIBJCACAGQgAQyQEgA0HwBWogF0IAIAxCABDJASADQeAFaiAXQgAgDUIAEMkBIANB0AVqIBdCACAIQgAQyQEgA0HABWogF0IAIAZCABDJASADQbAFaiAaQgAgDEIAEMkBIANBoAVqIBpCACANQgAQyQEgA0GQBWogGkIAIAhCABDJASADQYAFaiAaQgAgBkIAEMkBIANB8ARqIBVCACAMQgAQyQEgA0HgBGogFUIAIA1CABDJASADQdAEaiAVQgAgCEIAEMkBIANBwARqIBVCACAGQgAQyQFBASEBAn9BASADKQPgBCIJIANB+ARqKQMAIAMpA/AEIgcgAykDoAUiEiADQbgFaikDACADKQOwBSIKIAMpA+AFIhUgA0H4BWopAwAgAykD8AUiGiADKQOgBiILIANBuAZqKQMAfCIOfCIXIBpUrXwiECADKQOQBiIPIANBqAZqKQMAIAsgDlatfHwiC3wiDnwiEXwiGiAKVK18IhMgAykD0AUiFCADQegFaikDACARIBVUrXwiESAOIBBUrXwiCiADKQOABiIOIANBmAZqKQMAIAsgD1StfHwiC3wiEHwiD3wiGHwiHXwiFSAHVK18Ih8gAykDkAUiHiADQagFaikDACASIB1WrXwiEiATIBhWrXwiByADKQPABSITIANB2AVqKQMAIA8gFFStfCIPIAogEVQgCiAQVnKtfCIKIANBiAZqKQMAIAsgDlStfHwiC3wiDnwiEHwiEXwiFHwiGEIAUg0AGkEBIAMpA9AEIh0gA0HoBGopAwAgCSAYVq18IhggFCAfVK18IgkgAykDgAUiFCADQZgFaikDACARIB5UrXwiESAHIBJUIAcgEFZyrXwiByAOIBNUrSADQcgFaikDACAKIA9UIAogC1ZyrXx8fCISfCILfCIKfCIOQgBSDQAaQQEgAykDwAQiECADQdgEaikDACAOIB1UrXwiDiAJIBhUIAkgClZyrXwiCiALIBRUrSADQYgFaikDACAHIBFUIAcgElZyrXx8fCIHfCIJQgBSDQAaIANByARqKQMAIAkgEFStfEIAIAogDlQgByAKVHKtfVILIQIgAykDsAYhEiADQdADaiAMQgAgDEIAEMkBIANBwANqIAxCACANQgAQyQEgA0GwA2ogCEIAIAxCABDJASADQaADaiAGQgAgDEIAEMkBIANBgARqIA1CACANQgAQyQEgA0HwA2ogCEIAIA1CABDJASADQeADaiAGQgAgDUIAEMkBIANBoARqIAhCACAIQgAQyQEgA0GQBGogBkIAIAhCABDJASADQbAEaiAGQgAgBkIAEMkBIAMpA9ADIQwCQCADKQPgAyIKIANBqANqKQMAIhAgAykDoAMiByADKQPwAyIJIANBuANqKQMAIg4gAykDsAMiBiADKQOABCILIANByANqKQMAIg8gAykDwAMiCCAIIANB2ANqKQMAfCIRfCINIAhUrXwiEyAGIAggEVatIA98fCIPfCIRfCIUfCIIIAZUrXwiGCAJIANBiARqKQMAIAsgFFatfCIUIBEgE1StfCILIAcgBiAPVq0gDnx8Ig98IhF8IhN8Ig58Ih18IgYgB1StfCIfIAMpA6AEIh4gA0H4A2opAwAiICAJIB1WrXwiHSAOIBhUrXwiDiAKIAkgE1atICB8IhMgCyAUVCALIBFWcq18IgkgByAPVq0gEHx8IhB8Ig98IhF8IhR8Igt8IhhCAFINACADKQOQBCIHIANB6ANqKQMAIiAgCiAYVq18IhggCyAfVK18IgsgByADQagEaikDACAUIB5UrXwiFCAOIB1UIA4gEVZyrXwiDiAKIA9WrSAJIBNUIAkgEFZyrSAgfHx8Igl8IhB8Igp8Ig9CAFINACADKQOwBCIRIANBmARqKQMAIhMgByAPVq18Ig8gCyAYVCAKIAtUcq18IgogByAQVq0gDiAUVCAJIA5Ucq0gE3x8fCIHfCIJQgBSDQAgA0G4BGopAwAgCSARVK18QgAgCiAPVCAHIApUcq19UiEBCyAbQgF9IRsgASACciECCyADIBZCAYgiCjcD+AYgAyAWQj+GIBlCAYiEIgc3A/AGIAMgGUI/hiAcQgGIhCIJNwPoBiADIBxCP4YgG0IBiIQiGzcD4AYgAiAEciEEIAohFiAHIRkgCSEcDAALAAsgAEIANwMIIABBADoAICAAQgE3AwAgAEEYakIANwMAIABBEGpCADcDAAsgA0GAB2okAAvNIwIUfxN+IwBB4AVrIgMkAEGABCEFIAEpAzgiGCEXAn4CQAJAIBhQRQ0AQcADIQUgASkDMCIXQgBSDQBBgAMhBSABKQMoIhdCAFINAEHAAiEFIAEpAyAiF0IAUg0AQYACIQUgASkDGCIXQgBSDQBBwAEhBSABKQMQIhdCAFINAEGAASEFIAEpAwgiF1ANAQsgF3kMAQtBwAAhBSABKQMAeQshGkGABCEEAkACQAJAAkACQAJAAn8CQAJAIAIpAzgiF0IAUg0AQcADIQQgAikDMCIXQgBSDQBBgAMhBCACKQMoIhdCAFINAEHAAiEEIAIpAyAiF0IAUg0AQYACIQQgAikDGCIXQgBSDQBBwAEhBCACKQMQIhdCAFINAEGAASEEIAIpAwgiF1ANAQsgBCAXeadrDAELIAIpAwB5pyIEQcAARg0BQcAAIARrCyIEIAUgGqdrIgpLDQEgBEHBAE8EQCADQcgDaiACQThqKQMANwMAIANBwANqIAJBMGopAwA3AwAgA0G4A2ogAkEoaikDADcDACADQbADaiACQSBqKQMANwMAIANBqANqIAJBGGopAwA3AwAgA0GgA2ogAkEQaikDADcDACADQZgDaiACQQhqKQMANwMAIAMgAikDADcDkAMgA0GQA2oiBiAEQQFrQQZ2Ig9BA3RqIgspAwB5IiGnIhIhByMAQUBqIgRBOGpCADcDACAEQTBqQgA3AwAgBEEoakIANwMAIARBIGpCADcDACAEQRhqQgA3AwAgBEEQaiIJQgA3AwAgBEEIaiINQgA3AwAgBEIANwMAIAQgB0EGdiIIQQN0IgVqIAIpAwAiGiAHrSIXhjcDACAFIA1qIg0gAikDCCIbIBeGIhw3AwAgBSAJaiIFIAIpAxAiHSAXhiIgNwMAIAQgCEEDaiIJQQN0aiIOIAIpAxgiHiAXhiIiNwMAIAdBP3EhEAJAIAhBBGoiB0EIRg0AIAQgB0EDdGogAikDICAXQj+DIhiGNwMAIAhBBWoiDEEIRg0AIAQgDEEDdGogAikDKCAYhjcDACAIQQZqIgxBCEYNACAEIAxBA3RqIAIpAzAgGIY3AwAgCEEHaiIMQQhGDQAgBCAMQQN0aiACKQM4IBiGNwMACwJAIBBFDQAgBSAgIBtCACAXfSIXiHw3AwAgDSAcIBogF4h8NwMAIA4gIiAdIBeIfDcDACAJQQdGDQAgBCAHQQN0aiIFIAUpAwAgHiAXQj+DIheIfDcDACAHQQdGDQAgBCAIQQVqIgdBA3RqIgUgBSkDACACKQMgIBeIfDcDACAHQQdGDQAgBCAIQQZqIgdBA3RqIgUgBSkDACACKQMoIBeIfDcDACAHQQdGDQAgCEEDdCAEakE4aiIIIAgpAwAgAikDMCAXiHw3AwALIAYgBCkDADcDACAGQThqIARBOGopAwA3AwAgBkEwaiAEQTBqKQMANwMAIAZBKGogBEEoaikDADcDACAGQSBqIARBIGopAwA3AwAgBkEYaiAEQRhqKQMANwMAIAZBEGogBEEQaikDADcDACAGQQhqIARBCGopAwA3AwAgCkEBa0EGdiEEQcAAIBJrIgatIRcgASAGQQZ2IghBA3RqIgIpAwAhGCABIAhBBmoiB0EDdGopAwAhIiACQShqKQMAISQgAkEgaikDACElIAJBGGopAwAhJiACQRBqKQMAIScgAkEIaikDACEZIAZBP3EhAiAIQQdqIgVBCEcNAwwFCyACKQMAIhdQDQMgASkDKCEaIAEpAyAhGyABKQMYISEgASkDECEcIAEpAwghHSABKQMAISAgA0HQAWogASkDMCIeIBggGCAXgCIYIBd+fSAXEPQBIANBwAFqIAMpA9ABIiIgA0HYAWopAwAgF0IAEMkBIANBsAFqIBogHiADKQPAAX0gFxD0ASADQaABaiADKQOwASIeIANBuAFqKQMAIBdCABDJASADQZABaiAbIBogAykDoAF9IBcQ9AEgA0GAAWogAykDkAEiGiADQZgBaikDACAXQgAQyQEgA0HwAGogISAbIAMpA4ABfSAXEPQBIANB4ABqIAMpA3AiGyADQfgAaikDACAXQgAQyQEgA0HQAGogHCAhIAMpA2B9IBcQ9AEgA0FAayADKQNQIiEgA0HYAGopAwAgF0IAEMkBIANBMGogHSAcIAMpA0B9IBcQ9AEgA0EgaiADKQMwIhwgA0E4aikDACAXQgAQyQEgA0EQaiAgIB0gAykDIH0gFxD0ASADIAMpAxAiHSADQRhqKQMAIBdCABDJASAAQgA3A0ggACAYNwM4IABB0ABqQgA3AwAgAEHYAGpCADcDACAAQeAAakIANwMAIABB6ABqQgA3AwAgAEHwAGpCADcDACAAQfgAakIANwMAIAAgIjcDMCAAIB43AyggACAaNwMgIAAgGzcDGCAAICE3AxAgACAcNwMIIAAgHTcDACAAICAgAykDAH03A0AMBQsgA0EANgLoBCADQQE2AtwEIANBzM3AADYC2AQgA0IENwLgBCADQdgEakGMzsAAEP0BAAsgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3A0AgAEHIAGogAUEIaikDADcDACAAQdAAaiABQRBqKQMANwMAIABB2ABqIAFBGGopAwA3AwAgAEHgAGogAUEgaikDADcDACAAQegAaiABQShqKQMANwMAIABB8ABqIAFBMGopAwA3AwAgAEH4AGogAUE4aikDADcDAAwDCyABIAVBA3RqKQMAIBeIIR8MAQtBjM7AABCGAgALIAQgD2shBiAYIBeIIRggIiAXiCEaICQgF4ghGyAlIBeIIRwgJiAXiCEdICcgF4ghICAZIBeIIR4gD0EBaiEKIAEpAwAhIwJAIAJFDQAgIkIAIBd9IheGIBt8IRsgJCAXhiAcfCEcICUgF4YgHXwhHSAmIBeGICB8ISAgJyAXhiAefCEeIBkgF4YgGHwhGCAHQQdGDQAgASAFQQN0aikDACAXhiAafCEaCyADIB83A5AEIAMgGjcDiAQgAyAbNwOABCADIBw3A/gDIAMgHTcD8AMgAyAgNwPoAyADIB43A+ADIAMgGDcD2AMgAyAjICGGNwPQAyADQdAEakIANwMAIANByARqQgA3AwAgA0HABGpCADcDACADQbgEakIANwMAIANBsARqQgA3AwAgA0GoBGpCADcDACADQaAEakIANwMAIANCADcDmAQgA0HQA2ogBEEDdCICIA9BA3QiAWtqIQggIUI/gyEaIApBA3RBCGpBA3YhCSABIANqQYgDaikDACEcIAspAwAhGyADKQPIAyEdIAMpA8ADISAgAykDuAMhHiADKQOwAyEiIAMpA6gDISQgAykDoAMhJSADKQOYAyEmIAMpA5ADIScgBkEKSSEUIAEgAmtByABqQQN2IhUhDSAGIQECQAJAA0ACQAJAIAEiByAKaiICQQlJBEBCfyEYIANB0ANqIAJBA3RqIhApAwAiFyAbWg0CIAEgD2oiBEEJSQ0BQX9BCUGMzsAAENEBAAsgAkEJQYzOwAAQ0QEACyACQQJrIgFBCE0EQCADQYADaiADQdADaiICIARBA3RqKQMAIhkgFyAbEPQBIANB8AJqIAMpA4ADIhggA0GIA2opAwAgG0IAEMkBIBkgAykD8AJ9IRcgAUEDdCACaikDACEZA0AgA0HgAmogGEIAIBxCABDJASAZIAMpA+ACWiAXIANB6AJqKQMAIh9WIBcgH1EbDQIgGEIBfSEYIBcgFyAbfCIXWA0ACwwBCyABQQlBjM7AABDRAQALIANB0AJqICdCACAYQgAQyQEgA0HAAmogJkIAIBhCABDJASADQbACaiAlQgAgGEIAEMkBIANBoAJqICRCACAYQgAQyQEgA0GQAmogIkIAIBhCABDJASADQYACaiAeQgAgGEIAEMkBIANB8AFqICBCACAYQgAQyQEgA0HgAWogHUIAIBhCABDJASADIAMpA9ACNwPYBCADIAMpA8ACIhcgA0HYAmopAwB8Ihk3A+AEIAMgA0HIAmopAwAgFyAZVq18IhcgAykDsAJ8Ihk3A+gEIAMgA0G4AmopAwAgFyAZVq18IhcgAykDoAJ8Ihk3A/AEIAMgA0GoAmopAwAgFyAZVq18IhcgAykDkAJ8Ihk3A/gEIAMgA0GYAmopAwAgFyAZVq18IhcgAykDgAJ8Ihk3A4AFIAMgA0GIAmopAwAgFyAZVq18IhcgAykD8AF8Ihk3A4gFIAMgA0H4AWopAwAgFyAZVq18IhcgAykD4AF8Ihk3A5AFIAMgA0HoAWopAwAgFyAZVq18NwOYBSAURQ0BAkBByAAgB0EDdCIMa0EDdiIBIAkgASAJSRtFDQAgDUH/////AXEhCyATIBVqQf////8BcSIOIAkgCSAOSxsiAUEBcQJ/IAFBAUYEQEIAIRdBAAwBC0EAIAkgCyAJIAtJG0H+////AHFrIRFCACEXQQAhBCADQdgEaiECIAghAQNAIAEgASkDACIZIAIpAwAiHyAXfCIXfTcDACABQQhqIgUgBSkDACIjIAJBCGopAwAiKCAXIB9UIBcgGVZyrXwiF303AwAgFyAoVCAXICNWciIFrSEXIAFBEGohASACQRBqIQIgESAEQQJrIgRHDQALQQAgBGsLIQEgA0HQA2ogDGohEQRAIBEgAUEDdCIBaiICIAIpAwAiGSADQdgEaiABaikDACIfIBd8Ihd9NwMAIBcgH1QgFyAZVnIhBQsgBUEBcUUNAEEAIQICQCAHQQlGDQAgDiAKIAogDksbIgFBAXECfyABQQFGBEBCACEXQQAMAQtBACAKIAsgCiALSRtB/v//P3FrIQtCACEXQQAhAUEAIQQDQCABIAhqIgIgAikDACIZIBcgA0GQA2ogAWoiBSkDACIffCIXfCIjNwMAIAJBCGoiAiACKQMAIiggBUEIaikDACIpIBcgH1QgGSAjVnKtfCIXfCIZNwMAIBcgKVQgGSAoVHIiAq0hFyABQRBqIQEgCyAEQQJrIgRHDQALQQAgBGsLIQFFDQAgESABQQN0IgFqIgIgAikDACIZIBcgA0GQA2ogAWopAwAiH3wiF3wiIzcDACAXIB9UIBkgI1ZyIQILIBAgECkDACACrUIBg3w3AwAgGEIBfSEYCyAGQQhJBEAgB0EBayEBIANBmARqIAxqIBg3AwAgCEEIayEIIA1BAWohDSATQQFqIRMgB0UNAwwBCwsgBkEIQYzOwAAQ0QEACyAGQQlBjM7AABDNAgALIANB2ARqIANB0ANqQcgAEPECGiADIAMpA9gEIBqINwOgBSADIAMpA+AEIBqINwOoBSADIAMpA+gEIBqINwOwBSADIAMpA/AEIBqINwO4BSADIAMpA/gEIBqINwPABSADIAMpA4AFIBqINwPIBSADIAMpA4gFIBqINwPQBSADIAMpA5AFIBqINwPYBQJAIBIEQEIAICF9Qj+DIRdBASEBA0BBCCEEQQchAiABQQdLIgZFBEAgAUEBayICQQdLDQMgAUEBaiEECyADQaAFaiACQQN0aiICIAIpAwAgA0HYBGogAUEDdGopAwAgF4aENwMAIAQhASAGRQ0ACwsgACADKQOgBTcDQCAAQfgAaiADQdgFaikDADcDACAAQfAAaiADQdAFaikDADcDACAAQegAaiADQcgFaikDADcDACAAQeAAaiADQcAFaikDADcDACAAQdgAaiADQbgFaikDADcDACAAQdAAaiADQbAFaikDADcDACAAQcgAaiADQagFaikDADcDACAAQThqIANB0ARqKQMANwMAIABBMGogA0HIBGopAwA3AwAgAEEoaiADQcAEaikDADcDACAAQSBqIANBuARqKQMANwMAIABBGGogA0GwBGopAwA3AwAgAEEQaiADQagEaikDADcDACAAQQhqIANBoARqKQMANwMAIAAgAykDmAQ3AwAMAQtBf0EIQYzOwAAQ0QEACyADQeAFaiQAC6skAgl/AX4jAEEQayIIJAACQAJAAkACQAJAAkACQCAAQfUBTwRAIABBzf97Tw0HIABBC2oiAEF4cSEFQbyHwQAoAgAiCUUNBEEAIAVrIQMCf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQQYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QaCEwQBqKAIAIgJFBEBBACEADAILQQAhACAFQRkgB0EBdmtBACAHQR9HG3QhBANAAkAgAigCBEF4cSIGIAVJDQAgBiAFayIGIANPDQAgAiEBIAYiAw0AQQAhAyABIQAMBAsgAigCFCIGIAAgBiACIARBHXZBBHFqQRBqKAIAIgJHGyAAIAYbIQAgBEEBdCEEIAINAAsMAQtBuIfBACgCACICQRAgAEELakH4A3EgAEELSRsiBUEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgFBA3QiAEGwhcEAaiIEIABBuIXBAGooAgAiACgCCCIDRwRAIAMgBDYCDCAEIAM2AggMAQtBuIfBACACQX4gAXdxNgIACyAAQQhqIQMgACABQQN0IgFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQMBwsgBUHAh8EAKAIATQ0DAkACQCABRQRAQbyHwQAoAgAiAEUNBiAAaEECdEGghMEAaigCACIBKAIEQXhxIAVrIQMgASECA0ACQCABKAIQIgANACABKAIUIgANACACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEEA0AgBCEGIAEiAEEUaiAAQRBqIAAoAhQiARshBCAAQRRBECABG2ooAgAiAQ0ACyAGQQA2AgALIAdFDQQgAiACKAIcQQJ0QaCEwQBqIgEoAgBHBEAgB0EQQRQgBygCECACRhtqIAA2AgAgAEUNBQwECyABIAA2AgAgAA0DQbyHwQBBvIfBACgCAEF+IAIoAhx3cTYCAAwECyAAKAIEQXhxIAVrIgEgAyABIANJIgEbIQMgACACIAEbIQIgACEBDAALAAsCQEECIAB0IgRBACAEa3IgASAAdHFoIgFBA3QiAEGwhcEAaiIEIABBuIXBAGooAgAiACgCCCIDRwRAIAMgBDYCDCAEIAM2AggMAQtBuIfBACACQX4gAXdxNgIACyAAIAVBA3I2AgQgACAFaiIGIAFBA3QiASAFayIEQQFyNgIEIAAgAWogBDYCAEHAh8EAKAIAIgMEQCADQXhxQbCFwQBqIQFByIfBACgCACECAn9BuIfBACgCACIFQQEgA0EDdnQiA3FFBEBBuIfBACADIAVyNgIAIAEMAQsgASgCCAshAyABIAI2AgggAyACNgIMIAIgATYCDCACIAM2AggLIABBCGohA0HIh8EAIAY2AgBBwIfBACAENgIADAgLIAAgBzYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQAgACABNgIUIAEgADYCGAsCQAJAIANBEE8EQCACIAVBA3I2AgQgAiAFaiIEIANBAXI2AgQgAyAEaiADNgIAQcCHwQAoAgAiBkUNASAGQXhxQbCFwQBqIQBByIfBACgCACEBAn9BuIfBACgCACIFQQEgBkEDdnQiBnFFBEBBuIfBACAFIAZyNgIAIAAMAQsgACgCCAshBiAAIAE2AgggBiABNgIMIAEgADYCDCABIAY2AggMAQsgAiADIAVqIgBBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMAQtByIfBACAENgIAQcCHwQAgAzYCAAsgAkEIaiEDDAYLIAAgAXJFBEBBACEBQQIgB3QiAEEAIABrciAJcSIARQ0DIABoQQJ0QaCEwQBqKAIAIQALIABFDQELA0AgACABIAAoAgRBeHEiBCAFayIGIANJIgcbIQkgACgCECICRQRAIAAoAhQhAgsgASAJIAQgBUkiABshASADIAYgAyAHGyAAGyEDIAIiAA0ACwsgAUUNACAFQcCHwQAoAgAiAE0gAyAAIAVrT3ENACABKAIYIQcCQAJAIAEgASgCDCIARgRAIAFBFEEQIAEoAhQiABtqKAIAIgINAUEAIQAMAgsgASgCCCICIAA2AgwgACACNgIIDAELIAFBFGogAUEQaiAAGyEEA0AgBCEGIAIiAEEUaiAAQRBqIAAoAhQiAhshBCAAQRRBECACG2ooAgAiAg0ACyAGQQA2AgALIAdFDQIgASABKAIcQQJ0QaCEwQBqIgIoAgBHBEAgB0EQQRQgBygCECABRhtqIAA2AgAgAEUNAwwCCyACIAA2AgAgAA0BQbyHwQBBvIfBACgCAEF+IAEoAhx3cTYCAAwCCwJAAkACQAJAAkAgBUHAh8EAKAIAIgFLBEAgBUHEh8EAKAIAIgBPBEAgBUGvgARqQYCAfHEiAkEQdkAAIQAgCEEEaiIBQQA2AgggAUEAIAJBgIB8cSAAQX9GIgIbNgIEIAFBACAAQRB0IAIbNgIAIAgoAgQiAUUEQEEAIQMMCgsgCCgCDCEGQdCHwQAgCCgCCCIDQdCHwQAoAgBqIgA2AgBB1IfBAEHUh8EAKAIAIgIgACAAIAJJGzYCAAJAAkBBzIfBACgCACICBEBBoIXBACEAA0AgASAAKAIAIgQgACgCBCIHakYNAiAAKAIIIgANAAsMAgtB3IfBACgCACIAQQAgACABTRtFBEBB3IfBACABNgIAC0Hgh8EAQf8fNgIAQayFwQAgBjYCAEGkhcEAIAM2AgBBoIXBACABNgIAQbyFwQBBsIXBADYCAEHEhcEAQbiFwQA2AgBBuIXBAEGwhcEANgIAQcyFwQBBwIXBADYCAEHAhcEAQbiFwQA2AgBB1IXBAEHIhcEANgIAQciFwQBBwIXBADYCAEHchcEAQdCFwQA2AgBB0IXBAEHIhcEANgIAQeSFwQBB2IXBADYCAEHYhcEAQdCFwQA2AgBB7IXBAEHghcEANgIAQeCFwQBB2IXBADYCAEH0hcEAQeiFwQA2AgBB6IXBAEHghcEANgIAQfyFwQBB8IXBADYCAEHwhcEAQeiFwQA2AgBB+IXBAEHwhcEANgIAQYSGwQBB+IXBADYCAEGAhsEAQfiFwQA2AgBBjIbBAEGAhsEANgIAQYiGwQBBgIbBADYCAEGUhsEAQYiGwQA2AgBBkIbBAEGIhsEANgIAQZyGwQBBkIbBADYCAEGYhsEAQZCGwQA2AgBBpIbBAEGYhsEANgIAQaCGwQBBmIbBADYCAEGshsEAQaCGwQA2AgBBqIbBAEGghsEANgIAQbSGwQBBqIbBADYCAEGwhsEAQaiGwQA2AgBBvIbBAEGwhsEANgIAQcSGwQBBuIbBADYCAEG4hsEAQbCGwQA2AgBBzIbBAEHAhsEANgIAQcCGwQBBuIbBADYCAEHUhsEAQciGwQA2AgBByIbBAEHAhsEANgIAQdyGwQBB0IbBADYCAEHQhsEAQciGwQA2AgBB5IbBAEHYhsEANgIAQdiGwQBB0IbBADYCAEHshsEAQeCGwQA2AgBB4IbBAEHYhsEANgIAQfSGwQBB6IbBADYCAEHohsEAQeCGwQA2AgBB/IbBAEHwhsEANgIAQfCGwQBB6IbBADYCAEGEh8EAQfiGwQA2AgBB+IbBAEHwhsEANgIAQYyHwQBBgIfBADYCAEGAh8EAQfiGwQA2AgBBlIfBAEGIh8EANgIAQYiHwQBBgIfBADYCAEGch8EAQZCHwQA2AgBBkIfBAEGIh8EANgIAQaSHwQBBmIfBADYCAEGYh8EAQZCHwQA2AgBBrIfBAEGgh8EANgIAQaCHwQBBmIfBADYCAEG0h8EAQaiHwQA2AgBBqIfBAEGgh8EANgIAQcyHwQAgAUEPakF4cSIAQQhrIgI2AgBBsIfBAEGoh8EANgIAQcSHwQAgA0EoayIEIAEgAGtqQQhqIgA2AgAgAiAAQQFyNgIEIAEgBGpBKDYCBEHYh8EAQYCAgAE2AgAMCAsgAiAESSABIAJNcg0AIAAoAgwiBEEBcQ0AIARBAXYgBkYNAwtB3IfBAEHch8EAKAIAIgAgASAAIAFJGzYCACABIANqIQRBoIXBACEAAkACQANAIAQgACgCAEcEQCAAKAIIIgANAQwCCwsgACgCDCIHQQFxDQAgB0EBdiAGRg0BC0GghcEAIQADQAJAIAIgACgCACIETwRAIAQgACgCBGoiByACSw0BCyAAKAIIIQAMAQsLQcyHwQAgAUEPakF4cSIAQQhrIgQ2AgBBxIfBACADQShrIgkgASAAa2pBCGoiADYCACAEIABBAXI2AgQgASAJakEoNgIEQdiHwQBBgICAATYCACACIAdBIGtBeHFBCGsiACAAIAJBEGpJGyIEQRs2AgRBoIXBACkCACEKIARBEGpBqIXBACkCADcCACAEIAo3AghBrIXBACAGNgIAQaSFwQAgAzYCAEGghcEAIAE2AgBBqIXBACAEQQhqNgIAIARBHGohAANAIABBBzYCACAAQQRqIgAgB0kNAAsgAiAERg0HIAQgBCgCBEF+cTYCBCACIAQgAmsiAEEBcjYCBCAEIAA2AgAgAEGAAk8EQCACIAAQowEMCAsgAEF4cUGwhcEAaiEBAn9BuIfBACgCACIEQQEgAEEDdnQiAHFFBEBBuIfBACAAIARyNgIAIAEMAQsgASgCCAshACABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggMBwsgACABNgIAIAAgACgCBCADajYCBCABQQ9qQXhxQQhrIgIgBUEDcjYCBCAEQQ9qQXhxQQhrIgMgAiAFaiIAayEFIANBzIfBACgCAEYNAyADQciHwQAoAgBGDQQgAygCBCIBQQNxQQFGBEAgAyABQXhxIgEQkQEgASAFaiEFIAEgA2oiAygCBCEBCyADIAFBfnE2AgQgACAFQQFyNgIEIAAgBWogBTYCACAFQYACTwRAIAAgBRCjAQwGCyAFQXhxQbCFwQBqIQECf0G4h8EAKAIAIgRBASAFQQN2dCIDcUUEQEG4h8EAIAMgBHI2AgAgAQwBCyABKAIICyEEIAEgADYCCCAEIAA2AgwgACABNgIMIAAgBDYCCAwFC0HEh8EAIAAgBWsiATYCAEHMh8EAQcyHwQAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIaiEDDAgLQciHwQAoAgAhAAJAIAEgBWsiAkEPTQRAQciHwQBBADYCAEHAh8EAQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELQcCHwQAgAjYCAEHIh8EAIAAgBWoiBDYCACAEIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAsgAEEIaiEDDAcLIAAgAyAHajYCBEHMh8EAQcyHwQAoAgAiAEEPakF4cSIBQQhrIgI2AgBBxIfBAEHEh8EAKAIAIANqIgQgACABa2pBCGoiATYCACACIAFBAXI2AgQgACAEakEoNgIEQdiHwQBBgICAATYCAAwDC0HMh8EAIAA2AgBBxIfBAEHEh8EAKAIAIAVqIgE2AgAgACABQQFyNgIEDAELQciHwQAgADYCAEHAh8EAQcCHwQAoAgAgBWoiATYCACAAIAFBAXI2AgQgACABaiABNgIACyACQQhqIQMMAwtBACEDQcSHwQAoAgAiACAFTQ0CQcSHwQAgACAFayIBNgIAQcyHwQBBzIfBACgCACIAIAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQMMAgsgACAHNgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAEoAhQiAkUNACAAIAI2AhQgAiAANgIYCwJAIANBEE8EQCABIAVBA3I2AgQgASAFaiIAIANBAXI2AgQgACADaiADNgIAIANBgAJPBEAgACADEKMBDAILIANBeHFBsIXBAGohAgJ/QbiHwQAoAgAiBEEBIANBA3Z0IgNxRQRAQbiHwQAgAyAEcjYCACACDAELIAIoAggLIQQgAiAANgIIIAQgADYCDCAAIAI2AgwgACAENgIIDAELIAEgAyAFaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIECyABQQhqIQMLIAhBEGokACADC59+AhV+CH8jAEHQA2siGCQAQgEhDAJAAkACQCABLQAgIhsOAgIBAAtCCiEMQgEhBgNAIBhB8ABqIAxCASAbQQFxIhkbIARCACAZGyAGIAoQyQEgGEGAAWogDCAEIAwgBBDJASAbQQNLIBhBiAFqKQMAIQQgGEH4AGopAwAhCiAYKQOAASEMIBgpA3AhBiAbQQF2IRsNAAsgGEHgAGogBiAKIAwgBBDJASAYQegAaikDACEEIBgpA2AhDAwBC0IKIQwLIBhBkAJqIhsgBDcDACAYIAw3A4gCIBhBATYC9AIgGEHoh8AANgLwAiAYQgE3AvwCIBggGEGIAmqtQoCAgIAghDcDsAMgGCAYQbADajYC+AIgGEHgAWogGEHwAmoQjQEgGEGoAWpCADcDACAYQgA3A6ABIBspAwAhBiAYKQOIAiEDIBgoAuABIhsEQCAYKALkASAbEMkCCyAYQRI6ALABIBggBjcDmAEgGCADNwOQASACKQMQIQogAikDCCEDIAIpAwAhDAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKQMYIgRCAFMNACAYIAQ3A6ACIBggCjcDmAIgGCADNwOQAiAYIAw3A4gCIBhBiANqIhlCADcDACAYQYADaiIaQgA3AwAgGEH4AmoiHEIANwMAIBhCADcD8AIgGEGIAmoiHSAYQfACaiIbEM0BQf8BcUH/AUcEQCAYQaACaiIfIAJBGGopAwA3AwAgGEGYAmoiHiACQRBqKQMANwMAIBhBkAJqIAJBCGopAwA3AwAgGCACKQMANwOIAiAZQgA3AwAgGkIANwMAIBxCADcDACAYQgA3A/ACIB0gG0EgEPMCRQ0DIBlCADcDACAaQgA3AwAgHEIANwMAIBhCADcD8AIgASAbQSAQ8wJFDQQgGyACEGkgGCgC8AINBSAYKQOQAyEGIBgpA4gDIQogGCkDgAMhBCAYKQP4AiEMIBhBkANqIAFBIGopAwA3AwAgGSABQRhqKQMANwMAIBogAUEQaikDADcDACAcIAFBCGopAwA3AwAgGCABKQMANwPwAiAdIBsQaSAYKAKIAg0GIBhByAJqIBhBqAJqKQMANwMAIBhBwAJqIB8pAwA3AwAgGEG4AmogHikDADcDACAYIBgpA5ACNwOwAiAYQeABaiAYQbACahBIIBgoAuABDQcgGCkDgAIhDkJ/IAQgDIQgCoQgBoRCAFKtIAZCAFMiARsgGCkD+AEhDSAYKQPwASEDIBgpA+gBIQUgAQRAIARCf4VCACAEfSIPQgAgDH0iDEIAUiIBGyEEIApCf4UiByAPUCABQX9zcSIBrXwiDyAHIAEbIQogASAHIA9Wca0gBkJ/hXwhBgtCfyADIAWEIA2EIA6EQgBSrSAOQgBTIgEbIAEEQCADQn+FQgAgA30iFEIAIAV9IgVCAFIiARshAyANQn+FIgcgFFAgAUF/c3EiAa18IhQgByABGyENIAEgByAUVnGtIA5Cf4V8IQ4LIBhB0ABqIAVCACAMQgAQyQEgGEFAayAFQgAgBEIAEMkBIBhBMGogBUIAIApCABDJASAYQSBqIANCACAMQgAQyQEgGEEQaiADQgAgBEIAEMkBIBggDUIAIAxCABDJASAYKQMwIgcgGEHIAGopAwAgGCkDQCIUIBhB2ABqKQMAfCIIIBRUrXx8IhQgB1StIBhBCGopAwAgGEEYaikDACAYQThqKQMAIAMgCn4gBSAGfnwgBCANfnx8IAwgDn58fHx8IBhBKGopAwAgGCkDICIGIAh8IgQgBlStfCIGIBR8IgMgBlStfCAYKQMQIgYgA3wiAyAGVK18IAMgGCkDACIKfCIGIApUrXwhDCAYKQNQIQp+QgJaBEAgDEJ/hSIDQgAgBH0iBVBCACAKfSIKQgBSIgJBf3NxIgEgBkJ/hSIGIAGtfCIOIAZUcSIbrXwgAyAbGyEMIARCf4UgBSACGyEEIA4gBiABGyEGCyAYQfACaiAYQZABahBpIBgoAvACDQtB/wEhG0H/ASAEIAqEIAaEIAyEQgBSIAxCAFMbIQEgGCkDiAMhDSAYKQOAAyEDIBgpA/gCIQ4gGCkDkAMiBUIAUw0IQQEhGyADIA6EIAUgDYSEQgBSDQhB3I/AABCGAgALIBggBDcDyAMgGCAKNwPAAyAYIAM3A7gDIBggDDcDsAMgGEH4AWpCADcDACAYQfABakIANwMAIBhB6AFqQgA3AwAgGEIANwPgASAYQbADaiAYQeABahDNAUH/AXFB/wFGDQAgCiEGDAELAn4gDFAEQCADQgBSrSEFQgAgA30MAQsgA0IAUq0gA1CtfCEFIANCf4ULIQNCACAKfSEGAkAgBVAEQEJ/QgAgCkIAUhshCgwBC0J/QgAgCkIAUhsgBSAGVq19IQogBiAFfSEGC0IAIAx9IQwgCiAEfSEECyAYQRI6AKgCIBggBDcDoAIgGCAGNwOYAiAYIAM3A5ACIBggDDcDiAIgGEHwAmoiAiABIBhBiAJqIgEQTSAYKALwAg0GIBhB2AFqIBhBmANqKQMANwMAIBhB0AFqIBhBkANqKQMAIgY3AwAgGEHIAWogGEGIA2oiGykDACIDNwMAIBhBwAFqIBhBgANqIhkpAwAiCjcDACAYIBgpA/gCIgw3A7gBIBhBoAJqIAY3AwAgGEGYAmogAzcDACAYQZACaiAKNwMAIBggDDcDiAIgG0IANwMAIBlCADcDACAYQfgCakIANwMAIBhCADcD8AIgASACQSAQ8wJFDQcgAEEIaiAYQZABaiAYQbgBahB6IABBADYCAAwJCyAAIBgpA5ABNwMIIABBADYCACAAQShqIBhBsAFqKQMANwMAIABBIGogGEGoAWopAwA3AwAgAEEYaiAYQaABaikDADcDACAAQRBqIBhBmAFqKQMANwMADAgLIABCADcDCCAAQRI6ACggAEEANgIAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMADAcLIBgoAvQCIQEgAEEBNgIAIAAgATYCBAwGCyAYKAKMAiEBIABBATYCACAAIAE2AgQMBQsgGCgC5AEhASAAQQE2AgAgACABNgIEDAQLIAHAIBvAbSECIBggDEIAUwR+IARCf4VCACAEfSIJQgAgCn0iCkIAUiIBGyEEIAZCf4UiByAJUCABQX9zcSIBrXwiCSAHIAEbIQYgASAHIAlWca0gDEJ/hXwFIAwLNwP4ASAYIAY3A/ABIBggBDcD6AEgGCAKNwPgASAYIAVCAFMEfiADQn+FQgAgA30iCkIAIA59Ig5CAFIiARshAyANQn+FIgYgClAgAUF/c3EiAa18IgogBiABGyENIAEgBiAKVnGtIAVCf4V8BSAFCzcDoAIgGCANNwOYAiAYIAM3A5ACIBggDjcDiAIgGEHwAmogGEHgAWogGEGIAmoQTiAYKQOIAyEDIBgpA4ADIQYgGCkD+AIhDCAYKQPwAiEKIBggAkH/AXFBAk8EfiAMQn+FQgAgDH0iBUIAIAp9IgpCAFIiARshDCAGQn+FIgQgBVAgAUF/c3EiAa18IgUgBCABGyEGIAEgBCAFVnGtIANCf4V8BSADCzcDoAIgGCAGNwOYAiAYIAw3A5ACIBggCjcDiAIjAEGwCGsiASQAAkACQCAYQfACaiIbAn8CQAJAIBhBiAJqIgIpAxgiA0IAWQ0AIAIpAwghBiACKQMQIQogAUIAIAIpAwB9Igw3A5AIIAEgBkJ/hUIAIAZ9IgQgDEIAUiIZGzcDmAggASAKQn+FIgYgBFAgGUF/c3EiGa18IgogBiAZGzcDoAggASAZIAYgClZxrSADQn+FfDcDqAggAUHIB2pCADcDACABQgA3A8AHIAFCAjcDuAcgAUK/1snl8NSN58gANwOwByABQbAHaiABQZAIahDNAUH/AXFBAUYNACAbQgA3AwggG0EgakIANwMAIBtBGGpCADcDACAbQRBqQgA3AwAMAQsgAUGwB2pB1LfAAEEVEFAgASgCsAcEQCABIAEoArQHNgKQCEHAucAAQSsgAUGQCGpB7LnAAEHcusAAEMoBAAsgASkD0AchCiABKQPIByEEIAEpA8AHIQwgASkDuAchDiACKQMAIQUCQAJAAn8CQCADQgBTBEAgCkIAUw0BIAIpAxAhCCACKQMIIQYMBAsgCkIAUw0CIAIpAwghBiACKQMQIQggASADNwOoCCABIAg3A6AIIAEgBjcDmAggASAFNwOQCCABIAo3A8gHIAEgBDcDwAcgASAMNwO4ByABIA43A7AHIAFBkAhqIAFBsAdqEM0BDAELIAIpAwghBiACKQMQIQggAUIAIAV9Ig03A5AIIAEgBkJ/hUIAIAZ9IgcgDUIAUiIZGzcDmAggASAIQn+FIg0gB1AgGUF/c3EiGa18IgcgDSAZGzcDoAggASAZIAcgDVRxrSADQn+FfDcDqAggAUIAIA59IgM3A7AHIAEgDEJ/hUIAIAx9IgwgA0IAUiIZGzcDuAcgASAEQn+FIgMgDFAgGUF/c3EiGa18IgwgAyAZGzcDwAcgASAZIAMgDFZxrSAKQn+FfDcDyAcgAUGwB2ogAUGQCGoQzQELQf8BcUECTw0BCyABQQE2ArQHIAFB/LfAADYCsAcgAUIBNwK8ByABIAKtQoCAgICADYQ3A5AIIAEgAUGQCGo2ArgHIBsgAUGwB2pBhLjAABCMATYCBEEBDAILIAFBsAdqQZS4wABBARBQAn4CQAJ/AkACQAJAAkACQCABKAKwB0UEQCAIQg6GIAZCMoiEIQQgBkIOhiEOIAEpA8gHIQwgASkDwAchBiABKQO4ByELIAEgASkD0AciA0IAUwR+IAZCf4VCACAGfSINQgAgC30iC0IAUiIZGyEGIAxCf4UiCiANUCAZQX9zcSIZrXwiDSAKIBkbIQwgGSAKIA1Wca0gA0J/hXwFIAMLNwOICCABIAw3A4AIIAEgBjcD+AcgASALNwPwByABQagIakIANwMAIAFBoAhqQgA3AwAgAUIANwOYCCABQhI3A5AIIAFBsAdqIAFB8AdqIAFBkAhqEEpB/wEhGUH/ASAOIAVCMoiEIgggBUIOhiIKhCAEhEIAUiAEQgBTGyEaIAEpA7AHIQsgASkDuAchDCABKQPAByEDAkACQCABKQPIByIGQgBTDQBBASEZIAsgDIQgA4RCAFINACAGUA0BCyAawCAZwG0gASAEQgBTBH4gCEJ/hSIFIAVCACAKfSIKUCIZrXwiDiAKQgBSGyEIIBkgBSAOVnGtIARCf4V8BSAECzcDiAggASAINwOACCABIAo3A/gHIAFCADcD8AcgASAGQgBTBH4gDEJ/hUIAIAx9IgRCACALfSILQgBSIhkbIQwgA0J/hSIKIARQIBlBf3NxIhmtfCIEIAogGRshAyAZIAQgClRxrSAGQn+FfAUgBgs3A6gIIAEgAzcDoAggASAMNwOYCCABIAs3A5AIIAFBsAdqIAFB8AdqIAFBkAhqEE4gASkDyAchCyABKQPAByEIIAEpA7gHIQ4gASkDsAchDEH/AXFBAk8EQCALQn+FIgNCACAOfSIKUEIAIAx9IgxCAFIiGkF/c3EiGSAIQn+FIgYgGa18IgQgBlRxIhytfCADIBwbIQsgBCAGIBkbIQggDkJ/hSAKIBobIQ4LIAIgCzcDGCACIAg3AxAgAiAONwMIIAIgDDcDACABQbAHakGouMAAQR0QUCABKAKwBw0DIA5CIIYgDEIgiIQhByAMQiCGIQMgASkD0AchBkH/ASEZQf8BIRogCEIghiAOQiCIhCIKQgBZBEAgAyAHhCAKhEIAUiEaCyABKQPIByEEIAEpA8AHIQUgASkDuAchCQJAIAZCAFMNAEEBIRkgBSAJhCAEhEIAUg0AIAZQDQMLIBrAIBnAbSABIApCAFMEfiAHQn+FIg0gDUIAIAN9IgNQIhmtfCIPIANCAFIbIQcgGSANIA9Wca0gCkJ/hXwFIAoLNwOICCABIAc3A4AIIAEgAzcD+AcgAUIANwPwByABIAZCAFMEfiAFQn+FQgAgBX0iCkIAIAl9IglCAFIiGRshBSAEQn+FIgMgClAgGUF/c3EiGa18IgogAyAZGyEEIBkgAyAKVnGtIAZCf4V8BSAGCzcDqAggASAENwOgCCABIAU3A5gIIAEgCTcDkAggAUGwB2ogAUHwB2ogAUGQCGoQTiABKQPIByEHIAEpA8AHIQogASkDuAchBiABKQOwByEDQf8BcUECTwRAIAdCf4UiBEIAIAZ9IgVQQgAgA30iA0IAUiIaQX9zcSIZIApCf4UiCiAZrXwiDSAKVHEiHK18IAQgHBshByANIAogGRshCiAGQn+FIAUgGhshBgsgAUGwB2pB2LjAAEEBEFAgASgCsAcNBCABKQPIByEJIAEpA8AHIQUgASkDuAchBCABIAEpA9AHIg1CAFkiGgR+IA0FIAVCf4VCACAFfSIUQgAgBH0iBEIAUiIZGyEFIAlCf4UiDyAUUCAZQX9zcSIZrXwiFCAPIBkbIQkgGSAPIBRWca0gDUJ/hXwLNwOICCABIAk3A4AIIAEgBTcD+AcgASAENwPwByABQagIakIANwMAIAFBoAhqQgA3AwAgAUIANwOYCCABQt8ANwOQCCABQbAHaiABQfAHaiABQZAIahBKIAEpA7AHIQQgASkDuAchBSABKQPAByEPIAEpA8gHIRAgGgR+IAUFIBBCf4UiCUIAIAV9IhRQQgAgBH0iBEIAUiIaQX9zcSIZIA9Cf4UiDSAZrXwiDyANVHEiHK18IAkgHBshECAPIA0gGRshDyAFQn+FIBQgGhsLIAZ8IgkgBlQhGSAKIA98IgYgClQhGiADIAMgBHxYBH4gGa0FIAlCAXwiCVCtIBmtfAsiA1AEfiAarQUgBiADIAZ8IgZWrSAarXwLIgNQBH4gByAQfAUgByAQfCADfAshCkIAIQcCfwJAAkAgCkIAWQRAIApCIIYgBkIgiIQhAyAGQiCGIAlCIIiEIRQgCkIgiCEFDAELIAFByAdqQgA3AwAgAUHAB2pCADcDACABQgA3A7gHIAFCnwE3A7AHIAFBkAhqQaizwAAgAUGwB2oQaCABKQOYCCEDAn4CQAJAIAEpA5AIIgRQRQRAIAEpA6AIIQUgASkDqAghBwwBCyABKQOgCCEFIANQRQRAIANCAX0hAyABKQOoCCEHDAELIAEpA6gIIQcgBVANASAFQgF9IQVCfyEDCyAEQgF9DAELIAdQDRBCfyEFIAdCAX0hB0J/IQNCfwshBCAFQn+FIApCIIiEIQUgCkIghiAGQiCIhCADQn+FhCEDIAZCIIYgCUIgiIQgBEJ/hYQhFCAHQgBZDQEgB0J/hSEHCyAUIQZBAQwBCyADQn+FQgAgA30iCkIAIBR9IgZCAFIiGRshAyAFQn+FIgQgClAgGUF/c3EiGa18IAQgGRshBUEACyABQaAHaiAGQgBCmOeOz7y13udRQgAQyQEgAUGAB2ogA0IAQpjnjs+8td7nUUIAEMkBIAFB4AZqIAVCAEKY547PvLXe51FCABDJASABQZAHaiAGQgBC96/IiwtCABDJASABQfAGaiADQgBC96/IiwtCABDJASABKQPgBiIGIAFBiAdqKQMAIAEpA4AHIgMgAUGoB2opAwB8IgogA1StfHwiAyAGVK0gAUHoBmopAwAgAUH4BmopAwAgB0KY547PvLXe51F+IAVC96/Iiwt+fHx8fCADIAFBmAdqKQMAIAEpA5AHIgYgCnwiCiAGVK18IgZ8IgMgBlStfCADIAEpA/AGIgZ8IgMgBlStfCEJIAEpA6AHIQVFBEAgCUJ/hSIEQgAgCn0iDVBCACAFfSIFQgBSIhpBf3NxIhkgA0J/hSIGIBmtfCIDIAZUcSIcrXwgBCAcGyEJIApCf4UgDSAaGyEKIAMgBiAZGyEDCwJ+IAUgDFgEQCAKIA5WrSEHIA4gCn0MAQsgCiAOVq0gCiAOUa18IQcgDiAKQn+FfAshBiAIIAN9IQoCQCAHUARAQn9CACADIAhWGyEODAELQn9CACADIAhWGyAHIApWrX0hDiAKIAd9IQoLIAIgCjcDECACIAY3AwggAiAMIAV9Igw3AwAgAiALIAl9IA58Ig43AxggBkL9z6PzjwJ8IgggBlQhAiAOIAwgDELQ7P2Jt4+A6Dd8IgtYBH4gAq0FIAhCAXwiCFCtIAKtfAsiA0IAUiICIAMgCnwiAyAKVHEiGa18IA4gGRshByADIAogAhshCQJ+AkACfwJAIA5CAFkEQEEBIQIgB0IAWSIZRQ0BIAwhAyAGIQUgCiEEIA4MBAtBASAHQgBTDQEaIAggC4QgCYQgB4RQIQIMAgsgBiAMhCAKhCAOhFAgGXILIQIgB0J/hSIEQgAgCH0iBVBCACALfSILQgBSIhpBf3NxIhkgCUJ/hSIDIBmtfCINIANUcSIcrXwgBCAcGyEHIAhCf4UgBSAaGyEIIA0gAyAZGyEJIAwhAyAGIQUgCiEEIA4gDkIAWQ0BGgsgBkJ/hUIAIAZ9IgRCACAMfSIDQgBSIhkbIQUgCkJ/hSINIARQIBlBf3NxIhmtfCIPIA0gGRshBCAZIA0gD1ZxrSAOQn+FfAshDSABQdAGaiADQgAgC0IAEMkBIAFBwAZqIANCACAIQgAQyQEgAUGwBmogA0IAIAlCABDJASABQaAGaiAFQgAgC0IAEMkBIAFBkAZqIAVCACAIQgAQyQEgAUGABmogBEIAIAtCABDJASABKQOwBiIPIAFByAZqKQMAIAEpA8AGIhAgAUHYBmopAwB8IhEgEFStfHwiECAPVK0gAUGIBmopAwAgAUGYBmopAwAgAUG4BmopAwAgBSAJfiADIAd+fCAEIAh+fHwgCyANfnx8fHwgAUGoBmopAwAgASkDoAYiAyARfCIFIANUrXwiAyAQfCIEIANUrXwgASkDkAYiAyAEfCIEIANUrXwgBCABKQOABiIDfCILIANUrXwhCCACRQRAIAhCf4UiBCABKQPQBiINQgAgBX0iB4RQIgIgC0J/hSIDIAKtfCIJIANUcSIZrXwgBCAZGyEIIAkgAyACGyELIAcgBUJ/hSANUBshBQsCfiAIQgBZBEAgCEIghiALQiCIhCEHIAtCIIYgBUIgiIQhBUIAIQkgCEIgiAwBCyABQcgHakIANwMAIAFBwAdqQgA3AwAgAUIANwO4ByABQp8BNwOwByABQZAIakGos8AAIAFBsAdqEGggASkDmAghBwJ+AkACQCABKQOQCCIEUEUEQCABKQOgCCEDIAEpA6gIIQkMAQsgASkDoAghAyAHUEUEQCAHQgF9IQcgASkDqAghCQwBCyABKQOoCCEJIANQDQEgA0IBfSEDQn8hBwsgBEIBfQwBCyAJUA0OQn8hAyAJQgF9IQlCfyEHQn8LIQQgCEIghiALQiCIhCAHQn+FhCEHIAtCIIYgBUIgiIQgBEJ/hYQhBSAJQn+FIQkgA0J/hSAIQiCIhAshAyAHQvuugbmW2gB8IgggB1QhAiAFIAVClqzAxL69grIufSILWAR+IAKtBSAIQgF8IghQrSACrXwLIgRCAFIiGSADIAR8IgQgA1RxIhqtIAYgCHwiByAIVCECIAQgAyAZGyIDIAMgCnwiBFYhGSAJfCAJIBobIgUgDnwgCyALIAx8IhFYBH4gAq0FIAdCAXwiB1CtIAKtfAsiDVAEfiAZrQUgBCAEIA18IgRWrSAZrXwLIg0gBSAOfHwgDVAbAn4gEULstJWR7cKkypZ/WgRAIAdCi9X87M+UAVStIRAgB0KL1fzsz5QBfQwBCyAHQovV/OzPlAFUrSAHQovV/OzPlAFRrXwhECAHQozV/OzPlAF9CyEJIBFClMvq7pK927XpAHwhByAEIBB9IQ9CfyENIBBCAFIgBCAQVHGtfSIEQgBZBEAgByAJhCAEIA+EhEIAUq0hDQsgBEIAUwRAIARCf4UiBELstJWR7cKkypZ/IBF9IgdCACAJfSIQhFAiAiAPQn+FIg8gAq18IhEgD1RxIhmtfCAEIBkbIQQgESAPIAIbIQ8gECAJQn+FIAdQGyEJC0J/IAggC4QgA4QgBYRCAFKtIAVCAFMiAhshESACBEAgCEJ/hUIAIAh9IhJCACALfSILQgBSIgIbIQggA0J/hSIQIBJQIAJBf3NxIgKtfCISIBAgAhshAyACIBAgElZxrSAFQn+FfCEFCyABQfAFaiALQgAgB0IAEMkBIAFB4AVqIAtCACAJQgAQyQEgAUHQBWogC0IAIA9CABDJASABQcAFaiAIQgAgB0IAEMkBIAFBsAVqIAhCACAJQgAQyQEgAUGgBWogA0IAIAdCABDJASABKQPQBSIQIAFB6AVqKQMAIAEpA+AFIhIgAUH4BWopAwB8IhUgElStfHwiEiAQVK0gAUGoBWopAwAgAUG4BWopAwAgAUHYBWopAwAgCCAPfiAEIAt+fCADIAl+fHwgBSAHfnx8fHwgAUHIBWopAwAgASkDwAUiAyAVfCIFIANUrXwiAyASfCIEIANUrXwgASkDsAUiAyAEfCIEIANUrXwgBCABKQOgBSIDfCILIANUrXwhCCANIBF+QgJaBEAgCEJ/hSIEIAEpA/AFIg1CACAFfSIHhFAiAiALQn+FIgMgAq18IgkgA1RxIhmtfCAEIBkbIQggCSADIAIbIQsgByAFQn+FIA1QGyEFCwJ+IAhCAFkEQCAIQiCGIAtCIIiEIQcgC0IghiAFQiCIhCEFQgAhCSAIQiCIDAELIAFByAdqQgA3AwAgAUHAB2pCADcDACABQgA3A7gHIAFCnwE3A7AHIAFBkAhqQaizwAAgAUGwB2oQaCABKQOYCCEHAn4CQAJAIAEpA5AIIgRQRQRAIAEpA6AIIQMgASkDqAghCQwBCyABKQOgCCEDIAdQRQRAIAdCAX0hByABKQOoCCEJDAELIAEpA6gIIQkgA1ANASADQgF9IQNCfyEHCyAEQgF9DAELIAlQDQ5CfyEDIAlCAX0hCUJ/IQdCfwshBCAIQiCGIAtCIIiEIAdCf4WEIQcgC0IghiAFQiCIhCAEQn+FhCEFIAlCf4UhCSADQn+FIAhCIIiECyEDIAdCot3tndD+4QJ8IgggB1QhAiAFIAVCsLea/4vpgO3iAH0iC1gEfiACrQUgCEIBfCIIUK0gAq18CyIEIAN8Ig0gAyAEQgBSIgIbIQVCfyEPIAkgAiADIA1WcSICrXwgCSACGyIHQgBZBEAgCCALhCAFIAeEhEIAUq0hDwsgB0IAUwRAIAdCf4UiBEIAIAh9Ig1QQgAgC30iC0IAUiIZQX9zcSICIAVCf4UiAyACrXwiBSADVHEiGq18IAQgGhshByAIQn+FIA0gGRshCCAFIAMgAhshBQtCfyAGIAyEIAogDoSEQgBSrSAOQgBTIgIbIA9+IAwhAyAGIQkgCiEEIA4hDyACBEAgBkJ/hUIAIAZ9IgRCACADfSIDQgBSIgIbIQkgCkJ/hSINIARQIAJBf3NxIgKtfCIPIA0gAhshBCACIA0gD1ZxrSAOQn+FfCEPCyABQZAFaiADQgAgC0IAEMkBIAFBgAVqIANCACAIQgAQyQEgAUHwBGogA0IAIAVCABDJASABQeAEaiAJQgAgC0IAEMkBIAFB0ARqIAlCACAIQgAQyQEgAUHABGogBEIAIAtCABDJASABKQPwBCINIAFBiAVqKQMAIAEpA4AFIhEgAUGYBWopAwB8IhIgEVStfHwiESANVK0gAUHIBGopAwAgAUHYBGopAwAgAUH4BGopAwAgBSAJfiADIAd+fCAEIAh+fHwgCyAPfnx8fHwgAUHoBGopAwAgASkD4AQiAyASfCIIIANUrXwiAyARfCIEIANUrXwgASkD0AQiAyAEfCIEIANUrXwgBCABKQPABCIDfCILIANUrXwhAyABKQOQBSEPQgJaBEAgA0J/hSIDQgAgCH0iBVBCACAPfSIPQgBSIhlBf3NxIgIgC0J/hSIEIAKtfCINIARUcSIarXwgAyAaGyEDIA0gBCACGyELIAhCf4UgBSAZGyEICyABQbAHakHZuMAAQSIQUCABKAKwBw0FIAEpA8AHIgRCIIghBSALIARCIIYgASkDuAciBEIgiIR8IhAgC1QhAiABKQPIB0IghiAFhCIFIAN8IAggCCAEQiCGfCIRWAR+IAKtBSAQQgF8IhBQrSACrXwLIgQgAyAFfHwgBFAbIRIgDgJ+IAxC/NXW/vD18uyyf1oEQCAGQp+dzOHABH0hCyAGQp+dzOHABFStDAELIAZCoJ3M4cAEfSELIAZCn53M4cAEVK0gBkKfnczhwARRrXwLIgNCAFIgAyAKVnGtfSEJIAxChKqpgY+KjZPNAHwhCCAKIAN9IQQCQCAOQgBTBEAgCUIAWQ0BQQEMCQsgCUIAWQ0AQQAhGQwHC0EBIRkgDkIAWQ0GIAggC4QgBIQgCYRQIQIMCAtBmLjAABCGAgALIAEgASgCtAc2ApAIQcC5wABBKyABQZAIakHsucAAQcy6wAAQygEAC0HIuMAAEIYCAAsgASABKAK0BzYCkAhBwLnAAEErIAFBkAhqQey5wABBvLrAABDKAQALIAEgASgCtAc2ApAIQcC5wABBKyABQZAIakHsucAAQay6wAAQygEACyABIAEoArQHNgKQCEHAucAAQSsgAUGQCGpB7LnAAEGcusAAEMoBAAtBASECIBkEQCAMIQMgBiEHIAohBSAODAMLIAYgDIQgCoQgDoRQIBlyCyECIAlCf4UiBUL81db+8PXy7LJ/IAx9IghCACALfSINhFAiGSAEQn+FIgMgGa18IgQgA1RxIhqtfCAFIBobIQkgDSALQn+FIAhQGyELIAQgAyAZGyEEIAwhAyAGIQcgCiEFIA4gDkIAWQ0BGgsgBkJ/hUIAIAZ9IgVCACAMfSIDQgBSIhkbIQcgCkJ/hSINIAVQIBlBf3NxIhmtfCIVIA0gGRshBSAZIA0gFVZxrSAOQn+FfAshDSABQbAEaiADQgAgCEIAEMkBIAFBoARqIANCACALQgAQyQEgAUGQBGogA0IAIARCABDJASABQYAEaiAHQgAgCEIAEMkBIAFB8ANqIAdCACALQgAQyQEgAUHgA2ogBUIAIAhCABDJASABKQOQBCIVIAFBqARqKQMAIAEpA6AEIhMgAUG4BGopAwB8IhYgE1StfHwiEyAVVK0gAUHoA2opAwAgAUH4A2opAwAgAUGYBGopAwAgBCAHfiADIAl+fCAFIAt+fHwgCCANfnx8fHwgAUGIBGopAwAgASkDgAQiAyAWfCIHIANUrXwiAyATfCIEIANUrXwgASkD8AMiAyAEfCIEIANUrXwgBCABKQPgAyIDfCILIANUrXwhCCACRQRAIAhCf4UiBCABKQOwBCIFQgAgB30iDYRQIgIgC0J/hSIDIAKtfCIJIANUcSIZrXwgBCAZGyEIIAkgAyACGyELIA0gB0J/hSAFUBshBwsCfiAIQgBZBEAgCEIghiALQiCIhCEJIAtCIIYgB0IgiIQhB0IAIQQgCEIgiAwBCyABQcgHakIANwMAIAFBwAdqQgA3AwAgAUIANwO4ByABQp8BNwOwByABQZAIakGos8AAIAFBsAdqEGggASkDmAghCQJ+AkACQCABKQOQCCIFUEUEQCABKQOgCCEDIAEpA6gIIQQMAQsgASkDoAghAyAJUEUEQCAJQgF9IQkgASkDqAghBAwBCyABKQOoCCEEIANQDQEgA0IBfSEDQn8hCQsgBUIBfQwBCyAEUA0EQn8hAyAEQgF9IQRCfyEJQn8LIQUgCEIghiALQiCIhCAJQn+FhCEJIAtCIIYgB0IgiIQgBUJ/hYQhByAEQn+FIQQgA0J/hSAIQiCIhAshAyAJQs+jpsr1zgB8IgggCVQhAiAHIAdCp4by87m7pNA3fSILWAR+IAKtBSAIQgF8IghQrSACrXwLIgUgA3wiCSADIAVCAFIiAhshB0J/IQ0gBCACIAMgCVZxIgKtfCAEIAIbIglCAFkEQCAIIAuEIAcgCYSEQgBSrSENCyAJQgBTBEAgCUJ/hSIEQgAgCH0iBVBCACALfSILQgBSIhlBf3NxIgIgB0J/hSIDIAKtfCIHIANUcSIarXwgBCAaGyEJIAhCf4UgBSAZGyEIIAcgAyACGyEHC0J/IAYgDIQgCiAOhIRCAFKtIA5CAFMiAhsgDX4gDCEDIAYhBCAKIQUgDiENIAIEQCAEQn+FQgAgBH0iBUIAIAN9IgNCAFIiAhshBCAKQn+FIg0gBVAgAkF/c3EiAq18IhMgDSACGyEFIAIgDSATVnGtIA5Cf4V8IQ0LIAFB0ANqIANCACALQgAQyQEgAUHAA2ogA0IAIAhCABDJASABQbADaiADQgAgB0IAEMkBIAFBoANqIARCACALQgAQyQEgAUGQA2ogBEIAIAhCABDJASABQYADaiAFQgAgC0IAEMkBIAEpA7ADIhMgAUHIA2opAwAgASkDwAMiFiABQdgDaikDAHwiFyAWVK18fCIWIBNUrSABQYgDaikDACABQZgDaikDACABQbgDaikDACAEIAd+IAMgCX58IAUgCH58fCALIA1+fHx8fCABQagDaikDACABKQOgAyIEIBd8IgMgBFStfCIEIBZ8IgUgBFStfCABKQOQAyIEIAV8IgUgBFStfCAFIAEpA4ADIgR8IgsgBFStfCEIQgJaBEAgCEJ/hSIFIAEpA9ADIg1CACADfSIHhFAiAiALQn+FIgQgAq18IgkgBFRxIhmtfCAFIBkbIQggCSAEIAIbIQsgByADQn+FIA1QGyEDCwJ+An4gCEIAWQRAIAhCIIYgC0IgiIQhByAIQiCIIQRCACEFIAtCIIYgA0IgiIQMAQsgAUHIB2pCADcDACABQcAHakIANwMAIAFCADcDuAcgAUKfATcDsAcgAUGQCGpBqLPAACABQbAHahBoIAEpA5gIIQcCfgJAAkAgASkDkAgiBFBFBEAgASkDoAghCSABKQOoCCEFDAELIAEpA6AIIQkgB1BFBEAgB0IBfSEHIAEpA6gIIQUMAQsgASkDqAghBSAJUA0BIAlCAX0hCUJ/IQcLIARCAX0MAQsgBVANBUJ/IQkgBUIBfSEFQn8hB0J/CyENIAlCf4UgCEIgiIQhBCAIQiCGIAtCIIiEIAdCf4WEIQcgBUJ/hSEFIAtCIIYgA0IgiIQgDUJ/hYQLIgNCxJPH96W2mKjqAFoEQCAHQs/G15KhygZ9IQsgB0LPxteSocoGVK0MAQsgB0LQxteSocoGfSELIAdCz8bXkqHKBlStIAdCz8bXkqHKBlGtfAshCSADQsSTx/eltpio6gB9IQggBCAJfSEHQn8hDSAFIAQgCVStfSIJQgBZBEAgCCALhCAHIAmEhEIAUq0hDQsgCUIAUwRAIAlCf4UiBELEk8f3pbaYqOoAIAN9IghCACALfSIFhFAiAiAHQn+FIgMgAq18IgcgA1RxIhmtfCAEIBkbIQkgBSALQn+FIAhQGyELIAcgAyACGyEHC0J/IAYgDIQgCiAOhIRCAFKtIA5CAFMiAhsgDX4gDCEDIAYhBCAKIQUgDiENIAIEQCAEQn+FQgAgBH0iBUIAIAN9IgNCAFIiAhshBCAKQn+FIg0gBVAgAkF/c3EiAq18IhMgDSACGyEFIAIgDSATVnGtIA5Cf4V8IQ0LIAFB8AJqIANCACAIQgAQyQEgAUHgAmogA0IAIAtCABDJASABQdACaiADQgAgB0IAEMkBIAFBwAJqIARCACAIQgAQyQEgAUGwAmogBEIAIAtCABDJASABQaACaiAFQgAgCEIAEMkBIAEpA9ACIhMgAUHoAmopAwAgASkD4AIiFiABQfgCaikDAHwiFyAWVK18fCIWIBNUrSABQagCaikDACABQbgCaikDACABQdgCaikDACAEIAd+IAMgCX58IAUgC358fCAIIA1+fHx8fCABQcgCaikDACABKQPAAiIDIBd8IgcgA1StfCIDIBZ8IgQgA1StfCABKQOwAiIDIAR8IgQgA1StfCAEIAEpA6ACIgN8IgsgA1StfCEIQgJaBEAgCEJ/hSIEIAEpA/ACIgVCACAHfSINhFAiAiALQn+FIgMgAq18IgkgA1RxIhmtfCAEIBkbIQggCSADIAIbIQsgDSAHQn+FIAVQGyEHCwJ+IAhCAFkEQCAIQiCGIAtCIIiEIQkgC0IghiAHQiCIhCEHQgAhBCAIQiCIDAELIAFByAdqQgA3AwAgAUHAB2pCADcDACABQgA3A7gHIAFCnwE3A7AHIAFBkAhqQaizwAAgAUGwB2oQaCABKQOYCCEJAn4CQAJAIAEpA5AIIgVQRQRAIAEpA6AIIQMgASkDqAghBAwBCyABKQOgCCEDIAlQRQRAIAlCAX0hCSABKQOoCCEEDAELIAEpA6gIIQQgA1ANASADQgF9IQNCfyEJCyAFQgF9DAELIARQDQRCfyEDIARCAX0hBEJ/IQlCfwshBSAIQiCGIAtCIIiEIAlCf4WEIQkgC0IghiAHQiCIhCAFQn+FhCEHIARCf4UhBCADQn+FIAhCIIiECyEDIAlCw+iHkLu3LHwiCCAJVCECIAcgB0LblomW3pz0tDB9IgtYBH4gAq0FIAhCAXwiCFCtIAKtfAsiBSADfCIJIAMgBUIAUiICGyEHQn8hDSAEIAIgAyAJVnEiAq18IAQgAhsiCUIAWQRAIAggC4QgByAJhIRCAFKtIQ0LIAlCAFMEQCAJQn+FIgRCACAIfSIFUEIAIAt9IgtCAFIiGUF/c3EiAiAHQn+FIgMgAq18IgcgA1RxIhqtfCAEIBobIQkgCEJ/hSAFIBkbIQggByADIAIbIQcLQn8gBiAMhCAKIA6EhEIAUq0gDkIAUyICGyANfiAMIQMgBiEEIAohBSAOIQ0gAgRAIARCf4VCACAEfSIFQgAgA30iA0IAUiICGyEEIApCf4UiDSAFUCACQX9zcSICrXwiEyANIAIbIQUgAiANIBNWca0gDkJ/hXwhDQsgAUGQAmogA0IAIAtCABDJASABQYACaiADQgAgCEIAEMkBIAFB8AFqIANCACAHQgAQyQEgAUHgAWogBEIAIAtCABDJASABQdABaiAEQgAgCEIAEMkBIAFBwAFqIAVCACALQgAQyQEgASkD8AEiEyABQYgCaikDACABKQOAAiIWIAFBmAJqKQMAfCIXIBZUrXx8IhYgE1StIAFByAFqKQMAIAFB2AFqKQMAIAFB+AFqKQMAIAQgB34gAyAJfnwgBSAIfnx8IAsgDX58fHx8IAFB6AFqKQMAIAEpA+ABIgQgF3wiAyAEVK18IgQgFnwiBSAEVK18IAEpA9ABIgQgBXwiBSAEVK18IAUgASkDwAEiBHwiCyAEVK18IQhCAloEQCAIQn+FIgUgASkDkAIiDUIAIAN9IgeEUCICIAtCf4UiBCACrXwiCSAEVHEiGa18IAUgGRshCCAJIAQgAhshCyAHIANCf4UgDVAbIQMLAn4gCEIAWQRAIAtCIIYgA0IgiIQhCSAIQiCIIQRCACENIAhCIIYgC0IgiIQMAQsgAUHIB2pCADcDACABQcAHakIANwMAIAFCADcDuAcgAUKfATcDsAcgAUGQCGpBqLPAACABQbAHahBoIAEpA5gIIQcCfgJAAkAgASkDkAgiBFBFBEAgASkDoAghCSABKQOoCCEFDAELIAEpA6AIIQkgB1BFBEAgB0IBfSEHIAEpA6gIIQUMAQsgASkDqAghBSAJUA0BIAlCAX0hCUJ/IQcLIARCAX0MAQsgBVANBEJ/IQkgBUIBfSEFQn8hB0J/CyENIAlCf4UgCEIgiIQhBCALQiCGIANCIIiEIA1Cf4WEIQkgBUJ/hSENIAhCIIYgC0IgiIQgB0J/hYQLIQMgCUKV/qTr/uPM1NEAfSEIIAQCfiAJQpX+pOv+48zU0QBaBEAgA0LP7ufGuOSxAX0hCyADQs/u58a45LEBVK0MAQsgA0LQ7ufGuOSxAX0hCyADQs/u58a45LEBVK0gA0LP7ufGuOSxAVGtfAsiB30hA0J/IQUgDSAEIAdUrX0iB0IAWQRAIAggC4QgAyAHhIRCAFKtIQULIAdCAFMEQCAHQn+FIgRClf6k6/7jzNTRACAJfSIIQgAgC30iDYRQIgIgA0J/hSIDIAKtfCIJIANUcSIZrXwgBCAZGyEHIA0gC0J/hSAIUBshCyAJIAMgAhshAwtCfyAGIAyEIAogDoSEQgBSrSAOQgBTIgIbIQ0gAgRAIAZCf4VCACAGfSIJQgAgDH0iDEIAUiICGyEGIApCf4UiBCAJUCACQX9zcSICrXwiCSAEIAIbIQogAiAEIAlWca0gDkJ/hXwhDgsgAUGwAWogDEIAIAhCABDJASABQaABaiAMQgAgC0IAEMkBIAFBkAFqIAxCACADQgAQyQEgAUGAAWogBkIAIAhCABDJASABQfAAaiAGQgAgC0IAEMkBIAFB4ABqIApCACAIQgAQyQEgASkDkAEiBCABQagBaikDACABKQOgASIJIAFBuAFqKQMAfCIVIAlUrXx8IgkgBFStIAFB6ABqKQMAIAFB+ABqKQMAIAFBmAFqKQMAIAMgBn4gByAMfnwgCiALfnx8IAggDn58fHx8IAFBiAFqKQMAIAEpA4ABIgYgFXwiCiAGVK18IgYgCXwiAyAGVK18IAEpA3AiBiADfCIDIAZUrXwgAyABKQNgIgN8IgYgA1StfCEOIAUgDX5CAloEQCAOQn+FIgMgASkDsAEiDEIAIAp9IgSEUCICIAZCf4UiBiACrXwiBSAGVHEiGa18IAMgGRshDiAEIApCf4UgDFAbIQogBSAGIAIbIQYLAn4gDkIAWQRAIAZCIIYgCkIgiIQhCCAOQiCIIQpCACELIA5CIIYgBkIgiIQMAQsgAUHIB2pCADcDACABQcAHakIANwMAIAFCADcDuAcgAUKfATcDsAcgAUGQCGpBqLPAACABQbAHahBoIAEpA5gIIQwCfgJAAn4CQAJAIAEpA5AIIgRQRQRAIAEpA6AIIQgMAQsgASkDoAghCCAMUA0BIAxCAX0hDAsgASkDqAghCyAMQn+FDAELIAEpA6gIIQsgCFANASAIQgF9IQhCAAshDCAIQn+FIQNCACAEfQwBC0IAIQMgC1ANBCALQgF9IQtCACEMQgALIAZCIIYgCkIgiISEIQggC0J/hSELIAMgDkIgiIQhCiAMIA5CIIYgBkIgiISECyIGIAZCq7OeiruBxgJ8IgZWIQIgCyAIIAhC1/rJ0rKZqtTHAHwiDFgEfiACrQUgBkIBfCIGUK0gAq18CyIDQgBSIhkgAyAKfCIEIApUcSICrXwgCyACGyEDQf8BIQJB/wEgDyARhCAQhCAShEIAUiASQgBTGyEaIAQgCiAZGyEKAkACQAJAAkACQCADQgBTDQBBASECIAYgDIQgCoRCAFINACADUA0BCyAawCACwG0gASASQgBTBH4gEUJ/hUIAIBF9IgVCACAPfSIPQgBSIgIbIREgEEJ/hSIEIAVQIAJBf3NxIgKtfCIFIAQgAhshECACIAQgBVZxrSASQn+FfAUgEgs3A4gIIAEgEDcDgAggASARNwP4ByABIA83A/AHIAEgA0IAUwR+IAZCf4VCACAGfSIFQgAgDH0iDEIAUiICGyEGIApCf4UiBCAFUCACQX9zcSICrXwiBSAEIAIbIQogAiAEIAVWca0gA0J/hXwFIAMLNwOoCCABIAo3A6AIIAEgBjcDmAggASAMNwOQCCABQbAHaiABQfAHaiABQZAIahBOIAEpA8gHIQggASkDwAchCiABKQO4ByEGIAEpA7AHIQ5B/wFxQQJPBEAgBkJ/hUIAIAZ9IgxCACAOfSIOQgBSIgIbIQYgCkJ/hSIDIAxQIAJBf3NxIgKtfCIMIAMgAhshCiACIAMgDFZxrSAIQn+FfCEICyABQbAHaiICQYy5wABBMRBVIAEoArAHDQFCACEFIAFB0ABqIAEpA7gHIgNCACAOQgAQyQEgAUEgaiADQgAgBkIAEMkBIAEgA0IAIApCABDJASABQUBrIAEpA8AHIgxCACAOQgAQyQEgAUEQaiAMQgAgBkIAEMkBIAFBMGogASkDyAciDUIAIA5CABDJASABIAEpA1A3A5AIIAFBCGopAwAhByABKQPQByEJIAFBGGopAwAhDyABQThqKQMAIQsgAUEoaikDACEQIAEpAwAhBCABIAEpA0AiESABKQMgIhIgAUHYAGopAwB8IhV8IhM3A5gIIAEgASkDMCIWIAEpAxAiFyABQcgAaikDACARIBNWrXwiESAEIBAgEiAVVq18fCIQfCISfCIVfCITNwOgCCABIBMgFlStIBUgF1StIBEgElatIAQgEFatIAsgDyAHIAogDH4gAyAIfnwgBiANfnx8IAkgDn58fHx8fHx8NwOoCCACQb25wABBAxBQIAEoArAHRQRAQgAhDkIAIQZCACEKIAEpA7gHIBR9IgOnIhlB/wFLDQQgAUGQCGoiHiAZQQZ2IgJBA3RqKQMAIQQgAkEBaiIaQQRGDQMgHiIcIBpBA3RqKQMAIANCP4MiDIghBiACQQJqIh1BBEYNAyAdQQN0IBxqKQMAIAyIIQogAkEDaiIcQQRGDQMgHEEDdCAeaikDACAMiCEFDAMLIAEgASgCtAc2AvAHQcC5wABBKyABQfAHakHsucAAQfy5wAAQygEAC0H8uMAAEIYCAAsgASABKAK0BzYCkAhBwLnAAEErIAFBkAhqQey5wABBjLrAABDKAQALIAQgA4ghDiAZQT9xRSAZQb8BS3INACABQZAIaiIZIBpBA3RqKQMAQgAgA30iA4YgDnwhDiAaQQNGDQAgGSACQQJqIhpBA3RqKQMAIANCP4MiA4YgBnwhBiAaQQNGDQAgAkEDdCABakGoCGopAwAgA4YgCnwhCgsgGyAFNwMgIBsgCjcDGCAbIAY3AxAgGyAONwMIC0EACzYCACABQbAIaiQADAELIAFBADYCwAcgAUEBNgK0ByABQeS0wAA2ArAHIAFCBDcCuAcgAUGwB2pBtLTAABD9AQALIBgoAvACRQRAIBgpA4gDIQQgGCkDgAMhDCAYKQP4AiEGIBggGCkDkAMiA0IAWSICBH4gAwUgDEJ/hUIAIAx9IgVCACAGfSIGQgBSIgEbIQwgBEJ/hSIKIAVQIAFBf3NxIgGtfCIFIAogARshBCABIAUgClRxrSADQn+FfAs3A+gCIBggBDcD4AIgGCAMNwPYAiAYIAY3A9ACIAAgAiAYQdACahCFAQwECyAYKAL0AiEBIABBATYCACAAIAE2AgQMAwsgGCgC9AIhASAAQQE2AgAgACABNgIEDAILIBhBADYCgAMgGEEBNgL0AiAYQbSOwAA2AvACIBhCBDcC+AIgGEHwAmpB7I/AABCMASEBIABBATYCACAAIAE2AgQMAQsgGCgC9AIhASAAQQE2AgAgACABNgIECyAYQdADaiQAC64XAhR/D34jAEGAA2siAyQAQYACIQUgASkDGCIbIRgCfgJAAkAgG1BFDQBBwAEhBSABKQMQIhhCAFINAEGAASEFIAEpAwgiGFANAQsgGHkMAQtBwAAhBSABKQMAeQshGkGAAiEEAkACQAJAAkACQAJAAn8CQAJAIAIpAxgiGEIAUg0AQcABIQQgAikDECIYQgBSDQBBgAEhBCACKQMIIhhQDQELIAQgGHmnawwBCyACKQMAeaciBEHAAEYNAUHAACAEawsiBCAFIBqnayIGSw0BIARBwQBPBEAgA0HoAWogAkEYaikDACIfNwMAIANB4AFqIAJBEGopAwAiFzcDACADQdgBaiACQQhqKQMAIhg3AwAgAyACKQMAIho3A9ABIANB0AFqIARBAWtBBnYiDUEDdGoiCikDACEcIANB0AJqQgA3AwAgA0HIAmpCADcDACADQcACaiIEQgA3AwAgBCAceSIcpyIPQQZ2IgJBA3QiB2oiBSAYIByGIiA3AwAgA0IANwO4AiADQbgCaiIEIAdqIBogHIY3AwAgAkECciIHQQN0IARqIgggFyAchiIhNwMAIAZBAWshBCAcQj+DIR4gD0E/cSEGIAJBA2oiAkEERw0DDAULIAIpAwAiF1ANAyABKQMIIRggASkDACEaIANB0ABqIAEpAxAiHCAbIBsgF4AiHiAXfn0gFxD0ASADQUBrIAMpA1AiGyADQdgAaikDACAXQgAQyQEgA0EwaiAYIBwgAykDQH0gFxD0ASADQSBqIAMpAzAiHCADQThqKQMAIBdCABDJASADQRBqIBogGCADKQMgfSAXEPQBIAMgAykDECIYIANBGGopAwAgF0IAEMkBIABCADcDKCAAIB43AxggAEEwakIANwMAIABBOGpCADcDACAAIBs3AxAgACAcNwMIIAAgGDcDACAAIBogAykDAH03AyAMBQsgA0EANgLIAiADQQE2ArwCIANBzM3AADYCuAIgA0IENwLAAiADQbgCakH8zcAAEP0BAAsgAEIANwMAIABBGGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIAAgASkDADcDICAAQShqIAFBCGopAwA3AwAgAEEwaiABQRBqKQMANwMAIABBOGogAUEYaikDADcDAAwDCyADQbgCaiACQQN0aiAfIB6GNwMADAELQfzNwAAQhgIACyAEQQZ2IQQCQCAGRQ0AIAggISAYQgAgHH0iGIh8NwMAIAUgICAaIBiIfDcDACAHQQNGDQAgA0G4AmogAkEDdGoiAiACKQMAIBcgGIh8NwMACyAEIA1rIQYgA0HoAWogA0HQAmopAwA3AwAgA0HgAWogA0HIAmopAwA3AwAgA0HYAWogA0HAAmopAwA3AwAgAyADKQO4AjcD0AEgG0HAACAPayICrSIYiEIAIAJBBnYiB0EDaiIIQQRHGyEfIAEgB0ECaiIJQQN0aikDACIgIBiIIRsgASAHQQN0aiIFQQhqKQMAIiEgGIghFyAFKQMAIBiIIRogASkDACEjAkAgAkE/cUUNACAgQgAgGH0iGIYgF3whFyAhIBiGIBp8IRogCUEDRg0AIAEgCEEDdGopAwAgGIYgG3whGwsgDUEBaiEJIAMgHzcDkAIgAyAbNwOIAiADIBc3A4ACIAMgGjcD+AEgAyAjIB6GNwPwASADQbACakIANwMAIANBqAJqQgA3AwAgA0GgAmpCADcDACADQgA3A5gCIANB8AFqIARBA3QiAiANQQN0IgFraiEHIAFBEGpBA3YhCCABIANqQcgBaikDACEbIAopAwAhGiADKQPoASEfIAMpA+ABISAgAykD2AEhISADKQPQASEjIAZBBkkhFCABIAJrQShqQQN2IhUhECAGIQECQAJAA0ACQAJAIAEiCiAJaiICQQVJBEBCfyEYIANB8AFqIAJBA3RqIhIpAwAiFyAaWg0CIAEgDWoiBEEFSQ0BQX9BBUH8zcAAENEBAAsgAkEFQfzNwAAQ0QEACyACQQJrIgFBBE0EQCADQcABaiADQfABaiICIARBA3RqKQMAIhkgFyAaEPQBIANBsAFqIAMpA8ABIhggA0HIAWopAwAgGkIAEMkBIBkgAykDsAF9IRcgAUEDdCACaikDACEZA0AgA0GgAWogGEIAIBtCABDJASAZIAMpA6ABWiAXIANBqAFqKQMAIh1WIBcgHVEbDQIgGEIBfSEYIBcgFyAafCIXWA0ACwwBCyABQQVB/M3AABDRAQALIANBkAFqICNCACAYQgAQyQEgA0GAAWogIUIAIBhCABDJASADQfAAaiAgQgAgGEIAEMkBIANB4ABqIB9CACAYQgAQyQEgAyADKQOQATcDuAIgAyADKQOAASIXIANBmAFqKQMAfCIZNwPAAiADIANBiAFqKQMAIBcgGVatfCIXIAMpA3B8Ihk3A8gCIAMgA0H4AGopAwAgFyAZVq18IhcgAykDYHwiGTcD0AIgAyADQegAaikDACAXIBlWrXw3A9gCIBRFDQECQEEoIApBA3QiE2tBA3YiASAIIAEgCEkbRQ0AIBBB/////wFxIQsgESAVakH/////AXEiDCAIIAggDEsbIgFBAXECfyABQQFGBEBCACEXQQAMAQtBACAIIAsgCCALSRtB/v//P3FrIQ5CACEXQQAhBCADQbgCaiECIAchAQNAIAEgASkDACIZIAIpAwAiHSAXfCIXfTcDACABQQhqIgUgBSkDACIiIAJBCGopAwAiJCAXIB1UIBcgGVZyrXwiF303AwAgFyAkVCAXICJWciIFrSEXIAFBEGohASACQRBqIQIgDiAEQQJrIgRHDQALQQAgBGsLIQEgA0HwAWogE2ohDgRAIA4gAUEDdCIBaiICIAIpAwAiGSADQbgCaiABaikDACIdIBd8Ihd9NwMAIBcgHVQgFyAZVnIhBQsgBUEBcUUNAEEAIQICQCAKQQVGDQAgDCAJIAkgDEsbIgFBAXECfyABQQFGBEBCACEXQQAMAQtBACAJIAsgCSALSRtB/v//P3FrIQtCACEXQQAhAUEAIQQDQCABIAdqIgIgAikDACIZIBcgA0HQAWogAWoiBSkDACIXfCIdfCIiNwMAIAJBCGoiAiACKQMAIiQgBUEIaikDACIlIBcgHVYgGSAiVnKtfCIXfCIZNwMAIBcgJVQgGSAkVHIiAq0hFyABQRBqIQEgCyAEQQJrIgRHDQALQQAgBGsLIQFFDQAgDiABQQN0IgFqIgIgAikDACIZIBcgA0HQAWogAWopAwAiF3wiHXwiIjcDACAXIB1WIBkgIlZyIQILIBIgEikDACACrUIBg3w3AwAgGEIBfSEYCyAGQQRJBEAgCkEBayEBIANBmAJqIBNqIBg3AwAgB0EIayEHIBBBAWohECARQQFqIREgCkUNAwwBCwsgBkEEQfzNwAAQ0QEACyAGQQVB/M3AABDNAgALIANB2AJqIANBkAJqKQMANwMAIANB0AJqIANBiAJqKQMAIhc3AwAgA0HIAmogA0GAAmopAwAiGDcDACADQcACaiADQfgBaikDACIaNwMAIAMgAykD8AEiGzcDuAIgAyAbIB6INwPgAiADIBogHog3A+gCIAMgGCAeiDcD8AIgAyAXIB6INwP4AgJAIA8EQEIAIBx9Qj+DIRdBASEBA0BBBCEEQQMhAiABQQNLIgZFBEAgAUEBayICQQNLDQMgAUEBaiEECyADQeACaiACQQN0aiICIAIpAwAgA0G4AmogAUEDdGopAwAgF4aENwMAIAQhASAGRQ0ACwsgACADKQPgAjcDICAAQThqIANB+AJqKQMANwMAIABBMGogA0HwAmopAwA3AwAgAEEoaiADQegCaikDADcDACAAQRhqIANBsAJqKQMANwMAIABBEGogA0GoAmopAwA3AwAgAEEIaiADQaACaikDADcDACAAIAMpA5gCNwMADAELQX9BBEH8zcAAENEBAAsgA0GAA2okAAvTFgIJfwd+IwBBkAJrIgMkACADIAE2AngCQAJAAkACQAJAAkACQAJAAkAgARANIgRB////B0dBACAEG0UEQCADQfAAaiABEBIiCBATQQEhBCADKAJwIgVFDQEgAygCdCIHQQZHBEAgBSEEDAILIAVB8JPAAEEGEPMCBEBBBiEHIAUhBCAFQfaTwABBBhDzAg0CCyADQegBaiADQfgAahCUASADKALoAUUEQCADQZwBaiADQYgCaikDACIONwIAIANBlAFqIANBgAJqKQMAIgw3AgAgA0GMAWogA0H4AWopAwAiDTcCACADIAMpA/ABIg83AoQBIABBIGogDjcCACAAQRhqIAw3AgAgAEEQaiANNwIAIAAgDzcCCCAAQRI6ACggAEEANgIAQQYhByAFIQQMAwsgA0GYAWogA0GEAmooAgAiATYCACADQZABaiADQfwBaikCACIONwMAIANBiAFqIANB9AFqKQIAIgw3AwAgAyADKQLsASINNwOAASAAQRxqIAE2AgAgAEEUaiAONwIAIABBDGogDDcCACAAIA03AgQgAEEBNgIAQQYhByAFIQQMBwsgAyABEBEiARATIANCmJTAgKACNwOIASADIANByAFqrUKAgICAEIQ3A4ABIANBAjYC7AEgA0GIlMAANgLoASADQgI3AvQBIAMgAygCBEEAIAMoAgAiBBsiBTYC0AEgAyAEQQEgBBs2AswBIAMgBTYCyAEgAyADQYABajYC8AEgA0GoAWogA0HoAWoQjQEgAygCyAEiBARAIAMoAswBIAQQyQILIAFBhAFPBEAgARAICyADKAKoASEFIAMoAqwBIQECQCAAAn8CQAJ+AkAgAygCsAEiBARAIAEtAABBLUYNAQsgA0HoAWoiByABIAQQVSADKALoAQ0CIANB4AFqIANBiAJqKQMANwMAIANB2AFqIANBgAJqKQMANwMAIANB0AFqIANB+AFqKQMANwMAIAMgAykD8AE3A8gBIAcgA0HIAWoQggEgAygC6AENAiADKQOAAiEOIAMpA/gBIQ8gAykD8AEhDCADKQOIAgwBCyAEQQFHBEAgASwAAUG/f0wNBAsgA0HoAWoiByABQQFqIARBAWsQVSADKALoAQ0BIANBwAFqIANBiAJqKQMANwMAIANBuAFqIANBgAJqIgQpAwA3AwAgA0GwAWogA0H4AWoiBikDADcDACADIAMpA/ABNwOoASAEQYCKwAApAwA3AwAgBkH4icAAKQMANwMAIANB8AFqQfCJwAApAwA3AwAgA0HoicAAKQMANwPoASADQYABaiIEIAcQWUKAgICAgICAgIB/IANBqAFqIgYgBEEgEPMCRQ0AGiAHIAYQggEgAygC6AENASADKQP4ASEMIAMpA4gCIRFCACADKQOAAiINfSEOAkACfiADKQPwASISUARAQgAgDH0hDyAMQgBSrQwBCyAMQn+FIQ8gDEIAUq0gDFCtfAsiDFAEQEJ/QgAgDUIAUhshEAwBC0J/QgAgDUIAUhsgDCAOVq19IRAgDiAMfSEOC0IAIBJ9IQwgECARfQshDSAAQQA2ACkgAEESOgAoIAAgDTcDICAAIA43AxggACAPNwMQIAAgDDcDCCAAQSxqQQA2AABBAAwBCyADIAMoAuwBNgLoASAAQQRqIANB6AFqIgAgAhCpASAAEKwCQQELNgIAIAVFDQkgASAFEMkCDAkLIAEgBEEBIARB+IjAABCwAgALIAMgARARNgLoASADIANB6AFqKAIAEDs2AoABIAMgA0GAAWooAgAQOjYCyAEgAyADQcgBakH8k8AAEK0CNgKoASADIANBqAFqQf2TwAAQrQI2AnwgAygCqAEiAUGEAU8EQCABEAgLIAMoAsgBIgFBhAFPBEAgARAICyADKAKAASIBQYQBTwRAIAEQCAsgAygC6AEiAUGEAU8EQCABEAgLQgEhDiADQfwAaiIBQf6TwABBARCoAiIFBEAgASABEPoCEMsCIQEgAygCfCIGQYQBTwRAIAYQCAsgAyABNgJ8Qn8hDgsgA0H8AGoiAUH/k8AAQQEQqAIEQCABIAEQ+gIQywIhASADKAJ8IgZBhAFPBEAgBhAICyADIAE2AnwLIANB/ABqIgFBgJTAAEECEKgCDQMgAUGClMAAQQIQqAINAyABQYSUwABBAhCoAg0DIANB6ABqIAMoAnwQEyADQegBaiIBIAMoAmgiBkEBIAYbIgsgAygCbEEAIAYbIgkQUCMAQRBrIgokACADQYABaiIGAn8gASgCAEUEQCAGIAEpAwg3AwggBkEgaiABQSBqKQMANwMAIAZBGGogAUEYaikDADcDACAGQRBqIAFBEGopAwA3AwBBAAwBCyAKIAEoAgQ2AgwgBkEEaiAKQQxqIgEgAhCpASABEKwCQQELNgIAIApBEGokACADKAKAAQ0CIAMpA5gBIQ8gAykDkAEhDSADKQOIASEMAn8gAykDoAEiEEIAWQRAIAUgDCANhCAPIBCEhEIAUnFFDAELIA1Cf4VCACANfSISQgAgDH0iDEIAUiIBGyENIA9Cf4UiESASUCABQX9zcSIBrXwiEiARIAEbIQ8gASARIBJWca0gEEJ/hXwhECAFCyEBIANB2ABqIAxCAEIAIA59IA4gBRsiDEIAEMkBIANByABqIA1CACAMQgAQyQEgA0E4aiAPQgAgDEIAEMkBIAMpAzgiDyADQdAAaikDACADKQNIIg0gA0HgAGopAwB8Ig4gDVStfHwiDSAPVK0gA0FAaykDACAMIBB+fHwhDyADKQNYIQwgAEESOgAoIAAgAQR+IA8FIA5Cf4VCACAOfSIRQgAgDH0iDEIAUiIBGyEOIA1Cf4UiECARUCABQX9zcSIBrXwiESAQIAEbIQ0gASAQIBFWca0gD0J/hXwLNwMgIAAgDTcDGCAAIA43AxAgACAMNwMIIABBADYCACAJBEAgCyAJEMkCCyADKAJ8IgBBhAFPBEAgABAICyAHRQ0BCyAEIAcQyQILIAhBhAFPBEAgCBAICwwFCyADKAKEASEBIAMpA4gBIQ4gAykDkAEhDCAAIAMpA5gBNwMYIAAgDDcDECAAIA43AwggACABNgIEIABBATYCACAJRQ0BIAsgCRDJAgwBCyADQegBaiADQfwAahCUASADKALoAUUEQCADKQOAAiEPIAMpA/gBIQ0gAykD8AEhDAJ/IAMpA4gCIhBCAFkEQCAFIAwgDYQgDyAQhIRCAFJxRQwBCyANQn+FQgAgDX0iEkIAIAx9IgxCAFIiARshDSAPQn+FIhEgElAgAUF/c3EiAa18IhIgESABGyEPIAEgESASVnGtIBBCf4V8IRAgBQshASADQShqIAxCAEIAIA59IA4gBRsiDEIAEMkBIANBGGogDUIAIAxCABDJASADQQhqIA9CACAMQgAQyQEgAykDCCIPIANBIGopAwAgAykDGCINIANBMGopAwB8Ig4gDVStfHwiDSAPVK0gA0EQaikDACAMIBB+fHwhDyADKQMoIQwgAEESOgAoIAAgAQR+IA8FIA5Cf4VCACAOfSIRQgAgDH0iDEIAUiIBGyEOIA1Cf4UiECARUCABQX9zcSIBrXwiESAQIAEbIQ0gASAQIBFWca0gD0J/hXwLNwMgIAAgDTcDGCAAIA43AxAgACAMNwMIIABBADYCAAwBCyADKALsASEBIAMpA/ABIQ4gAykD+AEhDCAAIAMpA4ACNwMYIAAgDDcDECAAIA43AwggACABNgIEIABBATYCAAsgAygCfCIAQYQBTwRAIAAQCAsgB0UNAQsgBCAHEMkCCyAIQYQBSQ0AIAgQCAsgAygCeCIAQYMBSwRAIAAQCAsgA0GQAmokAAvnEgILfw1+IwBB8AJrIgMkACADIAI2AoACIAMgATYC/AEgA0EANgKEAgJAAn8CQCACRQRAQgEhFgwBCyABIAJqIQsgA0GQAmoiCkEQaiEMQgEhFgJAAkACQANAAkACfyABLAAAIgJBAE4EQCACQf8BcSECIAFBAWoMAQsgAS0AAUE/cSEEIAJBH3EhBSACQV9NBEAgBUEGdCAEciECIAFBAmoMAQsgAS0AAkE/cSAEQQZ0ciEEIAJBcEkEQCAEIAVBDHRyIQIgAUEDagwBCyAFQRJ0QYCA8ABxIAEtAANBP3EgBEEGdHJyIgJBgIDEAEYNASABQQRqCyEBIAMgAjYCsAICQCACQTBrIgVBCk8EQCACQeUARwRAIAJBLUYEQCAKQgA3AwAgCkEIakIANwMAIAxCADcDACADQgE3A4gCQn9CACADQYgCakGIs8AAQSAQ8wIiAhshEkJ/QgEgAhshFgwDCyAGIAJBLkdyRQRAQQEhBgwDCyACQd8ARg0CDAULIAlBASEJDQQMAQsCQCAJRQRAIBBCAFkiBEUEQCAPQn+FQgAgD30iFUIAIBN9IhNCAFIiAhshDyARQn+FIg4gFVAgAkF/c3EiAq18IhUgDiACGyERIAIgDiAVVnGtIBBCf4V8IRALIANB6AFqIBNCAEIKQgAQyQEgA0HYAWogD0IAQgpCABDJASADQcgBaiARQgBCCkIAEMkBIAMpA8gBIhMgA0HgAWopAwAgAykD2AEiDyADQfABaikDAHwiDiAPVK18fCIPIBNUrSADQdABaikDACAQQgp+fHwhECADKQPoASERIARFBEAgEEJ/hSIQQgAgDn0iE1BCACARfSIRQgBSIgRBf3NxIgIgD0J/hSIPIAKtfCIVIA9UcSINrXwgECANGyEQIBUgDyACGyEPIA5Cf4UgEyAEGyEOCyAQIBEgBa18IhMgEVQiBSAOQgF8IhVQcSICIA8gAq18IhEgD1RxIgStfCAQIAQbIRAgESAPIAIbIREgFSAOIAUbIQ8MAQsgAyAFIAdBCmxqIgc2AoQCCyAGQQAhBkUNAEEBIQYgCCAJQX9zQQFxaiEICyABIAtHDQELCyAHIAhJDQEgEkIAUw0CIBIhDgwDCyADQQE2AowCIANBvLfAADYCiAIgA0IBNwKUAiADIANBsAJqrUKAgICAwAyENwPQAiADIANB0AJqNgKQAiADQYgCakHEt8AAEIwBIQEgAEEBNgIAIAAgATYCBAwECyADQQI2AowCIANB/LbAADYCiAIgA0ICNwKUAiADIANB/AFqrUKAgICA0AyENwPYAiADIANBhAJqrUKAgICA8AyENwPQAiADIANB0AJqNgKQAiADQYgCakGMt8AAEIwBIQEgAEEBNgIAIAAgATYCBAwDC0J/IRggEiEOQn8hFUEADAELIA4gFoQgEoRCAFKtIRVBAQsgEEIAUwR+Qn8FIA8gE4QgECARhIRCAFKtCyEZRQRAIA5Cf4VCACAOfSIUQgAgFn0iFkIAUiIBGyEOIBJCf4UiFyAUUCABQX9zcSIBrXwiFCAXIAEbIRIgASAUIBdUca0gGEJ/hXwhGAsgEEIAUwRAIA9Cf4VCACAPfSIUQgAgE30iE0IAUiIBGyEPIBFCf4UiFyAUUCABQX9zcSIBrXwiFCAXIAEbIREgASAUIBdUca0gEEJ/hXwhEAsgA0G4AWogE0IAIBZCABDJASADQagBaiATQgAgDkIAEMkBIANBmAFqIBNCACASQgAQyQEgA0GIAWogD0IAIBZCABDJASADQfgAaiAPQgAgDkIAEMkBIANB6ABqIBFCACAWQgAQyQEgAykDmAEiFyADQbABaikDACADKQOoASIUIANBwAFqKQMAfCIaIBRUrXx8IhQgF1StIANB8ABqKQMAIANBgAFqKQMAIANBoAFqKQMAIA8gEn4gEyAYfnwgDiARfnx8IBAgFn58fHx8IANBkAFqKQMAIAMpA4gBIg4gGnwiDyAOVK18Ig4gFHwiEiAOVK18IAMpA3giDiASfCISIA5UrXwgAykDaCIOIBJ8IhYgDlStfCEOIAMpA7gBIRAgFSAZfkICWgRAIA5Cf4UiDkIAIA99IhNQQgAgEH0iEEIAUiICQX9zcSIBIBZCf4UiEiABrXwiESASVHEiBq18IA4gBhshDiARIBIgARshFiAPQn+FIBMgAhshDwsgA0HAAmpCADcDACADQcgCakIANwMAIANCADcDuAIgA0IKNwOwAiADQegCakIANwMAIANB4AJqQgA3AwAgA0IANwPYAiADIAcgCGutNwPQAiADQYgCaiADQbACaiADQdACahBKIAMpA6ACIRVCfyEYQn8hGSAPIBCEIBaEIA6EQgBSrSAZIA5CAFkbIRkgAykDiAIhEyADKQOQAiERIAMpA5gCIRIgESAThCAShCAVhEIAUq0gGCAVQgBZGyEYIA5CAFMEQCAPQn+FQgAgD30iFEIAIBB9IhBCAFIiARshDyAWQn+FIhcgFFAgAUF/c3EiAa18IhQgFyABGyEWIAEgFCAXVHGtIA5Cf4V8IQ4LIBVCAFMEQCARQn+FQgAgEX0iFEIAIBN9IhNCAFIiARshESASQn+FIhcgFFAgAUF/c3EiAa18IhQgFyABGyESIAEgFCAXVHGtIBVCf4V8IRULIANB2ABqIBNCACAQQgAQyQEgA0HIAGogE0IAIA9CABDJASADQThqIBNCACAWQgAQyQEgA0EoaiARQgAgEEIAEMkBIANBGGogEUIAIA9CABDJASADQQhqIBJCACAQQgAQyQEgAykDOCIXIANB0ABqKQMAIAMpA0giFCADQeAAaikDAHwiGiAUVK18fCIUIBdUrSADQRBqKQMAIANBIGopAwAgA0FAaykDACARIBZ+IA4gE358IA8gEn58fCAQIBV+fHx8fCADQTBqKQMAIAMpAygiDiAafCIQIA5UrXwiDiAUfCISIA5UrXwgAykDGCIOIBJ8IhIgDlStfCADKQMIIg4gEnwiDyAOVK18IQ4gAykDWCETIAAgGCAZfkICWgR+IBBCf4VCACAQfSIRQgAgE30iE0IAUiIBGyEQIA9Cf4UiEiARUCABQX9zcSIBrXwiESASIAEbIQ8gASARIBJUca0gDkJ/hXwFIA4LNwMgIAAgDzcDGCAAIBA3AxAgACATNwMIIABBADYCAAsgA0HwAmokAAujFAIKfxZ+IwBB0ARrIgQkACAEQdgDaiADQRhqKQMANwMAIARB0ANqIANBEGopAwA3AwAgBEHIA2ogA0EIaikDADcDACAEIAMpAwA3A8ADIARBmAJqIgVCADcDACAEQZACaiIGQgA3AwAgBEGIAmoiB0IANwMAIARCADcDgAICQAJAIARBwANqIgggBEGAAmoiCUEgEPMCBEBBASEKQQEhCyABKQMYIg9CAFkEQCABKQMAIQ4gASkDCCEQIAEpAxAhESAEIA83A9gDIAQgETcD0AMgBCAQNwPIAyAEIA43A8ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcDgAIgCCAJEM0BQf8BcUH/AUYhCwsgAikDGCIPQgBZBEAgAikDACEOIAIpAwghECACKQMQIREgBCAPNwPYAyAEIBE3A9ADIAQgEDcDyAMgBCAONwPAAyAEQZgCakIANwMAIARBkAJqQgA3AwAgBEGIAmpCADcDACAEQgA3A4ACIARBwANqIARBgAJqEM0BQf8BcUH/AUYhCgtBASEGIAMpAxgiD0IAWQRAIAMpAwAhDiADKQMIIRAgAykDECERIAQgDzcD2AMgBCARNwPQAyAEIBA3A8gDIAQgDjcDwAMgBEGYAmpCADcDACAEQZACakIANwMAIARBiAJqQgA3AwAgBEIANwOAAiAEQcADaiAEQYACahDNAUH/AXFB/wFGIQYLIARBmAJqIgcgAUEYaikDADcDACAEQZACaiIIIAFBEGopAwA3AwAgBEGIAmoiCSABQQhqKQMANwMAIAQgASkDADcDgAIgBEGABGoiDSAEQYACaiIFEFkgByACQRhqKQMANwMAIAggAkEQaikDADcDACAJIAJBCGopAwA3AwAgBCACKQMANwOAAiAEQcADaiIMIAUQWSAEQTBqIAQpA4AEIg9CACAEKQPAAyIOQgAQyQEgBEHgAGogBCkDiAQiEEIAIA5CABDJASAEQdAAaiAEKQOQBCIRQgAgDkIAEMkBIARBQGsgBCkDmAQiEkIAIA5CABDJASAEQSBqIAQpA8gDIg5CACAPQgAQyQEgBEGQAWogDkIAIBBCABDJASAEQcABaiAOQgAgEUIAEMkBIARB8AFqIA5CACASQgAQyQEgBEEQaiAEKQPQAyIOQgAgD0IAEMkBIARBgAFqIA5CACAQQgAQyQEgBEGwAWogDkIAIBFCABDJASAEQeABaiAOQgAgEkIAEMkBIAQgBCkD2AMiDkIAIA9CABDJASAEQfAAaiAOQgAgEEIAEMkBIARBoAFqIA5CACARQgAQyQEgBEHQAWogDkIAIBJCABDJASAEIAQpAzA3A4ADIARB6ABqKQMAIRIgBCkDUCEPIAQgBCkDICIXIAQpA2AiFCAEQThqKQMAfCITfCIVNwOIAyAEQZgBaikDACEWIARB2ABqKQMAIRggBCkDQCEOIAQpA8ABIRAgBEHIAWopAwAhGSAEQcgAaikDACEaIAQpA/ABIREgBCAEKQMQIh0gBCkDkAEiGyAEQShqKQMAIBUgF1StfCIVIA8gEiATIBRUrXx8IhN8IhR8Ihx8Ih43A5ADIARBiAFqKQMAIR8gBCkDsAEhEiAEQbgBaikDACEgIARB+AFqKQMAISEgBCkD4AEhFyAEIAQpAwAiIiAEKQOAASIjIARBGGopAwAgHSAeVq18Ih0gECAWIBsgHFatfCIWIBQgFVStfCIUIA4gGCAPIBNWrXx8IhN8IhV8Ihh8Ig98Iht8Ihw3A5gDIAQgBCkDcCIeIARBCGopAwAgHCAiVK18IhwgEiAfIBsgI1StfCIbIA8gHVStfCIPIBEgGSAQIBhWrXwiGCAUIBZUIBQgFVZyrXwiECAaIA4gE1atfHwiFHwiE3wiFXwiFnwiDnwiGTcDoAMgBCAEKQOgASIaIARB+ABqKQMAIBkgHlStfCIZIA4gHFStfCIOIBcgICASIBZWrXwiEiAPIBtUIA8gFVZyrXwiDyARIBNWrSAhIBAgGFQgECAUVnKtfHx8IhB8IhF8IhR8IhM3A6gDIARB2AFqKQMAIRUgBCAEKQPQASIWIARBqAFqKQMAIBMgGlStfCITIA4gGVQgDiAUVnKtfCIOIBEgF1StIARB6AFqKQMAIA8gElQgDyAQVnKtfHx8Ig98IhA3A7ADIAQgECAWVK0gFSAOIBNUIA4gD1ZyrXx8NwO4AyAHIANBGGopAwA3AwAgCCADQRBqKQMANwMAIAkgA0EIaikDADcDACAEIAMpAwA3A4ACIA0gBRBZIARB6ANqQgA3AwAgBEHwA2pCADcDACAEQfgDakIANwMAIARCADcD4AMgBCAEKQOYBDcD2AMgBCAEKQOQBDcD0AMgBCAEKQOIBDcDyAMgBCAEKQOABDcDwAMgBSAEQYADaiAMEEsgBCkDuAIgBCkDsAIgBCkDqAIgBCkDoAKEhIRQRQ0BIAQpA4ACIQ8gBCkDiAIhDiAEKQOQAiEQIAQpA8ACIRcgBCkDyAIhFCAEKQPQAiETIAQpA9gCIRUgBCkD4AIhFiAEKQPoAiEYIAQpA/ACIRkgBCkD+AIhGiAEIAQpA5gCNwO4BCAEIBA3A7AEIAQgDjcDqAQgBCAPNwOgBCAFIAsgBiAKc3NFIgEgBEGgBGoQhQEgBCgCgAINAiAEKQOgAiEQIAQpA5gCIREgBCkDkAIhDyAEKQOIAiESIARB2ANqQgA3AwAgBEHQA2pCADcDACAEQgA3A8gDIAQgFCAXhCAThCAVhCAWhCAYhCAZhCAahEIAUq03A8ADIAUgASAMEIUBIAQoAoACRQRAIA8gBCkDkAJ8Ig4gD1QhASAEKQOYAiEPIBIgEiAEKQOIAnwiF1gEfiABrQUgDkIBfCIOUK0gAa18CyESIBEgDyARfCIPViEBIAQpA6ACIREgAEESOgAgIAAgElAEfiABrQUgDyAPIBJ8Ig9WrSABrXwLIhJQBH4gECARfAUgECARfCASfAs3AxggACAPNwMQIAAgDjcDCCAAIBc3AwAgBEHQBGokAA8LIAQgBCgChAI2AsADQYiJwABBKyAEQcADakG0icAAQeyNwAAQygEACyAEQQA2ApACIARBATYChAIgBEG0jsAANgKAAiAEQgQ3AogCIARBgAJqQbyOwAAQ/QEACyAEIAM2AswEIAQgAjYCyAQgBCABNgLEBCMAQTBrIgAkACAAQQM2AgQgAEH0jsAANgIAIABCAzcCDCAAIARBxARqIgE1AghCgICAgPABhDcDKCAAIAE1AgRCgICAgPABhDcDICAAIAE1AgBCgICAgPABhDcDGCAAIABBGGo2AgggAEGMj8AAEIwBIQEgAEEwaiQAIAQgATYCgAJBiInAAEErIARBgAJqQbSJwABBjI7AABDKAQALIAQgBCgChAI2AsADQYiJwABBKyAEQcADakG0icAAQfyNwAAQygEAC/QRAgp/Fn4jAEHQBGsiBCQAIARBqANqIANBGGopAwA3AwAgBEGgA2ogA0EQaikDADcDACAEQZgDaiADQQhqKQMANwMAIAQgAykDADcDkAMgBEHoA2oiBUIANwMAIARB4ANqIgZCADcDACAEQdgDaiIHQgA3AwAgBEIANwPQAwJAAkAgBEGQA2oiCCAEQdADaiIJQSAQ8wIEQEEBIQpBASELIAEpAxgiD0IAWQRAIAEpAwAhDiABKQMIIRAgASkDECERIAQgDzcDqAMgBCARNwOgAyAEIBA3A5gDIAQgDjcDkAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwPQAyAIIAkQzQFB/wFxQf8BRiELCyACKQMYIg9CAFkEQCACKQMAIQ4gAikDCCEQIAIpAxAhESAEIA83A6gDIAQgETcDoAMgBCAQNwOYAyAEIA43A5ADIARB6ANqQgA3AwAgBEHgA2pCADcDACAEQdgDakIANwMAIARCADcD0AMgBEGQA2ogBEHQA2oQzQFB/wFxQf8BRiEKCyADKQMYIg9CAFMEf0EBBSADKQMAIQ4gAykDCCEQIAMpAxAhESAEIA83A6gDIAQgETcDoAMgBCAQNwOYAyAEIA43A5ADIARB6ANqQgA3AwAgBEHgA2pCADcDACAEQdgDakIANwMAIARCADcD0AMgBEGQA2ogBEHQA2oQzQFB/wFxQf8BRgshDCAEQegDaiIGIAFBGGopAwA3AwAgBEHgA2oiByABQRBqKQMANwMAIARB2ANqIgggAUEIaikDADcDACAEIAEpAwA3A9ADIARB4AJqIg0gBEHQA2oiBRBZIAYgAkEYaikDADcDACAHIAJBEGopAwA3AwAgCCACQQhqKQMANwMAIAQgAikDADcD0AMgBEGQA2oiCSAFEFkgBEEwaiAEKQPgAiIPQgAgBCkDkAMiDkIAEMkBIARB4ABqIAQpA+gCIhBCACAOQgAQyQEgBEHQAGogBCkD8AIiEUIAIA5CABDJASAEQUBrIAQpA/gCIhNCACAOQgAQyQEgBEEgaiAEKQOYAyIOQgAgD0IAEMkBIARBkAFqIA5CACAQQgAQyQEgBEHAAWogDkIAIBFCABDJASAEQfABaiAOQgAgE0IAEMkBIARBEGogBCkDoAMiDkIAIA9CABDJASAEQYABaiAOQgAgEEIAEMkBIARBsAFqIA5CACARQgAQyQEgBEHgAWogDkIAIBNCABDJASAEIAQpA6gDIg5CACAPQgAQyQEgBEHwAGogDkIAIBBCABDJASAEQaABaiAOQgAgEUIAEMkBIARB0AFqIA5CACATQgAQyQEgBCAEKQMwNwOgAiAEQegAaikDACETIAQpA1AhDyAEIAQpAyAiGyAEKQNgIhQgBEE4aikDAHwiEnwiFTcDqAIgBEGYAWopAwAhFiAEQdgAaikDACEXIAQpA0AhDiAEKQPAASEQIARByAFqKQMAIRggBEHIAGopAwAhHCAEKQPwASERIAQgBCkDECIdIAQpA5ABIhkgBEEoaikDACAVIBtUrXwiFSAPIBMgEiAUVK18fCISfCIUfCIafCIeNwOwAiAEQYgBaikDACEfIAQpA7ABIRMgBEG4AWopAwAhICAEQfgBaikDACEhIAQpA+ABIRsgBCAEKQMAIiIgBCkDgAEiIyAEQRhqKQMAIB0gHlatfCIdIBAgFiAZIBpWrXwiFiAUIBVUrXwiFCAOIBcgDyASVq18fCISfCIVfCIXfCIPfCIZfCIaNwO4AiAEIAQpA3AiHiAEQQhqKQMAIBogIlStfCIaIBMgHyAZICNUrXwiGSAPIB1UrXwiDyARIBggECAXVq18IhcgFCAWVCAUIBVWcq18IhAgHCAOIBJWrXx8IhR8IhJ8IhV8IhZ8Ig58Ihg3A8ACIAQgBCkDoAEiHCAEQfgAaikDACAYIB5UrXwiGCAOIBpUrXwiDiAbICAgEyAWVq18IhMgDyAZVCAPIBVWcq18Ig8gESASVq0gISAQIBdUIBAgFFZyrXx8fCIQfCIRfCIUfCISNwPIAiAEQdgBaikDACEVIAQgBCkD0AEiFiAEQagBaikDACASIBxUrXwiEiAOIBhUIA4gFFZyrXwiDiARIBtUrSAEQegBaikDACAPIBNUIA8gEFZyrXx8fCIPfCIQNwPQAiAEIBAgFlStIBUgDiASVCAOIA9Wcq18fDcD2AIgBiADQRhqKQMANwMAIAcgA0EQaikDADcDACAIIANBCGopAwA3AwAgBCADKQMANwPQAyANIAUQWSAEQcgDakIANwMAIARBwANqQgA3AwAgBEG4A2pCADcDACAEQgA3A7ADIAQgBCkD+AI3A6gDIAQgBCkD8AI3A6ADIAQgBCkD6AI3A5gDIAQgBCkD4AI3A5ADIAUgBEGgAmogCRBLIAQpA4gEIAQpA4AEIAQpA/gDIAQpA/ADhISEUEUNASAEKQPgAyEPIAQpA9gDIQ4gBCkD0AMhECAEIAQpA+gDNwOYAiAEIA83A5ACIAQgDjcDiAIgBCAQNwOAAiAFIAsgCiAMc3NFIARBgAJqEIUBIAQoAtADRQ0CIAQgBCgC1AM2ApADQYiJwABBKyAJQbSJwABBnI/AABDKAQALIARBADYC4AMgBEEBNgLUAyAEQbSOwAA2AtADIARCBDcC2AMgBEHQA2pBvI/AABD9AQALIAQgAzYCjAMgBCACNgKIAyAEIAE2AoQDIwBBMGsiACQAIABBAzYCBCAAQfSOwAA2AgAgAEIDNwIMIAAgBEGEA2oiATUCCEKAgICA8AGENwMoIAAgATUCBEKAgICA8AGENwMgIAAgATUCAEKAgICA8AGENwMYIAAgAEEYajYCCCAAQcyPwAAQjAEhASAAQTBqJAAgBCABNgLQA0GIicAAQSsgBEHQA2pBtInAAEGsj8AAEMoBAAsgACAEKQPYAzcDACAAQSBqIARB+ANqKQMANwMAIABBGGogBEHwA2opAwA3AwAgAEEQaiAEQegDaikDADcDACAAQQhqIARB4ANqKQMANwMAIARB0ARqJAALlhMCEX8JfiMAQZACayICJAAgAS0AICEIIAJBCGoiA0EAENABIAJBKGpBChDQASACQcgAakEwENABIAJByAFqIgsgAUEYaikDADcDACACQcABaiIKIAFBEGopAwA3AwAgAkG4AWoiDCABQQhqKQMANwMAIAIgASkDADcDsAEgAkHoAGoiBCACQbABahBZIAJBADYCkAEgAkKAgICAwAA3AogBAkACQAJAAkACQCAEIAMQzQFB/wFxQQFGBEAgAkHQAWohBSACKQNgIRggAikDWCEZIAIpA1AhGiACKQNIIRsDQCAIRSAGIAhHckUEQCACKAKQASIDIAIoAogBRgRAIAJBiAFqELYBCyACKAKMASADQQJ0akEuNgIAIAIgA0EBajYCkAELIAJBiAJqIAJBgAFqIg0pAwA3AwAgAkGAAmogAkH4AGoiDikDADcDACACQfgBaiACQfAAaiIPKQMANwMAIAIgAikDaDcD8AEgAkGwAWogAkHwAWogAkEoahBOIAVBCGopAwAiEyAafCIVIBNUIQMgBUEQaikDACIUIBl8IhMgFFQhBCAFQRhqKQMAIhYgGHwiFCAWVCEHAkAgBSkDACIXIBt8IhYgF1oEfiADrQUgFUIBfCIVUK0gA618CyIXUAR+IAStBSATIBMgF3wiE1atIAStfAsiF1AEQCACIBQ3A8gBIAIgEzcDwAEgAiAVNwO4ASACIBY3A7ABIAdFDQEMCAsgAiATNwPAASACIBU3A7gBIAIgFjcDsAEgAiAUIBd8IhM3A8gBIAcgEyAUVHINBwsgAkHwAWohB0EAIQkjAEFAaiIDJAACQAJAAkAgAkGwAWoiBCkDECAEKQMYhFAEQCAHQRBqIAQpAwg3AwAgByAEKQMANwMIDAELQQEhCSADQQE2AhQgA0HYpMAANgIQIANCATcCHCADIAStQoCAgICAAoQ3AyggAyADQShqNgIYIANBNGoiBCADQRBqEI0BIANBCGogBEHgpMAAENYBIAMoAgwhECADKAIIIREgA0EYaiISIANBPGooAgA2AgBByYPBAC0AABogAyADKQI0NwMQQRhBBBC4AiIERQ0BIAQgETYCBCAEQbCbwAA2AgAgBCADKQMQNwIMIAQgEDYCCCAEQRRqIBIoAgA2AgAgByAENgIECyAHIAk2AgAgA0FAayQADAELQQRBGBDtAgALIAIoAvABDQIgAi0A+AEhBCACKAKQASIDIAIoAogBRgRAIAJBiAFqELYBCyACKAKMASADQQJ0aiAENgIAIAIgA0EBajYCkAEgAkGwAWogAkHoAGoiAyACQShqEE4gDSALKQMANwMAIA4gCikDADcDACAPIAwpAwA3AwAgAiACKQOwATcDaCAGQQFqIQYgAyACQQhqEM0BQf8BcUEBRg0ACwsgBiAITw0BIAIoApABIgQgBCAIIAZrIgdqIgNJBEAgByACKAKIASAEa0sEQCACQYgBaiEFIwBBIGsiAyQAIAQgBCAHaiIJSwRAQQBBABCjAgALQQQhBEEEIAUoAgAiC0EBdCIKIAkgCSAKSRsiCSAJQQRNGyIKQQJ0IQwgCUGAgICAAklBAnQhCQJAIAtFBEBBACEEDAELIAMgC0ECdDYCHCADIAUoAgQ2AhQLIAMgBDYCGCADQQhqIAkgDCADQRRqEMABIAMoAggEQCADKAIMIAMoAhAQowIACyADKAIMIQQgBSAKNgIAIAUgBDYCBCADQSBqJAAgAigCkAEhBAsgAigCjAEgBEECdGohAyAHQQJPBEAgBkF/cyAIaiIGQQdxIQUgB0ECa0EHTwRAIAZBeHEhBgNAIANCsICAgIAGNwIAIANBGGpCsICAgIAGNwIAIANBEGpCsICAgIAGNwIAIANBCGpCsICAgIAGNwIAIANBIGohAyAGQQhrIgYNAAsLIAUEQANAIANBMDYCACADQQRqIQMgBUEBayIFDQALCyAEIAdqQQFrIQQLIANBMDYCACAEQQFqIQMLIAIgAzYCkAEMAgsgAiACKAL0ATYCsAFBiInAAEErIAJBsAFqQbSJwABBxInAABDKAQALIAYgCEcNASACKAKQASEDCyACKAKIASEFIAgEQCADIAVGBEAgAkGIAWoQtgELIAIoAowBIANBAnRqQS42AgAgAiADQQFqIgM2ApABIAIoAogBIQULIAMgBUYEQCACQYgBahC2AQsgAigCjAEgA0ECdGpBMDYCACACIANBAWo2ApABCyACIAEpAxgiE0IAWQR/IAEpAwAhFSABKQMIIRQgASkDECEWIAIgEzcDiAIgAiAWNwOAAiACIBQ3A/gBIAIgFTcD8AEgAkHIAWpCADcDACACQcABakIANwMAIAJBuAFqQgA3AwAgAkIANwOwASACQfABaiACQbABahDNAUH/AXFB/wFHBUEACzoAlwEgAigCjAEhASACKAKQASEEIAJBADYCrAEgAkKAgICAEDcCpAEgBARAIAJBpAFqQQAgBBC3AQsgAkGkAWohAyMAQRBrIgYkACABIARBAnRqIgUgAUcEQANAAkACfwJAIAVBBGsiBSgCACIEQYABTwRAIAZBADYCDCAEQYAQSQ0BIARBgIAESQRAIAYgBEEMdkHgAXI6AAwgBiAEQQZ2QT9xQYABcjoADUECIQdBAwwDCyAGIARBEnZB8AFyOgAMIAYgBEEGdkE/cUGAAXI6AA4gBiAEQQx2QT9xQYABcjoADUEDIQdBBAwCCyADKAIIIgggAygCAEYEQCADELoBCyADKAIEIAhqIAQ6AAAgAyAIQQFqNgIIDAILIAYgBEEGdkHAAXI6AAxBASEHQQILIQggBkEMaiAHciAEQT9xQYABcjoAACAIIAMoAgAgAygCCCIEa0sEQCADIAQgCBC3ASADKAIIIQQLIAMoAgQgBGogBkEMaiAIEPECGiADIAQgCGo2AggLIAEgBUcNAAsLIAZBEGokACACQaABaiACQawBaigCADYCACACIAIpAqQBNwOYASACQQI2ArQBIAJB1InAADYCsAEgAkICNwK8ASACIAJBmAFqrUKAgICAEIQ3A/gBIAIgAkGXAWqtQoCAgIDgAYQ3A/ABIAIgAkHwAWo2ArgBIAAgAkGwAWoQjQEgAigCmAEiAARAIAIoApwBIAAQyQILIAIoAogBIgAEQCACKAKMASAAQQJ0EMkCCyACQZACaiQADwsgAkEANgKAAiACQQE2AvQBIAJByKbAADYC8AEgAkIENwL4ASACQfABakGYpsAAEP0BAAv5BgIKfwF+QQEhCEEBIQcCQAJAAkACQAJAAkAgBSAGIAUgBksiBBsiC0EBTQRAIAggByAEGyIJIAtqIgQgCUkNASAEQQFLDQICfyADIAMgCWogCxDzAgRAIAtBASALayIESyEIQQEhBiADIQUDQEIBIAUxAACGIA6EIQ4gBUEBaiEFIAZBAWsiBg0ACyALIAQgCBtBAWohCUF/IQogCyEIQX8MAQtBASEGQQEhBEEAIQgDQCAEIgogBWoiDEUEQEEBIAVrIARBf3NqIgQNBiAFQX9zQQFqIAhrIgcNBwJAIAMgBGotAAAiBCADIAdqLQAAIgdJBEAgDEEBaiIEIAhrIQZBACEFDAELIAQgB0cEQCAKQQFqIQRBACEFQQEhBiAKIQgMAQtBACAFQQFqIgQgBCAGRiIHGyEFIARBACAHGyAKaiEECyAGIAlHDQELC0EBIQZBACEFQQEhBEEAIQcDQCAEIgogBWoiDUUEQEEBIAVrIARBf3NqIgQNCCAFQX9zQQFqIAdrIgwNCQJAIAMgBGotAAAiBCADIAxqLQAAIgxLBEAgDUEBaiIEIAdrIQZBACEFDAELIAQgDEcEQCAKQQFqIQRBACEFQQEhBiAKIQcMAQtBACAFQQFqIgQgBCAGRiIMGyEFIARBACAMGyAKaiEECyAGIAlHDQELC0EBIAggByAHIAhJG2shCAJAIAlFBEBBACEJQQAhCgwBCyAJQQNxIQRBACEKAkAgCUEESQRAQQAhBgwBCyAJQXxxIQVBACEGA0BCASADIAZqIgdBA2oxAACGQgEgBzEAAIYgDoRCASAHQQFqMQAAhoRCASAHQQJqMQAAhoSEIQ4gBSAGQQRqIgZHDQALCyAERQ0AIAMgBmohBQNAQgEgBTEAAIYgDoQhDiAFQQFqIQUgBEEBayIEDQALC0EBCyEEIABBATYCPCAAIAM2AjggACACNgI0IAAgATYCMCAAIAQ2AiggACAKNgIkIAAgAjYCICAAQQA2AhwgACAJNgIYIAAgCDYCFCAAIAs2AhAgACAONwMIIABBATYCAA8LIAtBAUHk7MAAEM4CAAsgCSAEQfTswAAQ0AIACyAEQQFB9OzAABDOAgALIARBAUGU7cAAENEBAAsgB0EBQaTtwAAQ0QEACyAEQQFBlO3AABDRAQALIAxBAUGk7cAAENEBAAuUCwIKfwl+IwBB0AFrIgMkACADIAI2AgwgAyABNgIIIANBKGoiCUIANwMAIANBIGoiCkIANwMAIANBGGoiC0IANwMAIANCADcDEAJAAkACQAJAIAJFBEAMAQsgASACaiEMA0ACfyABLAAAIghBAE4EQCAIQf8BcSECIAFBAWoMAQsgAS0AAUE/cSECIAhBH3EhBCAIQV9NBEAgBEEGdCACciECIAFBAmoMAQsgAS0AAkE/cSACQQZ0ciECIAhBcEkEQCACIARBDHRyIQIgAUEDagwBCyAEQRJ0QYCA8ABxIAEtAANBP3EgAkEGdHJyIgJBgIDEAEYNAiABQQRqCyEBIAMgAjYCcAJAIAJBMGsiBEEKTwRAIAcgAkHlAEdyRQRAQQEhBwwCCyAFIAJBLkdyRQRAQQEhBQwCCyACQd8ARg0BIANBATYCtAEgA0HMtsAANgKwASADQgE3ArwBIAMgA0HwAGqtQoCAgIDADIQ3A5ABIAMgA0GQAWo2ArgBIANBsAFqQdS2wAAQjAEhASAAQQE2AgAgACABNgIEDAQLAkACQCAHRQRAIAMgDTcDyAEgAyAONwPAASADIBA3A7gBIAMgEjcDsAEgA0GQAWogA0GwAWoQnQEgAykDmAEhEAJAIAMpA5ABIhEgBK18IhIgEVQEQCAQQgF8IhBQDQELIAMpA6ABIQ4gAykDqAEhDQwCCyADKQOgAUIBfCIOUEUEQCADKQOoASENDAILIAMpA6gBQgF8Ig1CAFINAQwICyADQcgBaiAJKQMANwMAIANBwAFqIAopAwA3AwAgA0G4AWogCykDADcDACADIAMpAxA3A7ABIANBkAFqIANBsAFqEJ0BIAMpA5gBIQ8CQAJAAkAgAykDkAEiESAErXwiFCARVARAIA9CAXwiD1ANAQsgAykDoAEhEQwBCyADKQOgAUIBfCIRUA0BCyADIAMpA6gBNwMoIAMgETcDICADIA83AxggAyAUNwMQDAELIAMgETcDICADIA83AxggAyAUNwMQIAMgAykDqAFCAXwiETcDKCARUA0BCyAFQQAhBUUNAUEBIQUgBiAHQX9zQQFxaiEGDAELDAULIAEgDEcNAAsLIANBMGoiASAGENABIANBEGoiAiABEM0BQf8BcUH/AUYEQCADQQI2ArQBIANBoLXAADYCsAEgA0ICNwK8ASADIANBCGqtQoCAgIDQDIQ3A5gBIAMgAq1CgICAgOAMhDcDkAEgAyADQZABajYCuAEgA0GwAWpBnLbAABCMASEBIABBATYCACAAIAE2AgQMAQsgAyANNwNoIAMgDjcDYCADIBA3A1ggAyASNwNQIANBkAFqQQoQ0AEgAykDQCEPIAMpAzghEyADKQMgIQ4gAykDGCENAn4gAykDECIUIAMpAzAiEVoEQCANIBNUrSESIA0gE30MAQsgDSATVK0gDSATUa18IRIgDSATQn+FfAshFSADKQNIIRMgAykDKCENIA4gD30hEAJAIBJQBEAgDiAPVK0hDwwBCyAQIBJUrSAOIA9UrXwhDyAQIBJ9IRALIA0gE30hDgJAIA9QBEAgAyAONwPIASADIBA3A8ABIAMgFTcDuAEgAyAUIBF9NwOwASANIBNaDQEMAwsgAyAQNwPAASADIBU3A7gBIAMgDiAPfTcDyAEgAyAUIBF9NwOwASANIBNUIA4gD1RyDQILIANB8ABqIgEgA0GQAWogA0GwAWoQaCAAQQhqIANB0ABqIAEQWiAAQQA2AgALIANB0AFqJAAPCyADQQA2AoABIANBATYCdCADQeS0wAA2AnAgA0IENwJ4IANB8ABqQbS0wAAQ/QEACyADQQA2AsABIANBATYCtAEgA0HUxcAANgKwASADQgQ3ArgBIANBsAFqQfTEwAAQ/QEAC+oJAgZ/Cn4jAEGQAWsiAyQAIANBQGsgAUEYaiIFKQMANwMAIANBOGogAUEQaikDADcDACADQTBqIAFBCGopAwA3AwAgAyABKQMANwMoIAMgA0EoaiIEEFkgA0ESOgAgIANBiAFqIgYgAkEYaikDADcDACADQYABaiIHIAJBEGopAwA3AwAgA0H4AGoiCCACQQhqKQMANwMAIAMgAikDADcDcCAEIANB8ABqIgQQWSADQRI6AEgCQAJAAkACQAJAAkAgBSkDACIJQgBZBEAgASkDACELIAEpAwghCiABKQMQIQwgAyAJNwNoIAMgDDcDYCADIAo3A1ggAyALNwNQIAZCADcDACAHQgA3AwAgCEIANwMAIANCADcDcCADQdAAaiAEEM0BQf8BcSEBIAIpAxgiCUIAUw0CIAFB/wFGIQEMAQtBASEBIAIpAxgiCUIAUw0DCyACKQMAIQsgAikDCCEKIAIpAxAhDCADIAk3A2ggAyAMNwNgIAMgCjcDWCADIAs3A1AgA0GIAWpCADcDACADQYABakIANwMAIANB+ABqQgA3AwAgA0IANwNwIAEgA0HQAGogA0HwAGoQzQFB/wFxQf8BRnMNAQwCCyABQf8BRg0BCyADKQMIIgkgAykDMHwiCyAJVCEBIAMpAzghDiADKQMQIQkgAykDACIKIAMpAyh8IgwgCloEfiABrQUgC0IBfCILUK0gAa18CyEKIAMpA0AhDyADKQMYIQ0gCSAJIA58IglWIQEgClAEfiABrQUgCSAJIAp8IglWrSABrXwLIQ4gDSAPfCIKIA1UIQECQCAOUARAIAAgCjcDGCAAIAk3AxAgACALNwMIIAAgDDcDACABDQEMAwsgACAJNwMQIAAgCzcDCCAAIAw3AwAgACAKIA58Igk3AxggAQ0AIAkgCloNAgsgA0EANgKAASADQQE2AnQgA0HIpsAANgJwIANCBDcCeCADQfAAakGYpsAAEP0BAAsCQCADIANBKGoQzQFB/wFxQQFHBEAgAykDECEKIAMpAwghCSADKQM4IQ0gAykDMCELAn4gAykDKCIRIAMpAwAiEloEQCALIAl9IQ4gCSALVq0MAQsgCyAJQn+FfCEOIAkgC1atIAkgC1GtfAshDCADKQMYIQ8gAykDQCEQIA0gCn0hCQJAIAxQBEAgCiANVq0hCgwBCyAJIAxUrSAKIA1WrXwhCiAJIAx9IQkLIBAgD30hCwJAIApQBEAgDyAQWA0BDAULIAogC1YgDyAQVnINBCALIAp9IQsLDAELIAMpAzghCiADKQMwIQkgAykDECENIAMpAwghCwJ+IAMpAwAiESADKQMoIhJaBEAgCyAJfSEOIAkgC1atDAELIAsgCUJ/hXwhDiAJIAtWrSAJIAtRrXwLIQwgAykDQCEPIAMpAxghECANIAp9IQkCQCAMUARAIAogDVatIQoMAQsgCSAMVK0gCiANVq18IQogCSAMfSEJCyAQIA99IQsCQCAKUARAIA8gEFgNAQwECyAKIAtWIA8gEFZyDQMgCyAKfSELCwsgESASfSEMIAAgCzcDGCAAIAk3AxAgACAONwMIIAAgDDcDAAsgAEESOgAgIANBkAFqJAAPCyADQQA2AoABIANBATYCdCADQcyTwAA2AnAgA0IENwJ4IANB8ABqQeiQwAAQ/QEAC5AKAgR/BH4jAEHwAmsiBCQAAkACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEHIAWogAUEoaikDADcDACAEQcABaiABQSBqKQMANwMAIARBuAFqIAFBGGopAwA3AwAgBEGwAWoiBiABQRBqKQMANwMAIAQgASkDCDcDqAEgBEH4AWoiBSACIANB////B0cgAxBrAn8CQCAEKAL4AUUEQCAEQfABaiAEQaACaikDACIINwMAIARB6AFqIARBmAJqKQMAIgk3AwAgBEHgAWogBEGQAmopAwAiCjcDACAEQdgBaiAEQYgCaikDACILNwMAIARBuAJqIAs3AwAgBEHAAmogCjcDACAEQcgCaiAJNwMAIARB0AJqIAg3AwAgBCAEKQOAAiIINwPQASAEIAg3A7ACIARB+ABqIARBqAFqIgIgBEGwAmoQTSAEKAJ4BEAgBCAEKAJ8NgLYAiAEIARB2AJqIgc2AtwCQQEhAyAEQQE2AvwBIARBiJrAADYC+AEgBEIBNwKEAiAEIARB3AJqrUKAgICAMIQ3A6gBIAQgAjYCgAIgBEHgAmogBRCNASAEQQA2ArABIARCgICAgBA3AqgBIARBAzoAmAIgBEEgNgKIAiAEQQA2ApQCIARBzJjAADYCkAIgBEEANgKAAiAEQQA2AvgBIAQgAjYCjAJBtIfAACAFEMgBDQcgBEHkAGogBigCADYCACAEQdgAaiICIARB6AJqKAIANgIAIAQgBCkCqAE3AlwgBCAEKQLgAjcDUCAHEKwCIARBOGogBEHgAGopAwAiCDcDACAEQTBqIAIpAwAiCTcDACAEQQhqIAk3AwAgBEEQaiAINwMAIAQgBCkDUCIINwMoIAQgCDcDAAwCCyAEQfAAaiAEQaABaikDACIINwMAIARBMGogBEGIAWopAwAiCTcDACAEQThqIARBkAFqKQMAIgo3AwAgBEFAayAEQZgBaikDACILNwMAIARByABqIAg3AwAgBEEIaiICIAk3AwAgBEEQaiIDIAo3AwAgBEEYaiIFIAs3AwAgBEEgaiIGIAg3AwAgBCAEKQOAASIINwMoIAQgCDcDACABLQAwIQcgASABKAIAQQFrNgIAIARBnAJqIAYpAwA3AgAgBEGUAmogBSkDADcCACAEQYwCaiADKQMANwIAIARBhAJqIAIpAwA3AgBBACEDQcmDwQAtAAAaIAQgBCkDADcC/AFBOEEIELgCIgFFDQUgAUEANgIAIAEgBCkC+AE3AgQgASAHOgAwIAFBDGogBEGAAmopAgA3AgAgAUEUaiAEQYgCaikCADcCACABQRxqIARBkAJqKQIANwIAIAFBJGogBEGYAmopAgA3AgAgAUEsaiAEQaACaigCADYCAEEADAILIARB2AFqIARBiAJqKQMAIgg3AwAgBEHgAWogBEGQAmopAwAiCTcDACAEQQhqIAg3AwAgBEEQaiAJNwMAIAQgBCkDgAIiCDcD0AEgBCAINwMAIAQoAvwBIQMLIAEgASgCAEEBazYCACAEQYQBaiAEQQhqKQMANwIAIARBjAFqIARBEGopAwA3AgAgBCADNgJ4IAQgBCkDADcCfEEBIQNBACEBIARB+ABqEJsBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARB8AJqJAAPCxDnAgALEOgCAAtBCEE4EO0CAAtB5JjAAEE3IARB7wJqQZyZwABB+JnAABDKAQAL/A4CCH8EfiMAQfACayIEJAACQAJAAkAgAQRAIAEoAgAiBkF/Rg0BIAEgBkEBajYCACAEQfgBaiIGIAIgA0H///8HRyADEGsCfwJAIAQoAvgBRQRAIARB8AFqIARBoAJqKQMAIg43AwAgBEHoAWogBEGYAmopAwAiDzcDACAEQeABaiAEQZACaiIDKQMAIg03AwAgBEHYAWogBEGIAmoiAikDACIMNwMAIARBuAJqIAw3AwAgBEHAAmogDTcDACAEQcgCaiAPNwMAIARB0AJqIA43AwAgBCAEKQOAAiIMNwPQASAEIAw3A7ACIARBqAFqIgsgAUEIaiAEQbACahBWIAMgBEHAAWopAwA3AwAgAiAEQbgBaikDADcDACAEQYACaiAEQbABaiIKKQMANwMAIAQgBCkDqAE3A/gBIwBBsAFrIgUkACAFQQE2AnwgBUHoh8AANgJ4IAVCATcChAEgBSAGrUKAgICAgAKENwNQIAUgBUHQAGo2AoABIAVBFGogBUH4AGoQjQECQAJAIARB+ABqIgcCfyAGKQMYIgxCAFkEQCAHQRI6ACggByAMNwMgIAcgBikDADcDCCAHQRhqIAZBEGopAwA3AwAgB0EQaiAGQQhqKQMANwMAIAUoAhQiAgRAIAUoAhggAhDJAgtBAAwBCyAFQfAAakGoisAAKQMANwMAIAVB6ABqQaCKwAApAwA3AwAgBUHgAGpBmIrAACkDADcDACAFQdgAakGQisAAKQMANwMAIAVBiIrAACkDADcDUCAFQZgBakHQisAAKQMANwMAIAVBkAFqQciKwAApAwA3AwAgBUGIAWpBwIrAACkDADcDACAFQYABaiIIQbiKwAApAwA3AwAgBUGwisAAKQMANwN4IAUgBUH4AGqtQoCAgICQAoQ3A0ggBSAFQdAAaq1CgICAgJAChDcDQCAFIAVBFGqtQoCAgIAQhDcDOCAFQQA2AjAgBUEENgIkIAVB0IzAADYCICAFQQM2AiwgBSAFQThqNgIoIAVBpAFqIgIgBUEgahCNASAFQQhqIAJB8IzAABDWASAFKAIMIQMgBSgCCCECIAggBUGsAWooAgA2AgBByYPBAC0AABogBSAFKQKkATcDeEEYQQQQuAIiCUUNASAJIAI2AgQgCUGwm8AANgIAIAkgBSkDeDcCDCAJIAM2AgggCUEUaiAIKAIANgIAIAcgCTYCBCAFKAIUIgIEQCAFKAIYIAIQyQILQQELNgIAIAVBsAFqJAAMAQtBBEEYEO0CAAsgBCgCeARAIAQgBCgCfDYC2AIgBCAEQdgCaiIINgLcAkEBIQMgBEEBNgL8ASAEQYiawAA2AvgBIARCATcChAIgBCAEQdwCaq1CgICAgDCENwOoASAEIAs2AoACIARB4AJqIAYQjQEgBEEANgKwASAEQoCAgIAQNwKoASAEQQM6AJgCIARBIDYCiAIgBEEANgKUAiAEQcyYwAA2ApACIARBADYCgAIgBEEANgL4ASAEIAs2AowCQaSHwAAgBhDIAQ0HIARB5ABqIAooAgA2AgAgBEHYAGoiAiAEQegCaigCADYCACAEIAQpAqgBNwJcIAQgBCkC4AI3A1AgCBCsAiAEQThqIARB4ABqKQMAIg03AwAgBEEwaiACKQMAIgw3AwAgBEEIaiAMNwMAIARBEGogDTcDACAEIAQpA1AiDDcDKCAEIAw3AwAMAgsgBEHwAGogBEGgAWopAwAiDjcDACAEQTBqIARBiAFqKQMAIg83AwAgBEE4aiAEQZABaikDACINNwMAIARBQGsgBEGYAWopAwAiDDcDACAEQcgAaiAONwMAIARBCGoiCiAPNwMAIARBEGoiCCANNwMAIARBGGoiBiAMNwMAIARBIGoiAyAONwMAIAQgBCkDgAEiDDcDKCAEIAw3AwAgAS0AMCECIAEgASgCAEEBazYCACAEQZwCaiADKQMANwIAIARBlAJqIAYpAwA3AgAgBEGMAmogCCkDADcCACAEQYQCaiAKKQMANwIAQQAhA0HJg8EALQAAGiAEIAQpAwA3AvwBQThBCBC4AiIBRQ0FIAFBADYCACABIAQpAvgBNwIEIAEgAjoAMCABQQxqIARBgAJqKQIANwIAIAFBFGogBEGIAmopAgA3AgAgAUEcaiAEQZACaikCADcCACABQSRqIARBmAJqKQIANwIAIAFBLGogBEGgAmooAgA2AgBBAAwCCyAEQdgBaiAEQYgCaikDACINNwMAIARB4AFqIARBkAJqKQMAIgw3AwAgBEEIaiANNwMAIARBEGogDDcDACAEIAQpA4ACIgw3A9ABIAQgDDcDACAEKAL8ASEDCyABIAEoAgBBAWs2AgAgBEGEAWogBEEIaikDADcCACAEQYwBaiAEQRBqKQMANwIAIAQgAzYCeCAEIAQpAwA3AnxBASEDQQAhASAEQfgAahCbAQshAiAAIAM2AgggACACNgIEIAAgATYCACAEQfACaiQADwsQ5wIACxDoAgALQQhBOBDtAgALQeSYwABBNyAEQe8CakGcmcAAQfiZwAAQygEAC60JAgJ/B34jAEGQAWsiAiQAAkACQAJAAkACQCABKQMYIgZCAFkEQCABKQMAIQcgASkDCCEEIAEpAxAhBSACIAY3A2AgAiAFNwNYIAIgBDcDUCACIAc3A0ggAkGAAWpCADcDACACQfgAakIANwMAIAJB8ABqQgA3AwAgAkIANwNoIAJByABqIAJB6ABqEM0BQf8BcUH/AUcNAQsgAUHQpsAAQSAQ8wJFDQIgASkDECEFIAEpAwghBCABKQMAIQcgBkIAUw0BCyACIAY3A2AgAiAFNwNYIAIgBDcDUCACIAc3A0ggAkGAAWpCADcDACACQfgAakIANwMAIAJB8ABqQgA3AwAgAkIANwNoIAJByABqIAJB6ABqEM0BQf8BcUH/AUYNACACIAU3AzggAiAENwMwIAIgBzcDKAwCCwJ+IAdQBEBCACAEfSEJIARCAFKtDAELIARCf4UhCSAEQgBSrSAEUK18CyEIQgAgBX0hBAJAIAhQBEBCf0IAIAVCAFIbIQUMAQtCf0IAIAVCAFIbIAQgCFStfSEFIAQgCH0hBAsgAiAENwM4IAIgCTcDMCACIAUgBn0iBjcDQCACQgAgB303AyggBkIAWQ0BIAJBATYCbCACQfCowAA2AmggAkIBNwJ0IAIgAkEoaq1CgICAgNABhDcDiAEgAiACQYgBajYCcCACQcgAaiIAIAJB6ABqIgEQjQEgAiAAEL4BNgJoQfCmwABBKyABQZynwABBmKjAABDKAQALIAYgASkDAEIBfCIJIAEpAwgiBUIBfCIHhFAiAyABKQMQIgQgA618IgggBFRxIgGtfCAIIAQgAxshCAJ+IAlQBEBCACAHfSEEIAdCAFKtDAELIAVCf4UhBCAFQgBSrSAFUK18CyEHIAYgARshBUIAIAh9IQYCQCAHUARAQn9CACAIQgBSGyEIDAELQn9CACAIQgBSGyAGIAdUrX0hCCAGIAd9IQYLIAIgBjcDGCACIAQ3AxAgAiAIIAV9Igc3AyAgAkIAIAl9IgU3AwggB0IAWQRAIAJB6ABqQQEQ0AEgBCACKQNwfCIIIARUIQEgAikDeCAFIAUgAikDaHwiCVgEfiABrQUgCEIBfCIIUK0gAa18CyEFIAIpA4ABIQogBnwiBCAGVCEBIAVQBH4gAa0FIAQgBCAFfCIEVq0gAa18CyEGIAcgCnwiBSAHVCEBAkAgBlAEQCAAIAU3AxggACAENwMQIAAgCDcDCCAAIAk3AwAgAUUNBAwBCyAAIAQ3AxAgACAINwMIIAAgCTcDACAAIAUgBnwiBDcDGCABDQAgBCAFWg0DCyACQQA2AlggAkEBNgJMIAJByKbAADYCSCACQgQ3AlAgAkHIAGpBmKbAABD9AQALIAJBATYCbCACQfCowAA2AmggAkIBNwJ0IAIgAkEIaq1CgICAgNABhDcDKCACIAJBKGo2AnAgAkHIAGoiACACQegAaiIBEI0BIAIgABC+ATYCaEHwpsAAQSsgAUGcp8AAQaiowAAQygEACyAAIAIpAyg3AwAgAEEQaiACQThqKQMANwMAIABBCGogAkEwaikDADcDACAAIAY3AxgLIAJBkAFqJAALhAgCAX8TfiMAQaACayIDJAAgA0EIaiABKQMAIg5CACACKQMAIgRCABDJASADQcgAaiABKQMIIglCACAEQgAQyQEgA0HYAGogASkDECIFQgAgBEIAEMkBIANB6ABqIAEpAxgiCkIAIARCABDJASADQRhqIAIpAwgiBEIAIA5CABDJASADQfgAaiAEQgAgCUIAEMkBIANBqAFqIARCACAFQgAQyQEgA0HYAWogBEIAIApCABDJASADQShqIAIpAxAiBEIAIA5CABDJASADQYgBaiAEQgAgCUIAEMkBIANBuAFqIARCACAFQgAQyQEgA0HoAWogBEIAIApCABDJASADQThqIAIpAxgiBEIAIA5CABDJASADQZgBaiAEQgAgCUIAEMkBIANByAFqIARCACAFQgAQyQEgA0H4AWogBEIAIApCABDJASADKQMIIQ4CQAJAAkAgAykDmAEiDyADQUBrKQMAIAMpAzgiByADKQOIASILIANBMGopAwAgAykDKCIFIAMpA3giCiADQSBqKQMAIAMpAxgiCSADKQNIIgggA0EQaikDAHwiBnwiBCAJVK18IgwgAykDWCIQIANB0ABqKQMAIAYgCFStfHwiCHwiBnwiDXwiCSAFVK18IhMgAykDqAEiESADQYABaikDACAKIA1WrXwiDSAGIAxUrXwiBSADKQNoIgYgA0HgAGopAwAgCCAQVK18fCIIfCIMfCIQfCISfCIUfCIKIAdUrXwiFSADKQO4ASIWIANBkAFqKQMAIAsgFFatfCILIBIgE1StfCIHIAMpA9gBIhMgA0GwAWopAwAgECARVK18IhAgBSANVCAFIAxWcq18IgUgA0HwAGopAwAgBiAIVq18fCIIfCIGfCIMfCINfCIRfCISQgBSDQAgAykDyAEiFCADQaABaikDACAPIBJWrXwiEiARIBVUrXwiDyADKQPoASIRIANBwAFqKQMAIA0gFlStfCINIAcgC1QgByAMVnKtfCIHIAYgE1StIANB4AFqKQMAIAUgEFQgBSAIVnKtfHx8Igt8Igh8IgV8IgZCAFINACADKQP4ASIMIANB0AFqKQMAIAYgFFStfCIGIA8gElQgBSAPVHKtfCIFIAggEVStIANB8AFqKQMAIAcgDVQgByALVnKtfHx8Igd8Ig9QDQELIAAgCjcDGCAAIAk3AxAgACAENwMIIAAgDjcDAAwBCyADQYACaikDACAAIAo3AxggACAJNwMQIAAgBDcDCCAAIA43AwAgDCAPVq18QgAgBSAGVCAFIAdWcq19Ug0AIANBoAJqJAAPCyADQQA2ApgCIANBATYCjAIgA0H0zcAANgKIAiADQgQ3ApACIANBiAJqQfzNwAAQ/QEAC40IAhN/AX4CQCABLQBJDQAgASgCNCEDIAEoAjAhBwJAIAECfwJAAkACQAJAAkAgASgCAEUEQCABLQAODQMgAS0ADCEGAkACQAJAIAEoAgQiAkUNACACIANPBEAgAiADRg0BDAILIAIgB2osAABBQEgNAQsgAiADRg0DAn8gAiAHaiIKLAAAIghBAEgEQCAKLQABQT9xIQQgCEEfcSEFIAVBBnQgBHIgCEFgSQ0BGiAKLQACQT9xIARBBnRyIQQgBCAFQQx0ciAIQXBJDQEaIAVBEnRBgIDwAHEgCi0AA0E/cSAEQQZ0cnIMAQsgCEH/AXELIQQgBkH/AXENByAEQYCAxABGDQEgAQJ/QQEgBEGAAUkNABpBAiAEQYAQSQ0AGkEDQQQgBEGAgARJGwsgAmoiAjYCBCACRQ0GAkAgAiADTwRAIAIgA0cNAQwICyACIAdqLAAAQb9/Sg0HC0EBIQYLIAEgBkEBczoADCAHIAMgAiADQeCWwAAQsAIACyABQQE6AAwMAgsgAyABKAIcIgUgASgCPCIJQQFrIhBqIgJLBEAgASgCOCEPIAkgASgCGCIRayEKIAEoAhAhCyABKQMIIRUgASgCJCIIQX9GIQwgCCEEA0ACQAJAIBUgAiAHajEAAIinQQFxRQRAIAEgBSAJaiIFNgIcQQAhAiAMDQIMAQsgCyALIAQgBCALSRsgDBsiBiAJIAYgCUsbIRIgBSAHaiETIAYhAgJAAkACQANAIAIgEkYEQEEAIAQgDBshBiALIQIDQCACIAZNBEAgASAFIAlqIgQ2AhwgCEF/RgRAIAUhAwwSCyABQQA2AiQgBSEDDBELIAJBAWsiAiAJTw0FIAIgBWoiDSADTw0DIAIgD2otAAAgByANai0AAEYNAAsgASAFIBFqIgU2AhwgCiECIAxFDQUMBgsgAiAFaiADTw0CIAIgE2ohFCACIA9qIAJBAWohAi0AACAULQAARg0ACyAFIAtrIAJqIQUgDA0EQQAhAgwDCyANIANBuJbAABDRAQALIAMgBSAGaiIAIAAgA0kbIANByJbAABDRAQALIAIgCUGolsAAENEBAAsgASACNgIkIAIhBAsgBSAQaiICIANJDQALCyABIAM2AhwMAgsgASAGQQFzOgAMIAMhBCAGQf8BcQ0FCyABQQE6AA4LIAFBAToASQJAIAEtAEgEQCABKAJEIQYgASgCQCEEDAELIAEoAkQiBiABKAJAIgRGDQULIAQgB2ohDiAGIARrIQIMBAtBACACIANGDQEaQQEhBiACIAdqLAAAQQBODQALIAIhAyAGQQFzCzoADCADIQQLIAEoAkAhAiABIAQ2AkAgAiAHaiEOIAMgAmshAgsgACACNgIEIAAgDjYCAAuKRAInfwp+IwBBwAFrIgckAAJAAn8CQAJAIAFFBEBBEiEBDAELIAIQDiEBIAIQDyEDIAIQECEZIAJBhAFPBEAgAhAICyAZQf///wdHISkCQAJAAkACfiABBEAgB0HIAGogAUHghsAAEE8gBygCSA0EIAcgBygAcTYCOCAHIAdB9ABqKAAANgA7IActAHAhASAHKQNoIS8gBykDWCEwIAcpA1AhMSAHKQNgIi0gAw0BGkIBISogAQ4CBgIFC0ESIQEgA0UNBEIACyEtIAdByABqIANB4IbAABBPIAcoAkgNASAHIAcoAHE2AkAgByAHQfQAaigAADYAQyAHKQNoISsgBykDYCEsIAcpA1ghKiAHKQNQIS4gBy0AcAwFC0IKISpBASEBDAMLIAcoAkwhASAHKQNQISogBykDWCErIAAgBykDYDcDGCAAICs3AxAgACAqNwMIIAAgATYCBCAAQQE2AgAMBAsgBygCTCEBIAcpA1AhKiAHKQNYISsgACAHKQNgNwMYIAAgKzcDECAAICo3AwggACABNgIEIABBATYCACADQYQBSQ0DIAMQCAwDC0IKISogASECQgEhLANAIAdBGGogKkIBIAJBAXEiAxsgK0IAIAMbICwgLhDJASAHQShqICogKyAqICsQyQEgAkEDSyAHQTBqKQMAISsgB0EgaikDACEuIAcpAyghKiAHKQMYISwgAkEBdiECDQALIAdBCGogLCAuICogKxDJASAHQRBqKQMAISsgBykDCCEqCyAHQaABaiICICs3AwAgByAqNwOYASAHQQE2AkwgB0Hoh8AANgJIIAdCATcCVCAHIAdBmAFqrUKAgICAIIQ3A7gBIAcgB0G4AWo2AlAgB0GsAWogB0HIAGoQjQEgAikDACAHKQOYASErIAcoAqwBIgIEQCAHKAKwASACEMkCCyAwfCIqIDBUIQIgLyAxICsgMXwiLlgEfiACrQUgKkIBfCIqUK0gAq18CyIrQgBSIgIgKyAtfCIsIC1UcSIDrXwgLyADGyErICwgLSACGyEsQRILIQYjAEFAaiICJAACQAJAAkACQEHYg8EAKAIADQAgAkEoakIANwMAIAJBIGpCADcDACACQRhqQgA3AwAgAkIANwMQIAJBCGogAkEQahDdASACKAIIIgMNASACKAIsIQQgAigCKCEFIAIoAiQhCCACKAIgIQkgAigCHCEKIAIoAhghECACKAIUIQsgAigCECEOQZzOwAAQ4gEhDEGgzsAAEOIBIQ1ByYPBAC0AABpB2AJBCBC4AiIDRQ0CIANCgYCAgBA3AwAgA0EIakEAQYACEPICGiADQQA2AtACIANCgIAENwPIAiADQoCABDcDwAIgAyANNgK8AiADIAw2ArgCIANCADcDsAIgAyAENgKsAiADIAU2AqgCIAMgCDYCpAIgAyAJNgKgAiADIAo2ApwCIAMgEDYCmAIgAyALNgKUAiADIA42ApACIANBwAA2AogCQdiDwQAoAgAhBEHYg8EAIAM2AgAgBEUNACAEIAQoAgBBAWsiAzYCACADDQAgBEEEaiIDIAMoAgBBAWsiAzYCACADDQAgBEHYAhDJAgsgAkFAayQADAILIAIgAigCDDYCNCACIAM2AjAgAkEBNgIUIAJByM7AADYCECACQgE3AhwgAiACQTBqrUKAgICA0BSENwM4IAIgAkE4ajYCGCACQRBqQbjPwAAQ/QEAC0EIQdgCEO0CAAtB2IPBACgCACICIAIoAgBBAWoiAzYCACADRQRAAAsgByACNgKYASAHQewAaiAHKAA7NgAAIAdBlAFqIAcoAEM2AAAgByABOgBoIAcgLzcDYCAHIC03A1ggByAwNwNQIAcgMTcDSCAHIAcoAjg2AGkgByAGOgCQASAHICs3A4gBIAcgLDcDgAEgByAqNwN4IAcgLjcDcCAHIAcoAkA2AJEBIABBCGohASAHQZgBaiECIwBB0ABrIggkACAHQcgAaiIDKQNAISogAykDACErAkACQAJAAn8gAykDGCIsQgBZBEAgKkIAUw0DIAMpAyghLSADKQMwIS4gAykDOCEvIAMpAwghMCADKQMQITEgCCAsNwMYIAggMTcDECAIIDA3AwggCCArNwMAIAggKjcDQCAIIC83AzggCCAuNwMwIAggLTcDKCAIIAhBKGoQzQEMAQsgKkIAWQ0BIAMpAwghLSADKQM4IS8gAykDKCEwIAMpAzAhLiADKQMQITEgCEIAICt9Iis3AwAgCCAtQn+FQgAgLX0iLSArQgBSIgQbNwMIIAggMUJ/hSIrIC1QIARBf3NxIgStfCItICsgBBs3AxAgCCAEICsgLVZxrSAsQn+FfDcDGCAIQgAgMH0iKzcDKCAIIC5Cf4VCACAufSIsICtCAFIiBBs3AzAgCCAvQn+FIisgLFAgBEF/c3EiBK18IiwgKyAEGzcDOCAIIAQgKyAsVnGtICpCf4V8NwNAIAhBKGogCBDNAQtB/wFxIgRB/wFGDQAgBA0BIAMtACAgAy0ASE8NAQsgCEEgaiIEIANBIGopAwA3AwAgCEEYaiIFIANBGGopAwA3AwAgCEEQaiIGIANBEGopAwA3AwAgCEEIaiIJIANBCGopAwA3AwAgCCADKQMANwMAIAhByABqIANBKGoiA0EgaikDADcDACAIQUBrIANBGGopAwA3AwAgCEE4aiADQRBqKQMANwMAIAhBMGogA0EIaikDADcDACAIIAMpAwA3AyhCACEtIwBB4AJrIgMkACADQfABaiAEKQMANwMAIANB6AFqIAUpAwA3AwAgA0HgAWogBikDADcDACADQdgBaiAJKQMANwMAIAMgCCkDADcD0AEgCEEoaiIEKQMQISwgBCkDCCErIAQpAxghLwJAIAQpAwAiLlBFBEAgKyEqDAELQn8hKiArUEUEQCArQgF9ISoMAQtCf0IAICxQGyEtICxCAX0hLAsgA0ESOgDAAiADICw3A7ACIAMgKjcDqAIgAyAtIC98Iis3A7gCIAMgLkIBfSIwNwOgAiADKQPQASEtAkACQAJAAn8gAykD6AEiL0IAWQRAICtCAFMNAyADKQPYASEuIAMpA+ABITEgAyAvNwPAASADIDE3A7gBIAMgLjcDsAEgAyAtNwOoASADICs3AyAgAyAsNwMYIAMgKjcDECADIDA3AwggA0GoAWogA0EIahDNAQwBCyArQgBZDQMgAykD2AEhMCADKQPgASExIANCACAtfSItNwOoASADIDBCf4VCACAwfSIwIC1CAFIiBBs3A7ABIAMgMUJ/hSItIDBQIARBf3NxIgStfCIwIC0gBBs3A7gBIAMgBCAtIDBWca0gL0J/hXw3A8ABIANCASAufSItNwMIIANCACAqfSIuICpCf4UgLVAbNwMQIAMgLEJ/hSIqIC0gLoRQIgStfCIsICogBBs3AxggAyAEICogLFZxrSArQn+FfDcDICADQQhqIANBqAFqEM0BC0H/AXEOAgABAgsgAy0A8AFBEkkNAQsgA0ECNgIMIANBoJ7AADYCCCADQgI3AhQgAyADQaACaq1CgICAgJAChDcDsAEgAyADQdABaq1CgICAgJAChDcDqAEgAyADQagBajYCECADQQhqQZifwAAQ/QEACyADQShqIgkgA0HwAWopAwA3AwAgA0EgaiIKIANB6AFqIhApAwA3AwAgA0EYaiILIANB4AFqIg4pAwA3AwAgA0EQaiIMIANB2AFqIg0pAwA3AwAgA0E4aiADQagCaiIEKQMANwMAIANBQGsgA0GwAmoiBikDADcDACADQcgAaiADQbgCaiIFKQMANwMAIANB0ABqIANBwAJqIg8pAwA3AwAgAyADKQPQATcDCCADIAMpA6ACNwMwIAIoAgAhAiAPIAkpAwA3AwAgBSAKKQMANwMAIAYgCykDADcDACAEIAwpAwA3AwAgAyADKQMINwOgAiADQdgAaiADQTBqIANBoAJqIgkQViAQIANB8ABqKQMANwMAIA4gA0HoAGopAwA3AwAgDSADQeAAaikDADcDACADIAMpA1g3A9ABIAVCADcDACAGQgA3AwAgBEIANwMAIANCADcDoAICQCADQdABaiAJQSAQ8wIEQCACQQhqIQQCQAJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJAAkACQCACKAKIAiIFQcAATwRAIAJBkAJqIQYCQAJAIAIpA8gCIipCAFcNACACKALQAkEASA0AIAIgKkKAAn03A8gCIAYgBBBJDAELIAYgBBCyAQsgBCgCACEaQQEhBgwBCyAEIAVBAnRqKAIAIRogAiAFQQFqIgY2AogCIAVBP0cNASACQZACaiEFAkAgAikDyAIiKkIAVw0AQQAhBiACKALQAkEASA0AIAIgKkKAAn03A8gCIAUgBBBJDAELIAUgBBCyAUEAIQYLIAZBA2ohBSAGQQJyIQkgBCAGQQJ0aiIGKAIAIRsgBkEEaigCACEKDAELIAQgBkECdGooAgAhGyACIAVBAmoiBjYCiAICQCAFQT5PBEAgAkGQAmohBgJAAkAgAikDyAIiKkIAVw0AIAIoAtACQQBIDQAgAiAqQoACfTcDyAIgBiAEEEkMAQsgBiAEELIBCyAEKAIAIQpBASEJDAELIAQgBkECdGooAgAhCiACIAVBA2oiCTYCiAIgBUE9Rw0CIAJBkAJqIQYCQCACKQPIAiIqQgBXDQBBACEJIAIoAtACQQBIDQAgAiAqQoACfTcDyAIgBiAEEEkMAQsgBiAEELIBQQAhCQsgCUEBaiEFCyAEIAlBAnRqKAIAIQkgAiAFNgKIAiAEIAVBAnRqKAIAIRAgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAJQQJ0aigCACEJIAIgBUEEaiILNgKIAgJ/IAZBPkYEQCACQZACaiEGAkACQCACKQPIAiIqQgBXDQAgAigC0AJBAEgNACACICpCgAJ9NwPIAiAGIAQQSQwBCyAGIAQQsgELIAQoAgAhEEEBDAELIAQgC0ECdGooAgAhECACIAVBBWoiBjYCiAIgBUE7SQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAIRwgAiAFNgKIAiAEIAVBAnRqKAIAIQsgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAGQQJ0aigCACEcIAIgBUEGaiIGNgKIAgJ/IAtBPkYEQCACQZACaiAEEP8BIAIoAgghC0EBDAELIAQgBkECdGooAgAhCyACIAVBB2oiDjYCiAIgBUE5SQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAIR0gAiAFNgKIAiAEIAVBAnRqKAIAIQ4gAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAOQQJ0aigCACEdIAIgBUEIaiIMNgKIAgJ/IAZBPkYEQCACQZACaiAEEP8BIAIoAgghDkEBDAELIAQgDEECdGooAgAhDiACIAVBCWoiBjYCiAIgBUE3SQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAIR4gAiAFNgKIAiAEIAVBAnRqKAIAIQwgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAGQQJ0aigCACEeIAIgBUEKaiIGNgKIAgJ/IAxBPkYEQCACQZACaiAEEP8BIAIoAgghDEEBDAELIAQgBkECdGooAgAhDCACIAVBC2oiDTYCiAIgBUE1SQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAIR8gAiAFNgKIAiAEIAVBAnRqKAIAIQ0gAiAFQQFqIgY2AogCIAVBAmoMAQsgBCANQQJ0aigCACEfIAIgBUEMaiIPNgKIAgJ/IAZBPkYEQCACQZACaiAEEP8BIAIoAgghDUEBDAELIAQgD0ECdGooAgAhDSACIAVBDWoiBjYCiAIgBUEzSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISAgAiAFNgKIAiAEIAVBAnRqKAIAIQ8gAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAGQQJ0aigCACEgIAIgBUEOaiIGNgKIAgJ/IA9BPkYEQCACQZACaiAEEP8BIAIoAgghD0EBDAELIAQgBkECdGooAgAhDyACIAVBD2oiETYCiAIgBUExSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISEgAiAFNgKIAiAEIAVBAnRqKAIAIREgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCARQQJ0aigCACEhIAIgBUEQaiISNgKIAgJ/IAZBPkYEQCACQZACaiAEEP8BIAIoAgghEUEBDAELIAQgEkECdGooAgAhESACIAVBEWoiBjYCiAIgBUEvSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISIgAiAFNgKIAiAEIAVBAnRqKAIAIRIgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAGQQJ0aigCACEiIAIgBUESaiIGNgKIAgJ/IBJBPkYEQCACQZACaiAEEP8BIAIoAgghEkEBDAELIAQgBkECdGooAgAhEiACIAVBE2oiFDYCiAIgBUEtSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISMgAiAFNgKIAiAEIAVBAnRqKAIAIRQgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAUQQJ0aigCACEjIAIgBUEUaiITNgKIAgJ/IAZBPkYEQCACQZACaiAEEP8BIAIoAgghFEEBDAELIAQgE0ECdGooAgAhFCACIAVBFWoiBjYCiAIgBUErSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISQgAiAFNgKIAiAEIAVBAnRqKAIAIRMgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAGQQJ0aigCACEkIAIgBUEWaiIGNgKIAgJ/IBNBPkYEQCACQZACaiAEEP8BIAIoAgghE0EBDAELIAQgBkECdGooAgAhEyACIAVBF2oiFTYCiAIgBUEpSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISUgAiAFNgKIAiAEIAVBAnRqKAIAIRUgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAVQQJ0aigCACElIAIgBUEYaiIWNgKIAgJ/IAZBPkYEQCACQZACaiAEEP8BIAIoAgghFUEBDAELIAQgFkECdGooAgAhFSACIAVBGWoiBjYCiAIgBUEnSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISYgAiAFNgKIAiAEIAVBAnRqKAIAIRYgAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAGQQJ0aigCACEmIAIgBUEaaiIGNgKIAgJ/IBZBPkYEQCACQZACaiAEEP8BIAIoAgghFkEBDAELIAQgBkECdGooAgAhFiACIAVBG2oiGDYCiAIgBUElSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAIScgAiAFNgKIAiAEIAVBAnRqKAIAIRggAiAFQQFqIgY2AogCIAVBAmoMAQsgBCAYQQJ0aigCACEnIAIgBUEcaiIXNgKIAgJ/IAZBPkYEQCACQZACaiAEEP8BIAIoAgghGEEBDAELIAQgF0ECdGooAgAhGCACIAVBHWoiBjYCiAIgBUEjSQ0CIAJBkAJqIAQQ/wFBAAsiBkEBagshBSAEIAZBAnRqKAIAISggAiAFNgKIAiAEIAVBAnRqKAIAIRcgAiAFQQFqIgY2AogCDAELIAQgBkECdGooAgAhKCACIAVBHmoiBjYCiAIgF0E+RgRAIAJBkAJqIAQQ/wFBASEGIAJBATYCiAIgAigCCCEXDAELIAQgBkECdGooAgAhFyACIAVBH2oiBjYCiAIgBUEhSQ0AIAJBkAJqIAQQ/wFBACEGCyAEIAZBAnRqKAIAIQQgAiAGQQFqNgKIAiADIBc6AL4CIAMgKDoAvQIgAyAYOgC8AiADICc6ALsCIAMgFjoAugIgAyAmOgC5AiADIBU6ALgCIAMgJToAtwIgAyATOgC2AiADICQ6ALUCIAMgFDoAtAIgAyAjOgCzAiADIBI6ALICIAMgIjoAsQIgAyAROgCwAiADICE6AK8CIAMgDzoArgIgAyAgOgCtAiADIA06AKwCIAMgHzoAqwIgAyAMOgCqAiADIB46AKkCIAMgDjoAqAIgAyAdOgCnAiADIAs6AKYCIAMgHDoApQIgAyAQOgCkAiADIAk6AKMCIAMgCjoAogIgAyAbOgChAiADIBo6AKACIAMgBDoAvwIgA0HQAWoiBCADQaACaiIGIgIpAAAiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDGCAEIAIpAAgiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDECAEIAIpABAiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDCCAEIAIpABgiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDACAGIAQgA0HYAGoQTiADQYgBaiICIANByAJqKQMANwMAIANBkAFqIgkgA0HQAmopAwA3AwAgA0GYAWoiCiADQdgCaikDADcDACADQYgCakGwn8AAKQMANwMAIANBkAJqQbifwAApAwA3AwAgA0GYAmpBwJ/AACkDADcDACADIAMpA8ACIio3A9ABIAMgKjcDgAEgA0ESOgCgASADQaifwAApAwA3A4ACIAYgA0GAAmoQWSADQRI6AMACAkAgA0GAAWoiBSAGEM0BQQFrQf8BcUECSQRAIANBuAJqIANBIGopAwA3AwAgA0GwAmogA0EYaikDADcDACADQagCaiADQRBqKQMANwMAIAMgAykDCDcDoAIgA0GoAWoiCSAGEFkgA0ESOgDIASMAQZABayICJAAgAkFAayAFQRhqIg0pAwA3AwAgAkE4aiAFQRBqIg8pAwA3AwAgAkEwaiAFQQhqIhEpAwA3AwAgAiAFKQMANwMoIAIgAkEoaiIKEF4gAkESOgAgIAJBiAFqIhAgCUEYaiISKQMANwMAIAJBgAFqIgsgCUEQaiIUKQMANwMAIAJB+ABqIg4gCUEIaiITKQMANwMAIAIgCSkDADcDcCAKIAJB8ABqIgwQXiACQRI6AEggAkHoAGoiFSANKQMANwMAIAJB4ABqIg0gDykDADcDACACQdgAaiIPIBEpAwA3AwAgAiAFKQMANwNQIBBCADcDACALQgA3AwAgDkIANwMAIAJCADcDcCACQdAAaiIFIAwQzQEhESAVIBIpAwA3AwAgDSAUKQMANwMAIA8gEykDADcDACACIAkpAwA3A1AgEEIANwMAIAtCADcDACAOQgA3AwAgAkIANwNwAkACQAJAAkACQAJ+AkAgEUH/AXFB/wFGIAUgDBDNAUH/AXFB/wFGc0UEQCACIAoQzQFB/wFxQQFGDQMgAikDECEsIAIpAwghKiACKQM4IS4gAikDMCErIAIpAygiMSACKQMAIjJUDQEgKyAqfSEtICogK1atDAILIAIpAwgiKiACKQMwfCIrICpUIQUgAikDECIsIAIpAzh8IiogLFQhCSACKQMYIiwgLCACKQNAfCIsViEKAkAgAikDACIuIAIpAyh8Ii0gLloEfiAFrQUgK0IBfCIrUK0gBa18CyIuUAR+IAmtBSAqICogLnwiKlatIAmtfAsiLlAEQCAEICw3AxggBCAqNwMQIAQgKzcDCCAEIC03AwAgCg0BDAYLIAQgKjcDECAEICs3AwggBCAtNwMAIAQgLCAufCIqNwMYIAoNACAqICxaDQULIAJBADYCgAEgAkEBNgJ0IAJByKbAADYCcCACQgQ3AnggAkHwAGpBmKbAABD9AQALICsgKkJ/hXwhLSAqICtWrSAqICtRrXwLISsgAikDGCEvIAIpA0AhMCAuICx9ISoCQCArUARAICwgLlatISwMAQsgKiArVK0gLCAuVq18ISwgKiArfSEqCyAwIC99ISsCQCAsUARAIC8gMFgNAQwFCyArICxUIC8gMFZyDQQgKyAsfSErCwwBCyACKQMwISsgAikDCCEsIAIpA0AhLiACKQMYIS8gAikDECIwIAIpAzgiM30hKgJAAn4gAikDACIxIAIpAygiMloEQCAsICt9IS0gKyAsVq0MAQsgLCArQn+FfCEtICsgLFatICsgLFGtfAsiK1AEQCAwIDNUrSEsDAELICogK1StIDAgM1StfCEsICogK30hKgsgLyAufSErAkAgLFAEQCAuIC9YDQEMBAsgKyAsVCAuIC9Wcg0DICsgLH0hKwsLIAQgKzcDGCAEICo3AxAgBCAtNwMIIAQgMSAyfTcDAAsgBEESOgAgIAJBkAFqJAAMAQsgAkEANgKAASACQQE2AnQgAkHMk8AANgJwIAJCBDcCeCACQfAAakHokMAAEP0BAAsgBiAEEIIBIAMoAqACDQEgAykDwAIhKyADKQO4AiEsIAMpA7ACISogAykDqAIhLQwDCyADKQMgISsgAykDGCEtIAMpAxAhLCADKQMIIS4gA0HoAWogCikDADcDACADQeABaiAJKQMANwMAIANB2AFqIAIpAwA3AwAgAyADKQOAATcD0AEgA0GgAmogA0HQAWoQggEgAygCoAJFBEAgLCAsIAMpA7ACfCIqViECIC0gAykDuAIgLXwiLFYhBCADKQPAAiEvIC4gLiADKQOoAnwiLVgEfiACrQUgKkIBfCIqUK0gAq18CyIuUAR+IAStBSAsICwgLnwiLFatIAStfAsiLlAEQCArIC98ISsMBAsgKyAvfCAufCErDAMLIAMgAygCpAI2AtABQdCfwABBKyADQdABakH8n8AAQYygwAAQygEACyADIAMoAqQCNgL8AUHQn8AAQSsgA0H8AWpB/J/AAEGcoMAAEMoBAAsgA0EANgKwAiADQQE2AqQCIANB3KDAADYCoAIgA0IENwKoAiADQaACakHkoMAAEP0BAAsgAUESOgAgIAEgKzcDGCABICw3AxAgASAqNwMIIAEgLTcDACADQeACaiQAIAhB0ABqJAAMAQtBzJvAAEEZQcScwAAQ8AEACyAAQQA2AgAgACAZQRIgKRs6ADAgBygCmAEiACAAKAIAQQFrIgE2AgAgAQ0AIABBBGoiASABKAIAQQFrIgE2AgAgAQ0AIABB2AIQyQILIAdBwAFqJAALswcCB38FfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEG4AWogAiADQf///wdHIAMQawJAIAQoArgBIgNFBEAgBEGsAWogBEHgAWopAwAiCzcCACAEQaQBaiAEQdgBaikDACIMNwIAIARBnAFqIARB0AFqKQMAIg03AgAgBEGUAWogBEHIAWopAwAiDjcCACAEQegAaiAONwMAIARB8ABqIA03AwAgBEH4AGogDDcDACAEQYABaiALNwMAIAQgBCkDwAEiCzcCjAEgBCALNwNgAkAgAUEIaiICIARB4ABqEIMBQf8BcUEBRwRAIARB2ABqIARBiAFqQQRyIgJBIGopAgA3AwAgBEHQAGogAkEYaikCADcDACAEQcgAaiACQRBqKQIANwMAIARBQGsgAkEIaikCADcDACAEIAIpAgA3AzgMAQsgBEHYAGogAkEgaikDADcDACAEQdAAaiACQRhqKQMANwMAIARByABqIAJBEGopAwA3AwAgBEFAayACQQhqKQMANwMAIAQgAikDADcDOAsgBEEUaiAEQUBrKQMAIgs3AgAgBEEcaiAEQcgAaikDACIMNwIAIARBJGogBEHQAGopAwAiDTcCACAEQSxqIARB2ABqKQMAIg43AgAgBCAEKQM4Ig83AgwgAS0AMCEFIAEgASgCAEEBazYCACAEQdwBaiAONwIAIARB1AFqIA03AgAgBEHMAWogDDcCACAEQcQBaiALNwIAQQAhAkHJg8EALQAAGiAEIA83ArwBQThBCBC4AiIBRQ0EIAFBADYCACABIAQpArgBNwIEIAEgBToAMCABQQxqIARBwAFqKQIANwIAIAFBFGogBEHIAWopAgA3AgAgAUEcaiAEQdABaikCADcCACABQSRqIARB2AFqKQIANwIAIAFBLGogBEHgAWooAgA2AgAMAQsgBEGgAWoiAiAEQdQBaigCACIFNgIAIARBmAFqIgYgBEHMAWopAgAiCzcDACAEQZABaiIHIARBxAFqKQIAIgw3AwAgBEEQaiIIIAw3AwAgBEEYaiIJIAs3AwAgBEEgaiIKIAU2AgAgBCAEKQK8ATcDCCABIAEoAgBBAWs2AgAgAiAKKAIANgIAIAYgCSkDADcDACAHIAgpAwA3AwAgBCAEKQMINwOIAUEAIQEgBEGIAWoQmwEhAgsgACADNgIIIAAgAjYCBCAAIAE2AgAgBEHwAWokAA8LEOcCAAsQ6AIAC0EIQTgQ7QIAC/kGAgh/B34jAEGgAWsiAiQAIAJBmAFqIgNCADcDACACQZABaiIGQgA3AwAgAkGIAWoiB0IANwMAIAJCADcDgAECQAJAAkACQAJAAkAgASACQYABahDNAUH/AXFB/wFGBEAgAUGYo8AAQSAQ8wJFDQELIAJB2ABqIAFBGGoiBCkDADcDACACQdAAaiABQRBqIgUpAwA3AwAgAkHIAGogAUEIaiIIKQMANwMAIAIgASkDADcDQCACQfgAaiIJIAQpAwA3AwAgAkHwAGoiBCAFKQMANwMAIAJB6ABqIgUgCCkDADcDACACIAEpAwA3A2AgA0IANwMAIAZCADcDACAHQgA3AwAgAkIANwOAASACQUBrIAJBgAFqEM0BQf8BcUH/AUYNASACQThqIAkpAwA3AwAgAkEwaiAEKQMANwMAIAJBKGogBSkDADcDACACIAIpA2A3AyAMAgsgASkDECINIAEpAwBCAXwiCiABKQMIIgtCAXwiDoQiD1AiA618IhAgDSADGyEMIA4gCyAKUBshCyABKQMYIQ4gD1AgDSAQVnFFBEAgAiAONwOYASACIAw3A5ABIAIgCzcDiAEgAiAKNwOAAQwDCyACIAw3A5ABIAIgCzcDiAEgAiAKNwOAASACIA5CAXwiCjcDmAEgCkIAUg0CDAQLIAJBIGogAkHgAGoQiAELIAAgAikDIDcDACAAQRhqIAJBOGopAwA3AwAgAEEQaiACQTBqKQMANwMAIABBCGogAkEoaikDADcDAAwBCyACIAJBgAFqIgEQiAEgAikDECEKIAIpAxghCyACKQMAIQwgAikDCCENIAFBARDQASANIA0gAikDiAF8Ig1WIQEgAikDkAEhDyAMIAwgAikDgAF8Ig5YBH4gAa0FIA1CAXwiDVCtIAGtfAshDCACKQOYASEQIAogCiAPfCIKViEBIAxQBH4gAa0FIAogCiAMfCIKVq0gAa18CyEMIAsgCyAQfCILViEBAkAgDFAEQCAAIAs3AxggACAKNwMQIAAgDTcDCCAAIA43AwAgAUUNAgwBCyAAIAo3AxAgACANNwMIIAAgDjcDACAAIAsgDHwiCjcDGCABDQAgCiALWg0BCwwBCyACQaABaiQADwsgAkEANgJwIAJBATYCZCACQcimwAA2AmAgAkIENwJoIAJB4ABqQZimwAAQ/QEAC8YGAQh/AkACQCABIABBA2pBfHEiAiAAayIISQ0AIAEgCGsiBkEESQ0AIAZBA3EhB0EAIQECQCAAIAJGIgkNAAJAIAAgAmsiBEF8SwRAQQAhAgwBC0EAIQIDQCABIAAgAmoiAywAAEG/f0pqIANBAWosAABBv39KaiADQQJqLAAAQb9/SmogA0EDaiwAAEG/f0pqIQEgAkEEaiICDQALCyAJDQAgACACaiEDA0AgASADLAAAQb9/SmohASADQQFqIQMgBEEBaiIEDQALCyAAIAhqIQICQCAHRQ0AIAIgBkF8cWoiACwAAEG/f0ohBSAHQQFGDQAgBSAALAABQb9/SmohBSAHQQJGDQAgBSAALAACQb9/SmohBQsgBkECdiEGIAEgBWohBANAIAIhACAGRQ0CQcABIAYgBkHAAU8bIgVBA3EhByAFQQJ0IQhBACEDIAZBBE8EQCAAIAhB8AdxaiEJIAAhAQNAIAEoAgAiAkF/c0EHdiACQQZ2ckGBgoQIcSADaiABKAIEIgJBf3NBB3YgAkEGdnJBgYKECHFqIAEoAggiAkF/c0EHdiACQQZ2ckGBgoQIcWogASgCDCICQX9zQQd2IAJBBnZyQYGChAhxaiEDIAFBEGoiASAJRw0ACwsgBiAFayEGIAAgCGohAiADQQh2Qf+B/AdxIANB/4H8B3FqQYGABGxBEHYgBGohBCAHRQ0ACwJ/IAAgBUH8AXFBAnRqIgAoAgAiAUF/c0EHdiABQQZ2ckGBgoQIcSIBIAdBAUYNABogASAAKAIEIgFBf3NBB3YgAUEGdnJBgYKECHFqIgEgB0ECRg0AGiAAKAIIIgBBf3NBB3YgAEEGdnJBgYKECHEgAWoLIgFBCHZB/4EccSABQf+B/AdxakGBgARsQRB2IARqDwsgAUUEQEEADwsgAUEDcSECAkAgAUEESQRADAELIAFBfHEhBQNAIAQgACADaiIBLAAAQb9/SmogAUEBaiwAAEG/f0pqIAFBAmosAABBv39KaiABQQNqLAAAQb9/SmohBCAFIANBBGoiA0cNAAsLIAJFDQAgACADaiEBA0AgBCABLAAAQb9/SmohBCABQQFqIQEgAkEBayICDQALCyAEC88GAg5/AX4jAEEgayIEJABBASELAkACQAJAIAIoAhQiCkEiIAIoAhgiDigCECIMEQAADQACQCABRQRADAELIAAgAWohDyAAIQUCQANAAkAgBSIJLAAAIgJBAE4EQCAJQQFqIQUgAkH/AXEhBwwBCyAJLQABQT9xIQUgAkEfcSEIIAJBX00EQCAIQQZ0IAVyIQcgCUECaiEFDAELIAktAAJBP3EgBUEGdHIhByAJQQNqIQUgAkFwSQRAIAcgCEEMdHIhBwwBCyAIQRJ0QYCA8ABxIAUtAABBP3EgB0EGdHJyIgdBgIDEAEYNAiAJQQRqIQULIARBBGogB0GBgAQQbAJAAkAgBC0ABEGAAUYNACAELQAPIAQtAA5rQf8BcUEBRg0AIAMgBksNBwJAIANFDQAgASADTQRAIAEgA0YNAQwJCyAAIANqLAAAQUBIDQgLAkAgBkUNACABIAZNBEAgASAGRw0JDAELIAAgBmosAABBv39MDQgLAkACQCAKIAAgA2ogBiADayAOKAIMEQIADQAgBEEYaiINIARBDGooAgA2AgAgBCAEKQIEIhE3AxAgEadB/wFxQYABRgRAQYABIQgDQAJAIAhBgAFHBEAgBC0AGiIDIAQtABtPDQUgBCADQQFqOgAaIANBCk8NByAEQRBqIANqLQAAIQIMAQtBACEIIA1BADYCACAEKAIUIQIgBEIANwMQCyAKIAIgDBEAAEUNAAsMAQtBCiAELQAaIgIgAkEKTRshAyACIAQtABsiCCACIAhLGyENA0AgAiANRg0CIAQgAkEBaiIIOgAaIAIgA0YNBCAEQRBqIAJqIRAgCCECIAogEC0AACAMEQAARQ0ACwsMBgsCf0EBIAdBgAFJDQAaQQIgB0GAEEkNABpBA0EEIAdBgIAESRsLIAZqIQMLIAYgCWsgBWohBiAFIA9HDQEMAgsLIANBCkH8+8AAENEBAAsgA0UEQEEAIQMMAQsgASADTQRAIAEgA0YNAQwDCyAAIANqLAAAQb9/TA0CCyAKIAAgA2ogASADayAOKAIMEQIADQAgCkEiIAwRAAAhCwsgBEEgaiQAIAsPCyAAIAEgAyABQYzrwAAQsAIACyAAIAEgAyAGQZzrwAAQsAIAC/gJAgh/BH4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEHIAEgBUEBajYCACAEQdgAaiABQShqKQMANwMAIARB0ABqIAFBIGopAwA3AwAgBEHIAGogAUEYaikDADcDACAEQUBrIAFBEGopAwA3AwAgBCABKQMINwM4IARBkAFqIAIgA0H///8HRyADEGsCfyAEKAKQAUUEQCAEQYQBaiAEQbgBaiIFKQMAIgw3AgAgBEH8AGogBEGwAWoiCCkDACINNwIAIARB9ABqIARBqAFqIgkpAwAiDjcCACAEQewAaiAEQaABaiIKKQMAIg83AgAgBEHQAWogDzcDACAEQdgBaiAONwMAIARB4AFqIA03AwAgBEHoAWogDDcDACAEIAQpA5gBIgw3AmQgBCAMNwPIASAEQQhqIARByAFqIQtCACENQgAhDiMAQcABayICJAAgAkHQAGogBEE4aiIDQSBqIgYpAwA3AwAgAkHIAGogA0EYaikDADcDACACQUBrIANBEGopAwA3AwAgAkE4aiADQQhqKQMANwMAIAIgAykDADcDMEIBIQwCQAJAAkAgBi0AACIDDgICAQALQgohDEIBIQ8DQCACQRBqIAxCASADQQFxIgYbIA1CACAGGyAPIA4QyQEgAkEgaiAMIA0gDCANEMkBIANBA0sgAkEoaikDACENIAJBGGopAwAhDiACKQMgIQwgAikDECEPIANBAXYhAw0ACyACIA8gDiAMIA0QyQEgAkEIaikDACENIAIpAwAhDAwBC0IKIQwLIAJBiAFqIgMgDTcDACACIAw3A4ABIAJBATYCpAEgAkHoh8AANgKgASACQgE3AqwBIAIgAkGAAWqtQoCAgIAghDcDuAEgAiACQbgBajYCqAEgAkGUAWogAkGgAWoQjQEgAkHwAGpCADcDACACQgA3A2ggAykDACEMIAIpA4ABIQ0gAigClAEiAwRAIAIoApgBIAMQyQILIAJBEjoAeCACIA03A1ggAiAMNwNgIAJBMGogCyACQdgAahBRIAJBwAFqJAAgBEEwaiICIAEtADA6AAAgASABKAIAQQFrNgIAIARBvAFqIAIpAwA3AgAgBEG0AWogBEEoaikDADcCACAEQawBaiAEQSBqKQMANwIAIARBpAFqIARBGGopAwA3AgAgBEGcAWogBEEQaikDADcCAEEAIQdByYPBAC0AABogBCAEKQMINwKUAUE4QQgQuAIiAUUNBCABQQA2AgAgASAEKQKQATcCBCABQQxqIARBmAFqKQIANwIAIAFBFGogCikCADcCACABQRxqIAkpAgA3AgAgAUEkaiAIKQIANwIAIAFBLGogBSkCADcCACABQTRqIARBwAFqKAIANgIAQQAMAQsgBEH4AGoiAiAEQawBaigCACIDNgIAIARB8ABqIgUgBEGkAWopAgAiDDcDACAEQegAaiIIIARBnAFqKQIAIg03AwAgBEEMaiIJIA03AgAgBEEUaiIKIAw3AgAgBEEcaiILIAM2AgAgBCAEKQKUATcCBCABIAEoAgBBAWs2AgAgAiALKAIANgIAIAUgCikCADcDACAIIAkpAgA3AwAgBCAEKQIENwNgQQAhASAEQeAAahCbAQshAiAAIAc2AgggACACNgIEIAAgATYCACAEQfABaiQADwsQ5wIACxDoAgALQQhBOBDtAgALrwYCB38EfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB2ABqIAFBKGopAwA3AwAgBEHQAGogAUEgaikDADcDACAEQcgAaiABQRhqKQMANwMAIARBQGsgAUEQaikDADcDACAEIAEpAwg3AzggBEGQAWogAiADQf///wdHIAMQawJ/IAQoApABRQRAIARBhAFqIARBuAFqIgMpAwAiCzcCACAEQfwAaiAEQbABaiIFKQMAIgw3AgAgBEH0AGogBEGoAWoiBikDACINNwIAIARB7ABqIARBoAFqIgcpAwAiDjcCACAEQdABaiAONwMAIARB2AFqIA03AwAgBEHgAWogDDcDACAEQegBaiALNwMAIAQgBCkDmAEiCzcCZCAEIAs3A8gBIARBCGogBEE4aiAEQcgBahB7IARBMGoiAiABLQAwOgAAIAEgASgCAEEBazYCACAEQbwBaiACKQMANwIAIARBtAFqIARBKGopAwA3AgAgBEGsAWogBEEgaikDADcCACAEQaQBaiAEQRhqKQMANwIAIARBnAFqIARBEGopAwA3AgBBACEIQcmDwQAtAAAaIAQgBCkDCDcClAFBOEEIELgCIgFFDQQgAUEANgIAIAEgBCkCkAE3AgQgAUEMaiAEQZgBaikCADcCACABQRRqIAcpAgA3AgAgAUEcaiAGKQIANwIAIAFBJGogBSkCADcCACABQSxqIAMpAgA3AgAgAUE0aiAEQcABaigCADYCAEEADAELIARB+ABqIgIgBEGsAWooAgAiAzYCACAEQfAAaiIFIARBpAFqKQIAIgs3AwAgBEHoAGoiBiAEQZwBaikCACIMNwMAIARBDGoiByAMNwIAIARBFGoiCSALNwIAIARBHGoiCiADNgIAIAQgBCkClAE3AgQgASABKAIAQQFrNgIAIAIgCigCADYCACAFIAkpAgA3AwAgBiAHKQIANwMAIAQgBCkCBDcDYEEAIQEgBEHgAGoQmwELIQMgACAINgIIIAAgAzYCBCAAIAE2AgAgBEHwAWokAA8LEOcCAAsQ6AIAC0EIQTgQ7QIAC/gJAgh/BH4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEHIAEgBUEBajYCACAEQdgAaiABQShqKQMANwMAIARB0ABqIAFBIGopAwA3AwAgBEHIAGogAUEYaikDADcDACAEQUBrIAFBEGopAwA3AwAgBCABKQMINwM4IARBkAFqIAIgA0H///8HRyADEGsCfyAEKAKQAUUEQCAEQYQBaiAEQbgBaiIFKQMAIgw3AgAgBEH8AGogBEGwAWoiCCkDACINNwIAIARB9ABqIARBqAFqIgkpAwAiDjcCACAEQewAaiAEQaABaiIKKQMAIg83AgAgBEHQAWogDzcDACAEQdgBaiAONwMAIARB4AFqIA03AwAgBEHoAWogDDcDACAEIAQpA5gBIgw3AmQgBCAMNwPIASAEQQhqIARByAFqIQtCACENQgAhDiMAQcABayICJAAgAkHQAGogBEE4aiIDQSBqIgYpAwA3AwAgAkHIAGogA0EYaikDADcDACACQUBrIANBEGopAwA3AwAgAkE4aiADQQhqKQMANwMAIAIgAykDADcDMEIBIQwCQAJAAkAgBi0AACIDDgICAQALQgohDEIBIQ8DQCACQRBqIAxCASADQQFxIgYbIA1CACAGGyAPIA4QyQEgAkEgaiAMIA0gDCANEMkBIANBA0sgAkEoaikDACENIAJBGGopAwAhDiACKQMgIQwgAikDECEPIANBAXYhAw0ACyACIA8gDiAMIA0QyQEgAkEIaikDACENIAIpAwAhDAwBC0IKIQwLIAJBiAFqIgMgDTcDACACIAw3A4ABIAJBATYCpAEgAkHoh8AANgKgASACQgE3AqwBIAIgAkGAAWqtQoCAgIAghDcDuAEgAiACQbgBajYCqAEgAkGUAWogAkGgAWoQjQEgAkHwAGpCADcDACACQgA3A2ggAykDACEMIAIpA4ABIQ0gAigClAEiAwRAIAIoApgBIAMQyQILIAJBEjoAeCACIA03A1ggAiAMNwNgIAJBMGogAkHYAGogCxBRIAJBwAFqJAAgBEEwaiICIAEtADA6AAAgASABKAIAQQFrNgIAIARBvAFqIAIpAwA3AgAgBEG0AWogBEEoaikDADcCACAEQawBaiAEQSBqKQMANwIAIARBpAFqIARBGGopAwA3AgAgBEGcAWogBEEQaikDADcCAEEAIQdByYPBAC0AABogBCAEKQMINwKUAUE4QQgQuAIiAUUNBCABQQA2AgAgASAEKQKQATcCBCABQQxqIARBmAFqKQIANwIAIAFBFGogCikCADcCACABQRxqIAkpAgA3AgAgAUEkaiAIKQIANwIAIAFBLGogBSkCADcCACABQTRqIARBwAFqKAIANgIAQQAMAQsgBEH4AGoiAiAEQawBaigCACIDNgIAIARB8ABqIgUgBEGkAWopAgAiDDcDACAEQegAaiIIIARBnAFqKQIAIg03AwAgBEEMaiIJIA03AgAgBEEUaiIKIAw3AgAgBEEcaiILIAM2AgAgBCAEKQKUATcCBCABIAEoAgBBAWs2AgAgAiALKAIANgIAIAUgCikCADcDACAIIAkpAgA3AwAgBCAEKQIENwNgQQAhASAEQeAAahCbAQshAiAAIAc2AgggACACNgIEIAAgATYCACAEQfABaiQADwsQ5wIACxDoAgALQQhBOBDtAgALrwYCB38EfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB2ABqIAFBKGopAwA3AwAgBEHQAGogAUEgaikDADcDACAEQcgAaiABQRhqKQMANwMAIARBQGsgAUEQaikDADcDACAEIAEpAwg3AzggBEGQAWogAiADQf///wdHIAMQawJ/IAQoApABRQRAIARBhAFqIARBuAFqIgMpAwAiCzcCACAEQfwAaiAEQbABaiIFKQMAIgw3AgAgBEH0AGogBEGoAWoiBikDACINNwIAIARB7ABqIARBoAFqIgcpAwAiDjcCACAEQdABaiAONwMAIARB2AFqIA03AwAgBEHgAWogDDcDACAEQegBaiALNwMAIAQgBCkDmAEiCzcCZCAEIAs3A8gBIARBCGogBEE4aiAEQcgBahB6IARBMGoiAiABLQAwOgAAIAEgASgCAEEBazYCACAEQbwBaiACKQMANwIAIARBtAFqIARBKGopAwA3AgAgBEGsAWogBEEgaikDADcCACAEQaQBaiAEQRhqKQMANwIAIARBnAFqIARBEGopAwA3AgBBACEIQcmDwQAtAAAaIAQgBCkDCDcClAFBOEEIELgCIgFFDQQgAUEANgIAIAEgBCkCkAE3AgQgAUEMaiAEQZgBaikCADcCACABQRRqIAcpAgA3AgAgAUEcaiAGKQIANwIAIAFBJGogBSkCADcCACABQSxqIAMpAgA3AgAgAUE0aiAEQcABaigCADYCAEEADAELIARB+ABqIgIgBEGsAWooAgAiAzYCACAEQfAAaiIFIARBpAFqKQIAIgs3AwAgBEHoAGoiBiAEQZwBaikCACIMNwMAIARBDGoiByAMNwIAIARBFGoiCSALNwIAIARBHGoiCiADNgIAIAQgBCkClAE3AgQgASABKAIAQQFrNgIAIAIgCigCADYCACAFIAkpAgA3AwAgBiAHKQIANwMAIAQgBCkCBDcDYEEAIQEgBEHgAGoQmwELIQMgACAINgIIIAAgAzYCBCAAIAE2AgAgBEHwAWokAA8LEOcCAAsQ6AIAC0EIQTgQ7QIAC5QGAQd/AkAgACgCACIJIAAoAggiBHIEQAJAIARFDQAgASACaiEIAkAgACgCDCIGRQRAIAEhBAwBCyABIQQDQCAEIgMgCEYNAgJ/IANBAWogAywAACIHQQBODQAaIANBAmogB0FgSQ0AGiADQQNqIAdBcEkNABogB0H/AXFBEnRBgIDwAHEgAy0AA0E/cSADLQACQT9xQQZ0IAMtAAFBP3FBDHRycnJBgIDEAEYNAyADQQRqCyIEIAUgA2tqIQUgBkEBayIGDQALCyAEIAhGDQAgBCwAACIDQQBOIANBYElyIANBcElyRQRAIANB/wFxQRJ0QYCA8ABxIAQtAANBP3EgBC0AAkE/cUEGdCAELQABQT9xQQx0cnJyQYCAxABGDQELAkAgBUUNACACIAVNBEAgAiAFRg0BDAILIAEgBWosAABBQEgNAQsgBSECCyAJRQ0BIAAoAgQhBwJAIAJBEE8EQCABIAIQXyEDDAELIAJFBEBBACEDDAELIAJBA3EhBgJAIAJBBEkEQEEAIQNBACEFDAELIAJBDHEhCEEAIQNBACEFA0AgAyABIAVqIgQsAABBv39KaiAEQQFqLAAAQb9/SmogBEECaiwAAEG/f0pqIARBA2osAABBv39KaiEDIAggBUEEaiIFRw0ACwsgBkUNACABIAVqIQQDQCADIAQsAABBv39KaiEDIARBAWohBCAGQQFrIgYNAAsLAkAgAyAHSQRAIAcgA2shBEEAIQMCQAJAAkAgAC0AIEEBaw4CAAECCyAEIQNBACEEDAELIARBAXYhAyAEQQFqQQF2IQQLIANBAWohAyAAKAIQIQYgACgCGCEFIAAoAhQhAANAIANBAWsiA0UNAiAAIAYgBSgCEBEAAEUNAAtBAQ8LDAILQQEhAyAAIAEgAiAFKAIMEQIABH8gAwVBACEDAn8DQCAEIAMgBEYNARogA0EBaiEDIAAgBiAFKAIQEQAARQ0ACyADQQFrCyAESQsPCyAAKAIUIAEgAiAAKAIYKAIMEQIADwsgACgCFCABIAIgACgCGCgCDBECAAuNBwEEfyMAQSBrIgMkACADECY2AgwgAi0AGSEEAkACQAJAAkACQAJAAkACQCACLQAYIgZFDQAgA0H8g8AAQRUQBzYCGCADIAS4EAw2AhwgA0EQaiADQQxqIANBGGogA0EcahDeASADLQAQDQEgAygCHCIFQYQBTwRAIAUQCAsgAygCGCIFQYQBSQ0AIAUQCAsCQCACLQAaQQFxRQ0AIANBpITAAEEVEAc2AhggAyAEIAEgBhtB/wFxuBAMNgIcIANBEGogA0EMaiADQRhqIANBHGoQ3gEgAy0AEA0CIAMoAhwiAUGEAU8EQCABEAgLIAMoAhgiAUGEAUkNACABEAgLAkAgAigCAEGAgICAeEYNACADQbmEwABBDBAHNgIYIAMgAigCBCACKAIIEAc2AhwgA0EQaiADQQxqIANBGGogA0EcahDeASADLQAQDQMgAygCHCIBQYQBTwRAIAEQCAsgAygCGCIBQYQBSQ0AIAEQCAsCQCACLQAbIgRBAkYNACADQdiEwABBCxAHIgE2AhggA0GCAUGDASAEGzYCHCADQRBqIANBDGogA0EYaiADQRxqEN4BIAMtABANBCABQYQBSQ0AIAEQCAsgAigCDEGAgICAeEYNBCADIAIoAhAgAigCFBAHNgIQIANBEGoQ+QIhASADKAIQIgJBhAFPBEAgAhAICyAAIAMoAgw2AgggACABNgIEIABBAjYCAAwGCyAAIAMoAhRBlITAABCVASADKAIcIgBBhAFPBEAgABAICyADKAIYIgBBhAFJDQQgABAIDAQLIAAgAygCFEH8hMAAEJUBIAMoAhwiAEGEAU8EQCAAEAgLIAMoAhgiAEGEAUkNAyAAEAgMAwsgACADKAIUQciEwAAQlQEgAygCHCIAQYQBTwRAIAAQCAsgAygCGCIAQYQBSQ0CIAAQCAwCCyAAIAMoAhRB5ITAABCVASADKAIcIgBBhAFPBEAgABAICyADKAIYIgBBhAFJDQEgABAIDAELQcmDwQAtAAAaQQVBARC4AiIBBEAgAUEEakH4hMAALQAAOgAAIAFB9ITAACgAADYAACADIAFBBRAHNgIQIANBEGoQ+QIhAiADKAIQIgRBhAFPBEAgBBAICyAAIAMoAgw2AgggACACNgIEIABBAjYCACABQQUQyQIMAgtBAUEFEKMCAAsgAygCDCIAQYQBSQ0AIAAQCAsgA0EgaiQAC/MGAgV/AX4jAEGAAmsiAiQAIAJBIGoiBCABQciXwAAQTwJAAkACfwJAIAIoAiBFBEAgAkGYAWogAkEwaiIBKQMANwMAIAJBoAFqIAJBOGoiAykDADcDACACQagBaiACQUBrIgUpAwA3AwAgAiACKQMoNwOQASACLQBIIQYgBCACQZABahBIIAIoAiAEQCACIAIoAiQ2ArQBIAIgAkG0AWoiBTYCuAFBASEBIAJBATYC3AEgAkGImsAANgLYASACQgE3AuQBIAIgAkG4AWqtQoCAgIAwhDcDyAEgAiACQcgBaiIDNgLgASACQbwBaiACQdgBaiIEEI0BIAJBADYC0AEgAkKAgICAEDcCyAEgAkEDOgD4ASACQSA2AugBIAJBADYC9AEgAkHMmMAANgLwASACQQA2AuABIAJBADYC2AEgAiADNgLsAUG8mMAAIAQQyAENBSACQYQBaiACQdABaigCADYCACACQfgAaiIDIAJBxAFqKAIANgIAIAIgAikCyAE3AnwgAiACKQK8ATcDcCAFEKwCIAJBCGogAykDADcDACACQRBqIAJBgAFqKQMANwMAIAIgAikDcCIHNwNQIAIgBzcDAAwCCyACQQhqIgQgASkDADcDACACQRBqIgEgAykDADcDACACQRhqIgMgBSkDADcDACACIAIpAygiBzcDUCACIAc3AwAgAkE8aiADKQMANwIAIAJBNGogASkDADcCACACQSxqIAQpAwA3AgBBACEDQcmDwQAtAAAaIAIgAikDADcCJEE4QQgQuAIiAUUNAyABQQA2AgAgASACKQIgNwIEIAEgBjoAMCABQRI6ACggAUEMaiACQShqKQIANwIAIAFBFGogAkEwaikCADcCACABQRxqIAJBOGopAgA3AgAgAUEkaiACQUBrKAIANgIAQQAMAgsgAkEIaiACQTBqKQMANwMAIAJBEGogAkE4aikDADcDACACIAIpAyg3AwAgAigCJCEBCyACQeQBaiACQQhqKQMANwIAIAJB7AFqIAJBEGopAwA3AgAgAiABNgLYASACIAIpAwA3AtwBQQEhA0EAIQEgAkHYAWoQmwELIQUgACADNgIIIAAgBTYCBCAAIAE2AgAgAkGAAmokAA8LQQhBOBDtAgALQeSYwABBNyACQf8BakGcmcAAQfiZwAAQygEAC5AGAgx/BH4jAEGgAWsiAyQAAkACQAJAIAIpAwBCAFINACACKQMIQgBSDQAgAikDEEIAUg0AIAIpAxhQDQELIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANBKGoiCEIANwMAIANBMGoiCUIANwMAIANBOGoiCkIANwMAIANCATcDACADQgE3AyAgA0HYAGogAkEYaikDADcDACADQdAAaiACQRBqKQMANwMAIANByABqIAJBCGopAwA3AwAgAyACKQMANwNAIANB+ABqIgQgAUEYaikDADcDACADQfAAaiIFIAFBEGopAwA3AwAgA0HoAGoiBiABQQhqKQMANwMAIAMgASkDADcDYCADQSBqIQsgA0HgAGohDANAIAshASAMIQICQANAAkAgAiADQUBrRg0AQX8gAUEIayIBKQMAIg8gAkEIayICKQMAIhJSIA8gElYbQf8BcQ4CAQIACwsgACADQeAAaiADQSBqEFoMAwsCQCADLQBAQQFxRQRAIANBgAFqIANB4ABqIgEgARBaIAQgA0GYAWopAwA3AwAgBSADQZABaikDADcDACAGIANBiAFqKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhEAwBCyADQYABaiINIANB4ABqIgcgA0EgahBaIAogA0GYAWoiASkDADcDACAJIANBkAFqIgIpAwA3AwAgCCADQYgBaiIOKQMANwMAIAMgAykDgAE3AyAgDSAHIAcQWiAEIAEpAwA3AwAgBSACKQMANwMAIAYgDikDADcDACADIAMpA4ABNwNgIAMpA1giD0I/hiADKQNQIhBCAYiEIRIgEEI/hiADKQNIIhFCAYiEIRAgD0L///////////8AgyEPCyARQj+GIAMpA0BCAYiEIREgAyASNwNQIAMgEDcDSCADIBE3A0AgAyAPQgGINwNYDAALAAsgAEIANwMIIABCATcDACAAQRhqQgA3AwAgAEEQakIANwMACyADQaABaiQAC+wGAgZ/Bn4jAEGQAWsiAiQAIAJBiAFqIgMgAUEYaiIEKQMANwMAIAJBgAFqIgUgAUEQaikDADcDACACQfgAaiIGIAFBCGopAwA3AwAgAiABKQMANwNwIAJBCGogAkHwAGoiBxBZQoCAgICAgICAgH8hCSAEKQMAIgpCAFkEQCABKQMAIQggASkDCCEJIAEpAxAhCyACIAo3A2ggAiALNwNgIAIgCTcDWCACIAg3A1AgA0IANwMAIAVCADcDACAGQgA3AwAgAkIANwNwQv///////////wBCgICAgICAgICAfyACQdAAaiAHEM0BQf8BcUH/AUciAxshCUJ/QgAgAxshCAsgAiAJNwNAIAIgCDcDOCACIAg3AzAgAiAINwMoAkACQAJAAkAgAkEIaiACQShqEM0BQf8BcUEBRwRAIApCAFMEQCACKQMgIQggAikDGCEKIAIpAxAhCSACKQMIIQsMAgsgASkDACEIIAEpAwghCSABKQMQIQsgAiAKNwNoIAIgCzcDYCACIAk3A1ggAiAINwNQIAJBiAFqQgA3AwAgAkGAAWpCADcDACACQfgAakIANwMAIAJCADcDcCACQdAAaiACQfAAahDNASACKQMgIQggAikDGCEKIAIpAxAhCSACKQMIIQtB/wFxQf8BRg0BIAhCAFMNAwwCCyACQQI2AnQgAkGEi8AANgJwIAJCATcCfCACIAGtQoCAgIDwAYQ3A1AgAiACQdAAajYCeCACQfAAakGUi8AAEIwBIQEgAEEBNgIAIAAgATYCBAwDC0IAIAl9IgxQQgAgC30iC0IAUiIEQX9zcSIDIApCf4UiCiADrXwiDSAKVHGtIAhCf4V8IghCAFkNASAJQn+FIAwgBBshCSANIAogAxshCgsgAkECNgJ0IAJBzIvAADYCcCACQgE3AnwgAiABrUKAgICA8AGENwNQIAIgAkHQAGo2AnggAkHwAGpB3IvAABCMASEBIAAgCDcDICAAIAo3AxggACAJNwMQIAAgCzcDCCACIAE2AkwgAkHMAGoQrAIgAEEANgIADAELIAJBAjYCdCACQcyLwAA2AnAgAkIBNwJ8IAIgAa1CgICAgPABhDcDUCACIAJB0ABqNgJ4IAAgAkHwAGpB3IvAABCMATYCBCAAQQE2AgALIAJBkAFqJAALjQcCBX8BfiMAQYABayIEJAAgBCACNgIsIAQgATYCKAJAAkACQCADLQAcQQRxRQRAQQEhByAEQQE2AmwgBEHwyMAANgJoIARCATcCdCAEQoCAgICwDiIJIARBKGqthDcDUCAEIARB0ABqNgJwIAMoAhQgAygCGCAEQegAahBzDQMgBEEgaiAEKAIoIAQoAiwoAhgRAQAgBCgCICICRQ0CIAQoAiQhASADKAIUQbTJwABBDCADKAIYKAIMEQIADQMgBEEYaiACIAEoAhgRAQAgCSAEQUBrrYQhCSAEKAIYRQ0BA0ACfyACRQRAQQQhBUEAIQZBAAwBCyAEQRBqIAIgASgCGBEBACAEIAI2AjQgBCAINgIwIAhBAWohCEEIIQUgASEGIAQoAhQhASAEKAIQCyECIARBMGogBWogBjYCACAEKAI0IgZFDQMgBCgCMCEFIAQgBCgCODYCRCAEIAY2AkAgAygCFEHAycAAQQEgAygCGCgCDBECAA0EIARBAToAYCAEIAM2AlwgBCAFNgJUIARBATYCUCAEQQE2AmwgBEHwyMAANgJoIARCATcCdCAEIAk3A0ggBCAEQcgAajYCcCAEQdAAakGwxsAAIARB6ABqEHNFDQALDAMLIAEgAyACKAIMEQAAIQcMAgsDQAJ/IAJFBEAgASEGQQQhBUEAIQFBAAwBCyAEQQhqIAIgASgCGBEBACAEIAI2AjRBCCEFIAQoAgwhBiAEKAIICyECIARBMGogBWogATYCACAEKAI0IgFFDQEgBCAEKAI4NgJEIAQgATYCQCADKAIUQcDJwABBASADKAIYKAIMEQIADQIgBEEBOgBgIAQgAzYCXCAEQQQ2AlggBEHBycAANgJUIARBADYCUCAEQQE2AmwgBEHwyMAANgJoIARCATcCdCAEIAk3A0ggBCAEQcgAajYCcCAEQdAAakGwxsAAIARB6ABqEHMNAiAGIQEMAAsACyAAKAIAIgBFBEBBACEHDAELIAQgADYCSCADKAIUQcXJwABBDCADKAIYKAIMEQIADQAgBEEBOgBgIAQgAzYCXCAEQQQ2AlggBEHBycAANgJUIARBADYCUCAEQQE2AmwgBEHwyMAANgJoIARCATcCdCAEIARByABqrUKAgICAwA6ENwMwIAQgBEEwajYCcCAEQdAAakGwxsAAIARB6ABqEHMNAEEAIQcLIARBgAFqJAAgBwu+BQIIfwN+IwBB0AFrIgQkACABEA0hBSAEQeAAaiIGIAFB4IbAABBPAkAgBCgCYEUEQCADQRIgAhshASAEQdQAaiAEQYgBaikDACIMNwIAIARBEGoiAiAEQfAAaiIDKQMANwMAIARBGGoiByAEQfgAaiIIKQMANwMAIARBIGoiCSAEQYABaiIKKQMANwMAIARBKGoiCyAMNwMAIAQgBCkDaDcDCCAFRSAFQf///wdGckUEQCAEQaABakIANwMAIARBqAFqQgA3AwAgBEIANwOYASAEQgo3A5ABIARByAFqQgA3AwAgBEHAAWpCADcDACAEQgA3A7gBIARBJCABa61C/wGDNwOwASAGIARBkAFqIARBsAFqEEogBEESOgBQIAQgBCkDeDcDSCAEIAQpA3A3A0AgBCAEKQNoNwM4IAQgBCkDYDcDMCAKIAspAwA3AwAgCCAJKQMANwMAIAMgBykDADcDACAEQegAaiACKQMANwMAIAQgBCkDCDcDYCAEQQhqIAYgBEEwahB6CyAEQaABakIANwMAIARBqAFqQgA3AwAgBEIANwOYASAEQgo3A5ABIARByAFqQgA3AwAgBEHAAWpCADcDACAEQgA3A7gBIARBJCABa61C/wGDNwOwASAEQeAAaiAEQZABaiAEQbABahBKIARBEjoAUCAEIAQpA3g3A0ggBCAEKQNwNwNAIAQgBCkDaDcDOCAEIAQpA2A3AzAgAEEIaiAEQQhqIARBMGoQeyAAQQA2AgAgACABOgAwDAELIARByABqIARB/ABqKAIAIgE2AgAgBEFAayAEQfQAaikCACIMNwMAIARBOGogBEHsAGopAgAiDTcDACAEIAQpAmQiDjcDMCAAQRxqIAE2AgAgAEEUaiAMNwIAIABBDGogDTcCACAAIA43AgQgAEEBNgIACyAEQdABaiQAC7ELAQV/IwBBEGsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDigGAQEBAQEBAQECBAEBAwEBAQEBAQEBAQEBAQEBAQEBAQEBCAEBAQEHAAsgAUHcAEYNBAsgAkEBcUUgAUGABklyDQcCfyABQQt0IQJBISEFQSEhBgJAA0AgAiAFQQF2IARqIgVBAnRB3PzAAGooAgBBC3QiB0cEQCAFIAYgAiAHSRsiBiAFQQFqIAQgAiAHSxsiBGshBSAEIAZJDQEMAgsLIAVBAWohBAsCfwJAIARBIE0EQCAEQQJ0IgJB3PzAAGooAgBB1wUhBgJAIARBIEYNACACQeD8wABqIgJFDQAgAigCAEEVdiEGC0EVdiECIAQNAUEADAILIARBIUGs+8AAENEBAAsgBEECdEHY/MAAaigCAEH///8AcQshBAJAAkAgBiACQX9zakUNACABIARrIQdB1wUgAiACQdcFTRshBSAGQQFrIQZBACEEA0AgAiAFRg0CIAQgAkHg/cAAai0AAGoiBCAHSw0BIAYgAkEBaiICRw0ACyAGIQILIAJBAXEMAQsgBUHXBUG8+8AAENEBAAtFDQcgA0EIakEAOgAAIANBADsBBiADQf0AOgAPIAMgAUEPcUH25MAAai0AADoADiADIAFBBHZBD3FB9uTAAGotAAA6AA0gAyABQQh2QQ9xQfbkwABqLQAAOgAMIAMgAUEMdkEPcUH25MAAai0AADoACyADIAFBEHZBD3FB9uTAAGotAAA6AAogAyABQRR2QQ9xQfbkwABqLQAAOgAJIAFBAXJnQQJ2QQJrIgFBC08NCCADQQZqIAFqIgJB+PvAAC8AADsAACACQQJqQfr7wAAtAAA6AAAgACADKQEGNwAAIABBCGogA0EOai8BADsAACAAQQo6AAsgACABOgAKDAsLIABBgAQ7AQogAEIANwECIABB3OgBOwEADAoLIABBgAQ7AQogAEIANwECIABB3OQBOwEADAkLIABBgAQ7AQogAEIANwECIABB3NwBOwEADAgLIABBgAQ7AQogAEIANwECIABB3LgBOwEADAcLIABBgAQ7AQogAEIANwECIABB3OAAOwEADAYLIAJBgAJxRQ0BIABBgAQ7AQogAEIANwECIABB3M4AOwEADAULIAJBgIAEcQ0DCwJ/AkAgAUEgSQ0AAkACf0EBIAFB/wBJDQAaIAFBgIAESQ0BAkAgAUGAgAhPBEAgAUGwxwxrQdC6K0kgAUHLpgxrQQVJciABQZ70C2tB4gtJIAFB3twLa0GiE0lyciABQeHXC2tBD0kgAUGinQtrQQ5JciABQX5xQZ7wCkZycg0EIAFBYHFB4M0KRw0BDAQLIAFBiPDAAEEsQeDwwABBxAFBpPLAAEHCAxCQAQwEC0EAIAFBuu4Ka0EGSQ0AGiABQYCAxABrQfCDdEkLDAILIAFB5vXAAEEoQbb2wABBoAJB1vjAAEGtAhCQAQwBC0EACwRAIAAgATYCBCAAQYABOgAADAQLIANBCGpBADoAACADQQA7AQYgA0H9ADoADyADIAFBD3FB9uTAAGotAAA6AA4gAyABQQR2QQ9xQfbkwABqLQAAOgANIAMgAUEIdkEPcUH25MAAai0AADoADCADIAFBDHZBD3FB9uTAAGotAAA6AAsgAyABQRB2QQ9xQfbkwABqLQAAOgAKIAMgAUEUdkEPcUH25MAAai0AADoACSABQQFyZ0ECdkECayIBQQtPDQEgA0EGaiABaiICQfj7wAAvAAA7AAAgAkECakH6+8AALQAAOgAAIAAgAykBBjcAACAAQQhqIANBDmovAQA7AAAgAEEKOgALIAAgAToACgwDCyABQQpB6PvAABDNAgALIAFBCkHo+8AAEM0CAAsgAEGABDsBCiAAQgA3AQIgAEHcxAA7AQALIANBEGokAAvYBQIGfwV+IwBBwAFrIgQkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQeAAaiACIANB////B0cgAxBrAkAgBCgCYCIDRQRAIARB1ABqIARBiAFqIgUpAwAiCjcCACAEQcwAaiAEQYABaiIHKQMAIgs3AgAgBEHEAGogBEH4AGoiCCkDACIMNwIAIARBPGogBEHwAGoiCSkDACINNwIAIARBoAFqIA03AwAgBEGoAWogDDcDACAEQbABaiALNwMAIARBuAFqIAo3AwAgBCAEKQNoIgo3AjQgBCAKNwOYASAEQSRqIARBmAFqIgYgAUEIaiICIAIgBhCDAUH/AXFBAUYbIgJBIGopAgAiCjcCACAEQRxqIAJBGGopAgAiCzcCACAEQRRqIAJBEGopAgAiDDcCACAEQQxqIAJBCGopAgAiDTcCACAEIAIpAgAiDjcCBCABLQAwIQYgASABKAIAQQFrNgIAIARBhAFqIAo3AgAgBEH8AGogCzcCACAEQfQAaiAMNwIAIARB7ABqIA03AgBBACECQcmDwQAtAAAaIAQgDjcCZEE4QQgQuAIiAUUNBCABQQA2AgAgASAEKQJgNwIEIAEgBjoAMCABQQxqIARB6ABqKQIANwIAIAFBFGogCSkCADcCACABQRxqIAgpAgA3AgAgAUEkaiAHKQIANwIAIAFBLGogBSgCADYCAAwBCyAEQcgAaiIFIARB/ABqKAIAIgI2AgAgBEEIaiAEQewAaikCACIKNwMAIARBEGogBEH0AGopAgAiCzcDACAEQRhqIAI2AgAgBCAEKQJkIgw3AwAgASABKAIAQQFrNgIAIAUgAjYCACAEQUBrIAs3AwAgBEE4aiAKNwMAIAQgDDcDMEEAIQEgBEEwahCbASECCyAAIAM2AgggACACNgIEIAAgATYCACAEQcABaiQADwsQ5wIACxDoAgALQQhBOBDtAgAL3AUBB38CfyABRQRAIAAoAhwhCEEtIQogBUEBagwBC0ErQYCAxAAgACgCHCIIQQFxIgEbIQogASAFagshBgJAIAhBBHFFBEBBACECDAELAkAgA0EQTwRAIAIgAxBfIQEMAQsgA0UEQEEAIQEMAQsgA0EDcSEJAkAgA0EESQRAQQAhAQwBCyADQQxxIQxBACEBA0AgASACIAdqIgssAABBv39KaiALQQFqLAAAQb9/SmogC0ECaiwAAEG/f0pqIAtBA2osAABBv39KaiEBIAwgB0EEaiIHRw0ACwsgCUUNACACIAdqIQcDQCABIAcsAABBv39KaiEBIAdBAWohByAJQQFrIgkNAAsLIAEgBmohBgsCQAJAIAAoAgBFBEBBASEBIAAoAhQiBiAAKAIYIgAgCiACIAMQ8wENAQwCCyAGIAAoAgQiB08EQEEBIQEgACgCFCIGIAAoAhgiACAKIAIgAxDzAQ0BDAILIAhBCHEEQCAAKAIQIQsgAEEwNgIQIAAtACAhDEEBIQEgAEEBOgAgIAAoAhQiCCAAKAIYIgkgCiACIAMQ8wENASAHIAZrQQFqIQECQANAIAFBAWsiAUUNASAIQTAgCSgCEBEAAEUNAAtBAQ8LQQEhASAIIAQgBSAJKAIMEQIADQEgACAMOgAgIAAgCzYCEEEAIQEMAQsgByAGayEGAkACQAJAIAAtACAiAUEBaw4DAAEAAgsgBiEBQQAhBgwBCyAGQQF2IQEgBkEBakEBdiEGCyABQQFqIQEgACgCECEIIAAoAhghByAAKAIUIQACQANAIAFBAWsiAUUNASAAIAggBygCEBEAAEUNAAtBAQ8LQQEhASAAIAcgCiACIAMQ8wENACAAIAQgBSAHKAIMEQIADQBBACEBA0AgASAGRgRAQQAPCyABQQFqIQEgACAIIAcoAhARAABFDQALIAFBAWsgBkkPCyABDwsgBiAEIAUgACgCDBECAAvfBQIKfwF+IwBBgAJrIgIkAAJAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACQfgAaiAAQShqKQMANwMAIAJB8ABqIgMgAEEgaikDADcDACACQegAaiIFIABBGGopAwA3AwAgAkHgAGogAEEQaikDADcDACACIAApAwg3A1ggAkG4AWoiBkIANwMAIAJBwAFqIgdCADcDACACQgA3A7ABIAJCCjcDqAEgAkHIAGpCADcDACACQUBrQgA3AwAgAkIANwM4IAJBJCABa61C/wGDIgw3AzAgAkHIAWoiCCACQagBaiIJIAJBMGoiBBBKIAJBEjoAoAEgAiACKQPgATcDmAEgAiACKQPYATcDkAEgAiACKQPQATcDiAEgAiACKQPIATcDgAEgBCACQdgAaiIKIAJBgAFqIgsQeiAGQgA3AwAgB0IANwMAIAJCADcDsAEgAkIKNwOoASADQgA3AwAgBUIANwMAIAJCADcDYCACIAw3A1ggCCAJIAoQSiACQRI6AKABIAIgAikD4AE3A5gBIAIgAikD2AE3A5ABIAIgAikD0AE3A4gBIAIgAikDyAE3A4ABIAIgBCALEHsgAkEoaiIDIAE6AAAgACAAKAIAQQFrNgIAIAJB9AFqIAMpAwA3AgAgAkHsAWogAkEgaikDADcCACACQeQBaiACQRhqKQMANwIAIAJB3AFqIAJBEGopAwA3AgAgAkHUAWogAkEIaikDADcCAEHJg8EALQAAGiACIAIpAwA3AswBQThBCBC4AiIARQ0CIABBADYCACAAIAIpAsgBNwIEIABBDGogAkHQAWopAgA3AgAgAEEUaiACQdgBaikCADcCACAAQRxqIAJB4AFqKQIANwIAIABBJGogAkHoAWopAgA3AgAgAEEsaiACQfABaikCADcCACAAQTRqIAJB+AFqKAIANgIAIAJBgAJqJAAgAA8LEOcCAAsQ6AIAC0EIQTgQ7QIAC4kGAgV/An4gAigCACIFQRNLBEACQAJ/IABCgICE/qbe4RFaBEAgAiAFQRBrIgU2AgAgASAFaiIDIAAgAEKAgIT+pt7hEYAiAEKAgIT+pt7hEX59IghCgIDpg7HeFoCnQQF0QZbpwABqLwAAOwAAIANBDGogCELkAIAiCULkAIKnQQF0QZbpwABqLwAAOwAAIANBCmogCEKQzgCAQuQAgqdBAXRBlunAAGovAAA7AAAgA0EIaiAIQsCEPYBC5ACCp0EBdEGW6cAAai8AADsAACADQQZqIAhCgMLXL4CnQeQAcEEBdEGW6cAAai8AADsAACADQQRqIAhCgMivoCWAp0HkAHBBAXRBlunAAGovAAA7AAAgA0ECaiAIQoCglKWNHYCnQf//A3FB5ABwQQF0QZbpwABqLwAAOwAAIAggCULkAH59pyEEIANBDmoMAQsgAEKAwtcvVA0BIAEgBUEIayIFaiIGIAAgAEKAwtcvgCIAQoDC1y9+faciA0HAhD1uQQF0QZbpwABqLwAAOwAAIAZBBGogA0HkAG4iBEHkAHBBAXRBlunAAGovAAA7AAAgBkECaiADQZDOAG5B//8DcUHkAHBBAXRBlunAAGovAAA7AAAgAyAEQeQAbGshBCAGQQZqCyAEQQF0QZbpwABqLwAAOwAACwJAIACnIgRBkM4ASQRAIAUhAwwBCyABIAVBBGsiA2ogBCAEQZDOAG4iBEGQzgBsayIHQf//A3FB5ABuIgZBAXRBlunAAGovAAA7AAAgASAFakECayAHIAZB5ABsa0H//wNxQQF0QZbpwABqLwAAOwAACwJAIARB//8DcSIFQeQASQRAIAQhBQwBCyABIANBAmsiA2ogBCAFQeQAbiIFQeQAbGtB//8DcUEBdEGW6cAAai8AADsAAAsgBUH//wNxIgZBCk8EQCABIANBAmsiBGogBkEBdEGW6cAAai8AADsAACACIAQ2AgAPCyABIANBAWsiBGogBUEwcjoAACACIAQ2AgAPC0He6sAAQRxB/OrAABDwAQAL/wUBBX8gAEEIayIBIABBBGsoAgAiA0F4cSIAaiECAkACQAJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQciHwQAoAgBGBEAgAigCBEEDcUEDRw0BQcCHwQAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxCRAQsCQAJAIAIoAgQiA0ECcUUEQCACQcyHwQAoAgBGDQIgAkHIh8EAKAIARg0FIAIgA0F4cSICEJEBIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQciHwQAoAgBHDQFBwIfBACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEKMBQQAhAUHgh8EAQeCHwQAoAgBBAWsiADYCACAADQFBqIXBACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0Hgh8EAQf8fIAEgAUH/H00bNgIADwtBzIfBACABNgIAQcSHwQBBxIfBACgCACAAaiIANgIAIAEgAEEBcjYCBEHIh8EAKAIAIAFGBEBBwIfBAEEANgIAQciHwQBBADYCAAsgAEHYh8EAKAIAIgNNDQBBzIfBACgCACICRQ0AQQAhAQJAQcSHwQAoAgAiBEEpSQ0AQaCFwQAhAANAIAIgACgCACIFTwRAIAUgACgCBGogAksNAgsgACgCCCIADQALC0GohcEAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQeCHwQBB/x8gASABQf8fTRs2AgAgAyAETw0AQdiHwQBBfzYCAAsPCyAAQXhxQbCFwQBqIQICf0G4h8EAKAIAIgNBASAAQQN2dCIAcUUEQEG4h8EAIAAgA3I2AgAgAgwBCyACKAIICyEAIAIgATYCCCAAIAE2AgwgASACNgIMIAEgADYCCA8LQciHwQAgATYCAEHAh8EAQcCHwQAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIAC64FAQh/IwBB0ABrIgMkACADQQA2AhwgA0KAgICAEDcCFCADQcQAaiICIAEQUyADQQE2AiQgA0Hoh8AANgIgIAMgAq1CgICAgBCENwM4IANCATcCLCADIANBOGo2AiggA0EUakGAgMAAIANBIGoQcyECIAMoAkQiBARAIAMoAkggBBDJAgsCQAJAAkAgAkUEQCADKAIYIQUgAygCFCEHIAMoAhwhAiABLQAoIgEEQCABQRJGBEAMBAUMAwsACyAFIQYgAiEEA0ACQAJ/IARBCE8EQCADQQhqQS4gBiAEEJ4BIAMoAgwhASADKAIIDAELQQAhAUEAIAIgCEYNABoDQEEBIAEgBmotAABBLkYNARogBCABQQFqIgFHDQALIAQhAUEAC0EBRw0AAkAgASAIaiIBIAJPDQAgASAFai0AAEEuRw0AIAEhAgwBCyAFIAFBAWoiCGohBiACIAhrIQQgAiAITw0BCwsCQAJAIAJFBEBBASEBDAELQQAhBCACQQBIDQFByYPBAC0AABpBASEEIAJBARC4AiIBRQ0BCyABIAUgAhDxAiEBIAAgAjYCCCAAIAE2AgQgACACNgIAIAdFDQQgBSAHEMkCDAQLIAQgAhCjAgALQZiAwABBNyADQSBqQdCAwABBrIHAABDKAQALIAJBEiABa0H/AXEiBmshAUEBIQQCQAJAIAIgBkcEQCABIAJPDQEgASAFaiwAAEG/f0wNAUEAIQYgAUEASA0CQcmDwQAtAAAaQQEhBiABQQEQuAIiBEUNAgsgBCAFIAEQ8QIhAiAAIAE2AgggACACNgIEIAAgATYCACAHRQ0DIAUgBxDJAgwDCyAFIAJBACABQcSHwAAQsAIACyAGIAEQowIACyAAIAI2AgggACAFNgIEIAAgBzYCAAsgA0HQAGokAAvuBAEKfyMAQTBrIgMkACADQQM6ACwgA0EgNgIcIANBADYCKCADIAE2AiQgAyAANgIgIANBADYCFCADQQA2AgwCfwJAAkACQCACKAIQIgpFBEAgAigCDCIARQ0BIAIoAgghASAAQQN0IQUgAEEBa0H/////AXFBAWohByACKAIAIQADQCAAQQRqKAIAIgQEQCADKAIgIAAoAgAgBCADKAIkKAIMEQIADQQLIAEoAgAgA0EMaiABKAIEEQAADQMgAUEIaiEBIABBCGohACAFQQhrIgUNAAsMAQsgAigCFCIARQ0AIABBBXQhCyAAQQFrQf///z9xQQFqIQcgAigCCCEIIAIoAgAhAANAIABBBGooAgAiAQRAIAMoAiAgACgCACABIAMoAiQoAgwRAgANAwsgAyAFIApqIgFBEGooAgA2AhwgAyABQRxqLQAAOgAsIAMgAUEYaigCADYCKCABQQxqKAIAIQRBACEJQQAhBgJAAkACQCABQQhqKAIAQQFrDgIAAgELIARBA3QgCGoiDCgCBA0BIAwoAgAhBAtBASEGCyADIAQ2AhAgAyAGNgIMIAFBBGooAgAhBAJAAkACQCABKAIAQQFrDgIAAgELIARBA3QgCGoiBigCBA0BIAYoAgAhBAtBASEJCyADIAQ2AhggAyAJNgIUIAggAUEUaigCAEEDdGoiASgCACADQQxqIAEoAgQRAAANAiAAQQhqIQAgCyAFQSBqIgVHDQALCyAHIAIoAgRPDQEgAygCICACKAIAIAdBA3RqIgAoAgAgACgCBCADKAIkKAIMEQIARQ0BC0EBDAELQQALIANBMGokAAuRBAELfyABQQFrIQ0gACgCBCEKIAAoAgAhCyAAKAIIIQwDQAJAAkAgAiADSQ0AA0AgASADaiEFAkACQCACIANrIgdBCE8EQAJAIAVBA2pBfHEiBiAFayIEBEBBACEAA0AgACAFai0AAEEKRg0FIAQgAEEBaiIARw0ACyAEIAdBCGsiAE0NAQwDCyAHQQhrIQALA0AgBkEEaigCACIJQYqUqNAAc0GBgoQIayAJQX9zcSAGKAIAIglBipSo0ABzQYGChAhrIAlBf3NxckGAgYKEeHENAiAGQQhqIQYgBEEIaiIEIABNDQALDAELIAIgA0YEQCACIQMMBAtBACEAA0AgACAFai0AAEEKRg0CIAcgAEEBaiIARw0ACyACIQMMAwsgBCAHRgRAIAIhAwwDCwNAIAQgBWotAABBCkYEQCAEIQAMAgsgByAEQQFqIgRHDQALIAIhAwwCCyAAIANqIgZBAWohAwJAIAIgBk0NACAAIAVqLQAAQQpHDQBBACEFIAMhBiADIQAMAwsgAiADTw0ACwtBASEFIAIiACAIIgZHDQBBAA8LAkAgDC0AAEUNACALQdTowABBBCAKKAIMEQIARQ0AQQEPC0EAIQQgACAIRwRAIAAgDWotAABBCkYhBAsgACAIayEAIAEgCGohByAMIAQ6AAAgBiEIIAsgByAAIAooAgwRAgAiACAFckUNAAsgAAu1BAEEfyMAQZABayICJAAgAkGAAWogAUEYaikDADcDACACQfgAaiABQRBqKQMANwMAIAJB8ABqIAFBCGopAwA3AwAgAkEBNgIkIAJB6IfAADYCICACQgE3AiwgAiACQegAaiIDrUKAgICA0AGENwNYIAIgASkDADcDaCACIAJB2ABqNgIoIAJBFGogAkEgahCNASACIAIoAhggAigCHBAHIgQ2AmggAkEIaiADEPwBIAIoAgwhASACKAIIIQMgBEGEAU8EQCAEEAgLAkACQCADRQRAIABBAjYCACAAIAE2AgQMAQsgAkEBNgJsIAJBgIjAADYCaCACQgE3AnQgAiACQRRqrUKAgICAEIQ3AyAgAiACQSBqIgQ2AnAgAkHYAGogAkHoAGoiAxCNASACQQA2AiggAkKAgICAEDcCICACQQM6AIgBIAJBIDYCeCACQQA2AoQBIAJB+JDAADYCgAEgAkEANgJwIAJBADYCaCACIAQ2AnxBlIfAACADEMgBDQEgAkFAayIEIAJBKGooAgA2AgAgAkHQAGoiAyACQeAAaigCADYCACACIAIpAiA3AzggAiACKQJYNwNIIAFBhAFPBEAgARAICyAAQQA2AgAgACACKQNINwIEIAAgAikDODcCECAAQQxqIAMoAgA2AgAgAEEYaiAEKAIANgIACyACKAIUIgAEQCACKAIYIAAQyQILIAJBkAFqJAAPC0GQkcAAQTcgAkHIAGpByJHAAEGkksAAEMoBAAuJBAIDfwF+IwBBoAFrIgQkAAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEHoAGogAiADQf///wdHIAMQawJ/AkACQCAEKAJoRQRAIARB3wBqIgIgBEGAAWopAAA3AAAgBEHYAGoiAyAEQfkAaikAADcDACAEQUBrIgUgBEGQAWopAwA3AwAgBEHIAGogBEGYAWopAwA3AwAgBEEpaiADKQMANwAAIARBMGogAikAADcAACAEIAQpAHEiBzcDUCAEIAQpA4gBNwM4IAQgBC0AcDoAICAEIAc3ACEgAUEIaiAEQSBqQSAQ8wIgBS0AACEDIAEtACghBSABIAEoAgBBAWs2AgBBAEcgAyAFR3IhAwwBCyAEQd8AaiICIARBgAFqKQAANwAAIARB2ABqIgMgBEH5AGopAAA3AwAgBEEQaiIFIAMpAwA3AwAgBEEXaiIGIAIpAAA3AAAgBCAEKQBxNwMIIAQtAHAhAyAEKAJsIQIgASABKAIAQQFrNgIAIAJBAkcNAQsgA0H/AXEhAUEAIQNBAAwBCyAEQfUAaiAFKQMANwAAIARB/ABqIAYpAAA3AAAgBCADOgBsIAQgAjYCaCAEIAQpAwg3AG1BASEDQQAhASAEQegAahCbAQshAiAAIAM2AgggACACNgIEIAAgATYCACAEQaABaiQADwsQ5wIACxDoAgALhwQCA38BfiMAQaABayIEJAACQCABBEAgASgCACIFQX9GDQEgASAFQQFqNgIAIARB6ABqIAIgA0H///8HRyADEGsCfwJAAkAgBCgCaEUEQCAEQd8AaiICIARBgAFqKQAANwAAIARB2ABqIgMgBEH5AGopAAA3AwAgBEFAayIFIARBkAFqKQMANwMAIARByABqIARBmAFqKQMANwMAIARBKWogAykDADcAACAEQTBqIAIpAAA3AAAgBCAEKQBxIgc3A1AgBCAEKQOIATcDOCAEIAQtAHA6ACAgBCAHNwAhIAFBCGogBEEgakEgEPMCIAUtAAAhAyABLQAoIQUgASABKAIAQQFrNgIARSADIAVGcSEDDAELIARB3wBqIgIgBEGAAWopAAA3AAAgBEHYAGoiAyAEQfkAaikAADcDACAEQRBqIgUgAykDADcDACAEQRdqIgYgAikAADcAACAEIAQpAHE3AwggBC0AcCEDIAQoAmwhAiABIAEoAgBBAWs2AgAgAkECRw0BCyADQf8BcSEBQQAhA0EADAELIARB9QBqIAUpAwA3AAAgBEH8AGogBikAADcAACAEIAM6AGwgBCACNgJoIAQgBCkDCDcAbUEBIQNBACEBIARB6ABqEJsBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARBoAFqJAAPCxDnAgALEOgCAAvPAwEDfyMAQeABayICJAACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAJByABqIAFBKGopAwA3AwAgAkFAayABQSBqKQMANwMAIAJBOGogAUEYaikDADcDACACQTBqIAFBEGopAwA3AwAgAiABKQMINwMoIAEtADAhAyACQbABakIANwMAIAJBuAFqQgA3AwAgAkIANwOoASACQgo3A6ABIAJB2AFqQgA3AwAgAkHQAWpCADcDACACQgA3A8gBIAJBJCADa61C/wGDNwPAASACQfgAaiIDIAJBoAFqIAJBwAFqEEogAkESOgBwIAIgAikDkAE3A2ggAiACKQOIATcDYCACIAIpA4ABNwNYIAIgAikDeDcDUCADIAJBKGogAkHQAGoQeiACQQxqIAMQdSABIAEoAgBBAWs2AgACfyACKAIMIgRBAkYEQCACKAIQIQNBAAwBCyACQZABaiACQSRqKAIANgIAIAJBiAFqIAJBHGopAgA3AwAgAkGAAWogAkEUaikCADcDACACIAIpAgw3A3hBACEDIAJB+ABqEJsBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJB4AFqJAAPCxDnAgALEOgCAAuZBgIJfwF+IwBBMGsiBSQAIABBDGohCiAFQQhqrUKAgICA4BOEIQwCfwNAIAchAwJAIAIgBk8EQANAIAEgBmohCEEBIQsCfyACIAZrIgdBCE8EQCAFQQogCCAHEJ4BIAUoAgQhBCAFKAIADAELQQAhBEEAIAIgBkYNABoDQEEBIAQgCGotAABBCkYNARogByAEQQFqIgRHDQALIAchBEEACyIIQQFHBEAgAiEGIAgNA0EAIQsgAyEHIAIhBAwDCyAEIAZqIgRBAWohBgJAIAIgBE0NACABIARqLQAAQQpHDQAgBiEHDAMLIAIgBk8NAAsLQQAhCyADIQcgAiEECyAFIAQgA2siBDYCDCAFIAEgA2o2AggCQAJAAkACQCAJRQRAIAAtABANAQwCCyAKKAIAQQoQrwINAiAAQQE6ABAgBSgCDCEECyAERQ0CIAohBCMAQdAAayIDJAACfwJAAkACQCAAKAIAQQFrDgICAQALIAMgAEEEajYCKCADQQE2AjQgA0GMysAANgIwIANCATcCPCADIANBKGqtQoCAgICwFIQ3AxAgAyADQRBqNgI4IAQgA0EwakHoycAAKAIAEQAADAILIAAoAgQgCSAEQdTJwAAgACgCCCgCEBEIAAwBCyADIABBBGo2AgwgCQRAIANBADYCQCADQQE2AjQgA0GwysAANgIwIANCBDcCOCAEIANBMGpB6MnAACgCABEAAAwBCyADIANBDGqtQoCAgIDAFIQ3AyggA0EBNgIkIANBAjYCFCADQZjKwAA2AhAgA0EBNgIcIANBAToATCADQQA2AkggA0IgNwJAIANCgICAgMAANwI4IANBAjYCMCADIANBMGo2AiAgAyADQShqNgIYIAQgA0EQakHoycAAKAIAEQAACyADQdAAaiQADQEgAEEAOgAQCyAKKAIAIQQgBSAMNwMoIAVBATYCFCAFQezJwAA2AhAgBUIBNwIcIARBFGooAgAgBEEYaigCACAFIAVBKGo2AhggBUEQahBzRQ0BC0EBDAILIAlBAWohCSALDQALQQALIAVBMGokAAvJAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQyQEgA0EgaiAGIAcgBiAHEMkBIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQyQEgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0Hoh8AANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIAghDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQjQEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQyQILIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEFIgA0HAAWokAAvJAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQyQEgA0EgaiAGIAcgBiAHEMkBIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQyQEgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0Hoh8AANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIAghDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQjQEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQyQILIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiACIANB2ABqEFIgA0HAAWokAAuKCQIFfwR+IwBB8ABrIgYkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACMAQZACayIFJAAgBUEgaiABQQhqIgdBIGopAwA3AwAgBUEYaiAHQRhqKQMANwMAIAVBEGogB0EQaikDADcDACAFQQhqIAdBCGopAwA3AwAgBSAHKQMANwMAIAVBiAFqIgggAiAEQf///wdHIgIgBBBrAkACQCAFKAKIAUUEQCAFQcwAaiAFQbABaiIJKQMAIgo3AgAgBUHEAGogBUGoAWopAwAiCzcCACAFQTxqIAVBoAFqKQMAIgw3AgAgBUE0aiAFQZgBaikDACINNwIAIAVByAFqIA03AwAgBUHQAWogDDcDACAFQdgBaiALNwMAIAVB4AFqIAo3AwAgBSAFKQOQASIKNwIsIAUgCjcDwAEgCCADIAIgBBBrIAUoAogBDQEgBUH8AGogCSkDACIKNwIAIAVB9ABqIAVBqAFqKQMAIgs3AgAgBUHsAGogBUGgAWopAwAiDDcCACAFQeQAaiAFQZgBaikDACINNwIAIAVB8AFqIA03AwAgBUH4AWogDDcDACAFQYACaiALNwMAIAVBiAJqIAo3AwAgBSAFKQOQASIKNwJcIAUgCjcD6AEgBkEIaiAFIAVBwAFqIAVB6AFqEFIgBkEANgIAIAYgBy0AKDoAMAwCCyAFQUBrIAVBpAFqKAIAIgI2AgAgBUE4aiAFQZwBaikCACIKNwMAIAVBMGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3AyggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCACADQYQBSQ0BIAMQCAwBCyAFQfAAaiAFQaQBaigCACICNgIAIAVB6ABqIAVBnAFqKQIAIgo3AwAgBUHgAGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3A1ggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCAAsgBUGQAmokACABIAEoAgBBAWs2AgACQCAGKAIAIgJFBEAgBkHkAGogBkEwaikDADcCACAGQdwAaiAGQShqKQMANwIAIAZB1ABqIAZBIGopAwA3AgAgBkHMAGogBkEYaikDADcCACAGQcQAaiAGQRBqKQMANwIAIAYgBikDCDcCPEEAIQNByYPBAC0AABpBOEEIELgCIgFFDQQgAUEANgIAIAEgBikCODcCBCABQQxqIAZBQGspAgA3AgAgAUEUaiAGQcgAaikCADcCACABQRxqIAZB0ABqKQIANwIAIAFBJGogBkHYAGopAgA3AgAgAUEsaiAGQeAAaikCADcCACABQTRqIAZB6ABqKAIANgIADAELIAZB0ABqIAZBHGooAgA2AgAgBkHIAGogBkEUaikCADcDACAGQUBrIAZBDGopAgA3AwAgBiAGKQIENwM4QQAhASAGQThqEJsBIQMLIAAgAjYCCCAAIAM2AgQgACABNgIAIAZB8ABqJAAPCxDnAgALEOgCAAtBCEE4EO0CAAuKCQIFfwR+IwBB8ABrIgYkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACMAQZACayIFJAAgBUEgaiABQQhqIgdBIGopAwA3AwAgBUEYaiAHQRhqKQMANwMAIAVBEGogB0EQaikDADcDACAFQQhqIAdBCGopAwA3AwAgBSAHKQMANwMAIAVBiAFqIgggAiAEQf///wdHIgIgBBBrAkACQCAFKAKIAUUEQCAFQcwAaiAFQbABaiIJKQMAIgo3AgAgBUHEAGogBUGoAWopAwAiCzcCACAFQTxqIAVBoAFqKQMAIgw3AgAgBUE0aiAFQZgBaikDACINNwIAIAVByAFqIA03AwAgBUHQAWogDDcDACAFQdgBaiALNwMAIAVB4AFqIAo3AwAgBSAFKQOQASIKNwIsIAUgCjcDwAEgCCADIAIgBBBrIAUoAogBDQEgBUH8AGogCSkDACIKNwIAIAVB9ABqIAVBqAFqKQMAIgs3AgAgBUHsAGogBUGgAWopAwAiDDcCACAFQeQAaiAFQZgBaikDACINNwIAIAVB8AFqIA03AwAgBUH4AWogDDcDACAFQYACaiALNwMAIAVBiAJqIAo3AwAgBSAFKQOQASIKNwJcIAUgCjcD6AEgBkEIaiAFIAVBwAFqIAVB6AFqEFEgBkEANgIAIAYgBy0AKDoAMAwCCyAFQUBrIAVBpAFqKAIAIgI2AgAgBUE4aiAFQZwBaikCACIKNwMAIAVBMGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3AyggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCACADQYQBSQ0BIAMQCAwBCyAFQfAAaiAFQaQBaigCACICNgIAIAVB6ABqIAVBnAFqKQIAIgo3AwAgBUHgAGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3A1ggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCAAsgBUGQAmokACABIAEoAgBBAWs2AgACQCAGKAIAIgJFBEAgBkHkAGogBkEwaikDADcCACAGQdwAaiAGQShqKQMANwIAIAZB1ABqIAZBIGopAwA3AgAgBkHMAGogBkEYaikDADcCACAGQcQAaiAGQRBqKQMANwIAIAYgBikDCDcCPEEAIQNByYPBAC0AABpBOEEIELgCIgFFDQQgAUEANgIAIAEgBikCODcCBCABQQxqIAZBQGspAgA3AgAgAUEUaiAGQcgAaikCADcCACABQRxqIAZB0ABqKQIANwIAIAFBJGogBkHYAGopAgA3AgAgAUEsaiAGQeAAaikCADcCACABQTRqIAZB6ABqKAIANgIADAELIAZB0ABqIAZBHGooAgA2AgAgBkHIAGogBkEUaikCADcDACAGQUBrIAZBDGopAgA3AwAgBiAGKQIENwM4QQAhASAGQThqEJsBIQMLIAAgAjYCCCAAIAM2AgQgACABNgIAIAZB8ABqJAAPCxDnAgALEOgCAAtBCEE4EO0CAAvPCQIIfwR+IwBB8ABrIgYkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACABQQhqIQcjAEHwAWsiBSQAIAVB6ABqIgggAiAEQf///wdHIgIgBBBrAkACQAJAAkAgBSgCaEUEQCAFQSxqIAVBkAFqIgkpAwAiDTcCACAFQSRqIAVBiAFqIgopAwAiDjcCACAFQRxqIAVBgAFqIgspAwAiDzcCACAFQRRqIAVB+ABqIgwpAwAiEDcCACAFQagBaiAQNwMAIAVBsAFqIA83AwAgBUG4AWogDjcDACAFQcABaiANNwMAIAUgBSkDcCINNwIMIAUgDTcDoAEgCCADIAIgBBBrIAUoAmhFDQEgBUHQAGogBUGEAWooAgAiAjYCACAFQcgAaiAFQfwAaikCACINNwMAIAVBQGsgBUH0AGopAgAiDjcDACAFIAUpAmwiDzcDOCAGQRxqIAI2AgAgBkEUaiANNwIAIAZBDGogDjcCACAGIA83AgQgBkEBNgIADAILIAVBIGogBUGEAWooAgAiAjYCACAFQRhqIAVB/ABqKQIAIg03AwAgBUEQaiAFQfQAaikCACIONwMAIAUgBSkCbCIPNwMIIAZBHGogAjYCACAGQRRqIA03AgAgBkEMaiAONwIAIAYgDzcCBCAGQQE2AgAgA0GEAUkNASADEAgMAQsgBUHcAGogCSkDACINNwIAIAVB1ABqIAopAwAiDjcCACAFQcwAaiALKQMAIg83AgAgBUHEAGogDCkDACIQNwIAIAVB0AFqIBA3AwAgBUHYAWogDzcDACAFQeABaiAONwMAIAVB6AFqIA03AwAgBSAFKQNwIg03AjwgBSANNwPIASAFQaABaiICIAVByAFqEIMBQf8BcUEBRg0BIAZBCGohAyAHIAIQgwFB/wFxQf8BRwRAIAVByAFqIgIgByAHIAIQgwFB/wFxQQFGGyECCyAGQQA2AgAgAyACKQMANwMAIAYgBy0AKDoAMCADQSBqIAJBIGopAwA3AwAgA0EYaiACQRhqKQMANwMAIANBEGogAkEQaikDADcDACADQQhqIAJBCGopAwA3AwALIAVB8AFqJAAMAQtBtJLAAEEcQZiTwAAQ8AEACyABIAEoAgBBAWs2AgACQCAGKAIAIgJFBEAgBkHkAGogBkEwaikDADcCACAGQdwAaiAGQShqKQMANwIAIAZB1ABqIAZBIGopAwA3AgAgBkHMAGogBkEYaikDADcCACAGQcQAaiAGQRBqKQMANwIAIAYgBikDCDcCPEEAIQNByYPBAC0AABpBOEEIELgCIgFFDQQgAUEANgIAIAEgBikCODcCBCABQQxqIAZBQGspAgA3AgAgAUEUaiAGQcgAaikCADcCACABQRxqIAZB0ABqKQIANwIAIAFBJGogBkHYAGopAgA3AgAgAUEsaiAGQeAAaikCADcCACABQTRqIAZB6ABqKAIANgIADAELIAZB0ABqIAZBHGooAgA2AgAgBkHIAGogBkEUaikCADcDACAGQUBrIAZBDGopAgA3AwAgBiAGKQIENwM4QQAhASAGQThqEJsBIQMLIAAgAjYCCCAAIAM2AgQgACABNgIAIAZB8ABqJAAPCxDnAgALEOgCAAtBCEE4EO0CAAvEAwICfwZ+IwBBQGoiBCQAAkACQCABBEAgASgCACIFQX9GDQEgASAFQQFqNgIAIARBCGogAiADQf///wdHIAMQawJAIAQoAggiA0UEQCAEKQMgIQkgASkDECIGIAQpAxh8IgggBlQhAiABKQMYIQYgASkDCCIHIAQpAxB8IgsgB1oEfiACrQUgCEIBfCIIUK0gAq18CyEHIAYgBiAJfCIGViECIAQpAyghCSABKQMgIQogB1AEfiACrQUgBiAGIAd8IgZWrSACrXwLIgdQBH4gCSAKfAUgCSAKfCAHfAshByABIAEoAgBBAWs2AgBBACECQcmDwQAtAAAaIAEtADAhBUE4QQgQuAIiAUUNBCABIAU6ADAgAUESOgAoIAEgBzcDICABIAY3AxggASAINwMQIAEgCzcDCCABQQA2AgAMAQsgBCgCDCECIAQpAxAhBiAEKQMYIQcgBCkDICEIIAEgASgCAEEBazYCACAEIAg3AhwgBCAHNwIUIAQgBjcCDCAEIAI2AghBACEBIARBCGoQmwEhAgsgACADNgIIIAAgAjYCBCAAIAE2AgAgBEFAayQADwsQ5wIACxDoAgALQQhBOBDtAgAL2QMCAn8IfiMAQUBqIgQkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQQhqIAIgA0H///8HRyADEGsCQCAEKAIIIgNFBEAgBCkDICEJIAQpAxghBiABKQMYIQogASkDECEHAn4gASkDCCIMIAQpAxAiDVoEQCAHIAZ9IQsgBiAHVq0MAQsgByAGQn+FfCELIAYgB1atIAYgB1GtfAshCCAKIAl9IQYCQCAIUARAQn9CACAJIApWGyEHDAELQn9CACAJIApWGyAGIAhUrX0hByAGIAh9IQYLIAQpAyghCCABKQMgIQkgASABKAIAQQFrNgIAQQAhAkHJg8EALQAAGiABLQAwIQVBOEEIELgCIgFFDQQgASAFOgAwIAFBEjoAKCABIAY3AxggASALNwMQIAFBADYCACABIAwgDX03AwggASAJIAh9IAd8NwMgDAELIAQoAgwhAiAEKQMQIQYgBCkDGCEHIAQpAyAhCCABIAEoAgBBAWs2AgAgBCAINwIcIAQgBzcCFCAEIAY3AgwgBCACNgIIQQAhASAEQQhqEJsBIQILIAAgAzYCCCAAIAI2AgQgACABNgIAIARBQGskAA8LEOcCAAsQ6AIAC0EIQTgQ7QIAC7UDAgt/BX4jAEHQAWsiBCQAIAApAxghDQJAAkAgACkDACIOIAApAwgiD4QgACkDECIQhCANhFBFBEAgBEEAQdAAEPICIgBBzwBqIQUgAEH4AGohAyAAQbABaiEGIABB6ABqIQcDQCAHIA03AwAgAEHgAGogEDcDACAAQdgAaiAPNwMAIAAgDjcDUCADQgA3AwAgA0EIaiIIQgA3AwAgA0EQaiIJQgA3AwAgAEIKNwNwIABBkAFqIgogAEHQAGoiCyAAQfAAaiIMEE4gACAGKQMAIhE3A1AgAkHPAGpBzwBLDQIgAiAFaiARp0EwajoAACAAIA03A2ggACAQNwNgIAAgDzcDWCAAIA43A1AgA0IANwMAIAhCADcDACAJQgA3AwAgAEIKNwNwIAogCyAMEE4gACkDqAEhDSAAKQOQASIOIAApA5gBIg+EIAApA6ABIhCEIA2EUEUEQCACQQFrIQIMAQsLIAFBAUEBQQAgACACakHPAGpBASACaxBuIQAMAgsgASgCFEHUzcAAQQEgASgCGCgCDBECACEADAELQX9B0ABB/M3AABDRAQALIARB0AFqJAAgAAvnAwIEfwF+IwBBkAFrIgIkAAJAIAACfyABKQMYQgBZBEAgACABKQMANwMIIABBIGogAUEYaikDADcDACAAQRhqIAFBEGopAwA3AwAgAEEQaiABQQhqKQMANwMAQQAMAQsgAkHYAGpB6KbAACkDADcDACACQdAAakHgpsAAKQMANwMAIAJByABqQdimwAApAwA3AwAgAkHQpsAAKQMANwNAIAJB+ABqQaiqwAApAwA3AwAgAkHwAGpBoKrAACkDADcDACACQegAaiIDQZiqwAApAwA3AwAgAkGQqsAAKQMANwNgIAJCgICAgNABIgYgAkHgAGqthDcDOCACIAYgAkFAa62ENwMwIAIgAa1CgICAgIAChDcDKCACQQA2AiAgAkEENgIUIAJB8KnAADYCECACQQM2AhwgAiACQShqNgIYIAJBhAFqIgEgAkEQahCNASACQQhqIAFB+KjAABDWASACKAIMIQQgAigCCCEFIAMgAkGMAWooAgA2AgBByYPBAC0AABogAiACKQKEATcDYEEYQQQQuAIiAUUNASABIAU2AgQgAUGwm8AANgIAIAEgAikDYDcCDCABIAQ2AgggAUEUaiADKAIANgIAIAAgATYCBEEBCzYCACACQZABaiQADwtBBEEYEO0CAAu6AwICfwh+IwBBQGoiAiQAIAEpAxghByAAKQMAIQQCQAJ/IAApAxgiBkIAWQRAIAdCAFMEQEEBIQMMAwsgASkDACEFIAEpAwghCCABKQMQIQkgACkDCCEKIAApAxAhCyACIAY3AxggAiALNwMQIAIgCjcDCCACIAQ3AwAgAiAHNwM4IAIgCTcDMCACIAg3AyggAiAFNwMgIAIgAkEgahDNAQwBC0H/ASEDIAdCAFkNASAAKQMIIQUgASkDECEJIAEpAwAhCiABKQMIIQggACkDECELIAJCACAEfSIENwMAIAIgBUJ/hUIAIAV9IgUgBEIAUiIDGzcDCCACIAtCf4UiBCAFUCADQX9zcSIDrXwiBSAEIAMbNwMQIAIgAyAEIAVWca0gBkJ/hXw3AxggAkIAIAp9IgQ3AyAgAiAIQn+FQgAgCH0iBiAEQgBSIgMbNwMoIAIgCUJ/hSIEIAZQIANBf3NxIgOtfCIGIAQgAxs3AzAgAiADIAQgBlZxrSAHQn+FfDcDOCACQSBqIAIQzQELIgNB/wFxDQBBfyAALQAgIgAgAS0AICIBRyAAIAFJGyEDCyACQUBrJAAgAwv7AwECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQEgACADayIAQciHwQAoAgBGBEAgAigCBEEDcUEDRw0BQcCHwQAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQkQELAkACQAJAIAIoAgQiA0ECcUUEQCACQcyHwQAoAgBGDQIgAkHIh8EAKAIARg0DIAIgA0F4cSICEJEBIAAgASACaiIBQQFyNgIEIAAgAWogATYCACAAQciHwQAoAgBHDQFBwIfBACABNgIADwsgAiADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFBgAJPBEAgACABEKMBDwsgAUF4cUGwhcEAaiECAn9BuIfBACgCACIDQQEgAUEDdnQiAXFFBEBBuIfBACABIANyNgIAIAIMAQsgAigCCAshASACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0HMh8EAIAA2AgBBxIfBAEHEh8EAKAIAIAFqIgE2AgAgACABQQFyNgIEIABByIfBACgCAEcNAUHAh8EAQQA2AgBByIfBAEEANgIADwtByIfBACAANgIAQcCHwQBBwIfBACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALC6cDAgF/Bn4jAEHQAGsiAyQAIAACfwJ+AkACQCABRQRAIANBQGtBgIrAACkDADcDACADQThqQfiJwAApAwA3AwAgA0EwakHwicAAKQMANwMAIANB6InAACkDADcDKCADQQhqIgEgA0EoahBZIAIgAUEgEPMCRQRAQoCAgICAgICAgH8hBEIADAQLIANBKGogAhCCASADKAIoDQEgAykDQCEHIAMpAzghBQJ+IAMpAzAiCVAEQCAFQgBSrSEEQgAgBX0MAQsgBUIAUq0gBVCtfCEEIAVCf4ULIQggAykDSCEFQgAgB30hBgJAIARQBEBCf0IAIAdCAFIbIQcMAQtCf0IAIAdCAFIbIAQgBlatfSEHIAYgBH0hBgsgByAFfSEEQgAgCX0MAwsgA0EoaiACEIIBIAMoAihFDQELIAAgAygCLDYCBEEBDAILIAMpA0ghBCADKQNAIQYgAykDOCEIIAMpAzALIQkgAEEANgApIABBEjoAKCAAIAQ3AyAgACAGNwMYIAAgCDcDECAAIAk3AwggAEEsakEANgAAQQALNgIAIANB0ABqJAALqAMCBn4CfyMAQUBqIggkAAJAAkAgAQRAIAEoAgAiCUF/Rg0BIAEgCUEBajYCACABKQMYIQMgASkDECECIAEpAwghBAJAAkAgASkDICIFQgBTDQAgCCAFNwMYIAggAzcDECAIIAI3AwggCCAENwMAIAhBOGpCADcDACAIQTBqQgA3AwAgCEEoakIANwMAIAhCADcDICAIIAhBIGoQzQFB/wFxQf8BRg0AIAIhByADIQIMAQsCfiAEUARAIAJCAFKtIQZCACACfQwBCyACQgBSrSACUK18IQYgAkJ/hQshB0IAIAN9IQICQCAGUARAQn9CACADQgBSGyEDDAELQn9CACADQgBSGyACIAZUrX0hAyACIAZ9IQILQgAgBH0hBCADIAV9IQULIAEgASgCAEEBazYCAEHJg8EALQAAGiABLQAwIQlBOEEIELgCIgFFDQIgASAJOgAwIAFBEjoAKCABIAU3AyAgASACNwMYIAEgBzcDECABIAQ3AwggAUEANgIAIABCADcCBCAAIAE2AgAgCEFAayQADwsQ5wIACxDoAgALQQhBOBDtAgALlgMBA38jAEHwAGsiAiQAAkAgAUUEQCACQQAgAhBcDAELIAJBASABEFwLAkACQCACKAIAIgRFBEAgAkHkAGogAkEwaikDADcCACACQdwAaiACQShqKQMANwIAIAJB1ABqIAJBIGopAwA3AgAgAkHMAGogAkEYaikDADcCACACQcQAaiACQRBqKQMANwIAIAIgAikDCDcCPEHJg8EALQAAGkE4QQgQuAIiAUUNAiABQQA2AgAgASACKQI4NwIEIAFBDGogAkFAaykCADcCACABQRRqIAJByABqKQIANwIAIAFBHGogAkHQAGopAgA3AgAgAUEkaiACQdgAaikCADcCACABQSxqIAJB4ABqKQIANwIAIAFBNGogAkHoAGooAgA2AgAMAQsgAkHQAGogAkEcaigCADYCACACQcgAaiACQRRqKQIANwMAIAJBQGsgAkEMaikCADcDACACIAIpAgQ3AzhBACEBIAJBOGoQmwEhAwsgACAENgIIIAAgAzYCBCAAIAE2AgAgAkHwAGokAA8LQQhBOBDtAgALkQMCAX8GfiMAQUBqIgIkACACQRhqQgA3AwAgAkEQakIANwMAIAJBCGpCADcDACACQgA3AwAgAkE4akIANwMAIAJBMGpCADcDACACQShqQgA3AwAgAkIANwMgIAIgAkEgahDNAUH/AXFB/wFGBEAgASkDCCEDIAEpAxghBkIAIAEpAxAiBH0hBQJAAn4gASkDACIIUARAQgAgA30hByADQgBSrQwBCyADQn+FIQcgA0IAUq0gA1CtfAsiA1AEQCAEQgBSrSEEDAELIAMgBVatIARCAFKtfCEEIAUgA30hBQsgACAFNwMQIAAgBzcDCCAAQgAgCH03AwBCACAGfSEDAkAgBFAEQCAAIAM3AxggBlBFDQEgAkFAayQADwsgACADIAR9NwMYCyACQQA2AjAgAkEBNgIkIAJByKbAADYCICACQgQ3AiggAkEgakGYpsAAEP0BAAsgAkEBNgIkIAJBlKXAADYCICACQgE3AiwgAiABrUKAgICAgAKENwMAIAIgAjYCKCACQSBqQZylwAAQ/QEAC48DAQJ/IwBB8ABrIgMkACADIAEgAkH///8HRyACEGsCQAJAIAMoAgAiBEUEQCADQeQAaiADQTBqKQMANwIAIANB3ABqIANBKGopAwA3AgAgA0HUAGogA0EgaikDADcCACADQcwAaiADQRhqKQMANwIAIANBxABqIANBEGopAwA3AgAgAyADKQMINwI8QQAhAUHJg8EALQAAGkE4QQgQuAIiAkUNAiACQQA2AgAgAiADKQI4NwIEIAJBDGogA0FAaykCADcCACACQRRqIANByABqKQIANwIAIAJBHGogA0HQAGopAgA3AgAgAkEkaiADQdgAaikCADcCACACQSxqIANB4ABqKQIANwIAIAJBNGogA0HoAGooAgA2AgAMAQsgA0HQAGogA0EcaigCADYCACADQcgAaiADQRRqKQIANwMAIANBQGsgA0EMaikCADcDACADIAMpAgQ3AzhBACECIANBOGoQmwEhAQsgACAENgIIIAAgATYCBCAAIAI2AgAgA0HwAGokAA8LQQhBOBDtAgAL1yACDX8IfiMAQfAAayIEJAAgAkH///8HRyEHIwBBkARrIgMkAAJAAkACQAJAAkACQCABIgoQDSIBQf///wdHQQAgARtFBEAgAyACQRIgBxsiDToArwEgA0GgAWogChARIgEQEyADIAMoAqQBQQAgAygCoAEiBxsiAjYCuAEgAyAHQQEgBxsiBzYCtAEgAyACNgKwASABQYMBSwRAIAEQCAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBTQRAIAJBAUcNDyAHLQAAIgFB5QBHDQEMAwsgAkEHSw0BIActAABB5QBGDQIgBy0AAUHlAEYNAgJAIAJBAkYNACAHLQACQeUARg0DIAJBA0YNACAHLQADQeUARg0DIAJBBEYNACAHLQAEQeUARg0DIAJBBUYNACAHLQAFQeUARg0DIAJBBkYNACAHLQAGQeUARg0DCyACQQJPBEBBASEFIAchASACIQYDQCABLQAAQS5GDREgAUEBaiEBIAZBAWsiBg0ACwwPCyAHLQAAIQELQQEhBSABQf8BcUEuRg0ODA0LIANBmAFqQeUAIAcgAhCeAUEBIQUgAygCmAFBAUcNAQsgA0HAAWoiASAHIAJB9ZbAABBUIANBATsBiAIgAyACNgKEAiADQQA2AoACIANBiAFqIAEQWyADKAKMASEOIAMoAogBIQsgA0GAAWogARBbIANB+ABqIQwgAygCgAEiAUEBIAEbIQggAygChAFBACABGyEGQQAhBSMAQSBrIg8kAEEBIQkCQAJAAkACQCAGDgIDAAELQQEhBSAILQAAIgFBK2sOAwIBAgELIAgtAAAhAQsCQAJAAkACQAJAAkACQCABQf8BcUEraw4DAAQBBAsgBkEBayEBIAhBAWohCCAGQQJLDQEgAUUNAgwECyAGQQFrIQEgCEEBaiEIAkAgBkECSwRAIAFFDQNBACEFA0AgBcBBCmwiBsAiBSAGRw0CQQEhCSAILQAAQTBrIgZBCk8EQEEBIQUMCQsgBSAGwGsiBcAgBUcEQEEDIQUMCQsgCEEBaiEIQQAhCSABQQFrIgENAAsMBwsgAUUNAkEBIQUgCC0AAEEwayIBQQpPDQZBACEJQQAgAWshBQwGC0EBIQkgCC0AACEBIwBBIGsiBiQAIAZBIGokAEEDQQEgAUEwa0EKSRshBQwFCyABDQMLQQAhBUEAIQkMAwsgBkEBRwRAIAYhAQwCCwtBASAILQAAQTBrIgEgAUEKTyIJGyEFDAELQQAhBQJAAkACQANAIAgtAABBMGshBiAFwEEKbCIFwCIJIAVHDQMgBkEKTw0BIAkgBsBqIgXAIAVHDQIgCEEBaiEIQQAhCSABQQFrIgENAAsMAwtBASEFQQEhCQwCC0EBIQlBAiEFDAELQQEhCUECQQEgBkEKSRshBQsgDCAFOgABIAwgCToAACAPQSBqJAAgAywAeSEBIAMtAHhFDQEgAyABOgD0AiADIANB9AJqNgKABCADQQE2ApQCIANBiJrAADYCkAIgA0IBNwKcAiADIANBgARqrUKAgICAoAOENwOoAyADIANBqANqIgE2ApgCIANBgANqIANBkAJqIgYQjQEgA0EANgKwAyADQoCAgIAQNwKoAyADQQM6ALACIANBIDYCoAIgA0EANgKsAiADQcyYwAA2AqgCIANBADYCmAIgA0EANgKQAiADIAE2AqQCQfyXwAAgBhDIAUUNAkHkmMAAQTcgA0GPBGpBnJnAAEH4mcAAEMoBAAsgA0GQAWpBLiAHIAIQngEgAygCkAFBAUcNCgwLCyADQZACaiIGIAtBASALGyAOQQAgCxsiBUH2lsAAEFQgA0EBOwHYAiADIAU2AtQCIANBADYC0AIgA0HwAGogBhBbIAMgAygCdEEAIAMoAnAiBRs2AugCIAMgBUEBIAUbNgLkAiADQegAaiAGEFsgAyADKAJsQQAgAygCaCIGGzYC8AIgAyAGQQEgBhs2AuwCIANBAjYCrAMgA0GMmMAANgKoAyADQgI3ArQDIAMgA0HsAmqtQoCAgICwA4Q3A4gDIAMgA0HkAmqtQoCAgICwA4Q3A4ADIAMgA0GAA2oiBjYCsAMgA0H0AmogA0GoA2oiBRCNASADQdADaiADKAL4AiIIIAMoAvwCEI4BIAMtANADRQ0BIAMgAy0A0QM6APsDIAMgA0H7A2o2AvwDIANBATYCrAMgA0Hsq8AANgKoAyADQgE3ArQDIAMgA0H8A2qtQoCAgIDAA4Q3A4ADIAMgBjYCsAMgA0GABGogBRCNASADQQA2AogDIANCgICAgBA3AoADIANBAzoAyAMgA0EgNgK4AyADQQA2AsQDIANBsKrAADYCwAMgA0EANgKwAyADQQA2AqgDIAMgBjYCvANBnJjAACAFEMgBRQ0CQciqwABBNyADQY8EakGAq8AAQdyrwAAQygEACyADQeMDaiADQbADaigCADYAACADIAMpAqgDNwDbAyADIAMpAIEDNwPQAyADIANBiANqKAAANgDXAyADLQCAAyEBIARBGGogA0HfA2opAAA3AAAgBEERaiADQdgDaikDADcAACAEIAMpA9ADNwAJIAQgAToACCAEQoGAgIAQNwMADAcLIAMpA/ADIRMgAykD6AMhFSADKQPgAyEUIAMpA9gDIRYgAygC9AIiBgRAIAggBhDJAgsgASADKALwAiIFwEgNBEEBIQhBASEGIAEgBWsiAUH/AXEOAgMCAQsgAzUCgAMhESADKQOABCEQIAM1AogEIRIgBCADKQKEAzcDGCAEIBIgEUIghoQ3AxAgBCAQNwMIIARCgYCAgBA3AwAgAygC9AIiAUUNBSAIIAEQyQIMBQsgAcAhBUEKIQEDQCABQQEgBUEBcRsgBmwhBiAFQQNLIAEgAWwhASAFQQF2IQUNAAsgASAGbCEGDAELQQohBgsgE0IAUwRAIBRCf4VCACAUfSIQQgAgFn0iFkIAUiIBGyEUIBVCf4UiESAQUCABQX9zcSIBrXwiECARIAEbIRUgASAQIBFUca0gE0J/hXwhEyAGRSEICyADQdgAaiAWQgAgBq0iEkIAEMkBIANByABqIBRCACASQgAQyQEgA0E4aiAVQgAgEkIAEMkBIAMpAzgiFCADQdAAaikDACADKQNIIhAgA0HgAGopAwB8IhEgEFStfHwiECAUVK0gA0FAaykDACASIBN+fHwhEyADKQNYIRIgAyAIBH4gEwUgEUJ/hUIAIBF9IhVCACASfSISQgBSIgEbIREgEEJ/hSIUIBVQIAFBf3NxIgGtfCIVIBQgARshECABIBQgFVZxrSATQn+FfAs3A8ADIAMgEDcDuAMgAyARNwOwAyADIBI3A6gDIANBADYCiAMgA0KAgICAEDcCgAMgA0EDOgDwAyADQSA2AuADIANBADYC7AMgA0GclMAANgLoAyADQQA2AtgDIANBADYC0AMgAyADQYADajYC5AMgA0GoA2ogA0HQA2oQpAENBiADQYgEaiIBIANBiANqKAIANgIAIAMgAykCgAM3A4AEIAIEQCAHIAIQyQILIANBuAFqIAEoAgA2AgAgAyADKQOABDcDsAFBASEFDAQLQgEhEQJAAkACQCAFIAFrIgFB/wFxDgICAQALIAHAIQFCCiERQgEhFwNAIANBGGogEUIBIAFBAXEiBhsgEEIAIAYbIBcgEhDJASADQShqIBEgECARIBAQyQEgAUEDSyADQTBqKQMAIRAgA0EgaikDACESIAMpAyghESADKQMYIRcgAUEBdiEBDQALIANBCGogFyASIBEgEBDJASADQRBqKQMAIRAgAykDCCERDAELQgohEQsgA0GYA2pCADcDACADQgA3A5ADIANBEjoAoAMgAyAQNwOIAyADIBE3A4ADIANBEjoA8AMgAyATNwPoAyADIBU3A+ADIAMgFDcD2AMgAyAWNwPQAyADQagDaiADQdADaiADQYADahB6IAQgAygAyQM2ACkgBEEsaiADQcwDaigAADYAACADKQOoAyERIAMpA7ADIRAgAykDuAMhEiADKQPAAyETIAMtAMgDIQEgBCANOgAwIAQgAToAKCAEIBM3AyAgBCASNwMYIAQgEDcDECAEIBE3AwggBEEANgIADAELIAQgCiAHIAIQawwDCyACBEAgByACEMkCCyAKQYQBSQ0CIAoQCAwCCyADQZACaiIBIApByJfAABBPIAMoApACRQRAIANB3AFqIANBsAJqKQMAIhE3AgAgA0HUAWogA0GoAmopAwAiEDcCACADQcwBaiADQaACaikDACISNwIAIAMgAykDmAIiEzcCxAEgA0HoA2ogETcDACADQeADaiAQNwMAIANB2ANqIBI3AwAgAyATNwPQAyADQQA2AsgBIANCgICAgBA3AsABIANBAzoAsAIgA0EgNgKgAiADQQA2AqwCIANBnJTAADYCqAIgA0EANgKYAiADQQA2ApACIAMgA0HAAWo2AqQCIANB0ANqIAEQpAENAyADQbADaiADQcgBaigCADYCACADIAMpAsABNwOoAyACBEAgByACEMkCCyADQbgBaiADQbADaigCADYCACADIAMpA6gDNwOwAUEAIQUMAQsgA0HYAWogA0GsAmooAgAiATYCACADQdABaiADQaQCaikCACIRNwMAIANByAFqIANBnAJqKQIAIhA3AwAgAyADKQKUAiISNwPAASAEQRxqIAE2AgAgBEEUaiARNwIAIARBDGogEDcCACAEIBI3AgQgBEEBNgIAIAJFDQEgByACEMkCDAELIANBAjYClAIgA0GsmMAANgKQAiADQgI3ApwCIAMgA0GvAWqtQoCAgICgAoQ3A8gBIAMgA0GwAWqtQoCAgIDQA4Q3A8ABIAMgA0HAAWo2ApgCIANB0ANqIANBkAJqEI0BIAMoAtQDIgEgAygC2AMQByECIAMoAtADIgcEQCABIAcQyQILIAQgAkEBIAMtAK8BEGsgAygCsAEiAQRAIAMoArQBIAEQyQILIApBgwFLIAVxRQ0AIAoQCAsgA0GQBGokAAwBC0G0lMAAQTcgA0GPBGpB7JTAAEHIlcAAEMoBAAsCQAJAIAQoAgAiB0UEQCAEQeQAaiAEQTBqKQMANwIAIARB3ABqIARBKGopAwA3AgAgBEHUAGogBEEgaikDADcCACAEQcwAaiAEQRhqKQMANwIAIARBxABqIARBEGopAwA3AgAgBCAEKQMINwI8QQAhAUHJg8EALQAAGkE4QQgQuAIiAkUNAiACQQA2AgAgAiAEKQI4NwIEIAJBDGogBEFAaykCADcCACACQRRqIARByABqKQIANwIAIAJBHGogBEHQAGopAgA3AgAgAkEkaiAEQdgAaikCADcCACACQSxqIARB4ABqKQIANwIAIAJBNGogBEHoAGooAgA2AgAMAQsgBEHQAGogBEEcaigCADYCACAEQcgAaiAEQRRqKQIANwMAIARBQGsgBEEMaikCADcDACAEIAQpAgQ3AzhBACECIARBOGoQmwEhAQsgACAHNgIIIAAgATYCBCAAIAI2AgAgBEHwAGokAA8LQQhBOBDtAgAL6QIBBX8CQEHN/3tBECAAIABBEE0bIgBrIAFNDQAgAEEQIAFBC2pBeHEgAUELSRsiBGpBDGoQTCICRQ0AIAJBCGshAQJAIABBAWsiAyACcUUEQCABIQAMAQsgAkEEayIFKAIAIgZBeHEgAiADakEAIABrcUEIayICIABBACACIAFrQRBNG2oiACABayICayEDIAZBA3EEQCAAIAMgACgCBEEBcXJBAnI2AgQgACADaiIDIAMoAgRBAXI2AgQgBSACIAUoAgBBAXFyQQJyNgIAIAEgAmoiAyADKAIEQQFyNgIEIAEgAhCEAQwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEEIQBCyAAQQhqIQMLIAMLyQMBBH8jAEEwayICJAAgACgCDCEDAkACQAJAAkACQAJAIAAoAgQOAgABAgsgAw0BQQEhAEEAIQMMAgsgAw0AIAAoAgAiACgCBCEDIAAoAgAhAAwBCyACQRRqIAAQjQFB1IPBACgCAEECRwRAENoBCyACQcyDwQAoAgAgAkEUakH0xsAAQdCDwQAoAgAoAhQRBQAgAigCACIDIAEgAigCBCIBKAIgEQEAIAJBKGoiBCACQRxqKAIANgIAQcmDwQAtAAAaIAIgAikCFDcDIEEYQQQQuAIiAARAIAAgATYCCCAAIAM2AgQgAEHIxsAANgIAIAAgAikDIDcCDCAAQRRqIAQoAgA2AgAMAgtBBEEYEO0CAAsgAiADNgIkIAIgADYCIEHUg8EAKAIAQQJHBEAQ2gELIAJBCGpBzIPBACgCACACQSBqQczHwABB0IPBACgCACgCFBEFACACKAIIIgMgASACKAIMIgEoAiARAQBByYPBAC0AABogAigCJCEEIAIoAiAhBUEUQQQQuAIiAEUNASAAIAQ2AhAgACAFNgIMIAAgATYCCCAAIAM2AgQgAEGgx8AANgIACyACQTBqJAAgAA8LQQRBFBDtAgAL/QIBB38jAEEQayIEJAACQAJAAkACQAJAIAEoAgQiAkUNACABKAIAIQcgAkEDcSEFAkAgAkEESQRAQQAhAgwBCyAHQRxqIQMgAkF8cSEIQQAhAgNAIAMoAgAgA0EIaygCACADQRBrKAIAIANBGGsoAgAgAmpqamohAiADQSBqIQMgCCAGQQRqIgZHDQALCyAFBEAgBkEDdCAHakEEaiEDA0AgAygCACACaiECIANBCGohAyAFQQFrIgUNAAsLIAEoAgwEQCACQQBIDQEgBygCBEUgAkEQSXENASACQQF0IQILIAINAQtBASEDQQAhAgwBC0EAIQUgAkEASA0BQcmDwQAtAAAaQQEhBSACQQEQuAIiA0UNAQsgBEEANgIIIAQgAzYCBCAEIAI2AgAgBEHg4cAAIAEQc0UNAUHA4sAAQTMgBEEPakH04sAAQZzjwAAQygEACyAFIAIQowIACyAAIAQpAgA3AgAgAEEIaiAEQQhqKAIANgIAIARBEGokAAvaBQIIfgd/IwBBMGsiDCQAAkAgAkUEQEEAIQIMAQsCQAJAAkACQCABLQAAQStrDgMABAEECyACQQFGDQEgASwAAUG/f0oNASABIAJBASACQcTLwAAQsAIAC0EBIRAgAkEBRg0BIAEsAAFBv39KDQEgASACQQEgAkHUy8AAELACAAsgAUEBaiEBIAJBAWshAgwBCyABQQFqIQEgAkEBayECCyMAQUBqIgskACAMQQhqIg4CfwNAIAJFBEAgDiADNwMgIA4gBDcDGCAOIAU3AxAgDiAGNwMIQQAMAgsCQCABLQAAQTBrIg1B/wFxQQlLBEBBACENDAELIAtBMGogBkIAQgpCABDJASALQSBqIAVCAEIKQgAQyQEgC0EQaiAEQgBCCkIAEMkBIAsgA0IAQgpCABDJASALQQhqKQMAIAtBGGopAwAgC0EoaikDACALQThqKQMAIgQgCykDIHwiBSAEVK18IgMgCykDEHwiBCADVK18IgMgCykDAHwiByADVK18UEUEQEEBIQ0MAQsgAUEBaiEBIAcgCykDMCIDIA2tQv8Bg3wiBiADVCIRIAVCAXwiCFBxIg0gBCANrXwiCSAEVHEiD618IgogByAPGyEDIAkgBCANGyEEQQEhDSAIIAUgERshBSACQQFrIQIgD0UgByAKWHINAQsLIA4gDToAAUEBCzoAACALQUBrJAAgAAJ/AkAgDC0ACEUEQCAMKQMoIQQgDCkDICEDIAwpAxghBSAMKQMQIQYCQCAQRQRAIARCAFkNAQwDC0IAIAV9IgdQQgAgBn0iBkIAUiICQX9zcSIBIANCf4UiAyABrXwiCCADVHGtIARCf4V8IgRCAFkNAiAFQn+FIAcgAhshBSAIIAMgARshAwsgACAENwMgIAAgAzcDGCAAIAU3AxAgACAGNwMIQQAMAgsgACAMLQAJOgABQQEMAQsgAEEBOgABQQELOgAAIAxBMGokAAurAgEBfyMAQfAAayIGJAAgBiABNgIMIAYgADYCCCAGIAM2AhQgBiACNgIQIAZBmOfAADYCGCAGQQI2AhwCQCAEKAIARQRAIAZBAzYCXCAGQdTnwAA2AlggBkIDNwJkIAYgBkEQaq1CgICAgKAbhDcDSCAGIAZBCGqtQoCAgICgG4Q3A0AMAQsgBkEwaiAEQRBqKQIANwMAIAZBKGogBEEIaikCADcDACAGIAQpAgA3AyAgBkEENgJcIAZBiOjAADYCWCAGQgQ3AmQgBiAGQRBqrUKAgICAoBuENwNQIAYgBkEIaq1CgICAgKAbhDcDSCAGIAZBIGqtQoCAgIDAG4Q3A0ALIAYgBkEYaq1CgICAgLAbhDcDOCAGIAZBOGo2AmAgBkHYAGogBRD9AQAL1QIBB39BASEJAkACQCACRQ0AIAEgAkEBdGohCiAAQYD+A3FBCHYhCyAAQf8BcSENA0AgAUECaiEMIAcgAS0AASICaiEIIAsgAS0AACIBRwRAIAEgC0sNAiAIIQcgDCIBIApGDQIMAQsCQAJAIAcgCE0EQCAEIAhJDQEgAyAHaiEBA0AgAkUNAyACQQFrIQIgAS0AACABQQFqIQEgDUcNAAtBACEJDAULIAcgCEH478AAENACAAsgCCAEQfjvwAAQzgIACyAIIQcgDCIBIApHDQALCyAGRQ0AIAUgBmohAyAAQf//A3EhAQNAIAVBAWohAAJAIAUtAAAiAsAiBEEATgRAIAAhBQwBCyAAIANHBEAgBS0AASAEQf8AcUEIdHIhAiAFQQJqIQUMAQtB6O/AABDSAgALIAEgAmsiAUEASA0BIAlBAXMhCSADIAVHDQALCyAJQQFxC/ECAQR/IAAoAgwhAgJAAkAgAUGAAk8EQCAAKAIYIQMCQAJAIAAgAkYEQCAAQRRBECAAKAIUIgIbaigCACIBDQFBACECDAILIAAoAggiASACNgIMIAIgATYCCAwBCyAAQRRqIABBEGogAhshBANAIAQhBSABIgJBFGogAkEQaiACKAIUIgEbIQQgAkEUQRAgARtqKAIAIgENAAsgBUEANgIACyADRQ0CIAAgACgCHEECdEGghMEAaiIBKAIARwRAIANBEEEUIAMoAhAgAEYbaiACNgIAIAJFDQMMAgsgASACNgIAIAINAUG8h8EAQbyHwQAoAgBBfiAAKAIcd3E2AgAMAgsgACgCCCIAIAJHBEAgACACNgIMIAIgADYCCA8LQbiHwQBBuIfBACgCAEF+IAFBA3Z3cTYCAA8LIAIgAzYCGCAAKAIQIgEEQCACIAE2AhAgASACNgIYCyAAKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsL/gICBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRB2+jAAEHY6MAAIAkbQQJBAyAJGyAGKAIYKAIMEQIADQEgBigCFCABIAIgBigCGCgCDBECAA0BIAYoAhRBqOjAAEECIAYoAhgoAgwRAgANASADIAYgBCgCDBEAACEHDAELIAlFBEAgBigCFEHd6MAAQQMgBigCGCgCDBECAA0BIAYoAhwhCAsgBUEBOgAbIAUgBikCFDcCDCAFQbzowAA2AjQgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUgBUEMaiIINgIwIAggASACEHQNACAIQajowABBAhB0DQAgAyAFQRxqIAQoAgwRAAANACAFKAIwQeDowABBAiAFKAI0KAIMEQIAIQcLIABBAToABSAAIAc6AAQgBUFAayQAIAAL6gICBH8BfiMAQUBqIgQkACAEIAI2AhQgBCABNgIQQQEhBSAEQQE2AiQgBEHwyMAANgIgIARCATcCLCAEQoCAgICwDiIIIARBEGqthDcDOCAEIARBOGo2AigCQCADKAIUIgYgAygCGCIHIARBIGoQcw0AQQAhBSADLQAcQQRxRQ0AIAggBEEYaq2EIQggBCgCFCECIAQoAhAhA0EBIQEDQAJAIAUEQCACIQEgAyEAIAMNAUEAIQUMAwtBACEFA0AgA0UNAyAEQQhqIAMgAigCGBEBACAEKAIMIQIgBCgCCCEDIAFBAWsiAQ0ACyACIQEgAyEAIANFDQILIAQgACABKAIYEQEAIAQoAgQhAiAEKAIAIQMgBCABNgIcIAQgADYCGEEBIQUgBEEBNgIkIARB/MjAADYCICAEQgE3AiwgBCAINwM4IAQgBEE4ajYCKEEAIQEgBiAHIARBIGoQc0UNAAsLIARBQGskACAFC/sIAgV/AX4jAEHwAGsiAiQAIAJBCGogARD8ASACKAIMIQQCQAJAIAIoAggEQCACIAQ2AiQgAiACQSRqNgIoIAJBATYCTCACQbCywAA2AkggAkIBNwJUIAIgAkEoaq1CgICAgJAKhDcDOCACIAJBOGoiATYCUCACQSxqIAJByABqIgMQjQEgAkEANgJAIAJCgICAgBA3AjggAkEDOgBoIAJBIDYCWCACQQA2AmQgAkGosMAANgJgIAJBADYCUCACQQA2AkggAiABNgJcQeivwAAgAxDIAQ0CIAJBIGoiASACQUBrKAIANgIAIAIgAikCODcDGCACKAIsIQMgAikCMCEHIARBhAFPBEAgBBAICyAAIAc3AgwgACACKQMYNwIUIAAgAzYCCCAAQoGAgIAQNwMAIABBHGogASgCADYCAAwBCyACIAQ2AhQjAEGgAWsiASQAIAEgAkEUaiIDNgIQIAFBCGogA0EKEPEBIAEoAgwhAwJAAkACQCAAAn8CQCABKAIIRQRAIAFBFGogAxDVASABQSBqIAEoAhgiAyABKAIcEI4BIAEtACANASAAIAEpAyg3AwggAEEgaiABQUBrKQMANwMAIABBGGogAUE4aikDADcDACAAQRBqIAFBMGopAwA3AwBBAAwCCyABIAM2AlwgAUECNgIkIAFB2LLAADYCICABQgI3AiwgASABQdwAaq1CgICAgJALhDcDgAEgASABQRBqrUKAgICAoAuENwN4IAEgAUH4AGoiAzYCKCABQegAaiABQSBqIgUQjQEgAUEANgKAASABQoCAgIAQNwJ4IAFBAzoAQCABQSA2AjAgAUEANgI8IAFBqLDAADYCOCABQQA2AiggAUEANgIgIAEgAzYCNEH4r8AAIAUQyAENAyABQdAAaiIDIAFBgAFqKAIANgIAIAEgASkCeDcDSCABKQJsIQcgASgCaCEFIAEoAlwiBkGEAU8EQCAGEAgLIAAgBzcCDCAAIAU2AgggAEIBNwMAIAAgASkDSDcCFCAAQRxqIAMoAgA2AgAMAgsgASABLQAhOgBbIAFBAjYCfCABQfiywAA2AnggAUICNwKEASABIAFB2wBqrUKAgICAsAuENwNwIAEgAUEQaq1CgICAgKALhDcDaCABIAFB6ABqIgU2AoABIAFB3ABqIAFB+ABqIgYQjQEgAUEANgJwIAFCgICAgBA3AmggAUEDOgCYASABQSA2AogBIAFBADYClAEgAUGosMAANgKQASABQQA2AoABIAFBADYCeCABIAU2AowBQfivwAAgBhDIAQ0CIAAgASkCaDcCFCAAQRxqIAFB8ABqKAIANgIAIABBEGogAUHkAGooAgA2AgAgACABKQJcNwIIIABBADYCBEEBCzYCACABKAIUIgBFDQAgAyAAEMkCCyABQaABaiQADAELQcCwwABBNyABQZ8BakH4sMAAQdSxwAAQygEACyAEQYQBSQ0AIAQQCAsgAkHwAGokAA8LQcCwwABBNyACQe8AakH4sMAAQdSxwAAQygEAC/UCAQR/IwBB4ABrIgMkACADIAEQEwJAIAMoAgAiBUUEQEGAgICAeCEEDAELIAMoAgQhBCADIAU2AhAgAyAENgIUCyADIAQ2AgwgAyADQQxqNgIYIANBATYCPCADQbyvwAA2AjggA0IBNwJEIAMgA0EYaq1CgICAgIAKhDcDKCADIANBKGoiBDYCQCADQRxqIANBOGoiBRCNASADQQA2AjAgA0KAgICAEDcCKCADQQM6AFggA0EgNgJIIANBADYCVCADQeCtwAA2AlAgA0EANgJAIANBADYCOCADIAQ2AkwgAiAFEMgBRQRAIAAgAykCKDcCECAAQRhqIANBMGooAgA2AgAgAEEMaiADQSRqKAIANgIAIAAgAykCHDcCBCAAQQE2AgAgAygCDCIAQYCAgIB4RiAARXJFBEAgAygCECAAEMkCCyABQYQBTwRAIAEQCAsgA0HgAGokAA8LQfitwABBNyADQd8AakGwrsAAQYyvwAAQygEAC+0CAQJ/IwBB4ABrIgQkAAJAAkAgAUUEQCAAQQI2AgAgACACNgIEDAELIAQgAjYCHCAEIARBHGo2AiAgBEEBNgJAIARBiJrAADYCPCAEQgE3AkggBCAEQSBqrUKAgICA8AeENwMwIAQgBEEwaiIBNgJEIARBJGogBEE8aiIFEI0BIARBADYCOCAEQoCAgIAQNwIwIARBAzoAXCAEQSA2AkwgBEEANgJYIARBzJjAADYCVCAEQQA2AkQgBEEANgI8IAQgATYCUCADIAUQyAENASAEQQhqIgEgBEE4aigCADYCACAEQRhqIgMgBEEsaigCADYCACAEIAQpAjA3AwAgBCAEKQIkNwMQIAJBhAFPBEAgAhAICyAAQQE2AgAgACAEKQMQNwIEIAAgBCkDADcCECAAQQxqIAMoAgA2AgAgAEEYaiABKAIANgIACyAEQeAAaiQADwtB5JjAAEE3IARBEGpBnJnAAEH4mcAAEMoBAAvBAgEDfyMAQYABayIEJAACfwJAAkAgASgCHCICQRBxRQRAIAJBIHENASAANQIAQQEgARCYAQwDCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTByIANB1wBqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsMAQsgACgCACEAQQAhAgNAIAIgBGpB/wBqIABBD3EiA0EwciADQTdqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsgAkGAAWoiAEGBAU8EQCAAQYABQYTpwAAQzQIACyABQQFBlOnAAEECIAIgBGpBgAFqQQAgAmsQbgwBCyACQYABaiIAQYEBTwRAIABBgAFBhOnAABDNAgALIAFBAUGU6cAAQQIgAiAEakGAAWpBACACaxBuCyAEQYABaiQAC70CAgV/AX4jAEEwayIFJABBJyEDAkAgAEKQzgBUBEAgACEIDAELA0AgBUEJaiADaiIEQQRrIAAgAEKQzgCAIghCkM4Afn2nIgZB//8DcUHkAG4iB0EBdEGW6cAAai8AADsAACAEQQJrIAYgB0HkAGxrQf//A3FBAXRBlunAAGovAAA7AAAgA0EEayEDIABC/8HXL1YgCCEADQALCyAIpyIEQeMASwRAIANBAmsiAyAFQQlqaiAIpyIEIARB//8DcUHkAG4iBEHkAGxrQf//A3FBAXRBlunAAGovAAA7AAALAkAgBEEKTwRAIANBAmsiAyAFQQlqaiAEQQF0QZbpwABqLwAAOwAADAELIANBAWsiAyAFQQlqaiAEQTByOgAACyACIAFBAUEAIAVBCWogA2pBJyADaxBuIAVBMGokAAvnAwEGfyMAQRBrIgMkAAJAAn8CQCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFyOgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBBnZBP3FBgAFyOgAOIAMgAUEMdkE/cUGAAXI6AA0gAyABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiByAAKAIARgRAIwBBIGsiAiQAIAAoAgAiBUEBaiIERQRAQQBBABCjAgALQQggBUEBdCIGIAQgBCAGSRsiBCAEQQhNGyIEQX9zQR92IQYgAiAFBH8gAiAFNgIcIAIgACgCBDYCFEEBBUEACzYCGCACQQhqIAYgBCACQRRqEMIBIAIoAggEQCACKAIMIAIoAhAQowIACyACKAIMIQUgACAENgIAIAAgBTYCBCACQSBqJAALIAAgB0EBajYCCCAAKAIEIAdqIAE6AAAMAgsgAyABQT9xQYABcjoADSADIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiAmtLBEAgACACIAEQuAEgACgCCCECCyAAKAIEIAJqIANBDGogARDxAhogACABIAJqNgIICyADQRBqJABBAAvFAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAyAAKAIARgRAIAAQuwELIAAoAgQgA2ogAToAACAAIANBAWo2AggMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQuQEgACgCCCEDCyAAKAIEIANqIAJBDGogARDxAhogACABIANqNgIICyACQRBqJABBAAvaAgEEfyMAQUBqIgEkAAJAAkAgACgCAEUEQCABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQeCtwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKgBDQIgASgCDCECIAEoAhAiAyABKAIUEDUhBCACRQ0BIAMgAhDJAgwBCyABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQeCtwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKgBDQEgASgCDCECIAEoAhAiAyABKAIUEDMhBCACRQ0AIAMgAhDJAgsgACgCBCICBEAgACgCCCACEMkCCyAAKAIQIgIEQCAAKAIUIAIQyQILIAFBQGskACAEDwtB+K3AAEE3IAFBP2pBsK7AAEGMr8AAEMoBAAvFAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAyAAKAIARgRAIAAQugELIAAgA0EBajYCCCAAKAIEIANqIAE6AAAMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQtwEgACgCCCEDCyAAKAIEIANqIAJBDGogARDxAhogACABIANqNgIICyACQRBqJABBAAu5AgICfwN+IwBB4ABrIgIkACACQQhqIAEpAwBCAEIKQgAQyQEgASACKQMIIgU3AwAgAkEYaiABQQhqIgMpAwBCAEIKQgAQyQEgAyACKQMYIgYgAkEQaikDAHwiBDcDACACQShqIAFBEGoiAykDAEIAQgpCABDJASACQThqIAFBGGoiASkDAEIAQgpCABDJASAAIAU3AwAgAEEIaiAENwMAIAMgAikDKCIFIAJBIGopAwAgBCAGVK18fCIENwMAIABBEGogBDcDACABIAIpAzgiBiACQTBqKQMAIAQgBVStfHwiBDcDACAAQRhqIAQ3AwAgAkFAaykDACAEIAZUrXxQBEAgAkHgAGokAA8LIAJBADYCWCACQQE2AkwgAkH0zcAANgJIIAJCBDcCUCACQcgAakH8zcAAEP0BAAu9AgEFfwJAAkACQAJAIAJBA2pBfHEiBCACRg0AIAQgAmsiBCADIAMgBEsbIgVFDQBBACEEIAFB/wFxIQdBASEGA0AgAiAEai0AACAHRg0EIAUgBEEBaiIERw0ACyAFIANBCGsiBksNAgwBCyADQQhrIQZBACEFCyABQf8BcUGBgoQIbCEEA0AgAiAFaiIHQQRqKAIAIARzIghBgYKECGsgCEF/c3EgBygCACAEcyIHQYGChAhrIAdBf3NxckGAgYKEeHENASAFQQhqIgUgBk0NAAsLAkACQCADIAVrIgNFBEBBACEDDAELIAIgBWohAkEAIQQgAUH/AXEhAUEBIQYDQCABIAIgBGotAABGBEAgBCEDDAMLIAMgBEEBaiIERw0ACwtBACEGCyADIAVqIQQLIAAgBDYCBCAAIAY2AgALuwIBA38jAEEQayICJAACQAJ/AkAgAUGAAU8EQCACQQA2AgwgAUGAEEkNASABQYCABEkEQCACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAiEEQQMMAwsgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBAyEEQQQMAgsgACgCCCIDIAAoAgBGBEAgABC6AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBBnZBwAFyOgAMQQEhBEECCyEDIAJBDGogBHIgAUE/cUGAAXI6AAAgAyAAKAIAIAAoAggiAWtLBEAgACABIAMQtwEgACgCCCEBCyAAKAIEIAFqIAJBDGogAxDxAhogACABIANqNgIICyACQRBqJABBAAu8AgIDfwR+IwBBMGsiAyQAQRIhAgJAAkACQCABQf///wdGDQBCASEFIAEiAkH/AXEOAgIBAAsgAkH/AXEhAUIKIQVCASEHA0AgA0EQaiAFQgEgAUEBcSIEGyAGQgAgBBsgByAIEMkBIANBIGogBSAGIAUgBhDJASABQQNLIANBKGopAwAhBiADQRhqKQMAIQggAykDICEFIAMpAxAhByABQQF2IQENAAsgAyAHIAggBSAGEMkBIANBCGopAwAhBiADKQMAIQUgAiEBDAELQgohBUEBIQELQcmDwQAtAAAaQThBCBC4AiICRQRAQQhBOBDtAgALIAJCADcDGCACIAY3AxAgAiAFNwMIIAJBADYCACACIAE6ADAgAkESOgAoIAJBIGpCADcDACAAQgA3AgQgACACNgIAIANBMGokAAu7AgEDfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUECIQRBAwwDCyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEDIQRBBAwCCyAAKAIIIgMgACgCAEYEQCAAELsBCyAAKAIEIANqIAE6AAAgACADQQFqNgIIDAILIAIgAUEGdkHAAXI6AAxBASEEQQILIQMgAkEMaiAEciABQT9xQYABcjoAACADIAAoAgAgACgCCCIBa0sEQCAAIAEgAxC5ASAAKAIIIQELIAAoAgQgAWogAkEMaiADEPECGiAAIAEgA2o2AggLIAJBEGokAEEAC5EIAgd/AX4jAEFAaiIFJAACQAJAIAEEQCABKAIAIgJBf0YNAUEBIQcgASACQQFqNgIAIAVBBGohAyMAQdABayICJAAgAUEIaiIGLQAoIQQgAkGgAWpCADcDACACQagBakIANwMAIAJCADcDmAEgAkIKNwOQASACQcgBakIANwMAIAJBwAFqQgA3AwAgAkIANwO4ASACQSQgBGutQv8BgzcDsAEgAkHoAGoiBCACQZABaiACQbABahBKIAJBEjoAYCACIAIpA4ABNwNYIAIgAikDeDcDUCACIAIpA3A3A0ggAiACKQNoNwNAIAQgBiACQUBrEHogAkEUaiAEEHUgAigCGCEEAkACQAJAIAIoAhQiBkECRgRAIAIgBDYCECACIAJBEGpBEBDxASACKAIEIQYgAigCAEUEQCACIAY2AgwgBEGEAU8EQCAEEAgLIAJB1IfAAEECEAc2AmggA0EEaiACQegAaigCACACQQxqKAIAEDYQ1QEgA0ECNgIAIAIoAgwiA0GEAU8EQCADEAgLIAIoAmgiA0GEAUkNAiADEAgMAgsgAiAGNgKQASACQQE2AmwgAkHggcAANgJoIAJCATcCdCACIAJBkAFqrUKAgICAwACENwNAIAIgAkFAayIENgJwIAJBsAFqIAJB6ABqIgYQjQEgAkEANgJIIAJCgICAgBA3AkAgAkEDOgCIASACQSA2AnggAkEANgKEASACQYCAwAA2AoABIAJBADYCcCACQQA2AmggAiAENgJ8QdiHwAAgBhDIAQ0CIAJBOGoiBCACQcgAaigCADYCACACIAIpAkA3AzAgAikCtAEhCSACKAKwASEGIAIoApABIghBhAFPBEAgCBAICyADIAk3AgggAyAGNgIEIANBATYCACADIAIpAzA3AhAgA0EYaiAEKAIANgIAIAIoAhAiA0GEAUkNASADEAgMAQsgAyACKQIcNwIIIANBGGogAkEsaigCADYCACADQRBqIAJBJGopAgA3AgAgAyAENgIEIAMgBjYCAAsgAkHQAWokAAwBC0GYgMAAQTcgAkEUakHQgMAAQayBwAAQygEACyABIAEoAgBBAWs2AgACfyAFKAIEQQJHBEAgBUE4aiAFQRxqKAIANgIAIAVBMGogBUEUaikCADcDACAFQShqIAVBDGopAgA3AwAgBSAFKQIENwMgQQAhAkEAIQEgBUEgahCbAQwBCyAFKAIMIQMCQCAFKAIIIgQgBSgCECIBTQRAIAMhAgwBCyABRQRAQQEhAiADIAQQyQIMAQsgAyAEQQEgARClAiICRQ0EC0EAIQdBAAshAyAAIAc2AgwgACADNgIIIAAgATYCBCAAIAI2AgAgBUFAayQADwsQ5wIACxDoAgALQQEgARCjAgALxAIBBH8gAEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciA2t2QQFxIANBAXRrQT5qCyICNgIcIAJBAnRBoITBAGohBEEBIAJ0IgNBvIfBACgCAHFFBEAgBCAANgIAIAAgBDYCGCAAIAA2AgwgACAANgIIQbyHwQBBvIfBACgCACADcjYCAA8LAkACQCABIAQoAgAiAygCBEF4cUYEQCADIQIMAQsgAUEZIAJBAXZrQQAgAkEfRxt0IQUDQCADIAVBHXZBBHFqQRBqIgQoAgAiAkUNAiAFQQF0IQUgAiEDIAIoAgRBeHEgAUcNAAsLIAIoAggiASAANgIMIAIgADYCCCAAQQA2AhggACACNgIMIAAgATYCCA8LIAQgADYCACAAIAM2AhggACAANgIMIAAgADYCCAusAgIBfwR+IwBBQGoiAiQAIAApAwAhBAJ/AkACQAJAIAApAxgiBkIAUwRAIAApAwghAyAAKQMQIQUgAkIAIAR9IgQ3AwAgAiADQn+FQgAgA30iAyAEQgBSIgAbNwMIIAIgBUJ/hSIEIANQIABBf3NxIgCtfCIDIAQgABs3AxAgAiAAIAMgBFRxrSAGQn+FfDcDGEEtIQAMAQsgACkDCCEDIAApAxAhBSACIAY3AxggAiAFNwMQIAIgAzcDCCACIAQ3AwBBKyEAIAEtABxBAXFFDQELIAEgABCvAg0BCyACQQE2AiQgAkHky8AANgIgIAJCATcCLCACIAKtQoCAgIDgDIQ3AzggAiACQThqNgIoIAEoAhQgASgCGCACQSBqEHMMAQtBAQsgAkFAayQAC7UCAQd/IwBBEGsiAiQAQQEhBwJAAkAgASgCFCIEQScgASgCGCgCECIFEQAADQAgAiAAKAIAQYECEGwCQCACLQAAQYABRgRAIAJBCGohBkGAASEDA0ACQCADQYABRwRAIAItAAoiACACLQALTw0EIAIgAEEBajoACiAAQQpPDQYgACACai0AACEBDAELQQAhAyAGQQA2AgAgAigCBCEBIAJCADcDAAsgBCABIAURAABFDQALDAILQQogAi0ACiIBIAFBCk0bIQAgASACLQALIgMgASADSxshBgNAIAEgBkYNASACIAFBAWoiAzoACiAAIAFGDQMgASACaiEIIAMhASAEIAgtAAAgBREAAEUNAAsMAQsgBEEnIAURAAAhBwsgAkEQaiQAIAcPCyAAQQpB/PvAABDRAQALjwIBAX8jAEEQayICJAAgACgCACEAAn8gASgCACABKAIIcgRAIAJBADYCDCABIAJBDGoCfwJAAkAgAEGAAU8EQCAAQYAQSQ0BIABBgIAETw0CIAIgAEE/cUGAAXI6AA4gAiAAQQx2QeABcjoADCACIABBBnZBP3FBgAFyOgANQQMMAwsgAiAAOgAMQQEMAgsgAiAAQT9xQYABcjoADSACIABBBnZBwAFyOgAMQQIMAQsgAiAAQT9xQYABcjoADyACIABBEnZB8AFyOgAMIAIgAEEGdkE/cUGAAXI6AA4gAiAAQQx2QT9xQYABcjoADUEECxBlDAELIAEoAhQgACABKAIYKAIQEQAACyACQRBqJAALgAIBAn8jAEEwayICJAACfyAAKAIAIgBBAEgEQEH/8wEgAHZBAXFFIABB/////wdxIgNBD09yRQRAIAEgA0ECdCIAQeDXwABqKAIAIABBpNfAAGooAgAQqgIMAgsgAkEBNgIMIAJBtNLAADYCCCACQgE3AhQgAiAANgIsIAIgAkEsaq1CgICAgPAMhDcDICACIAJBIGo2AhAgASgCFCABKAIYIAJBCGoQcwwBCyACIAA2AiwgAkEBNgIMIAJByNLAADYCCCACQgE3AhQgAiACQSxqrUKAgICAgBaENwMgIAIgAkEgajYCECABKAIUIAEoAhggAkEIahBzCyACQTBqJAALmgECA38CfiMAQUBqIgIkACAAQRBqIQMgAEEEaiEEQoCAgIDgCSEFQoCAgIDwCSEGIAAoAgBFGiACIAM2AgwgAkECNgIUIAJBmLDAADYCECACQgI3AhwgAiAFIAJBDGqthDcDMCACIAYgAkE8aq2ENwMoIAIgBDYCPCACIAJBKGo2AhggASgCFCABKAIYIAJBEGoQcyACQUBrJAALiAIBAn8jAEHQAGsiAyQAIAMgATYCCCADQQE2AiwgA0GImsAANgIoIANCATcCNCADIANBCGqtQoCAgIAwhDcDGCADIANBGGoiATYCMCADQQxqIANBKGoiBBCNASADQQA2AiAgA0KAgICAEDcCGCADQQM6AEggA0EgNgI4IANBADYCRCADQcyYwAA2AkAgA0EANgIwIANBADYCKCADIAE2AjwgAiAEEMgBBEBB5JjAAEE3IANBzwBqQZyZwABB+JnAABDKAQALIAAgAykCGDcCECAAQRhqIANBIGooAgA2AgAgAEEMaiADQRRqKAIANgIAIAAgAykCDDcCBCAAQQE2AgAgA0HQAGokAAvmAQEBfyMAQRBrIgIkACACQQA2AgwgACACQQxqAn8CQAJAIAFBgAFPBEAgAUGAEEkNASABQYCABE8NAiACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAMLIAIgAToADEEBDAILIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBBAsQeSACQRBqJAAL4wUCBX8IfiMAQUBqIgUkAAJAIAEEQCABKAIAIgRBf0YNASABIARBAWo2AgAgBUEEaiEHIAFBCGohBiMAQeAAayIEJAAgBEEIaiIIIAIgA0H///8HRyADEGsCQCAEKAIIRQRAIAQtADAhAyAEKQMoIQwgBCkDICENIAQpAxghCiAEKQMQIQ4gBikDACEJAkACfyAGKQMYIhBCAFMEQEH/ASECIAxCAFkNAiAGKQMIIQsgBikDECEPIARCACAJfSIJNwNAIAQgC0J/hUIAIAt9IgsgCUIAUiICGzcDSCAEIA9Cf4UiCSALUCACQX9zcSICrXwiCyAJIAIbNwNQIAQgAiAJIAtWca0gEEJ/hXw3A1ggBEIAIA59Ig43AwggBCAKQn+FQgAgCn0iCSAOQgBSIgIbNwMQIAQgDUJ/hSIKIAlQIAJBf3NxIgKtfCINIAogAhs3AxggBCACIAogDVZxrSAMQn+FfDcDICAIIARBQGsQzQEMAQsgDEIAUwRAQQEhAgwCCyAGKQMIIQsgBikDECEPIAQgEDcDWCAEIA83A1AgBCALNwNIIAQgCTcDQCAEIAw3AyAgBCANNwMYIAQgCjcDECAEIA43AwggBEFAayAEQQhqEM0BCyICQf8BcQ0AQX8gAyAGLQAgIgJHIAIgA0kbIQILIAdBAjYCACAHIAJB/wFxQQFGOgAEDAELIAQoAgwhAiAEKQMQIQwgBCkDGCEKIAcgBCkDIDcCFCAHIAo3AgwgByAMNwIEIAcgAjYCAAsgBEHgAGokACABIAEoAgBBAWs2AgACfyAFKAIEIgFBAkYEQEEAIQMgBS0ACAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahCbASEDQQALIQIgACABQQJHNgIIIAAgAzYCBCAAIAI2AgAgBUFAayQADwsQ5wIACxDoAgAL4wUCBX8IfiMAQUBqIgUkAAJAIAEEQCABKAIAIgRBf0YNASABIARBAWo2AgAgBUEEaiEHIAFBCGohBiMAQeAAayIEJAAgBEEIaiIIIAIgA0H///8HRyADEGsCQCAEKAIIRQRAIAQtADAhAyAEKQMoIQwgBCkDICENIAQpAxghCiAEKQMQIQ4gBikDACEJAkACfyAGKQMYIhBCAFMEQEH/ASECIAxCAFkNAiAGKQMIIQsgBikDECEPIARCACAJfSIJNwNAIAQgC0J/hUIAIAt9IgsgCUIAUiICGzcDSCAEIA9Cf4UiCSALUCACQX9zcSICrXwiCyAJIAIbNwNQIAQgAiAJIAtWca0gEEJ/hXw3A1ggBEIAIA59Ig43AwggBCAKQn+FQgAgCn0iCSAOQgBSIgIbNwMQIAQgDUJ/hSIKIAlQIAJBf3NxIgKtfCINIAogAhs3AxggBCACIAogDVZxrSAMQn+FfDcDICAIIARBQGsQzQEMAQsgDEIAUwRAQQEhAgwCCyAGKQMIIQsgBikDECEPIAQgEDcDWCAEIA83A1AgBCALNwNIIAQgCTcDQCAEIAw3AyAgBCANNwMYIAQgCjcDECAEIA43AwggBEFAayAEQQhqEM0BCyICQf8BcQ0AQX8gAyAGLQAgIgJHIAIgA0kbIQILIAdBAjYCACAHIAJB/wFxQQJJOgAEDAELIAQoAgwhAiAEKQMQIQwgBCkDGCEKIAcgBCkDIDcCFCAHIAo3AgwgByAMNwIEIAcgAjYCAAsgBEHgAGokACABIAEoAgBBAWs2AgACfyAFKAIEIgFBAkYEQEEAIQMgBS0ACAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahCbASEDQQALIQIgACABQQJHNgIIIAAgAzYCBCAAIAI2AgAgBUFAayQADwsQ5wIACxDoAgAL0QUCBX8IfiMAQUBqIgUkAAJAIAEEQCABKAIAIgRBf0YNASABIARBAWo2AgAgBUEEaiEHIAFBCGohBiMAQeAAayIEJAAgBEEIaiIIIAIgA0H///8HRyADEGsCQCAEKAIIRQRAIAQtADAhAyAEKQMoIQwgBCkDICENIAQpAxghCiAEKQMQIQ4gBikDACEJAn8CfyAGKQMYIhBCAFMEQEEBIAxCAFkNAhogBikDCCELIAYpAxAhDyAEQgAgCX0iCTcDQCAEIAtCf4VCACALfSILIAlCAFIiAhs3A0ggBCAPQn+FIgkgC1AgAkF/c3EiAq18IgsgCSACGzcDUCAEIAIgCSALVnGtIBBCf4V8NwNYIARCACAOfSIONwMIIAQgCkJ/hUIAIAp9IgkgDkIAUiICGzcDECAEIA1Cf4UiCiAJUCACQX9zcSICrXwiDSAKIAIbNwMYIAQgAiAKIA1Wca0gDEJ/hXw3AyAgCCAEQUBrEM0BDAELQQAgDEIAUw0BGiAGKQMIIQsgBikDECEPIAQgEDcDWCAEIA83A1AgBCALNwNIIAQgCTcDQCAEIAw3AyAgBCANNwMYIAQgCjcDECAEIA43AwggBEFAayAEQQhqEM0BC0H/AXEiAkH/AUYgBi0AICADSSACGwshAiAHQQI2AgAgByACOgAEDAELIAQoAgwhAiAEKQMQIQwgBCkDGCEKIAcgBCkDIDcCFCAHIAo3AgwgByAMNwIEIAcgAjYCAAsgBEHgAGokACABIAEoAgBBAWs2AgACfyAFKAIEIgFBAkYEQEEAIQMgBS0ACAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahCbASEDQQALIQIgACABQQJHNgIIIAAgAzYCBCAAIAI2AgAgBUFAayQADwsQ5wIACxDoAgAL4wUCBX8IfiMAQUBqIgUkAAJAIAEEQCABKAIAIgRBf0YNASABIARBAWo2AgAgBUEEaiEHIAFBCGohBiMAQeAAayIEJAAgBEEIaiIIIAIgA0H///8HRyADEGsCQCAEKAIIRQRAIAQtADAhAyAEKQMoIQwgBCkDICENIAQpAxghCiAEKQMQIQ4gBikDACEJAkACfyAGKQMYIhBCAFMEQEH/ASECIAxCAFkNAiAGKQMIIQsgBikDECEPIARCACAJfSIJNwNAIAQgC0J/hUIAIAt9IgsgCUIAUiICGzcDSCAEIA9Cf4UiCSALUCACQX9zcSICrXwiCyAJIAIbNwNQIAQgAiAJIAtWca0gEEJ/hXw3A1ggBEIAIA59Ig43AwggBCAKQn+FQgAgCn0iCSAOQgBSIgIbNwMQIAQgDUJ/hSIKIAlQIAJBf3NxIgKtfCINIAogAhs3AxggBCACIAogDVZxrSAMQn+FfDcDICAIIARBQGsQzQEMAQsgDEIAUwRAQQEhAgwCCyAGKQMIIQsgBikDECEPIAQgEDcDWCAEIA83A1AgBCALNwNIIAQgCTcDQCAEIAw3AyAgBCANNwMYIAQgCjcDECAEIA43AwggBEFAayAEQQhqEM0BCyICQf8BcQ0AQX8gAyAGLQAgIgJHIAIgA0kbIQILIAdBAjYCACAHIAJB/wFxQQFHOgAEDAELIAQoAgwhAiAEKQMQIQwgBCkDGCEKIAcgBCkDIDcCFCAHIAo3AgwgByAMNwIEIAcgAjYCAAsgBEHgAGokACABIAEoAgBBAWs2AgACfyAFKAIEIgFBAkYEQEEAIQMgBS0ACAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahCbASEDQQALIQIgACABQQJHNgIIIAAgAzYCBCAAIAI2AgAgBUFAayQADwsQ5wIACxDoAgAL4A4BDX8jAEFAaiIGJAACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAZBBGohBCABQQhqIQsjAEGQAWsiAyQAIAJFBEAQJiECCyACEAAhCCACEAEhCSADQShqIAIQAiADKAIoIQwgAygCLCEFIANBIGogAhADIAMoAiAhDSADKAIkIQcgAhAEIQogA0ECIAlBAEcgCUH///8HRhs6AE4gAyAIOgBNIAMgCEH///8HRzoATCADIAc2AkggAyANNgJEIAMgB0GAgICAeCANGyIINgJAIAMgBTYCPCADIAw2AjggAyAFQYCAgIB4IAwbIgk2AjQgA0ECIApBAEcgCkH///8HRhs6AE8gA0EYaiACEAUCQAJAIAMoAhgiB0UNACADKAIcIgVBgICAgHhGDQAgBUUNASAHIAUQyQIMAQsgAhAGIgVBACAFQf///wdHGw0AIAIQACEFIANBAToATCADIAstACggBSAFQf///wdGGzoATQsgA0HcAGoiCiALLQAoIANBNGoQZiADKAJkIQUgAygCYCEHAkACQAJAIAMoAlwiD0ECRgRAIAMgBzYCUCADIAU2AlQgA0EQaiACEAUCQAJAAkACQAJAIAMoAhAiB0UNACADKAIUIgVBgICAgHhGDQAgA0HogcAAQQgQBzYCgAEgA0HwgcAAQQcQBzYChAEgCiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQEgAygChAEiCkGEAU8EQCAKEAgLIAMoAoABIgpBhAFPBEAgChAICyADQfeBwABBDhAHNgKAASADIAcgBRAHNgKEASAFBEAgByAFEMkCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQIgAygChAEiBUGEAU8EQCAFEAgLIAMoAoABIgVBhAFJDQAgBRAICwJAIAIQBiIFRSAFQf///wdGcg0AIANB0ILAAEEFEAc2AoABIANB1YLAAEEHEAc2AoQBIANB3ABqIANB1ABqIANBgAFqIANBhAFqEN4BIAMtAFwNAyADKAKEASIFQYQBTwRAIAUQCAsgAygCgAEiBUGEAUkNACAFEAgLIAMgA0HQAGogA0HUAGoQzAI2AlggAyADQdgAahD7AjYCeCADQYEBNgJ8IANBhAFqIAsQciADIAMoAogBIgUgAygCjAEQBzYCgAEgAygChAEiCwRAIAUgCxDJAgsgA0EIaiADQfgAaiADQfwAaiADQYABahDuASADQdwAaiADKAIIIAMoAgxB3ILAABCWASADKAJgIQUgAygCXCILQQJHDQMgBEECNgIAIAQgBTYCBCADKAJYIgRBhAFPBEAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFPBEAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQyQILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDJAgsgAkGEAU8EQCACEAgLIAMoAoABIgJBhAFPBEAgAhAICyADKAJ8IgJBhAFPBEAgAhAICyADKAJ4IgJBhAFJDQcgAhAIDAcLIAQgAygCYEHAgsAAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsgBUUNBCAHIAUQyQIMBAsgBCADKAJgQbCCwAAQlQEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQMgBBAIDAMLIAQgAygCYEHsgsAAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0CIAQQCAwCCyAEIAMpAmQ3AgggBEEYaiADQfQAaigCADYCACAEQRBqIANB7ABqKQIANwIAIAQgBTYCBCAEIAs2AgAgAygCWCIEQYQBTwRAIAQQCAsgAygCVCIEQYQBTwRAIAQQCAsgAygCUCIEQYQBTwRAIAQQCAsgCUGAgICAeHJBgICAgHhHBEAgDCAJEMkCCyAIQYCAgIB4ckGAgICAeEcEQCANIAgQyQILIAJBhAFPBEAgAhAICyADKAKAASICQYQBTwRAIAIQCAsgAygCfCICQYQBTwRAIAIQCAsgAygCeCICQYQBSQ0DIAIQCAwDCyAEIAMpAmg3AgwgBEEUaiADQfAAaikCADcCACAEIAU2AgggBCAHNgIEIAQgDzYCAAwBCyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFJDQAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQyQILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDJAgsgAkGEAUkNACACEAgLIANBkAFqJAAgASABKAIAQQFrNgIAAn8gBigCBCIBQQJGBEAgBigCCAwBCyAGQThqIAZBHGooAgA2AgAgBkEwaiAGQRRqKQIANwMAIAZBKGogBkEMaikCADcDACAGIAYpAgQ3AyAgBkEgahCbASEOQQALIQIgACABQQJHNgIIIAAgDjYCBCAAIAI2AgAgBkFAayQADwsQ5wIACxDoAgALphEBDX8jAEFAaiIHJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAdBBGohBSABQQhqIQ4jAEGQAWsiAyQAIAJFBEAQJiECCyACEAAhBCACEAEhBiADQShqIAIQAiADKAIoIQsgAygCLCEJIANBIGogAhADIAMoAiAhDCADKAIkIQogAhAEIQggA0ECIAZBAEcgBkH///8HRhs6AE4gAyAEOgBNIAMgBEH///8HRzoATCADIAo2AkggAyAMNgJEIAMgCkGAgICAeCAMGyIKNgJAIAMgCTYCPCADIAs2AjggAyAJQYCAgIB4IAsbIgk2AjQgA0ECIAhBAEcgCEH///8HRhs6AE8gA0HcAGoiCCAOLQAoIANBNGoQZiADKAJkIQQgAygCYCEGAkACQAJAAkACQAJAAkAgAygCXCIPQQJGBEAgAyAGNgJQIAMgBDYCVCADQdCCwABBBRAHNgKAASADQfyCwABBCBAHNgKEASAIIANB1ABqIANBgAFqIANBhAFqEN4BIAMtAFxFBEAgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQfyCwABBCBAHNgKAASADQRhqIAIQCUHJg8EALQAAGiADKAIcIQggAygCGCEEQQNBARC4AiIGRQ0CIAZBAmpBhoPAAC0AADoAACAGQYSDwAAvAAA7AAAgBEUgCEGAgICAeEZyDQMgBkEDEMkCDAQLIAUgAygCYEHsg8AAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0EIAQQCAwECyAFIAMpAmg3AgwgBUEUaiADQfAAaikCADcCACAFIAQ2AgggBSAGNgIEIAUgDzYCAAwFC0EBQQMQowIAC0EDIQggBiEECyADIAQgCBAHNgKEASAIBEAgBCAIEMkCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDeAQJAAkACQCADLQBcRQRAIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsCQCACEAoiBEUgBEH///8HRnINACADQeiBwABBCBAHNgKAASADQfCBwABBBxAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQIgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQfeBwABBDhAHNgKAASADQYeDwABBBRAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQMgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQAgBBAICyADQRBqIAIQCwJAIAMoAhAiBkUNACADKAIUIgRBgICAgHhGDQAgA0GMg8AAQQ8QBzYCgAEgAyAGIAQQBzYChAEgBARAIAYgBBDJAgsgA0HcAGogA0HUAGogA0GAAWogA0GEAWoQ3gEgAy0AXA0EIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0AIAQQCAsgAyADQdAAaiADQdQAahDMAjYCWCADIANB2ABqEPsCNgJ4IANBgQE2AnwgA0GEAWogDhByIAMgAygCiAEiBCADKAKMARAHNgKAASADKAKEASIGBEAgBCAGEMkCCyADQQhqIANB+ABqIANB/ABqIANBgAFqEO4BIANB3ABqIAMoAgggAygCDEGsg8AAEJYBIAMoAmAhBCADKAJcIgZBAkcNBSAFQQI2AgAgBSAENgIEIAMoAlgiBEGEAU8EQCAEEAgLIAMoAlQiBEGEAU8EQCAEEAgLIAMoAlAiBEGEAU8EQCAEEAgLIAlBgICAgHhyQYCAgIB4RwRAIAsgCRDJAgsgCkGAgICAeHJBgICAgHhHBEAgDCAKEMkCCyACQYQBTwRAIAIQCAsgAygCgAEiAkGEAU8EQCACEAgLIAMoAnwiAkGEAU8EQCACEAgLIAMoAngiAkGEAUkNByACEAgMBwsgBSADKAJgQdyDwAAQlQEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQMgBBAIDAMLIAUgAygCYEHMg8AAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0CIAQQCAwCCyAFIAMoAmBBvIPAABCVASADKAKEASIEQYQBTwRAIAQQCAsgAygCgAEiBEGEAUkNASAEEAgMAQsgBSADKAJgQZyDwAAQlQEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFJDQEgBBAIDAELIAUgAykCZDcCCCAFQRhqIANB9ABqKAIANgIAIAVBEGogA0HsAGopAgA3AgAgBSAENgIEIAUgBjYCACADKAJYIgRBhAFPBEAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFPBEAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCALIAkQyQILIApBgICAgHhyQYCAgIB4RwRAIAwgChDJAgsgAkGEAU8EQCACEAgLIAMoAoABIgJBhAFPBEAgAhAICyADKAJ8IgJBhAFPBEAgAhAICyADKAJ4IgJBhAFJDQEgAhAIDAELIAlBgICAgHhyQYCAgIB4RwRAIAsgCRDJAgsgCkGAgICAeHJBgICAgHhHBEAgDCAKEMkCCyACQYQBSQ0AIAIQCAsgA0GQAWokACABIAEoAgBBAWs2AgACfyAHKAIEIgFBAkYEQCAHKAIIDAELIAdBOGogB0EcaigCADYCACAHQTBqIAdBFGopAgA3AwAgB0EoaiAHQQxqKQIANwMAIAcgBykCBDcDICAHQSBqEJsBIQ1BAAshAiAAIAFBAkc2AgggACANNgIEIAAgAjYCACAHQUBrJAAPCxDnAgALEOgCAAuPAwEDfyMAQSBrIgIkACABKAIUQcDRwABBBSABKAIYKAIMEQIAIQQgAkEMaiIDQQA6AAUgAyAEOgAEIAMgATYCAAJAIAAoAgAiAEEASARAQf/zASAAdkEBcUUgAEH/////B3EiAUEPT3JFBEAgAiABQQJ0IgFBpNfAAGooAgA2AhggAiABQeDXwABqKAIANgIUIAIgADYCHCADQcXRwABBDSACQRxqQdTRwAAQkgEaIANB5NHAAEELIAJBFGpB8NHAABCSARoMAgsgAiAANgIUIAJBDGpBgNLAAEEMIAJBFGpB1NHAABCSARoMAQsgAiAANgIUIAJBDGpBjNLAAEEIIAJBFGpBlNLAABCSARoLAn8gAkEMaiIALQAEIgNBAEcgAC0ABUUNABpBASEBIANFBEAgACgCACIBLQAcQQRxRQRAIAAgASgCFEHj6MAAQQIgASgCGCgCDBECACIAOgAEIAAMAgsgASgCFEHi6MAAQQEgASgCGCgCDBECACEBCyAAIAE6AAQgAQsgAkEgaiQAC/cBAgV/BH4jAEEwayICJAAgAkEoakIANwMAIAJBIGpCADcDACACQRhqQgA3AwAgAkIANwMQIAJBCGogAkEQahDdAQJAIAIoAggiA0UEQCACKQMQIQcgAikDGCEIIAIpAyAhCSACKQMoIQpBjKPAABDiASEDIABBkKPAABDiATYCLCAAIAM2AiggAEIANwMgIAAgCjcDGCAAIAk3AxAgACAINwMIIAAgBzcDAAwBCyADIAIoAgwiBCgCABEGACAEKAIEIgVFDQAgBCgCCCEGIAMgBRDJAgsgAEEANgJAIAAgACkDMEKAAn03AzggACABEEkgAkEwaiQAC/gBAgN/AX4jAEEwayICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEsaiIEQQA2AgAgAkKAgICAEDcCJCACQSRqQYjcwAAgAxBzGiACQSBqIAQoAgAiAzYCACACIAIpAiQiBTcDGCABQQhqIAM2AgAgASAFNwIACyABKQIAIQUgAUKAgICAEDcCACACQRBqIgMgAUEIaiIBKAIANgIAIAFBADYCAEHJg8EALQAAGiACIAU3AwhBDEEEELgCIgFFBEBBBEEMEO0CAAsgASACKQMINwIAIAFBCGogAygCADYCACAAQfjgwAA2AgQgACABNgIAIAJBMGokAAu4AgIEfwN+IwBBIGsiASQAIwBBEGsiACQAIAFBCDYCACABQSA2AgQgAEEQaiQAIAEoAgAhAAJAAkAgASgCBCIDBH9ByYPBAC0AABogAyAAELgCBSAACyICBEAgAkECNgIQIAJCgYCAgBA3AwBBmITBACkDACEEA0AgBEIBfCIFUA0CQZiEwQAgBUGYhMEAKQMAIgYgBCAGUSIAGzcDACAGIQQgAEUNAAsgAiAFNwMIQeyHwQAoAgBFDQIgAUEANgIYIAFBATYCDCABQaDbwAA2AgggAUIENwIQIAFBCGpB+NvAABD9AQALIAAgAxDtAgALIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGM38AANgIIIABCBDcCECAAQQhqQZTfwAAQ/QEAC0Hsh8EAIAI2AgAgAUEgaiQAC4ECAQJ/IwBBIGsiBiQAQZSEwQBBlITBACgCACIHQQFqNgIAAkACQCAHQQBIDQBB6IfBAC0AAA0AQeiHwQBBAToAAEHkh8EAQeSHwQAoAgBBAWo2AgAgBiAFOgAdIAYgBDoAHCAGIAM2AhggBiACNgIUIAZBwOHAADYCECAGQQE2AgxBiITBACgCACICQQBIDQBBiITBACACQQFqNgIAQYiEwQBBjITBACgCAAR/IAYgACABKAIQEQEAIAYgBikDADcCDEGMhMEAKAIAIAZBDGpBkITBACgCACgCFBEBAEGIhMEAKAIAQQFrBSACCzYCAEHoh8EAQQA6AAAgBA0BCwALAAvEAQEGfyMAQSBrIgEkACAAKAIAIgNBAWoiAkUEQEEAQQAQowIAC0EEIQVBBCADQQF0IgQgAiACIARJGyICIAJBBE0bIgRBAnQhBiACQYCAgIACSUECdCECAkAgA0UEQEEAIQUMAQsgASADQQJ0NgIcIAEgACgCBDYCFAsgASAFNgIYIAFBCGogAiAGIAFBFGoQwAEgASgCCARAIAEoAgwgASgCEBCjAgALIAEoAgwhAyAAIAQ2AgAgACADNgIEIAFBIGokAAu4AQEDfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQowIAC0EBIQFBCCAAKAIAIgVBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEAkAgBUUEQEEAIQEMAQsgAyAFNgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogBCACIANBFGoQwAEgAygCCARAIAMoAgwgAygCEBCjAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAu4AQEDfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQowIAC0EBIQFBCCAAKAIAIgVBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEAkAgBUUEQEEAIQEMAQsgAyAFNgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogBCACIANBFGoQwgEgAygCCARAIAMoAgwgAygCEBCjAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAu4AQEDfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQowIAC0EBIQFBCCAAKAIAIgVBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEAkAgBUUEQEEAIQEMAQsgAyAFNgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogBCACIANBFGoQvQEgAygCCARAIAMoAgwgAygCEBCjAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAurAQEEfyMAQSBrIgEkACAAKAIAIgNBAWoiAkUEQEEAQQAQowIAC0EIIANBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEIAEgAwR/IAEgAzYCHCABIAAoAgQ2AhRBAQVBAAs2AhggAUEIaiAEIAIgAUEUahDAASABKAIIBEAgASgCDCABKAIQEKMCAAsgASgCDCEDIAAgAjYCACAAIAM2AgQgAUEgaiQAC6sBAQR/IwBBIGsiASQAIAAoAgAiA0EBaiICRQRAQQBBABCjAgALQQggA0EBdCIEIAIgAiAESRsiAiACQQhNGyICQX9zQR92IQQgASADBH8gASADNgIcIAEgACgCBDYCFEEBBUEACzYCGCABQQhqIAQgAiABQRRqEL0BIAEoAggEQCABKAIMIAEoAhAQowIACyABKAIMIQMgACACNgIAIAAgAzYCBCABQSBqJAALtQEBBH8jAEEQayICJAACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAkEEaiABQQhqEHIgASABKAIAQQFrNgIAAkAgAigCBCIEIAIoAgwiAU0EQCACKAIIIQMMAQsgAigCCCEFIAFFBEBBASEDIAUgBBDJAgwBCyAFIARBASABEKUCIgNFDQMLIAAgATYCBCAAIAM2AgAgAkEQaiQADwsQ5wIACxDoAgALQQEgARCjAgALrgEBA39BASEEQQQhBiABRSACQQBIckUEQAJ/AkACQAJ/IAMoAgQEQCADKAIIIgFFBEAgAkUEQAwEC0HJg8EALQAAGiACQQEQuAIMAgsgAygCACABQQEgAhClAgwBCyACRQRADAILQcmDwQAtAAAaIAJBARC4AgsiBEUNAQsgACAENgIEQQAMAQsgAEEBNgIEQQELIQRBCCEGIAIhBQsgACAGaiAFNgIAIAAgBDYCAAu4AQEEfyMAQTBrIgEkACABQRhqIgIgAEEIaigCADYCACABIAApAgA3AxAgAUEIaiABQRBqQfiowAAQ1gEgASgCDCEDIAEoAgghBCABQShqIgAgAigCADYCAEHJg8EALQAAGiABIAEpAxA3AyBBGEEEELgCIgJFBEBBBEEYEO0CAAsgAiAENgIEIAJBsJvAADYCACACIAEpAyA3AgwgAiADNgIIIAJBFGogACgCADYCACABQTBqJAAgAguxAQEBfyMAQRBrIgckACAAKAIUIAEgAiAAKAIYKAIMEQIAIQEgB0EAOgANIAcgAToADCAHIAA2AgggB0EIaiADIAQgBSAGEJIBIQIgBy0ADCEBAn8gAUEARyAHLQANRQ0AGkEBIAENABogAigCACIALQAcQQRxRQRAIAAoAhRB4+jAAEECIAAoAhgoAgwRAgAMAQsgACgCFEHi6MAAQQEgACgCGCgCDBECAAsgB0EQaiQAC5sBAQF/AkACQCABBEAgAkEASA0BAn8gAygCBARAAkAgAygCCCIERQRADAELIAMoAgAgBCABIAIQpQIMAgsLIAEgAkUNABpByYPBAC0AABogAiABELgCCyIDBEAgACACNgIIIAAgAzYCBCAAQQA2AgAPCyAAIAI2AgggACABNgIEDAILIABBADYCBAwBCyAAQQA2AgQLIABBATYCAAunAQEBfyMAQRBrIgYkAAJAIAEEQCAGQQRqIAEgAyAEIAUgAigCEBEJAAJAIAYoAgQiAiAGKAIMIgFNBEAgBigCCCEFDAELIAJBAnQhAiAGKAIIIQMgAUUEQEEEIQUgAyACEMkCDAELIAMgAkEEIAFBAnQiAhClAiIFRQ0CCyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQafYwABBMhDmAgALQQQgAhCjAgALpwEAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQCADKAIIIgFFBEBByYPBAC0AABogAkEBELgCDAILIAMoAgAgAUEBIAIQpQIMAQtByYPBAC0AABogAkEBELgCCyIBBEAgACACNgIIIAAgATYCBCAAQQA2AgAPCyAAIAI2AgggAEEBNgIEIABBATYCAA8LIABBADYCBCAAQQE2AgAPCyAAQQA2AgQgAEEBNgIAC5ABAQN/IwBBgAFrIgQkACAAKAIAIQADQCACIARqQf8AaiAAQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYEBTwRAIABBgAFBhOnAABDNAgALIAFBAUGU6cAAQQIgAiAEakGAAWpBACACaxBuIARBgAFqJAALjwEBA38jAEGAAWsiBCQAIAAoAgAhAANAIAIgBGpB/wBqIABBD3EiA0EwciADQTdqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsgAkGAAWoiAEGBAU8EQCAAQYABQYTpwAAQzQIACyABQQFBlOnAAEECIAIgBGpBgAFqQQAgAmsQbiAEQYABaiQAC8wBAQZ/IwBBEGsiAiQAIAAoAgAhAyACRAAAAAAAAAAAEAwiADYCBCACQQRqKAIAECMhBCAAQYQBTwRAIAAQCAsgAygCACAEEBchBSMAQRBrIgAkACAAQQhqIAMoAgBBChAyIAAoAgghBiACQQRqIgMgACgCDCIHNgIIIAMgBjYCBCADIAc2AgAgAEEQaiQAIAEgBUEBRkEBQQAgAigCCCIAIAIoAgwQbiACKAIEIgMEQCAAIAMQyQILIARBhAFPBEAgBBAICyACQRBqJAALjwECA38BfiMAQSBrIgIkACABKAIAQYCAgIB4RgRAIAEoAgwhAyACQRxqIgRBADYCACACQoCAgIAQNwIUIAJBFGpBiNzAACADEHMaIAJBEGogBCgCACIDNgIAIAIgAikCFCIFNwMIIAFBCGogAzYCACABIAU3AgALIABB+ODAADYCBCAAIAE2AgAgAkEgaiQAC3UCA38BfCMAQRBrIgEkAAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAUEEaiAAQQhqEHIgASgCCCICIAEoAgwQLiABKAIEIgMEQCACIAMQyQILIAAgACgCAEEBazYCACABQRBqJAAPCxDnAgALEOgCAAt5AgF/AX4jAEEwayICJAAgAkEDNgIEIAJBnObAADYCACACQgM3AgwgAkKAgICA8AwiAyAAQQxqrYQ3AyggAiADIABBCGqthDcDICACIACtQoCAgICwG4Q3AxggAiACQRhqNgIIIAEoAhQgASgCGCACEHMgAkEwaiQAC24BBn4gACADQv////8PgyIFIAFC/////w+DIgZ+IgcgBiADQiCIIgZ+IgggBSABQiCIIgl+fCIFQiCGfCIKNwMAIAAgByAKVq0gBiAJfiAFIAhUrUIghiAFQiCIhHx8IAEgBH4gAiADfnx8NwMIC3wBAX8jAEFAaiIFJAAgBSABNgIMIAUgADYCCCAFIAM2AhQgBSACNgIQIAVBAjYCHCAFQazowAA2AhggBUICNwIkIAUgBUEQaq1CgICAgKAbhDcDOCAFIAVBCGqtQoCAgICwG4Q3AzAgBSAFQTBqNgIgIAVBGGogBBD9AQALcgEDfyMAQTBrIgIkACACQSRqIgMgABBTIAJBATYCBCACQeiHwAA2AgAgAiADrUKAgICAEIQ3AxggAkIBNwIMIAIgAkEYajYCCCABKAIUIAEoAhggAhBzIAIoAiQiAQRAIAIoAiggARDJAgsgAkEwaiQAC3IBA38jAEEwayICJAAgAkEkaiIDIAAQUyACQQI2AgQgAkHgk8AANgIAIAIgA61CgICAgBCENwMYIAJCATcCDCACIAJBGGo2AgggASgCFCABKAIYIAIQcyACKAIkIgEEQCACKAIoIAEQyQILIAJBMGokAAt1AgJ+AX8CQEF/IAEpAxgiAiAAKQMYIgNSIAIgA1YbIgQNAEF/IAEpAxAiAiAAKQMQIgNSIAIgA1YbIgQNAEF/IAEpAwgiAiAAKQMIIgNSIAIgA1YbIgQNAEF/IAEpAwAiAiAAKQMAIgNSIAIgA1YbIQQLIAQLeQEDfyMAQRBrIgIkAAJ/IAAoAgAiACgCBCIDRQRAIAIgACAAKAIAKAIEEQEAIAIoAgAgASACKAIEKAIMEQAADAELIAAoAgghBCACQQhqIAAgACgCACgCBBEBACADIAIoAgggAigCDCABIAQoAhgRCAALIAJBEGokAAt0AQN/IwBBEGsiAiQAAn8gACgCBCIDRQRAIAIgACAAKAIAKAIEEQEAIAIoAgAgASACKAIEKAIMEQAADAELIAAoAgghBCACQQhqIAAgACgCACgCBBEBACADIAIoAgggAigCDCABIAQoAhgRCAALIAJBEGokAAtsAQF/IwBBIGsiAiQAIAFBAEgEQCACQQA2AhggAkEBNgIMIAJByMzAADYCCCACQgQ3AhAgAkEIakH8zcAAEP0BAAsgAEIANwMIIABBGGpCADcDACAAQRBqQgA3AwAgACABrTcDACACQSBqJAALagIBfwF+IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBiOfAADYCCCADQgI3AhQgA0KAgICA8AwiBCADrYQ3AyggAyAEIANBBGqthDcDICADIANBIGo2AhAgA0EIaiACEP0BAAtnACMAQTBrIgAkAEHIg8EALQAABEAgAEECNgIMIABByN/AADYCCCAAQgE3AhQgACABNgIsIAAgAEEsaq1CgICAgPAMhDcDICAAIABBIGo2AhAgAEEIakHw38AAEP0BAAsgAEEwaiQAC1YBAn4CQCACQcAAcUUEQCACRQ0BQgAgAkE/ca0iBIYgAUEAIAJrQT9xrYiEIQMgASAEhiEBDAELIAEgAkE/ca2GIQNCACEBCyAAIAE3AwAgACADNwMIC2wBBH8gAEEEaigCACECIAAoAgBBADoAAAJAIAIoAgAiASgCACIARQ0AIAAgAUEEaigCACIBKAIAEQYAIAEoAgQiA0UNACABKAIIIQQgACADEMkCCyACKAIAIgBB8MXAADYCBCAAQQE2AgBBAQtcAQN/IwBBEGsiAiQAIAJBCGogARATIAIoAggiBARAIAIoAgwhAyAAIAQ2AgQgACADNgIIIAAgAzYCACABQYQBTwRAIAEQCAsgAkEQaiQADwtB2djAAEEVEOYCAAtrAQF/IwBBEGsiAyQAQdSDwQAoAgBBAkcEQBDaAQsgA0EIakHMg8EAKAIAIAFByJrAAEHQg8EAKAIAKAIUEQUAIAMoAggiASACIAMoAgwiAigCIBEBACAAIAI2AgQgACABNgIAIANBEGokAAtnAQR/IAAoAgBBADoAAAJAIAAoAgQiAigCACIBKAIAIgBFDQAgACABQQRqKAIAIgEoAgARBgAgASgCBCIDRQ0AIAEoAgghBCAAIAMQyQILIAIoAgAiAEHwxcAANgIEIABBATYCAEEBC1QBAX8jAEEgayICJAAgAkEBNgIEIAJB/NDAADYCACACQgE3AgwgAiAArUKAgICAgBWENwMYIAIgAkEYajYCCCABKAIUIAEoAhggAhBzIAJBIGokAAtVAQJ/AkAgACgCEEEBRw0AIAAoAhQiAUEAOgAAIAAoAhgiAkUNACABIAIQyQILAkAgAEF/Rg0AIAAgACgCBCIBQQFrNgIEIAFBAUcNACAAQSAQyQILC6wHAQp/IwBBIGsiBCQAIARBAToACyAEQcyDwQA2AgwgBCAEQR9qNgIYIAQgBEEMajYCFCAEIARBC2o2AhAgBEEQaiEHIwBBIGsiAiQAQdSDwQAoAgAhAQJAAkACQAJAA0ACQAJAAkACQCABQQNxIgMOAwECBQALA0AMAAsACyAHDQELEN8BIQVB1IPBACACQQhqIANyIghB1IPBACgCACIAIAAgAUYiBhs2AgAgAiAFNgIIIAIgASADazYCDCACQQA6ABACQCAGRQRAQQAgA2shBQNAIAAiAUEDcSADRw0CAkAgAigCCCIARQ0AIAAgACgCACIAQQFrNgIAIABBAUcNACACKAIIENkBCxDfASEGQdSDwQAgCEHUg8EAKAIAIgAgACABRiIJGzYCACACQQA6ABAgAiAGNgIIIAIgASAFajYCDCAJRQ0ACwsgAi0AEEUEQANAIwBBEGsiAyQAQeyHwQAoAgAiAUUEQBC0AUHsh8EAKAIAIQELIAEgASgCACIAQQFqNgIAAkACQCAAQQBOBEAgAUUNASABIAEoAgAiAEEBazYCACADIAE2AgwgAEEBRgRAAkAgA0EMaigCACIAKAIQQQFHDQAgACgCFCIBQQA6AAAgACgCGCIFRQ0AIAEgBRDJAgsCQCAAQX9GDQAgACAAKAIEIgFBAWs2AgQgAUEBRw0AIABBIBDJAgsLIANBEGokAAwCCwALEI4CAAsgAi0AEEUNAAsLAkAgAigCCCIARQ0AIAAgACgCACIAQQFrNgIAIABBAUcNACACKAIIENkBC0HUg8EAKAIAIQEMAgsCQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQ2QELQdSDwQAoAgAhAQwBC0HUg8EAIAFBAWpB1IPBACgCACIAIAAgAUYbNgIAIAAgAUcgACEBDQALIAdB7MXAACgCABEDACEBQdSDwQAoAgAhAEHUg8EAQQJBACABGzYCACACIABBA3EiATYCBCABQQFHDQEgAEEBayIARQ0AA0AgACgCACEDIABBADYCACADRQ0DIAAoAgQgAEEBOgAIIAMgAygCACIAQQFrNgIAIABBAUYEQCADENkBCyIADQALCyACQSBqJAAMAgsgAkEANgIIIwBBEGsiACQAIABB+NnAADYCDCAAIAJBBGo2AgggAEEIakHw2MAAIABBDGpB8NjAACACQQhqQfzZwAAQjwEAC0Ho2cAAENICAAsgBEEgaiQAC1MBBX8CQCAAKAIEIgFFDQAgASAAKAIIIgIoAgARBgAgAigCBCIDRQ0AIAIoAgghBCABIAMQyQILIAAoAgwiAQRAIAAoAhAgARDJAgsgAEEYEMkCC70EAgZ/AX4jAEEQayIFJAACfyAAKAIAIgAoAgBBgICAgHhGBEAgAUGhr8AAQQQQqgIMAQsgBSAANgIMIAVBDGohByMAQRBrIgIkACACIAEoAhRBpa/AAEEEIAEoAhgoAgwRAgA6AAwgAiABNgIIIAJBADoADSACQQA2AgQjAEFAaiIAJAAgAkEEaiIDKAIAIQQgAwJ/QQEgAy0ACA0AGiADKAIEIgEoAhwiBkEEcUUEQEEBIAEoAhRB2+jAAEHl6MAAIAQbQQJBASAEGyABKAIYKAIMEQIADQEaIAcgAUG4r8AAKAIAEQAADAELIARFBEBBASABKAIUQebowABBAiABKAIYKAIMEQIADQEaIAEoAhwhBgsgAEEBOgAbIAAgASkCFDcCDCAAQbzowAA2AjQgACAAQRtqNgIUIAAgASkCCDcCJCABKQIAIQggACAGNgI4IAAgASgCEDYCLCAAIAEtACA6ADwgACAINwIcIAAgAEEMajYCMEEBIAcgAEEcakG4r8AAKAIAEQAADQAaIAAoAjBB4OjAAEECIAAoAjQoAgwRAgALOgAIIAMgBEEBajYCACAAQUBrJAACfyACLQAMIgBBAEcgAygCACIBRQ0AGkEBIAANABogAigCCCEAAkAgAUEBRw0AIAItAA1FDQAgAC0AHEEEcQ0AQQEgACgCFEHo6MAAQQEgACgCGCgCDBECAA0BGgsgACgCFEHz5MAAQQEgACgCGCgCDBECAAsgAkEQaiQACyAFQRBqJAALwAwBCn8gASEJQSAhByMAQSBrIgUkAAJAAkACQAJAQbiDwQAoAgAiAUEDRgR/AkBB3IPBAC0AAA0AECkhAUHog8EAKAIAIQJB5IPBACgCACEEQeSDwQBCADcCAAJAAkACQCAEQQFHDQAQKiEBQeiDwQAoAgAhBEHkg8EAKAIAQeSDwQBCADcCACACQYQBTwRAIAIQCAtBAUcNABArIQFB6IPBACgCACEGQeSDwQAoAgBB5IPBAEIANwIAIARBhAFPBEAgBBAIC0EBRw0AECwhAUHog8EAKAIAIQJB5IPBACgCAEHkg8EAQgA3AgAgBkGEAU8EQCAGEAgLQQEhBEEBRg0BCyABEC1BAUcNAUEAIQRBASEDIAFBhAFPBEAgARAICyABIQILQZzYwABBCxAkIgFBgAEQJSELQeiDwQAoAgAhBkHkg8EAKAIAIQhB5IPBAEIANwIAIAhBAUcgBkGDAU1yRQRAIAYQCAsgAUGEAU8EQCABEAgLQYABIAsgCEEBRhshAQJAIAMEQCAEIAJBgwFLcUUNAgwBCyACQYMBTQ0BCyACEAgLQdyDwQAtAABB3IPBAEEBOgAAQeCDwQAoAgAhAkHgg8EAIAE2AgBFIAJBhAFJcg0AIAIQCAsgBUHgg8EAKAIAECgiATYCFAJAAkAgARAYIgMQGUEBRgRAIAMhAgwBCwJAAkACQAJAIAEQGiICEBlBAUcNACACEBsiBBAZQQFGBEAgBBAcIgYQHSEIIAZBhAFPBEAgBhAICyAEQYQBTwRAIAQQCAsgAkGDAU0NAiACEAgMAgsgBEGEAUkNACAEEAgLIAJBhAFJDQEgAhAIDAELIAhBAUcNABAeIQFB6IPBACgCACEGQeSDwQAoAgAhAkHkg8EAQgA3AgACQAJAIAJBAUYiCA0AIAEQH0EBRw0AIAUgATYCGCAFQZ3XwABBBhAHIgE2AhwgBUEIaiAFQRhqIAVBFGogBUEcahDuASAFKAIMIQIgBSgCCEUEQEEAIQQMAgtBAiEEIAJBhAFJBEBBjICAgHghAgwCCyACEAggBSgCHCEBQYyAgIB4IQIMAQtBAiEEQY6AgIB4IQIgBiABIAgbIgFBhAFJDQIgARAIDAILIAFBhAFPBEAgARAICyAFKAIYIgFBhAFJDQEgARAIDAELIAEQICICEBlBAUYEQCADQYQBSQ0CIAMQCAwCC0ECIQQgAkGEAU8EQCACEAgLQYeAgIB4IQILIANBhAFPBEAgAxAICyAFKAIUIgFBhAFPBEAgARAICwwBC0GAAhBAIQMgAUGEAU8EQCABEAgLQQEhBAtBwIPBACgCACEBQcCDwQAgAzYCAEG8g8EAKAIAIQNBvIPBACACNgIAQbiDwQAoAgAhAkG4g8EAIAQ2AgACQCACQX5xQQJGDQACQCACRQRAIAMiAUGDAUsNAQwCCyADQYQBTwRAIAMQCAsgAUGEAUkNAQsgARAIC0G4g8EAKAIABSABC0EBaw4CAgABC0G8g8EAKAIAIQEMAgtBACEBQbyDwQAoAgAhBgNAIAdFDQIQRyICEDwiAyAJQf////8HIAcgB0H/////B08bIgQQPSEIIAJBhAFPBEAgAhAICyADQYQBTwRAIAMQCAsgBiAIECFB6IPBACgCACECQeSDwQAoAgBB5IPBAEIANwIAIAcgBGshByAEIAlqIQlBAUcNAAtBjYCAgHghASACQYQBSQ0BIAIQCAwBC0G8g8EAKAIAIQYCQANAIAVBwIPBACgCAEEAQYACIAcgB0GAAk8bIgIQQSIBNgIcIAYgARAiQeiDwQAoAgAhAUHkg8EAKAIAQeSDwQBCADcCAEEBRg0BIAcgAmshBxBHIgMQPCIEED4hASAEQYQBTwRAIAQQCAsgASAFQRxqKAIAIAkQPyABQYQBTwRAIAEQCAsgA0GEAU8EQCADEAgLIAUoAhwiAUGEAU8EQCABEAgLIAIgCWohCSAHDQALQQAhAQwBCyABQYQBTwRAIAEQCAsgBSgCHCIBQYQBTwRAIAEQCAtBiICAgHghAQsgBUEgaiQAAkAgAQRAQcmDwQAtAAAaQQRBBBC4AiIKRQ0BIAogATYCAAsgAEGU0cAANgIEIAAgCjYCAA8LQQRBBBDtAgALWAAgASgCACACKAIAIAMoAgAQRCEBQQEhAwJAQeSDwQAoAgBBAUYEQCAAQeiDwQAoAgA2AgQMAQsgACABQQBHOgABQQAhAwsgACADOgAAQeSDwQBCADcCAAtGAQJ/QeyHwQAoAgAiAEUEQBC0AUHsh8EAKAIAIQALIAAgACgCACIBQQFqNgIAAkAgAUEATgRAIABFDQEgAA8LAAsQjgIAC1ABAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAQAgAiACKAIIIAIoAgwoAhgRAQAgAigCBCEBIAAgAigCADYCACAAIAE2AgQgAkEQaiQAC0wBBX8CQCAAKAIEIgFFDQAgASAAKAIIIgIoAgARBgAgAigCBCIDRQ0AIAIoAgghBCABIAMQyQILIAAoAgwiAQRAIAAoAhAgARDJAgsLIAEBfyMAQSBrIgEkACABQQQ2AgQgACgAACABQSBqJAALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAARQ0AIANB1OjAAEEEIAIoAgwRAgBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACELcBIAAoAgghAwsgACgCBCADaiABIAIQ8QIaIAAgAiADajYCCEEAC0gBAX8jAEEQayICJAAgAkEIaiABEPIBIAIgAigCCCACKAIMKAIYEQEAIAIoAgQhASAAIAIoAgA2AgAgACABNgIEIAJBEGokAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACELgBIAAoAgghAwsgACgCBCADaiABIAIQ8QIaIAAgAiADajYCCEEAC0MBAX8gAiAAKAIAIAAoAggiA2tLBEAgACADIAIQuQEgACgCCCEDCyAAKAIEIANqIAEgAhDxAhogACACIANqNgIIQQALTwECf0HJg8EALQAAGiABKAIEIQIgASgCACEDQQhBBBC4AiIBRQRAQQRBCBDtAgALIAEgAjYCBCABIAM2AgAgAEGI4cAANgIEIAAgATYCAAu3AwEGfyMAQRBrIgIkAEHKg8EALQAAQQNHBEAgAkEBOgALIAIgAkELajYCDCACQQxqIQAjAEEgayIBJAACQAJAAkACQAJAAkACQEHKg8EALQAAQQFrDgMCBAEAC0HKg8EAQQI6AAAgACgCACIALQAAIABBADoAAEUNAiMAQSBrIgAkAAJAAkACQEGUhMEAKAIAQf////8HcQRAQeSHwQAoAgANAQtBiITBACgCAA0BQZCEwQAoAgAhA0GQhMEAQfSgwAA2AgBBjITBACgCACEEQYyEwQBBATYCAEGIhMEAQQA2AgACQCAERQ0AIAQgAygCABEGACADKAIEIgVFDQAgAygCCBogBCAFEMkCCyAAQSBqJAAMAgsgAEEANgIYIABBATYCDCAAQbTgwAA2AgggAEIENwIQIABBCGpB2ODAABD9AQALAAtByoPBAEEDOgAACyABQSBqJAAMBAsgAUEANgIYIAFBATYCDCABQbihwAA2AggMAgtBzKLAABDSAgALIAFBADYCGCABQQE2AgwgAUH4ocAANgIICyABQgQ3AhAgAUEIakGAhsAAEP0BAAsLIAJBEGokAAtFAQR/AkAgAEEEaigCACIDRQ0AIAMgAEEIaigCACIEKAIAEQYAIAQoAgQiBUUNACAEKAIIIQYgAyAFEMkCCyAAQRgQyQILRQEEfwJAIABBBGooAgAiAUUNACABIABBCGooAgAiAigCABEGACACKAIEIgNFDQAgAigCCCEEIAEgAxDJAgsgAEEUEMkCC0UBBH8CQCAAQQRqKAIAIgNFDQAgAyAAQQhqKAIAIgQoAgARBgAgBCgCBCIFRQ0AIAQoAgghBiADIAUQyQILIABBFBDJAgtNAQF/QcmDwQAtAAAaQQVBARC4AiIBRQRAQQFBBRCjAgALIAFBBGpB9JbAAC0AADoAACABQfCWwAAoAAA2AAAgACABNgIAIABBBTYCBAtLACABKAIAIAIoAgAgAygCABA0IQFB6IPBACgCACECQeSDwQAoAgAhA0Hkg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALOAACQCABaUEBR0GAgICAeCABayAASXINACAABEBByYPBAC0AABogACABELgCIgFFDQELIAEPCwALQgEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQ/QEAC0kBAX8gASgCACACQf8BcRAxIQFB6IPBACgCACECQeSDwQAoAgAhA0Hkg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALPgEBfyMAQRBrIgIkACACQQhqIAEgASgCACgCBBEBACACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALOQACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQAADQEaCyADDQFBAAsPCyAAIAMgBCABKAIMEQIAC/oFAgZ+A38jAEEgayIKJAAgASEEQgAhASMAQSBrIgskAAJAAkACQCADUARAIAJQIAJQIAMgBFZxcg0BIAtBEGogA0HAACACeadrIgxB/wBxENMBQgEgDEE/ca2GIQggC0EYaikDACEGIAspAxAhBwNAIAIgBn0gBCAHVK19IgFCAFkEQCAFIAiEIQUgAVAgBCAHfSIEIANUcQ0EIAEhAgsgBkI/hiAHQgGIhCEHIAhCAYghCCAGQgGIIQYMAAsACwJAAkACQAJAIAJQRQRAIAIgA1QNAyACIANRDQEgAiACIAOAIgggA359IQEgA0KAgICAEFoNAiAEQv////8PgyABQiCGIARCIIiEIgEgASADgCIBIAN+fUIghoQiAiADIAIgA4AiAn59IQQgAUIghiAChCEFIAFCIIggCIQhCEIAIQEMBwsgBCAEIAOAIgUgA359IQQMBQsgBCAEIAKAIgUgAn59IQRCASEIDAULIAFQIAMgBFZxDQEgA0IBiCEGIANCP4YhB0KAgICAgICAgIB/IQIDQAJAIAEgBn0gBCAHVK19IgVCAFkEQCAEIAd9IQQgAiAJhCEJIAVQDQEgBSEBCyAGQj+GIAdCAYiEIQcgAkIBiCECIAZCAYghBgwBCwsgBCADgCIBIAmEIQUgBCABIAN+fSEEQgAhAQwECyALIANBPyADeSIBpyACeSIFp2tBQGsgASAFURsiDBDTAUIBIAxBP3GthiEBIAtBCGopAwAhBiALKQMAIQcDQAJAIAIgBn0gBCAHVK19IgVCAFkEQCAEIAd9IQQgASAJhCEJIAVQDQEgBSECCyAGQj+GIAdCAYiEIQcgAUIBiCEBIAZCAYghBgwBCwsgBCADgCIBIAmEIQUgBCABIAN+fSEEQgAhAQwCCwwCCyACIQELQgAhCAsgCiAENwMQIAogBTcDACAKQRhqIAE3AwAgCiAINwMIIAtBIGokACAKKQMAIQEgACAKQQhqKQMANwMIIAAgATcDACAKQSBqJAALOAEBfyMAQRBrIgIkACACQQhqIAAgACgCACgCBBEBACACKAIIIAEgAigCDCgCEBEAACACQRBqJAALOQEBfyAAKAIAIQAgASgCHCICQRBxRQRAIAJBIHFFBEAgACABEM8CDwsgACABEMQBDwsgACABEMMBCzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBhJ3AAEENQZGdwABBBCACQQxqQZidwAAQvwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFB3KLAAEEFQeGiwABBAyACQQxqQeSiwAAQvwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFB9KLAAEEGQeGiwABBAyACQQxqQfyiwAAQvwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFB/LHAAEEGQemxwABBAyACQQxqQYSywAAQvwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFB5LHAAEEFQemxwABBAyACQQxqQeyxwAAQvwEgAkEQaiQAC0MBAn8gASgCABAwIQFB6IPBACgCACECQeSDwQAoAgAhA0Hkg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALrAIBAn8jAEEgayICJAAgAkEBOwEcIAIgATYCGCACIAA2AhQgAkHE5sAANgIQIAJBATYCDCMAQRBrIgEkACACQQxqIgAoAggiAkUEQEHo4MAAENICAAsgASAAKAIMNgIMIAEgADYCCCABIAI2AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQQEhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAIAI2AgwgAEGAgICAeDYCACAAQazhwAAgASgCBCIAKAIIIAEoAgggAC0AECAALQARELUBAAsgACADNgIEIAAgAjYCACAAQZjhwAAgASgCBCIAKAIIIAEoAgggAC0AECAALQARELUBAAs4AQF/IwBBEGsiAiQAIAIgADYCDCABQcGBwABBCkHLgcAAQQMgAkEMakHQgcAAEL8BIAJBEGokAAs2AQF+AkAgACkDOCICQgBXDQAgACgCQEEASA0AIAAgAkKAAn03AzggACABEEkPCyAAIAEQsgELOAEBfyMAQRBrIgIkACACIAA2AgwgAUGUssAAQQpB6bHAAEEDIAJBDGpBoLLAABC/ASACQRBqJAALrQgCBH4FfyABKAIcIgdBEHFFBEAgB0EgcUUEQCAAKQMAIQMgAEEIaikDACECIwBBkAFrIgAkACAAQSc2AowBIABBEGoCfiACQoCAIFoEQCAAQTBqIANCAELzstjBnp69zJV/QgAQyQEgAEEgaiADQgBC0uGq2u2nyYf2AEIAEMkBIABB0ABqIAJCAELzstjBnp69zJV/QgAQyQEgAEFAayACQgBC0uGq2u2nyYf2AEIAEMkBIABByABqKQMAIABBKGopAwAgAEE4aikDACIEIAApAyB8IgIgBFStfCIFIAApA0B8IgQgBVStfCAEIABB2ABqKQMAIAIgACkDUHwgAlStfHwiAiAEVK18IgVCPoghBCAFQgKGIAJCPoiEDAELIAJCLYYgA0ITiIRCvaKCo46rBIALIgIgBEKAgOCwt5+3nPUAQgAQyQEgACkDECADfCAAQeUAaiIHIABBjAFqIggQcCABQQFBAUEAAn8gACgCjAEiASACIASEUA0AGiAAQfkAakEwIAFBFGsQ8gIaIABBFDYCjAEgACAEQi2GIAJCE4iEIgNCvaKCo46rBIAiBCACQoCA4LC3n7ec9QBCABDJASAAKQMAIAJ8IAcgCBBwIAAoAowBIgEgA0K9ooKjjqsEVA0AGiAAQeYAakEwIAFBAWsQ8gIaIAAgBKdBMHI6AGVBAAsiASAAQeUAampBJyABaxBuIABBkAFqJAAPCwJ/QQAhByMAQYABayIJJAAgAEEIaikDACECIAApAwAhA0GAASEAIAlBgAFqIQgCQAJAA0AgAEUNASAIQQFrIAOnQQ9xIgZBMHIgBkE3aiAGQQpJGzoAAAJAIAJQIgogA0IQVHEEQCAAQQFrIQAMAQsgCEECayIIIAJCPIYgA0IEiISnQQ9xIgZBMHIgBkE3aiAGQQpJGzoAACACQjiGIANCgAJUIQYgAEECayEAIAJCCIghAiADQgiIhCEDIAYgCnFFDQELCyAAQYEBTw0BIAAhBwsgAUEBQZTpwABBAiAHIAlqQYABIAdrEG4gCUGAAWokAAwBCyAAQYABQYTpwAAQzQIACw8LAn9BACEHIwBBgAFrIgkkACAAQQhqKQMAIQIgACkDACEDQYABIQAgCUGAAWohCAJAAkADQCAARQ0BIAhBAWsgA6dBD3EiBkEwciAGQdcAaiAGQQpJGzoAAAJAIAJQIgogA0IQVHEEQCAAQQFrIQAMAQsgCEECayIIIAJCPIYgA0IEiISnQQ9xIgZBMHIgBkHXAGogBkEKSRs6AAAgAkI4hiADQoACVCEGIABBAmshACACQgiIIQIgA0IIiIQhAyAGIApxRQ0BCwsgAEGBAU8NASAAIQcLIAFBAUGU6cAAQQIgByAJakGAASAHaxBuIAlBgAFqJAAMAQsgAEGAAUGE6cAAEM0CAAsLMAEBfyMAQRBrIgIkACACQQhqIAAQ8gEgAigCCCABIAIoAgwoAhARAAAgAkEQaiQACzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABEIsCDwsgACABEMQBDwsgACABEMMBCzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABEM8CDwsgACABEMQBDwsgACABEMMBCy4AAkAgA2lBAUdBgICAgHggA2sgAUlyRQRAIAAgASADIAIQpQIiAA0BCwALIAALNwEBfyMAQSBrIgEkACABQQA2AhggAUEBNgIMIAFB1PzAADYCCCABQgQ3AhAgAUEIaiAAEP0BAAs7AQF/QQEhAgJAIAAgARCXAQ0AIAEoAhRB9OTAAEECIAEoAhgoAgwRAgANACAAQQRqIAEQlwEhAgsgAgs4AQF/IAEoAhQhAiABKAIYKAIMIQEgAC0AAEUEQCACQYjEwABBASABEQIADwsgAkEBQQAgARECAAs4AEHJg8EALQAAGkEEQQQQuAIiAUUEQEEEQQQQ7QIACyABQQA2AgAgAEGQycAANgIEIAAgATYCAAs4AQN/AkAgACgCBCIBRQ0AIAEgACgCCCIAKAIAEQYAIAAoAgQiAkUNACAAKAIIIQMgASACEMkCCwskAQF/IAAoAgAiACAAQR91IgJzIAJrrSAAQX9zQR92IAEQmAELIQACQCAABEAgACgCAA0BIABBOBDJAg8LEOcCAAsQ6AIACyIAAkAgAARAIAAoAgBBf0YNASAALQAwDwsQ5wIACxDoAgALaAECfyMAQRBrIgEkACABQd4ANgIMIAFB5d3AADYCCCMAQSBrIgAkACAAQQE2AgQgAEHo5cAANgIAIABCATcCDCAAIAFBCGqtQoCAgICwG4Q3AxggACAAQRhqNgIIIABBxN7AABD9AQALHwACQCAABEAgACgCAEF/Rg0BQQEPCxDnAgALEOgCAAsoACABIAAoAgAtAABBAnQiAEG8ncAAaigCACAAQaidwABqKAIAEKoCCyUAIABFBEBBp9jAAEEyEOYCAAsgACACIAMgBCAFIAEoAhARCwALIwAgAEUEQEGn2MAAQTIQ5gIACyAAIAIgAyAEIAEoAhARBQALIwAgAEUEQEGn2MAAQTIQ5gIACyAAIAIgAyAEIAEoAhARGgALIwAgAEUEQEGn2MAAQTIQ5gIACyAAIAIgAyAEIAEoAhARCAALIwAgAEUEQEGn2MAAQTIQ5gIACyAAIAIgAyAEIAEoAhARHAALIwAgAEUEQEGn2MAAQTIQ5gIACyAAIAIgAyAEIAEoAhARHgALJgECfyAAKAIAIgFBgICAgHhyQYCAgIB4RwRAIAAoAgQgARDJAgsLKAAgAEEMakEAIAJC5NvUoJrp/vKXf1EbQQAgAULT6oWRlPfYhn9RGwsjACABQYWswABB+avAACAAKAIALQAAIgAbQQ9BDCAAGxCqAgspACAAQQxqQQAgAkLtuq22zYXU9eMAURtBACABQviCmb2V7sbFuX9RGwskACAALQAARQRAIAFBuMrAAEEdEKoCDwsgAUHsy8AAQSYQqgILIQAgAEUEQEGn2MAAQTIQ5gIACyAAIAIgAyABKAIQEQQACxsAIAAoAgAiAEEEaigCACAAQQhqKAIAIAEQYAscACAAKAIAIgBBBGooAgAgAEEIaigCACABEPACCxsAIAAoAgAiAEEUaigCACAAQRhqKAIAIAEQcwsfACAARQRAQafYwABBMhDmAgALIAAgAiABKAIQEQAACxgBAn8gACgCACIBBEAgACgCBCABEMkCCwsZACAAKAIAIgAoAgAgAEEEaigCACABEPACC0YAIABFBEAjAEEgayIAJAAgAEEANgIYIABBATYCDCAAQYziwAA2AgggAEIENwIQIABBCGpBsOLAABD9AQALIAAgARDtAgALFgAgAEHImsAANgIEIAAgAUEMajYCAAvgBgEGfwJ/AkACQAJAAkACQCAAQQRrIgUoAgAiBkF4cSIEQQRBCCAGQQNxIgcbIAFqTwRAIAdBACABQSdqIgkgBEkbDQECQAJAIAJBCU8EQCACIAMQiwEiCA0BQQAMCQsgA0HM/3tLDQFBECADQQtqQXhxIANBC0kbIQECQCAHRQRAIAFBgAJJIAQgAUEEcklyIAQgAWtBgYAIT3INAQwJCyAAQQhrIgIgBGohBwJAAkACQAJAIAEgBEsEQCAHQcyHwQAoAgBGDQQgB0HIh8EAKAIARg0CIAcoAgQiBkECcQ0FIAZBeHEiBiAEaiIEIAFJDQUgByAGEJEBIAQgAWsiA0EQSQ0BIAUgASAFKAIAQQFxckECcjYCACABIAJqIgEgA0EDcjYCBCACIARqIgIgAigCBEEBcjYCBCABIAMQhAEMDQsgBCABayIDQQ9LDQIMDAsgBSAEIAUoAgBBAXFyQQJyNgIAIAIgBGoiASABKAIEQQFyNgIEDAsLQcCHwQAoAgAgBGoiBCABSQ0CAkAgBCABayIDQQ9NBEAgBSAGQQFxIARyQQJyNgIAIAIgBGoiASABKAIEQQFyNgIEQQAhA0EAIQEMAQsgBSABIAZBAXFyQQJyNgIAIAEgAmoiASADQQFyNgIEIAIgBGoiAiADNgIAIAIgAigCBEF+cTYCBAtByIfBACABNgIAQcCHwQAgAzYCAAwKCyAFIAEgBkEBcXJBAnI2AgAgASACaiIBIANBA3I2AgQgByAHKAIEQQFyNgIEIAEgAxCEAQwJC0HEh8EAKAIAIARqIgQgAUsNBwsgAxBMIgFFDQEgASAAQXxBeCAFKAIAIgFBA3EbIAFBeHFqIgEgAyABIANJGxDxAiAAEHEMCAsgCCAAIAEgAyABIANJGxDxAhogBSgCACICQXhxIgMgAUEEQQggAkEDcSICG2pJDQMgAkEAIAMgCUsbDQQgABBxCyAIDAYLQcncwABBLkH43MAAEPABAAtBiN3AAEEuQbjdwAAQ8AEAC0HJ3MAAQS5B+NzAABDwAQALQYjdwABBLkG43cAAEPABAAsgBSABIAZBAXFyQQJyNgIAIAEgAmoiAiAEIAFrIgFBAXI2AgRBxIfBACABNgIAQcyHwQAgAjYCACAADAELIAALCxYAIABBzMfAADYCBCAAIAFBDGo2AgALFgAgAEH0xsAANgIEIAAgAUEMajYCAAsSACAAKAIAIAEgAkEAEDlBAEcLDgAgAQRAIAAgARDJAgsLFgAgACgCFCABIAIgACgCGCgCDBECAAsUACAAKAIAIAEgACgCBCgCEBEAAAsUACAAKAIAIgAgACgCACgCABEGAAsRACAAKAIAIAFBAUEBQQAQNwsUACAAKAIAIAEgACgCBCgCDBEAAAsUACAAKAIUIAEgACgCGCgCEBEAAAvHCAEFfyMAQfAAayIFJAAgBSADNgIMIAUgAjYCCAJAAkAgAUGBAk8EQCAAAn9BAyAALACAAkG/f0oNABpBAiAALAD/AUG/f0oNABogACwA/gFBv39KC0H9AWoiBmosAABBv39MDQEgBSAGNgIUIAUgADYCEEEFIQdBtO3AACEGDAILIAUgATYCFCAFIAA2AhBBASEGDAELIAAgAUEAIAYgBBCwAgALIAUgBzYCHCAFIAY2AhgCQAJAAkACQAJAIAEgAkkiByABIANJckUEQCACIANLDQECQCACRSABIAJNckUEQCAAIAJqLAAAQUBIDQELIAMhAgsgBSACNgIgIAIgASIDSQRAIAJBA2siA0EAIAIgA08bIgMgAkEBaiIHSw0DAkAgAyAHRg0AIAAgB2ogACADaiIIayEHIAAgAmoiCSwAAEG/f0oEQCAHQQFrIQYMAQsgAiADRg0AIAlBAWsiAiwAAEG/f0oEQCAHQQJrIQYMAQsgAiAIRg0AIAlBAmsiAiwAAEG/f0oEQCAHQQNrIQYMAQsgAiAIRg0AIAlBA2siAiwAAEG/f0oEQCAHQQRrIQYMAQsgAiAIRg0AIAdBBWshBgsgAyAGaiEDCwJAIANFDQAgASADTQRAIAEgA0YNAQwGCyAAIANqLAAAQb9/TA0FCyABIANGDQMCfwJAAkAgACADaiIBLAAAIgBBAEgEQCABLQABQT9xIQYgAEEfcSECIABBX0sNASACQQZ0IAZyIQIMAgsgBSAAQf8BcTYCJEEBDAILIAEtAAJBP3EgBkEGdHIhBiAAQXBJBEAgBiACQQx0ciECDAELIAJBEnRBgIDwAHEgAS0AA0E/cSAGQQZ0cnIiAkGAgMQARg0FCyAFIAI2AiRBASACQYABSQ0AGkECIAJBgBBJDQAaQQNBBCACQYCABEkbCyEAIAUgAzYCKCAFIAAgA2o2AiwgBUEFNgI0IAVBvO7AADYCMCAFQgU3AjwgBSAFQRhqrUKAgICAsBuENwNoIAUgBUEQaq1CgICAgLAbhDcDYCAFIAVBKGqtQoCAgIDQG4Q3A1ggBSAFQSRqrUKAgICA4BuENwNQIAUgBUEgaq1CgICAgPAMhDcDSAwFCyAFIAIgAyAHGzYCKCAFQQM2AjQgBUH87sAANgIwIAVCAzcCPCAFIAVBGGqtQoCAgICwG4Q3A1ggBSAFQRBqrUKAgICAsBuENwNQIAUgBUEoaq1CgICAgPAMhDcDSAwECyAFQQQ2AjQgBUHc7cAANgIwIAVCBDcCPCAFIAVBGGqtQoCAgICwG4Q3A2AgBSAFQRBqrUKAgICAsBuENwNYIAUgBUEMaq1CgICAgPAMhDcDUCAFIAVBCGqtQoCAgIDwDIQ3A0gMAwsgAyAHQbDvwAAQ0AIACyAEENICAAsgACABIAMgASAEELACAAsgBSAFQcgAajYCOCAFQTBqIAQQ/QEACxEAIAAoAgQgACgCCCABEPACCxMAIABBKDYCBCAAQZCawAA2AgALIAAgAEL0053MjO2r+CI3AwggAEKP26/stsSUpms3AwALIAAgAEKiy/20ptW6wEI3AwggAEKlk5i3uM6CgQE3AwALEwAgAEGEm8AANgIEIAAgATYCAAsQACAAKAIEIAAoAgggARBgCxEAIAAoAgAgACgCBCABEPACCxoAAn8gAUEJTwRAIAEgABCLAQwBCyAAEEwLCyIAIABCovnIh+7ci7WqfzcDCCAAQu3amNeb3feu4gA3AwALEAAgACgCACAAKAIEIAEQYAshACAAQt769//5o87Ps383AwggAEKg4aHLzteD2QI3AwALEwAgAEEoNgIEIABBiMbAADYCAAsTACAAQYjIwAA2AgQgACABNgIACxMAIABBxMjAADYCBCAAIAE2AgALIgAgAELevcKWnNn84KF/NwMIIABCpvDJlbTzivf1ADcDAAsTACAAQSg2AgQgAEHU0MAANgIACyEAIABCk4fFre6BoosoNwMIIABCpsnH2u/9rfvBADcDAAsWAEHog8EAIAA2AgBB5IPBAEEBNgIACyEAIABC5NvUoJrp/vKXfzcDCCAAQtPqhZGU99iGfzcDAAshACAAQpTV95jr18HJ6QA3AwggAELzqNHa3Z6JoGw3AwALIgAgAELtuq22zYXU9eMANwMIIABC+IKZvZXuxsW5fzcDAAsTACAAQYjhwAA2AgQgACABNgIACxAAIAEgACgCACAAKAIEEGULEAAgASgCFCABKAIYIAAQcwthAQJ/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEHEMAgtBydzAAEEuQfjcwAAQ8AEAC0GI3cAAQS5BuN3AABDwAQALCw4AIAAoAgAgASACEKoCCw0AIAAoAgBBASABEDgLDgAgACgCACABKAIAEEILawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQeDrwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgPAMhDcDKCADIAOtQoCAgIDwDIQ3AyAgAyADQSBqNgIQIANBCGogAhD9AQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQYDswAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgPAMhDcDKCADIAOtQoCAgIDwDIQ3AyAgAyADQSBqNgIQIANBCGogAhD9AQALDgAgADUCAEEBIAEQmAELawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQbTswAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgPAMhDcDKCADIAOtQoCAgIDwDIQ3AyAgAyADQSBqNgIQIANBCGogAhD9AQALDgAgADEAAEEBIAEQmAELDwBB8eXAAEErIAAQ8AEACwsAIAAjAGokACMACw4AIAFBvIHAAEEFEKoCCw4AIAFBqJPAAEEFEKoCCw4AIAFB2JbAAEEFEKoCCwwAIAAoAgAgARDOAQulAQEBfyAAKAIAIwBBQGoiACQAKAIAIQIgAEIANwM4IABBOGogAhBFIAAgACgCPCICNgI0IAAgACgCODYCMCAAIAI2AiwgACAAQSxqrUKAgICAsBiENwMgIABBAjYCDCAAQZjawAA2AgggAEIBNwIUIAAgAEEgajYCECABKAIUIAEoAhggAEEIahBzIAAoAiwiAgRAIAAoAjAgAhDJAgsgAEFAayQACw0AIABBzJjAACABEHMLDgAgAUHUnMAAQQUQqgILDgAgAUH0q8AAQQUQqgILDQAgAEGUrMAAIAEQcwsOACABQdCtwABBBRCqAgsOACABQZyvwABBBRCqAgsNACAAQaiwwAAgARBzCw4AIAFB5LHAAEEFEKoCCw4AIAFB7LTAAEESEKoCCwwAIAAoAgAgARDIAQsMACAAKAIAIAEQrwILDQAgAEH0ycAAIAEQcwsMACAAKAIAIAEQzwILCQAgACABEEYACw0AQajawABBGxDmAgALDgBBw9rAAEHPABDmAgALDQAgAEGI3MAAIAEQcwsNACAAQeDhwAAgARBzCw4AIAFB0OHAAEEFEKoCCw4AIAFB1eHAAEELEKoCCxoAIAAgAUGEhMEAKAIAIgBBxAEgABsRAQAAC8UCAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQMAgsgACgCCCIDIAAoAgBGBEAgABC7AQsgACADQQFqNgIIIAAoAgQgA2ogAToAAAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARC5ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEPECGiAAIAEgA2o2AggLIAJBEGokAEEACw0AIABBvOjAACABEHMLCgAgAiAAIAEQZQu4AgEHfwJAIAIiBEEQSQRAIAAhAgwBCyAAQQAgAGtBA3EiA2ohBSADBEAgACECIAEhBgNAIAIgBi0AADoAACAGQQFqIQYgAkEBaiICIAVJDQALCyAFIAQgA2siCEF8cSIHaiECAkAgASADaiIDQQNxBEAgB0EATA0BIANBA3QiBEEYcSEJIANBfHEiBkEEaiEBQQAgBGtBGHEhBCAGKAIAIQYDQCAFIAYgCXYgASgCACIGIAR0cjYCACABQQRqIQEgBUEEaiIFIAJJDQALDAELIAdBAEwNACADIQEDQCAFIAEoAgA2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwsgCEEDcSEEIAMgB2ohAQsgBARAIAIgBGohAwNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANJDQALCyAAC68BAQN/IAEhBQJAIAJBEEkEQCAAIQEMAQsgAEEAIABrQQNxIgNqIQQgAwRAIAAhAQNAIAEgBToAACABQQFqIgEgBEkNAAsLIAQgAiADayICQXxxIgNqIQEgA0EASgRAIAVB/wFxQYGChAhsIQMDQCAEIAM2AgAgBEEEaiIEIAFJDQALCyACQQNxIQILIAIEQCABIAJqIQIDQCABIAU6AAAgAUEBaiIBIAJJDQALCyAAC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCAAQQFqIQAgAUEBaiEBIAJBAWsiAg0BDAILCyAEIAVrIQMLIAMLCQAgAEEANgIACwkAIAAgARDPAQsJACAAIAE2AgALCQAgACABEKQBCwkAIAAgARCBAQsJACAAKAIAEC8LCQAgACgCABAnCwkAIAAoAgAQQwsHACAAEKwCC+sGAgd/AX4CQCMAQdAAayICJAAgAkEANgIoIAJCgICAgBA3AiAgAkEDOgBMIAJBIDYCPCACQQA2AkggAkGUrMAANgJEIAJBADYCNCACQQA2AiwgAiACQSBqNgJAIwBBQGoiACQAQQEhBgJAIAJBLGoiBCgCFCIDQbTmwABBDCAEKAIYIgcoAgwiBBECAA0AIAEoAgwhBSAAQQM2AhQgAEGc5sAANgIQIABCAzcCHCAAIAWtQoCAgICwG4Q3AyggACAFQQxqrUKAgICA8AyENwM4IAAgBUEIaq1CgICAgPAMhDcDMCAAIABBKGoiCDYCGCADIAcgAEEQahBzDQAgA0Hw5cAAQQEgBBECAA0AAkAgASgCCCIFBEAgA0HA5sAAQQEgBBECAA0CIABBOGogBUEQaikCADcDACAAQTBqIAVBCGopAgA3AwAgACAFKQIANwMoIAMgByAIEHNFDQEMAgsgACABKAIAIgUgASgCBEEMaigCABEBACAAKQMAQviCmb2V7sbFuX9SDQAgACkDCELtuq22zYXU9eMAUg0AIANBwObAAEEBIAQRAgANASADIAUoAgAgBSgCBCAEEQIADQELQQAhBgsgAEFAayQAAkAgBkUEQCACQRhqIAJBKGooAgAiAzYCACACIAIpAiAiCTcDECAJpyIAIANrQQlNBEAgAkEQaiADQQoQuAEgAigCGCEDIAIoAhAhAAsgAigCFCIBIANqIgRB1a3AACkAADcAACAEQQhqQd2twAAvAAA7AAAgAiADQQpqIgM2AhggAkEIahAUIgUQFSACKAIIIQYgAigCDCIEIAAgA2tLBEAgAkEQaiADIAQQuAEgAigCFCEBIAIoAhghAyACKAIQIQALIAEgA2ogBiAEEPECGiACIAMgBGoiAzYCGCAAIANrQQFNBEAgAkEQaiADQQIQuAEgAigCGCEDIAIoAhQhAQsgASADakGKFDsAACACIANBAmoiAzYCGAJAIAMgAigCECIHTwRAIAEhAAwBCyADRQRAQQEhACABIAcQyQIMAQsgASAHQQEgAxClAiIARQ0CCyAAIAMQFiAEBEAgBiAEEMkCCyAFQYQBTwRAIAUQCAsgAkHQAGokAAwCC0GsrMAAQTcgAkEQakHkrMAAQcCtwAAQygEAC0EBIAMQowIACwsCAAsCAAsLoIIBCQBBgIDAAAvdCQUAAAAMAAAABAAAAAYAAAAHAAAACAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkACQAAAAAAAAABAAAACgAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwBgABAASwAAAP8JAAAOAAAARXJyb3JSYW5nZUVycm9yb2JqAAALAAAABAAAAAQAAAAMAAAAAQAAAAAAAABub3RhdGlvbmNvbXBhY3Rjb21wYWN0RGlzcGxheWNyYXRlcy9maXhlZC1wb2ludC13YXNtL3NyYy9mb3JtYXR0aW5nLnJzAAAFARAAKQAAACIAAAANAAAABQEQACkAAAAhAAAADQAAAHN0eWxlcGVyY2VudAUBEAApAAAALQAAAA4AAAAFARAAKQAAACUAAAANAAAAY3VycmVuY3lVU0RzaG9ydGN1cnJlbmN5RGlzcGxheQAFARAAKQAAAE4AAAANAAAABQEQACkAAABWAAAADgAAAAUBEAApAAAASwAAAA0AAAAFARAAKQAAAEoAAAANAAAABQEQACkAAABEAAAACQAAAAUBEAApAAAAQwAAAAkAAABtYXhpbXVtRnJhY3Rpb25EaWdpdHMAAAAFARAAKQAAAF8AAAANAAAAbWluaW11bUZyYWN0aW9uRGlnaXRzcm91bmRpbmdNb2RlAAAABQEQACkAAABvAAAADQAAAHVzZUdyb3VwaW5nAAUBEAApAAAAcwAAAA0AAABlbi1VUwAAAAUBEAApAAAAZwAAAA0AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jb25zb2xlX2Vycm9yX3BhbmljX2hvb2stMC4xLjcvc3JjL2xpYi5ycwAAAIwCEABxAAAAlQAAAA4AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2NvcmUvc3JjL2NvbnZlcnQvbW9kLnJzABADEABPAAAAHgMAAAkAAABjcmF0ZXMvZml4ZWQtcG9pbnQtd2FzbS9zcmMvbGliLnJzAABwAxAAIgAAAIMAAAASAAAAcAMQACIAAACbAAAAEgAAAHADEAAiAAAAIwEAABIAAABwAxAAIgAAAIEBAAAMAAAAMHgAAHADEAAiAAAAjwEAADwAAAABAAAAAAAAAEludmFsaWQgQmlnSW50OiDwAxAAEAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvZml4ZWRfcG9pbnQucnMIBBAAcAAAAEsAAABPAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQATAAAABAAAAAQAAAAUAAAACAQQAHAAAADNAAAARgAAAAEAAAAAAAAAAQBBh4rAAAsBgABBp4rAAAviGIASAAAAAAAAAP////////////////////////////////////////9/EgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LlgFEAALAAAAYwUQACEAAAAIBBAAcAAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAKQFEAAdAAAAwQUQAAkAAAAIBBAAcAAAAKwAAAAUAAAARmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdHlwZToKICAgIHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKAOwFEABHAAAAMwYQABcAAABKBhAABAAAAE4GEAABAAAACAQQAHAAAAApAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwAAAIAGEABpAAAAQgAAAE8AAACABhAAaQAAAEEAAAAsAAAAgAYQAGkAAABAAAAADgAAAENhbm5vdCBkaXZpZGUgYnkgemVyby4AABwHEAAWAAAAgAYQAGkAAAA2AAAADQAAAEZpeGVkUG9pbnQgb3BlcmF0aW9uIG92ZXJmbG93ZWQ6ICAqICAvIABMBxAAIQAAAG0HEAADAAAAcAcQAAMAAACABhAAaQAAAD8AAAAaAAAAgAYQAGkAAAAxAAAALAAAAIAGEABpAAAAMAAAAAoAAACABhAAaQAAACYAAAANAAAAgAYQAGkAAAAvAAAAFgAAAIAGEABpAAAAdQAAABUAAACABhAAaQAAAF0AAAARAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAAAA/AcQAGkAAAAmAAAAAQAAABUAAAAMAAAABAAAABYAAAAXAAAACAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAGAAAAAAAAAABAAAAGQAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwDYCBAASwAAAP8JAAAOAAAAYXNzZXJ0aW9uIGZhaWxlZDogbWluIDw9IG1heC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvY29yZS9zcmMvY21wLnJzAFAJEABHAAAAiwMAAAkAAABFcnJvcmFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AACtCRAAHQAAAEZpeGVkUG9pbnQoKdQJEAALAAAA3wkQAAEAAABiaWdpbnRudW1iZXJfLC0rMHgwYjBvZQABAAAAAAAAAAYKEAABAAAAEgAAAB4AAAAMAAAABAAAAB8AAAAgAAAACAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAIQAAAAAAAAABAAAAIgAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwB8ChAASwAAAP8JAAAOAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5ycwDYChAATwAAAMMFAAAUAAAA2AoQAE8AAADDBQAAIQAAANgKEABPAAAAtwUAACEAAABFcnJvcgAAANgKEABPAAAARwQAACQAAAAwLjAuOGUuL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9jb3JlL3NyYy9jb252ZXJ0L21vZC5ycwAAdwsQAE8AAAAeAwAACQAAAGNyYXRlcy9maXhlZC1wb2ludC13YXNtL3NyYy91dGlscy5yc9gLEAAkAAAAVAAAAD0AAAABAAAAAAAAAAEAAAAAAAAA2AsQACQAAABZAAAADgAAAAEAAAAAAAAAdQsQAAEAAADYCxAAJAAAAIMAAAA2AAAAIwAAAAwAAAAEAAAAJAAAACUAAAAIAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAmAAAAAAAAAAEAAAAnAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAKwMEABLAAAA/wkAAA4AAAABAAAAAAAAAGRlc2NyaXB0aW9uKCkgaXMgZGVwcmVjYXRlZDsgdXNlIERpc3BsYXkjAAAADAAAAAQAAAAoAAAAIwAAAAwAAAAEAAAAKQAAACgAAAA4DRAAKgAAACsAAAAsAAAAKgAAAC0AAAAuAAAAGAAAAAQAAAAvAAAALgAAABgAAAAEAAAAMAAAAC8AAAB0DRAAMQAAADIAAAAsAAAAMQAAAC0AAAAzAAAANAAAADQAAAA1AAAANgAAADYAAAA3AAAAY2Fubm90IHNhbXBsZSBlbXB0eSByYW5nZS9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmQtMC44LjUvc3JjL3JuZy5ycwAA5Q0QAF0AAACGAAAACQAAAEVycm9yRW1wdHlJbnZhbGlkRGlnaXRQb3NPdmVyZmxvd05lZ092ZXJmbG93WmVyb1BhcnNlSW50RXJyb3JraW5kAAAAOAAAAAQAAAAEAAAAOQAAAAUAAAAMAAAACwAAAAsAAAAEAAAAWQ4QAF4OEABqDhAAdQ4QAIAOEABVbmlmb3JtRml4ZWRQb2ludDo6bmV3X2luY2x1c2l2ZSBjYWxsZWQgd2l0aCBpbnZhbGlkIHJhbmdlOgogICAgbG93OiAKICAgIGhpZ2g6INAOEABFAAAAFQ8QAAsAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3JuZy5yczAPEABoAAAAJAAAAA0AAAD/////////////////////////////////////////fxIAAAAAAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQA6AAAABAAAAAQAAAAUAAAAMA8QAGgAAABJAAAAOwAAADAPEABoAAAATQAAACoAAABVbmlmb3JtRml4ZWRQb2ludDo6c2FtcGxlIGNhbGxlZCB3aXRoIHNpemUgemVyby4sEBAAMAAAADAPEABoAAAAQwAAAA0AAAA7AAAAAAAAAAEAAAA8AAAAPQAAAD4AAABPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAIwQEAAqAAAAb25lLXRpbWUgaW5pdGlhbGl6YXRpb24gbWF5IG5vdCBiZSBwZXJmb3JtZWQgcmVjdXJzaXZlbHnAEBAAOAAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAERAATAAAAJUAAAAyAAAARXJyb3JvYmpAAAAABAAAAAQAAABBAAAAT2JqZWN0AABAAAAABAAAAAQAAAA/AEG4o8AAC5UDL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZS5yc0ZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6ICISEAA2AAAAuBEQAGoAAACQAAAABQAAAENhbm5vdCBmbGlwIHNpZ24gb2YgdW5zaWduZWQgdHlwZTogAHASEAAjAAAAuBEQAGoAAABpAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwAAAKwSEABpAAAAJgAAAAEAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAACgTEAAdAEHvpsAAC5YMgGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAQgAAAAQAAAAEAAAAFAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdmFsdWUucnMAAKwTEABqAAAAjQAAAB4AAACsExAAagAAAIsAAAAiAAAARmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gVTI1NjogAAA4FBAANgAAAKwTEABqAAAAkAAAAAUAAABGYWlsZWQgdG8gY29udmVydCBVMjU2IHRvIHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHR5cGU6CiAgICBVMjU2IHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKAIgUEABLAAAA0xQQABcAAADqFBAABAAAAO4UEAABAAAA/////////////////////////////////////////39DAAAADAAAAAQAAABEAAAARQAAAAgAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AEYAAAAAAAAAAQAAAEcAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAkBUQAEsAAAD/CQAADgAAAAEAAAAAAAAARXJyb3JJbnZhbGlkRGlnaXRJbnRlZ2VyT3ZlcmZsb3dIAAAADAAAAAQAAABJAAAASgAAAEsAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AEwAAAAAAAAAAQAAAE0AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAdBYQAEsAAAD/CQAADgAAAEVycm9yCgpTdGFjazoKCgBSAAAADAAAAAQAAABTAAAAVAAAAFUAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AFYAAAAAAAAAAQAAAFcAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAQBcQAEsAAAD/CQAADgAAAEVycm9yTm9uZVNvbWUAAABYAAAABAAAAAQAAABOAAAAAQAAAAAAAABjcmF0ZXMvZGVsdi1jb3JlL3NyYy9jb252ZXJzaW9ucy5ycwDEFxAAIwAAAIQAAAAOAAAAxBcQACMAAACEAAAAGwAAAAogICAgTG9jYXRpb246IAABAAAAAAAAAAgYEAAPAAAAXAAAAAwAAAAEAAAAXQAAAF4AAABVAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQBfAAAAAAAAAAEAAABgAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAIgYEABLAAAA/wkAAA4AAABFcnJvcm9iamEAAAAEAAAABAAAAGIAAABPYmplY3QAAGEAAAAEAAAABAAAAGMAAABSYW5nZUVycm9yAABhAAAABAAAAAQAAABRAAAAAQAAAAAAAAAKICAgIEZhaWxlZCB0byBwYXJzZSBCaWdJbnQ6IAAAAD0ZEAAYAAAAOBkQAAUAAABJbnZhbGlkIGludDI1NjogaBkQABAAAAA4GRAABQBBp7PAAAsCgAIAQcizwAAL0RovVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAADIGRAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABEGhAAHQAAAFRyeUZyb21CaWdJbnRFcnJvckV4cG9uZW50ICBpcyB0b28gc21hbGwgZm9yIFUyNTY6IAB+GhAACQAAAIcaEAAYAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy91dGlscy5ycwAAsBoQAGoAAAA2AAAACQAAAFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGluIFUyNTY6IAAALBsQAB4AAACwGhAAagAAAC0AAAANAAAAIGlzIHRvbyBzbWFsbCBmb3IgSTI1NjogfhoQAAkAAABkGxAAGAAAALAaEABqAAAAbAAAAAkAAABVbmV4cGVjdGVkIGNoYXJhY3RlciBpbiBJMjU2OiAAAJwbEAAeAAAAsBoQAGoAAABkAAAADQAAADEzNTMwNTk5OTM2ODg5MzIzMTU4OWludmFsaWQgZXhwb25lbnQgAADpGxAAEQAAALAaEABqAAAAfgAAAAkAAAA1AAAAsBoQAGoAAACEAAAACQAAADU0OTE2Nzc3NDY3NzA3NDczMzUxMTQxNDcxMTI4AAAAsBoQAGoAAACJAAAADgAAADI0Mzg1MjcyNTIxNDU0ODQ3OTA0NjU5MDc2OTg1NjkzMjc2ALAaEABqAAAAugAAABMAAAAzODIyODMzMDc0OTYzMjM2NDUzMDQyNzM4MjU4OTAyMTU4MDAzMTU1NDE2NjE1NjY3MTk1Y2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBpAAAABAAAAAQAAAAUAAAAsBoQAGoAAADIAAAAEgAAALAaEABqAAAAxgAAAB4AAACwGhAAagAAAKAAAAAXAAAAsBoQAGoAAACKAAAAFwAAALAaEABqAAAAiQAAACQAAACwGhAAagAAAIQAAAAeAAAAsBoQAGoAAAB9AAAADQAAAENhbm5vdCBjYWxjdWxhdGUgbG4gb2Ygb2YgbmVnYXRpdmUgbnVtYmVyIG9yIHplcm8uAABsHRAAMgAAALAaEABqAAAA0AAAAAkAAAA5NjE1OTMyNzMyODU0NTk2Mzg1MjM4NDg2MzIyNTQwNjYyOTYyNDgyODE1NzA4MTgzMzE2Mzg5MjY1ODA4OTQ0NTUyNDQzNDU2NDg1NzI1NzM5MDM3OTU4NzQwMzc1NzQzMzkzMTExMTE1MDkxMDk0NDA5NjcwNTIwMjM4NTU1MjY5Njc0NTAyMzcwOTY2NzI1NDA2Mzc2MzMzNjUzNDUxNTg1NzE0NzA2NzczNDE3Mzc4NjA4Nzg2NzA0NjM2MTg0NTI2Nzk1MTY0MjM1NjUxMzUwNDI2MjU4MjQ5Nzg3NDk4NTU3MzAzNTIzMzQ0MDY3MzQ2NjMwMDQ1MTgxMzkzNjcxNjk0ODc0Nzk5MzE3ODgzNzY0MDkwNTYxNDU0OTU4MjgzNDQ3MDM2MTcyOTI0NTc1NzI3MTk2NDUxMzA2OTU2NDAxNjg2NjkwMzk0MDI3NjYzNjUxNjI0MjA4NzY5NTUzMjA0MDQ4NDU3NTkwMzkyMDEyMzYyNDg1MDYxODE2NjIyMzE4NTM4OTk2OTg1MDE1NzE0MDI2NTMzNTk0MjcxMzg5MDk0Mjk5NzEyNDQzODczMDAyNzczNzY1NTgzNzUAALAaEABqAAAADQEAAAsAAAAxNjc3MjAyMTEwOTk2NzE4NTg4MzQyODIwOTY3MDY3NDQzOTYzNTE2MTY2MTY1OTc1Nzc1NTI2ODU2MTQyMjE0ODcyODU5NTgxOTM5NDc0NjkxOTM4MjA1NTkyMTk4NzgxNzc5MDgwOTM0OTkyMDgzNzE2MDA5MjAxNzk4Mjk3MzE4NjE3MzY3MDI3NzkzMjE2MjE0NTk1OTU0NzIyNTgwNDkwNzQxMDE1NjczNzc4ODMwMjAwMTgzMDgAALAaEABqAAAAHwEAABgAAACwGhAAagAAABsBAAAJAAAAsBoQAGoAAAAYAQAAGAAAALAaEABqAAAACwEAABcAAACwGhAAagAAAAcBAAAXAAAAsBoQAGoAAAADAQAAFwAAALAaEABqAAAA/wAAABcAAACwGhAAagAAAPsAAAAXAAAAsBoQAGoAAAD3AAAAMgAAALAaEABqAAAA9gAAACAAAACwGhAAagAAAPIAAAAXAAAAsBoQAGoAAADvAAAANAAAALAaEABqAAAA7gAAADQAAACwGhAAagAAAO0AAAA0AAAAsBoQAGoAAADsAAAANAAAALAaEABqAAAA6wAAADQAAACwGhAAagAAAOoAAAAgAAAAagAAAAAAAAABAAAAawAAALAaEABqAAAA5QAAADUAAACwGhAAagAAAOUAAAAYAAAAsBoQAGoAAADkAAAAHAAAALAaEABqAAAA4QAAACEAAACwGhAAagAAAOAAAAAhAAAAsBoQAGoAAADfAAAAIQAAALAaEABqAAAA3gAAACEAAACwGhAAagAAAN0AAAAhAAAAsBoQAGoAAADcAAAAIQAAALAaEABqAAAA2gAAACEAAAAtL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAAAJIhAAaQAAACYAAAABAAAASW50ZWdlciBvdmVyZmxvdyB3aGVuIGNhc3RpbmcgdG8gdXNpemUAAIQiEAAmAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAC0IhAAHQAAAGwAAAAMAAAABAAAAG0AAABuAAAAbwAAAAAAAAABAAAAcAAAAHEAAAByAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheXUAAAAUAAAABAAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAegAAAHsAAAB8AAAAfAAAAH0AAAB+AAAADAAAAAQAAAB/AAAAfgAAAAwAAAAEAAAAgAAAAH8AAABkIxAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIcAAACIAAAAiQAAAIkAAACKAAAAdQAAAAgAAAAEAAAAiwAAAHUAAAAIAAAABAAAAIwAAACLAAAAvCMQAIEAAACNAAAAgwAAAIQAAACFAAAAjgAAABgAAAAEAAAAjwAAAI4AAAAYAAAABAAAAJAAAACPAAAA+CMQAJEAAACSAAAAgwAAAJMAAACFAAAAlAAAABQAAAAEAAAAlQAAAJQAAAAUAAAABAAAAJYAAACVAAAANCQQAJcAAACYAAAAgwAAAJkAAACFAAAAAQAAAAAAAAA6IAAAeCQQAAIAAAB1AAAABAAAAAQAAAB1AAAABAAAAAQAAACaAAAAhCQQAIQkEACbAAAAnAAAAJ0AAAAKCkNhdXNlZCBieToKICAgIAoKTG9jYXRpb246CgAAAJ8AAAAEAAAABAAAAKAAAAChAAAAogAAAAEAAAAAAAAAnwAAABQAAAAEAAAAdgAAAHcAAAB4AAAAAQAAAAAAAAA6IAAAAQAAAAAAAAAUJRAAAgAAACAgICAgIAAAKCUQAAYAAABpbnZhbGlkIGRpZ2l0IGZvdW5kIGluIHN0cmluZy9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2V0aGVycy1jb3JlLTIuMC4xNC9zcmMvdHlwZXMvaTI1Ni5ycwAAAFUlEABsAAAA0wAAADIAAABVJRAAbAAAANQAAAAyAAAAAQAAAAAAAABudW1iZXIgZG9lcyBub3QgZml0IGluIDI1Ni1iaXQgaW50ZWdlclVuc2lnbmVkIGludGVnZXIgY2FuJ3QgYmUgY3JlYXRlZCBmcm9tIG5lZ2F0aXZlIHZhbHVlABImEAA1AAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwAAALkmEAAQAAAAMGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AADVJhAAHQAAAFAmEABpAAAAJgAAAAEAAABQJhAAaQAAACsAAAABAEGkzsAAC5I1Y291bGQgbm90IGluaXRpYWxpemUgdGhyZWFkX3JuZzogAAAAJCcQACEAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYW5kLTAuOC41L3NyYy9ybmdzL3RocmVhZC5ycwAAAFAnEABlAAAASAAAABEAAACmAAAABAAAAAQAAACnAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFuZF9jaGFjaGEtMC4zLjEvc3JjL2d1dHMucnMAAAAEAAAA2CcQAGUAAADmAAAABQAAAGRlc2NyaXB0aW9uKCkgaXMgZGVwcmVjYXRlZDsgdXNlIERpc3BsYXkBAAAAAAAAAKkAAAAEAAAABAAAAKoAAACpAAAABAAAAAQAAACrAAAAqgAAAIQoEACsAAAArQAAAK4AAACsAAAArwAAAEVycm9yaW50ZXJuYWxfY29kZQAAsQAAAAQAAAAEAAAAsgAAAGRlc2NyaXB0aW9uALEAAAAIAAAABAAAALMAAAB1bmtub3duX2NvZGVvc19lcnJvcrEAAAAEAAAABAAAALQAAABVbmtub3duIEVycm9yOiAAJCkQAA8AAABPUyBFcnJvcjogAAA8KRAACgAAAGdldHJhbmRvbTogdGhpcyB0YXJnZXQgaXMgbm90IHN1cHBvcnRlZGVycm5vOiBkaWQgbm90IHJldHVybiBhIHBvc2l0aXZlIHZhbHVldW5leHBlY3RlZCBzaXR1YXRpb25TZWNSYW5kb21Db3B5Qnl0ZXM6IGlPUyBTZWN1cml0eSBmcmFtZXdvcmsgZmFpbHVyZVJ0bEdlblJhbmRvbTogV2luZG93cyBzeXN0ZW0gZnVuY3Rpb24gZmFpbHVyZVJEUkFORDogZmFpbGVkIG11bHRpcGxlIHRpbWVzOiBDUFUgaXNzdWUgbGlrZWx5UkRSQU5EOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkV2ViIENyeXB0byBBUEkgaXMgdW5hdmFpbGFibGVDYWxsaW5nIFdlYiBBUEkgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyBmYWlsZWRyYW5kU2VjdXJlOiBWeFdvcmtzIFJORyBtb2R1bGUgaXMgbm90IGluaXRpYWxpemVkTm9kZS5qcyBjcnlwdG8gQ29tbW9uSlMgbW9kdWxlIGlzIHVuYXZhaWxhYmxlQ2FsbGluZyBOb2RlLmpzIEFQSSBjcnlwdG8ucmFuZG9tRmlsbFN5bmMgZmFpbGVkTm9kZS5qcyBFUyBtb2R1bGVzIGFyZSBub3QgZGlyZWN0bHkgc3VwcG9ydGVkLCBzZWUgaHR0cHM6Ly9kb2NzLnJzL2dldHJhbmRvbSNub2RlanMtZXMtbW9kdWxlLXN1cHBvcnRjcnlwdG8AJwAAACYAAAAUAAAAMgAAAC0AAAAvAAAAIQAAAB0AAAAtAAAAJwAAACcAAAAxAAAALQAAADAAAABlAAAAUCkQAHcpEACdKRAAsSkQAOMpEAAQKhAAPyoQAGAqEAB9KhAAUCkQAFApEACqKhAA2yoQAAgrEAA4KxAAcmV0dXJuIHRoaXNjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGB1bndyYXBfdGhyb3dgIGZhaWxlZAAAwQAAAAQAAAAEAAAAwgAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnMAgCwQAGcAAAChAAAANgAAAAEAAACALBAAZwAAAJsAAAAJAAAASnNWYWx1ZSgpAAAADC0QAAgAAAAULRAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3RyZWVudHJhbnQgaW5pdJItEAAOAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9jb3JlL3NyYy9jZWxsL29uY2UucnMAAACoLRAATQAAACQBAABCAAAAxQAAAAwAAAAEAAAAxgAAAMcAAADIAAAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNi9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkACAuEAApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAAgLhAAKQAAAK4EAAANAAAAbGlicmFyeS9zdGQvc3JjL3RocmVhZC9tb2QucnN1c2Ugb2Ygc3RkOjp0aHJlYWQ6OmN1cnJlbnQoKSBpcyBub3QgcG9zc2libGUgYWZ0ZXIgdGhlIHRocmVhZCdzIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVzdHJveWVkAMguEAAdAAAA5QIAABMAAABmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkAFQvEAA3AAAAyC4QAB0AAAC4BAAADQAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAAKQvEAAVAAAAuS8QAA0AAABsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnPYLxAAGAAAAGIBAAAJAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZAAwEAA0AAAAbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5yczwwEAAcAAAAhgAAAAkAAAA8MBAAHAAAAIsCAAAeAAAAxQAAAAwAAAAEAAAAyQAAAMoAAAAIAAAABAAAAMsAAADKAAAACAAAAAQAAADMAAAAzQAAAM4AAAAQAAAABAAAAM8AAADQAAAA0QAAAAAAAAABAAAA0gAAAEVycm9yTGF5b3V0RXJyb3LTAAAADAAAAAQAAADUAAAA1QAAANYAAABjYXBhY2l0eSBvdmVyZmxvdwAAAPgwEAARAAAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5ycxQxEAAcAAAAGQAAAAUAAABhIGZvcm1hdHRpbmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IA1wAAAAAAAAABAAAA2AAAAGxpYnJhcnkvYWxsb2Mvc3JjL2ZtdC5yc4QxEAAYAAAAeQIAACAAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlANcAAAAAAAAAAQAAANkAAABsaWJyYXJ5L2FsbG9jL3NyYy9zeW5jLnJzAAAA6DEQABkAAAB1AQAAMgAAAGZyb21fc3RyX3JhZGl4X2ludDogbXVzdCBsaWUgaW4gdGhlIHJhbmdlIGBbMiwgMzZdYCAtIGZvdW5kIBQyEAA8AAAAbGlicmFyeS9jb3JlL3NyYy9mbXQvbW9kLnJzKS4uMDEyMzQ1Njc4OWFiY2RlZnRvX2RpZ2l0OiByYWRpeCBpcyB0b28gaGlnaCAobWF4aW11bSAzNikAAIYyEAAoAAAAbGlicmFyeS9jb3JlL3NyYy9jaGFyL21ldGhvZHMucnO4MhAAIAAAAH8BAAANAAAAAQAAAAAAAAA6Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQEAAAAAAAAA8DIQAAEAAADwMhAAAQAAAHBhbmlja2VkIGF0IAoAAADfAAAAAAAAAAEAAADgAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAFQzEAAgAAAAdDMQABIAAAA9PSE9bWF0Y2hlc2Fzc2VydGlvbiBgbGVmdCAgcmlnaHRgIGZhaWxlZAogIGxlZnQ6IAogcmlnaHQ6IACjMxAAEAAAALMzEAAXAAAAyjMQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAAozMQABAAAADsMxAAEAAAAPwzEAAJAAAAyjMQAAkAAAA6IAAAAQAAAAAAAAAoNBAAAgAAAOEAAAAMAAAABAAAAOIAAADjAAAA5AAAACAgICAgeyAsICB7CiwKfSB9KCgKLGxpYnJhcnkvY29yZS9zcmMvZm10L251bS5yc2k0EAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXNzZXJ0aW9uIGZhaWxlZDogKmN1cnIgPiAxOQAAaTQQABsAAADvAQAABQAAAFgyEAAbAAAAZgkAABoAAABYMhAAGwAAAF8JAAAiAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIKw1EAASAAAAvjUQACIAAAByYW5nZSBlbmQgaW5kZXgg8DUQABAAAAC+NRAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgABA2EAAWAAAAJjYQAA0AAABsaWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAEQ2EAAfAAAAUgUAABIAAABENhAAHwAAAFIFAAAoAAAARDYQAB8AAABFBgAAFQAAAEQ2EAAfAAAAcwYAABUAAABENhAAHwAAAHQGAAAVAAAAWy4uLl1iZWdpbiA8PSBlbmQgKCA8PSApIHdoZW4gc2xpY2luZyBgYLk2EAAOAAAAxzYQAAQAAADLNhAAEAAAANs2EAABAAAAYnl0ZSBpbmRleCAgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlICAoYnl0ZXMgKSBvZiBgAPw2EAALAAAABzcQACYAAAAtNxAACAAAADU3EAAGAAAA2zYQAAEAAAAgaXMgb3V0IG9mIGJvdW5kcyBvZiBgAAD8NhAACwAAAGQ3EAAWAAAA2zYQAAEAAABsaWJyYXJ5L2NvcmUvc3JjL3N0ci9tb2QucnMAlDcQABsAAAAFAQAALAAAAGxpYnJhcnkvY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAAADANxAAJQAAABoAAAA2AAAAwDcQACUAAAAKAAAAKwAAAAAGAQEDAQQCBQcHAggICQIKBQsCDgQQARECEgUTERQBFQIXAhkNHAUdCB8BJAFqBGsCrwOxArwCzwLRAtQM1QnWAtcC2gHgBeEC5wToAu4g8AT4AvoD+wEMJzs+Tk+Pnp6fe4uTlqKyuoaxBgcJNj0+VvPQ0QQUGDY3Vld/qq6vvTXgEoeJjp4EDQ4REikxNDpFRklKTk9kZVy2txscBwgKCxQXNjk6qKnY2Qk3kJGoBwo7PmZpj5IRb1+/7u9aYvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/5+zv/8XGBCAjJSYoMzg6SEpMUFNVVlhaXF5gY2Vma3N4fX+KpKqvsMDQrq9ub76TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSSysIKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULQj4qBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkKRkUbSAhTDUkHCoD2RgodA0dJNwMOCAoGOQcKgTYZBzsDHFYBDzINg5tmdQuAxIpMYw2EMBAWj6qCR6G5gjkHKgRcBiYKRgooBROCsFtlSwQ5BxFABQsCDpf4CITWKgmi54EzDwEdBg4ECIGMiQRrBQ0DCQcQkmBHCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqC5oD3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AQRAw0DdwRfBgwEAQ8MBDgICgYoCCJOgVQMHQMJBzYIDgQJBwkHgMslCoQGAAEDBQUGBgIHBggHCREKHAsZDBoNEA4MDwQQAxISEwkWARcEGAEZAxoHGwEcAh8WIAMrAy0LLgEwBDECMgGnAqkCqgSrCPoC+wX9Av4D/wmteHmLjaIwV1iLjJAc3Q4PS0z7/C4vP1xdX+KEjY6RkqmxurvFxsnK3uTl/wAEERIpMTQ3Ojs9SUpdhI6SqbG0urvGys7P5OUABA0OERIpMTQ6O0VGSUpeZGWEkZudyc7PDREpOjtFSVdbXF5fZGWNkam0urvFyd/k5fANEUVJZGWAhLK8vr/V1/Dxg4WLpKa+v8XHz9rbSJi9zcbOz0lOT1dZXl+Jjo+xtre/wcbH1xEWF1tc9vf+/4Btcd7fDh9ubxwdX31+rq9/u7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHWWJi4vp6+3v8fP19+aAECXmDCPH9LUzv9OT1pbBwgPECcv7u9ubzc9P0JFkJFTZ3XIydDR2Nnn/v8AIF8igt8EgkQIGwQGEYGsDoCrBR8JgRsDGQgBBC8ENAQHAwEHBgcRClAPEgdVBwMEHAoJAwgDBwMCAwMDDAQFAwsGAQ4VBU4HGwdXBwIGFwxQBEMDLQMBBBEGDww6BB0lXyBtBGolgMgFgrADGgaC/QNZBxYJGAkUDBQMagYKBhoGWQcrBUYKLAQMBAEDMQssBBoGCwOArAYKBi8xTQOApAg8Aw8DPAc4CCsFgv8RGAgvES0DIQ8hD4CMBIKXGQsViJQFLwU7BwIOGAmAviJ0DIDWGoEQBYDfC/KeAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwCDPRAAKAAAAFAAAAAoAAAAgz0QACgAAABcAAAAFgAAAGxpYnJhcnkvY29yZS9zcmMvZXNjYXBlLnJzAADMPRAAGgAAADgAAAALAAAAXHV7AMw9EAAaAAAAZgAAACMAAABsaWJyYXJ5L2NvcmUvc3JjL251bS9tb2QucnMADD4QABsAAAAKBgAAAQAAAGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8AAAA4PhAAGQAAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAcYUjzHqFMQDRhUPBqoVFPbyFSnbyhUgDPYVNl0aFTANohVADg4VWu4mFX7OQhWdDooVkgAO5Z8AF/WgBwAAcALQEBAQIBAgEBSAswFRABZQcCBgICAQQjAR4bWws6CQkBGAQBCQEDAQUrAzwIKhgBIDcBAQEECAQBAwcKAh0BOgEBAQIECAEJAQoCGgECAjkBBAIEAgIDAwEeAgMBCwI5AQQFAQIEARQCFgYBAToBAQIBBAgBBwMKAh4BOwEBAQwBCQEoAQMBNwEBAwUDAQQHAgsCHQE6AQIBAgEDAQUCBwILAhwCOQIBAQIECAEJAQoCHQFIAQQBAgMBAQgBUQECBwwIYgECCQsHSQIbAQEBAQE3DgEFAQIFCwEkCQFmBAEGAQICAhkCBAMQBA0BAgIGAQ8BAAMAAx0CHgIeAkACAQcIAQILCQEtAwEBdQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggGCgIBMB8xBDAHAQEFASgJDAIgBAICAQM4AQECAwEBAzoIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCy4DMAECBAICJwFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQABABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAAQAAlADRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkKBAIBXwMCAQECBgECAZ0BAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUBAQEAAQYPAAU7BwABPwRRAQACAC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAQAB20HAGCA8ABBuIPBAAsBAwCDAQlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjJTEuODAuMC1uaWdodGx5IChjOTg3YWQ1MjcgMjAyNC0wNS0wMSkGd2FscnVzBjAuMjAuMwx3YXNtLWJpbmRnZW4SMC4yLjkyICgyYTRhNDkzNjIpACwPdGFyZ2V0X2ZlYXR1cmVzAisPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dA==") + input = base64Decode("AGFzbQEAAAAB3QEgYAJ/fwF/YAJ/fwBgA39/fwF/YAF/AX9gA39/fwBgBH9/f38AYAF/AGAAAX9gBH9/f38Bf2AFf39/f38AYAAAYAV/f39/fwF/YAZ/f39/f38Bf2AGf39/f39/AGAHf39/f39/fwF/YAN/fn4AYAN/fn4Bf2ABfAF/YAJ/fwF8YAN+f38AYAd/f39/f39/AGADfn9/AX9gAX8BfGAFf35+fn4AYAN/fn8AYAR/fn5+AGAFf39+f38AYAR/fn9/AGAFf398f38AYAR/fH9/AGAFf399f38AYAR/fX9/AALUH0gYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX2RlY2ltYWxzXzMwMTdiNTJmN2M5OTYwYmQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMkX193YmdfdHJhaWxpbmd6ZXJvc19lMjlhMjA2ZmExMDVlNDM2AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3JvdW5kaW5nXzY1MjNhNzM4OTZmMjFiNmQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfbG9jYWxlX2VkZWFjOGYxYmJkZWU4YjQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193YmdfZ3JvdXBfZjk1M2FmMDUwYzM2YWE4ZgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyVfX3diZ19jb21wYWN0ZGlzcGxheV80ZjJmNjMzNmJjZWM0N2JkAAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX3BlcmNlbnRfNWVkZTY0ODM3YWM0NmIyYQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxVfX3diaW5kZ2VuX3N0cmluZ19uZXcAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfY3VycmVuY3lfYjkzY2FiMTU2N2Q4MmYzOQABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx5fX3diZ19jb21wYWN0XzY3NDkwZTYwMjA0NTE4YjAAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMeX193YmdfZGlzcGxheV85MmYzMmY3ODZlYmM5MjYzAAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwARGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyNfX3diZ19pc2ZpeGVkcG9pbnRfOGY3NTBlYmJhOWEyZDI0OQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19taW5fMmQwNjQxZDFlNzg1ODYwMQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19tYXhfMmRkZDI0NzBkMjU0YTE5MwADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ19kZWNpbWFsc19iYTE0NzljNjE5MTNlOTIzAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzZmZWYzYWQ4Yjc1YWQ3OWUAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMRX193YmluZGdlbl90eXBlb2YAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMVX193YmluZGdlbl9zdHJpbmdfZ2V0AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX25ld19hYmRhNzZlODgzYmE4YTVmAAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHF9fd2JnX3N0YWNrXzY1ODI3OWZlNDQ1NDFjZjYAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193YmdfZXJyb3JfZjg1MTY2N2FmNzFiY2ZjNgABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcw1fX3diaW5kZ2VuX2dlAAAYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2NyeXB0b18xZDFmMjI4MjRhNmEwODBjAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFF9fd2JpbmRnZW5faXNfb2JqZWN0AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX3Byb2Nlc3NfNGE3Mjg0N2NjNTAzOTk1YgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ192ZXJzaW9uc19mNjg2NTY1ZTU4NmRkOTM1AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JnX25vZGVfMTA0YTJmZjhkNmVhMDNhMgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxRfX3diaW5kZ2VuX2lzX3N0cmluZwADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx5fX3diZ19yZXF1aXJlX2NjYTkwYjFhOTRhMDI1NWIABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMWX193YmluZGdlbl9pc19mdW5jdGlvbgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ19tc0NyeXB0b19lYjA1ZTYyYjUzMGExNTA4AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzJV9fd2JnX3JhbmRvbUZpbGxTeW5jXzVjOWM5NTVhYTU2YjYwNDkAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMmX193YmdfZ2V0UmFuZG9tVmFsdWVzXzNhYTU2YWE2ZWRlYzg3NGMAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfQmlnSW50XzQyYjY5MmMxOGUxYWM2ZDYAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMgX193YmdfbmV3bm9hcmdzX2UyNTgwODdjZDBkYWEwZWEAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193YmdfY2FsbF8yN2MwZjg3ODAxZGVkZjkzAAAYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX25ld183MmZiOWExOGI1YWUyNjI0AAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2xlbmd0aF9kZWU0MzNkNGM4NWM5Mzg3AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ19zZWxmX2NlMGRiZmM0NWNmMmY1YmUABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193Ymdfd2luZG93X2M2ZmI5MzlhN2Y0MzY3ODMABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193YmdfZ2xvYmFsVGhpc19kMWU2YWY0ODU2YmEzMzFiAAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2dsb2JhbF8yMDdiNTU4OTQyNTI3NDg5AAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzIV9fd2JnX3BhcnNlRmxvYXRfYzA3MGRiMzM2ZDY4N2U1MwASGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxlfX3diZ19vZl80YTJiMzEzYTQ1M2VjMDU5AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX0JpZ0ludF9mMDBiODY0MDk4MDEyNzI1AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzY2YmUzYzhlMWM2YTdjNzYAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfMGI1MjdmY2UwZThmMmJhYgAEGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjhjNTExZDliYWViZmE4OQAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ19jYWxsX2IzY2E3YzYwNTFmOWJlYzEAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzVkZDg2ZWJjOTE3ZDlmNTIAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfY29uY2F0XzNkZTIyOWZlNGZlOTBmZWEAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193YmdfcmVwbGFjZUFsbF85ZDc3YzhhMjQzMGVhYTE2AAsYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHF9fd2JnX3NsaWNlXzUyZmI2MjZmZmRjOGRhOGYAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193Ymdfc3RhcnRzV2l0aF9kN2E2NGQ5NTEwNzc0ZThmAAgYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzIl9fd2JnX3RvTG93ZXJDYXNlX2NhYTI2MzJiNDM5ZTg4ZWMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193YmdfdHJpbV9jYTdkNTM2YmM4M2YwZWI0AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2J1ZmZlcl8xMmQwNzljYzIxZTE0YmRiAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzMV9fd2JnX25ld3dpdGhieXRlb2Zmc2V0YW5kbGVuZ3RoX2FhNGExN2MzM2EwNmU1Y2IAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzYzYjkyYmM4NjcxZWQ0NjQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193Ymdfc2V0X2E0N2JhYzcwMzA2YTE5YTcABBguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMkX193YmdfbmV3d2l0aGxlbmd0aF9lOWI0ODc4Y2ViYWRiM2QzAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3N1YmFycmF5X2ExZjczY2Q0YjViNDJmZTEAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzliOTJlNGEzMGI4ZmIwNWYAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfZm9ybWF0XzBkMWE0MzQyMmIwNjU0MDkAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193Ymdfc2V0XzFmOWIwNGYxNzAwNTVkMzMAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMQX193YmluZGdlbl90aHJvdwABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxFfX3diaW5kZ2VuX21lbW9yeQAHA74CvAIBAQQEAwQEBAQFBQEFBAQBBQUFBQUFBAQFBQEAAgEFBQQBBAIFDBMAAQQIBgECAgECAQQEBQUJCQkFBRQAAAEBBAEBAQQEAAAIAQQNDgELBAUCABUDAQAAAAAAAQEBAAAFAQAABAUFBQUEBAABAAoGCQQGBAYEAgEFAQUODQUBAAAAABYAABcJAAAAAAADAQQEBAQBAxgBBAYKAAYGCgADAQIPBg8FBwEBAQADAgECAgoGBQAEBAEGGQAAAAAAAAABCwABAAgAAAAABgAABQAGAwMADAkaHAseBgAQEAAFAAAAAgYAAQEIAQECBAIGAAAAAAkAAQEBAQAAAAEBAQEBAQABAQYBAQEAAAABAgAAAAAGAwAAAAAAAAAAAAAAAAAAAAAAAAABCgoAAQAAAAEAAgEAAQAAAwMDBgEEBAcBcAHUAdQBBQMBABEGCQF/AUGAgMAACwe5BzEGbWVtb3J5AgAVX193YmdfZml4ZWRwb2ludF9mcmVlAJcCHV9fd2JnX2dldF9maXhlZHBvaW50X2RlY2ltYWxzAJgCDmZpeGVkcG9pbnRfbmV3AIwBDmZpeGVkcG9pbnRfb25lAKMBEWZpeGVkcG9pbnRfcmFuZG9tAIoBEWZpeGVkcG9pbnRfYmlnaW50AHkOZml4ZWRwb2ludF9hYnMAiQESZml4ZWRwb2ludF9hYnNEaWZmAF0OZml4ZWRwb2ludF9hZGQAgQEOZml4ZWRwb2ludF9zdWIAggEVZml4ZWRwb2ludF9tdWxEaXZEb3duAH4TZml4ZWRwb2ludF9tdWxEaXZVcAB/EmZpeGVkcG9pbnRfbXVsRG93bgBZEGZpeGVkcG9pbnRfbXVsVXAAWg5maXhlZHBvaW50X211bABmEmZpeGVkcG9pbnRfZGl2RG93bgBbEGZpeGVkcG9pbnRfZGl2VXAAXA5maXhlZHBvaW50X2RpdgBnDmZpeGVkcG9pbnRfcG93AFgNZml4ZWRwb2ludF9lcQB9DWZpeGVkcG9pbnRfbmUAfA1maXhlZHBvaW50X2d0AK0BDmZpeGVkcG9pbnRfZ3RlAK4BDWZpeGVkcG9pbnRfbHQArwEOZml4ZWRwb2ludF9sdGUAsAEOZml4ZWRwb2ludF9taW4AYA5maXhlZHBvaW50X21heABhEGZpeGVkcG9pbnRfY2xhbXAAgAETZml4ZWRwb2ludF90b1N0cmluZwC/ARBmaXhlZHBvaW50X3RvSGV4AKQBE2ZpeGVkcG9pbnRfdG9OdW1iZXIAywEZZml4ZWRwb2ludF9pc19maXhlZF9wb2ludACZAhJmaXhlZHBvaW50X3RvRml4ZWQAbwppbml0aWFsaXplAPgBEmZpeGVkcG9pbnRfdmFsdWVPZgC/AQpnZXRWZXJzaW9uAPkBBWZpeGVkAIwBCnBhcnNlRml4ZWQAjQELcmFuZG9tRml4ZWQAigECbG4AaRFmaXhlZHBvaW50X2Zvcm1hdACxARlmaXhlZHBvaW50X2Zvcm1hdEN1cnJlbmN5ALIBEV9fd2JpbmRnZW5fbWFsbG9jAPsBEl9fd2JpbmRnZW5fcmVhbGxvYwCNAh9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyANoCD19fd2JpbmRnZW5fZnJlZQCzAhRfX3diaW5kZ2VuX2V4bl9zdG9yZQDMAhBfX3diaW5kZ2VuX3N0YXJ0APgBCaoDAQBBAQvTAbsCjgLeAooChQKrAvQBngHfAtsC/AKUAtAB/QLRAdgCqwL0AZ4B3AKBA9MBgwLBAqICuwKrAvQBngHdAoEDqwL0AZ4B4AK7AsAC+QK+ArwCgwPkAY8C+gL1Ab0C9QHgAa4CvwKjAuoBqwL0AZ4B4QKaAuICggOCA4IDgQOrAvQBngHjAoQCqwL2AZ8B5ALlAqsC9wGgAeYCjALJAaUChgLiAocCqwL3AaEB5wLmAacCqAKrAvcBoQHoAqcBwQKEAdcCpgGBA+kCtgLqAnizAesCwQLJAvkCyALFAvkCgwPrAbECxgKkAuwBqwK7AsACvgL5AuABsALHAqMC6gH/AYEC1AHvAcMC7wHkAYEC1AHvAb0C7wHEAnKQAfsCwQLUAuwCqQLVAdwBlQKVApUCrALtAuIBggK2AqoBtQH5AssCygKDA5YCkQLJApACnwLEAZwCnwKbAqoCpgKcApwCoAKeAp0CggK7AtsBqwL0AaIB8QLNAs4C0ALxAc8C8gKhAswBqQHBAfkCqwL3AaAB8wL0AvUCuALRAtICkwLKAXbyAfcCCsrJCrwClLwBAgp/HH4jAEHQC2siAiQAAkACQAJAIAEpAxgiDkIAWQRAIAEpAwAhDyABKQMIIREgASkDECEUIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgAkGAC2oiA0IANwMAIAJB+ApqIgVCADcDACACQfAKaiIEQgA3AwAgAkIANwPoCiACQagLaiACQegKahDSAUH/AXFBAUYNAQsgAkEANgL4CkEBIQEgAkEBNgLsCiACQei8wAA2AugKIAJCBDcC8AogACACQegKakHwvMAAEI8BNgIEDAELIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgBEJ/NwMAIANCADcDACACQn83A+gKIAJCADcD+AogAkGoC2oiBiACQegKaiIIENIBIQQgASkDGCEUIAEpAxAhDyABKQMIIRkgASkDACEbIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgBEH/AXEiCkEBRq1CB4YiETcDqAsgBUIANwMAIANCADcDACACQgA3A/AKIAJC/////w83A+gKAn4CQAJAAkACQAJAAkACQCAGIAgQ0gFB/wFxQQFHBEAgEachAwJAAn4CQAJ+IBRCAFkEQCAKQQFHDQIgASADQQN2aiIEKQMAIRsgBEEIaikDACEZQgAhDyADQQZ2IgNBAmoiBEEERgRAQgAhFAwDCyADQQN0IAFqQRhqKQMAIRQgASAEQQN0aikDAAwBC0IAIARB/wFxQQFHDQIaIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJC/wA3A+gKIAJBqAtqQfC1wAAgAkHoCmoQaiACKQOwCyEUAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ8gAikDwAshDgwBCyACKQO4CyEPIBRQRQRAIBRCAX0hFCACKQPACyEODAELIAIpA8ALIQ4gD1ANASAPQgF9IQ9CfyEUCyAMQgF9DAELIA5QDQRCfyEPIA5CAX0hDkJ/IRRCfwsgD0J/hSENIBRCf4UgASADQQN2aiIEKQMAIRggBEEIaikDAEIAIQ9CACEUIANBBnYiA0ECaiIEQQRHBEAgA0EDdCABakEYaikDACEUIAEgBEEDdGopAwAhDwsgDkJ/hSAUhCEUhCEZQn+FIBiEIRsgDSAPhAshD0IAIBRCAFMNARoLIAIgFDcDwAsgAiAPNwO4CyACIBk3A7ALIAIgGzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkJ/NwPoCiACQagLaiACQegKahDSAUH/AXFBAUatQgaGCyEOIAEpAxghDyABKQMQIRkgASkDCCEbIAEpAwAhHCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIA4gEYQiFDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQ0gFB/wFxQQFGDQIgFKchAwJ+AkBCAAJ+AkACQCAPQgBZBEAgFFANBCABIANBA3ZqKQMAIRxCACEPIANBBnYiA0EBaiIEQQRHDQFCACEbQgAhGQwECyAUUEUNAUIADAQLIAEgBEEDdGopAwAhGyADQQJqIgRBBEYEQEIAIRkMAwsgASAEQQN0aikDACEZIANBA2oiA0EERg0CIAEgA0EDdGopAwAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiAUQv8BhTcD6AogAkGoC2pB8LXAACACQegKahBqIAIpA7ALIQ8CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshESACKQPACyEODAELIAIpA7gLIREgD1BFBEAgD0IBfSEPIAIpA8ALIQ4MAQsgAikDwAshDiARUA0BIBFCAX0hEUJ/IQ8LIAxCAX0MAQsgDlAND0J/IREgDkIBfSEOQn8hD0J/CyAOQn+FIQ4gEUJ/hSERIA9Cf4UhDUJ/hSABIANBA3ZqKQMAQgAhDwJAIANBBnYiA0EBaiIEQQRGBEBCACEZDAELIAEgBEEDdGopAwAhEiADQQJqIgRBBEYEQEIAIRkMAQsgASAEQQN0aikDACEZIANBA2oiA0EERg0AIAEgA0EDdGopAwAhDwsgESAZhCEZIA0gEoQhG4QhHCAOIA+ECyIPQgBTDQEaCyACIA83A8ALIAIgGTcDuAsgAiAbNwOwCyACIBw3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqENIBQf8BcUEBRq1CBYYLIQ8gASkDGCEOIAEpAxAhECABKQMIIRwgASkDACEbIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgDyAUhCIRNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahDSAUH/AXFBAUcEQCARpyEEAkACQCAOQgBZBEAgEVANDCABIARBBnYiA0EDdGopAwAhDEIAIQ4gA0EBaiIFQQRHDQFCACEcDAkLIBFQRQ0BQgAMDAsgASAFQQN0aikDACAPiCEcIANBAmoiBkEERg0HIAEgBkEDdGopAwAgD4ghECADQQNqIgZBBEYNCCABIAZBA3RqKQMAIA+IIQ4MCAsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiARQv8BhTcD6AogAkGoC2pB8LXAACACQegKahBqIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshGSACKQPACyEQDAELIAIpA7gLIRkgDlBFBEAgDkIBfSEOIAIpA8ALIRAMAQsgAikDwAshECAZUA0BIBlCAX0hGUJ/IQ4LIAxCAX0MAQsgEFANDUJ/IRkgEEIBfSEQQn8hDkJ/CyEMIAEgBEEGdiIDQQN0aikDACENQgAhEiADQQFqIgVBBEYEQEIAIRsMBQsgASAFQQN0aikDACAPiCEbIANBAmoiBkEERg0EIAEgBkEDdGopAwAgD4ghHCADQQNqIgZBBEYNBSABIAZBA3RqKQMAIA+IIRIMBQtBmLvAAEErIAJBzwtqQaDEwABBoMXAABDPAQALDAoLQZi7wABBKyACQc8LakGgxMAAQcDFwAAQzwEAC0GYu8AAQSsgAkHPC2pBoMTAAEGwxcAAEM8BAAtCACEcCyAQQn+FIRYgGUJ/hSAOQn+FIRcgDEJ/hSEMIA0gD4ghGQJAIARBIHFFIBRCwAFRcg0AIAEgBUEDdGopAwAgD4YgGXwhGSAFQQNGDQAgASADQQJqIgRBA3RqKQMAIA+GIBt8IRsgBEEDRg0AIANBA3QgAWpBGGopAwAgD4YgHHwhHAsgEiAWhCEOIByEIRAgFyAbhCEcIAwgGYQhGwwCC0IAIRALIAwgD4ghGyAEQSBxRSAUQsABUXINACABIAVBA3RqKQMAIA+GIBt8IRsgBUEDRg0AIAEgA0ECaiIEQQN0aikDACAPhiAcfCEcIARBA0YNACADQQN0IAFqQRhqKQMAIA+GIBB8IRALQgAgDkIAUw0BGgsgAiAONwPACyACIBA3A7gLIAIgHDcDsAsgAiAbNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv//AzcD6AogAkGoC2ogAkHoCmoQ0gFB/wFxQQFGrUIEhgshDSABKQMYIQ4gASkDECESIAEpAwghHCABKQMAIRsgAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiANIBGEIgw3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqENIBQf8BcUEBRgRAQZi7wABBKyACQc8LakGgxMAAQZDFwAAQzwEACyAMpyEEAn4CQAJAAkACQAJAAkAgDkIAWQRAIAxQDQYgDSAPhCEPIAEgBEEGdiIDQQN0aikDACERQgAhDiADQQFqIgVBBEcNAUIAIRwMAwsgDFBFDQFCAAwGCyABIAVBA3RqKQMAIA+IIRwgA0ECaiIGQQRGDQEgASAGQQN0aikDACAPiCESIANBA2oiBkEERg0CIAEgBkEDdGopAwAgD4ghDgwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIAxC/wGFNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshDgJ+AkACQCACKQOoCyIRUEUEQCACKQO4CyEbIAIpA8ALIRAMAQsgAikDuAshGyAOUEUEQCAOQgF9IQ4gAikDwAshEAwBCyACKQPACyEQIBtQDQEgG0IBfSEbQn8hDgsgEUIBfQwBCyAQUA0HQn8hGyAQQgF9IRBCfyEOQn8LIA0gD4QhDyABIARBBnYiA0EDdGopAwBCACESAkACQCADQQFqIgVBBEYEQEIAIRkMAQsgASAFQQN0aikDACAPiCEZIANBAmoiBkEERg0AIAEgBkEDdGopAwAgD4ghHCADQQNqIgZBBEYNASABIAZBA3RqKQMAIA+IIRIMAQtCACEcCyAPiCERIBBCf4UhDyAbQn+FIQ0gDkJ/hSEYQn+FIRYCQCAEQTBxRSAUQsABUXINACABIAVBA3RqKQMAQgAgDH1CMIMiDoYgEXwhESAFQQNGDQAgASADQQJqIgRBA3RqKQMAIA6GIBl8IRkgBEEDRg0AIANBA3QgAWpBGGopAwAgDoYgHHwhHAsgDyAShCEOIA0gHIQhEiAYIBmEIRwgESAWhCEbDAILQgAhEgsgESAPiCEbIARBMHFFIBRCwAFRcg0AIAEgBUEDdGopAwBCACAMfUIwgyIPhiAbfCEbIAVBA0YNACABIANBAmoiBEEDdGopAwAgD4YgHHwhHCAEQQNGDQAgA0EDdCABakEYaikDACAPhiASfCESC0IAIA5CAFMNARoLIAIgDjcDwAsgAiASNwO4CyACIBw3A7ALIAIgGzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/ATcD6AogAkGoC2ogAkHoCmoQ0gFB/wFxQQFGrUIDhgshDyABKQMYIREgASkDECEcIAEpAwghGSABKQMAIQ4gAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiAMIA+EIg83A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqENIBQf8BcUEBRgRAQZi7wABBKyACQc8LakGgxMAAQYDFwAAQzwEACyAPpyEEAn4CQAJAAkACQAJAAkAgEUIAWQRAIA9QDQYgD0I4gyEOIAEgBEEGdiIDQQN0aikDACEMQgAhESADQQFqIgVBBEcNAUIAIRkMAwsgD1BFDQFCAAwGCyABIAVBA3RqKQMAIA6IIRkgA0ECaiIGQQRGDQEgASAGQQN0aikDACAOiCEcIANBA2oiBkEERg0CIAEgBkEDdGopAwAgDoghEQwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIA9C/wGFNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshEQJ+AkACQCACKQOoCyIOUEUEQCACKQO4CyEbIAIpA8ALIRAMAQsgAikDuAshGyARUEUEQCARQgF9IREgAikDwAshEAwBCyACKQPACyEQIBtQDQEgG0IBfSEbQn8hEQsgDkIBfQwBCyAQUA0HQn8hGyAQQgF9IRBCfyERQn8LIA9COIMhDiABIARBBnYiA0EDdGopAwBCACESAkACQCADQQFqIgVBBEYEQEIAIRkMAQsgASAFQQN0aikDACAOiCEZIANBAmoiBkEERg0AIAEgBkEDdGopAwAgDoghHCADQQNqIgZBBEYNASABIAZBA3RqKQMAIA6IIRIMAQtCACEcCyAOiCEOIBBCf4UhDSAbQn+FIRYgEUJ/hSEYQn+FAkAgBEE/cUUgFELAAVFyDQAgASAFQQN0aikDAEIAIA99IhGGIA58IQ4gBUEDRg0AIAEgA0ECaiIEQQN0aikDACARQj+DIhGGIBl8IRkgBEEDRg0AIANBA3QgAWpBGGopAwAgEYYgHHwhHAsgDSAShCERIBYgHIQhHCAYIBmEIRkgDoQhDgwCC0IAIRwLIAwgDoghDiAEQT9xRSAUQsABUXINACABIAVBA3RqKQMAQgAgD30iDIYgDnwhDiAFQQNGDQAgASADQQJqIgRBA3RqKQMAIAxCP4MiDIYgGXwhGSAEQQNGDQAgA0EDdCABakEYaikDACAMhiAcfCEcC0IAIBFCAFMNARoLIAIgETcDwAsgAiAcNwO4CyACIBk3A7ALIAIgDjcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIPNwPoCiACQagLaiACQegKahDSAUH/AXFBAUatQgKGCyEMIAEpAxghESABKQMQIRAgASkDCCEZIAEpAwAhDiACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIAwgD4QiDzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQ0gFB/wFxQQFGBEBBmLvAAEErIAJBzwtqQaDEwABB8MTAABDPAQALIA+nIQQCfgJAAkACQAJAAkACQCARQgBZBEAgD1ANBiABIARBBnYiA0EDdGopAwAhDEIAIREgA0EBaiIFQQRHDQFCACEZDAMLIA9QRQ0BQgAMBgsgASAFQQN0aikDACAPQj+DIg6IIRkgA0ECaiIGQQRGDQEgASAGQQN0aikDACAOiCEQIANBA2oiBkEERg0CIAEgBkEDdGopAwAgDoghEQwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIA9C/wGFNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshEQJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEOIAIpA8ALIRwMAQsgAikDuAshDiARUEUEQCARQgF9IREgAikDwAshHAwBCyACKQPACyEcIA5QDQEgDkIBfSEOQn8hEQsgDEIBfQwBCyAcUA0HQn8hDiAcQgF9IRxCfyERQn8LIAEgBEEGdiIDQQN0aikDACEWQgAhEAJAAkAgA0EBaiIFQQRGBEBCACEZDAELIAEgBUEDdGopAwAgD0I/gyIMiCEZIANBAmoiBkEERg0AIAEgBkEDdGopAwAgDIghGyADQQNqIgZBBEYNASABIAZBA3RqKQMAIAyIIRAMAQtCACEbCyAcQn+FIQwgDkJ/hSEYIBFCf4UhF0J/hSAWIA+IIQ4CQCAEQT9xRSAUQsABUXINACABIAVBA3RqKQMAQgAgD30iEYYgDnwhDiAFQQNGDQAgASADQQJqIgRBA3RqKQMAIBFCP4MiEYYgGXwhGSAEQQNGDQAgA0EDdCABakEYaikDACARhiAbfCEbCyAMIBCEIREgGCAbhCEQIBcgGYQhGSAOhCEODAILQgAhEAsgDCAPiCEOIARBP3FFIBRCwAFRcg0AIAEgBUEDdGopAwBCACAPfSIMhiAOfCEOIAVBA0YNACABIANBAmoiBEEDdGopAwAgDEI/gyIMhiAZfCEZIARBA0YNACADQQN0IAFqQRhqKQMAIAyGIBB8IRALQgAgEUIAUw0BGgsgAiARNwPACyACIBA3A7gLIAIgGTcDsAsgAiAONwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQgM3A+gKIAJBqAtqIAJB6ApqENIBQf8BcUEBRq1CAYYLIQwgASkDGCERIAEpAxAhGyABKQMIIRkgASkDACEOIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgDCAPhCIPNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahDSAUH/AXFBAUYEQEGYu8AAQSsgAkHPC2pBoMTAAEHgxMAAEM8BAAsgD6chAwJ/AkACQAJAAkACQCARQgBZBEAgD1ANBUIAIQ5CACEZQgAhG0IAIREgD0L+AVYNBSABIANBBnYiBEEDdGopAwAhDCAEQQFqIgVBBEcNAQwDCyADQQFrQf4BSQ0BQf8BDAULIAEgBUEDdGopAwAgD0I/gyIOiCEZIARBAmoiBkEERg0BIAEgBkEDdGopAwAgDoghGyAEQQNqIgZBBEYNASABIAZBA3RqKQMAIA6IIREMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiAPQv8BhTcD6AogAkGoC2pB8LXAACACQegKahBqIAIpA7ALIRECfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDiACKQPACyEcDAELIAIpA7gLIQ4gEVBFBEAgEUIBfSERIAIpA8ALIRwMAQsgAikDwAshHCAOUA0BIA5CAX0hDkJ/IRELIAxCAX0MAQsgHFANBkJ/IQ4gHEIBfSEcQn8hEUJ/CyABIANBBnYiBEEDdGopAwAhFkIAIRACQAJAIARBAWoiBUEERgRAQgAhGQwBCyABIAVBA3RqKQMAIA9CP4MiDIghGSAEQQJqIgZBBEYNACABIAZBA3RqKQMAIAyIIRsgBEEDaiIGQQRGDQEgASAGQQN0aikDACAMiCEQDAELQgAhGwsgHEJ/hSEMIA5Cf4UhGCARQn+FIRdCf4UgFiAPiCEOAkAgA0E/cUUgFELAAVFyDQAgASAFQQN0aikDAEIAIA99IhGGIA58IQ4gBUEDRg0AIAEgBEECaiIDQQN0aikDACARQj+DIhGGIBl8IRkgA0EDRg0AIARBA3QgAWpBGGopAwAgEYYgG3whGwsgDCAQhCERIBggG4QhGyAXIBmEIRkgDoQhDgwBCyAMIA+IIQ4gA0E/cUUgFELAAVFyDQAgASAFQQN0aikDAEIAIA99IhSGIA58IQ4gBUEDRg0AIAEgBEECaiIDQQN0aikDACAUQj+DIhSGIBl8IRkgA0EDRg0AIARBA3QgAWpBGGopAwAgFIYgG3whGwsgEUIAWQ0AQf8BDAELIAIgETcDwAsgAiAbNwO4CyACIBk3A7ALIAIgDjcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIBNwPoCiACQagLaiACQegKahDSAQshAyACQegKakGAvcAAQQIQUAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigC6ApFBEAgAikD+AohDiACKQOICyEUQgAgAikDgAsiEX0hGQJAAn4gDyADQf8BcUEBRq2EIgwgAikD8AoiDVoEQEIAIA59IRsgDkIAUq0MAQsgDkJ/hSEbIA5CAFKtIA5QrXwLIg5QBEBCf0IAIBFCAFIbIRIMAQtCf0IAIBFCAFIbIA4gGVatfSESIBkgDn0hGQsgAkHoCmpBgr3AAEEDEFAgAigC6AoNASACKQP4CiEOIBIgFH0hIiACKQOICyACKQOACyIPIBl9IRQCQAJ+IAIpA/AKIhggDCANfSIcWgRAIA4gG30hEyAOIBtUrQwBCyAOIBtCf4V8IRMgDiAbVK0gDiAbUa18CyIOUARAQn9CACAPIBlUGyERDAELQn9CACAPIBlUGyAOIBRWrX0hESAUIA59IRQLICJ9IBF8Ig5CAFMNAiACIA43A8ALIAIgFDcDuAsgAiATNwOwCyACIBggHH0iDDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoiAxDSAUH/AXFBAUYNAkIAIRRCACEPQgAhEUIAIQ4gDKciBEH/AU0EQCMAQSBrIgVBGGoiCkIANwMAIAVBEGoiC0IANwMAIAVBCGoiB0IANwMAIAVCADcDAAJAIARB/wFLDQAgBSAEQQZ2IgZBA3RqIAEpAwAiESAErSIOhjcDAAJAIAZBAWoiCEEERg0AIAUgCEEDdGogASkDCCAOQj+DIg+GNwMAIAZBAmoiCUEERg0AIAUgCUEDdGogASkDECAPhjcDACAGQQNqIglBBEYNACAFIAlBA3RqIAEpAxggD4Y3AwALIARBP3FFIARBvwFLcg0AIAUgCEEDdGoiBCAEKQMAIBFCACAOfSIOiHw3AwAgCEEDRg0AIAUgBkECaiIEQQN0aiIIIAgpAwAgASkDCCAOQj+DIg6IfDcDACAEQQNGDQAgBkEDdCAFakEYaiIEIAQpAwAgASkDECAOiHw3AwALIAMgBSkDADcDACADQRhqIAopAwA3AwAgA0EQaiALKQMANwMAIANBCGogBykDADcDACACKQP4CiERIAIpA+gKIRQgAikD8AohDyACKQOACyEOCyABIBQ3AwAgAUEYaiIIIA43AwAgAUEQaiIKIBE3AwAgAUEIaiILIA83AwAgAkHoCmohBUIAIQ9CACERQgAhFEIAIQwjAEFAaiIDJAAgA0EIakGfARDWAQJAAkACQCADKQMQQgBSDQAgAykDGEIAUg0AIAMpAyBQRQ0AIAMpAwgiDkL/////D1YNACAOQv8BVg0CIAEgDqciB0EGdiIEQQN0aikDACENIARBAWoiBkEERg0BIAEgBkEDdGopAwAgDkI/gyIPiCERIARBAmoiCUEERg0BIAEgCUEDdGopAwAgD4ghFCAEQQNqIglBBEYNASABIAlBA3RqKQMAIA+IIQwMAQsgA0EANgI4IANBATYCLCADQfDGwAA2AiggA0IENwIwIANBKGpBuMbAABDwAQALIA0gDoghDyAHQT9xRSAOQr8BVnINACABIAZBA3RqKQMAQgAgDn0iDoYgD3whDyAGQQNGDQAgASAEQQJqIgZBA3RqKQMAIA5CP4MiDoYgEXwhESAGQQNGDQAgBEEDdCABakEYaikDACAOhiAUfCEUCyAFIAw3AxggBSAUNwMQIAUgETcDCCAFIA83AwAgA0FAayQAIAggAkGAC2opAwA3AwAgCiACQfgKaikDADcDACALIAJB8ApqKQMANwMAIAEgAikD6Ao3AwAgCCkDACEUIAopAwAhDiALKQMAIQ8gASkDACERIAVBhb3AAEEfEFAgAigC6AoNAyAPIAIpA/gKfCIQIA9UIQMgAikDgAsgDnwiFSAOVCEEIAIpA4gLIQxCfyEWIBEgESACKQPwCnwiElgEfiADrQUgEEIBfCIQUK0gA618CyINUAR+IAStBSAVIA0gFXwiFVatIAStfAsiDVAEfiAMIBR8BSAMIBR8IA18CyITQgBZBEAgECAShCATIBWEhEIAUq0hFgsgE0IAUwRAIBBCf4VCACAQfSINQgAgEn0iEkIAUiIDGyEQIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gE0J/hXwhEwtCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAWfiARIQ0gDyEWIA4hGCAUIgxCAFMEQCAPQn+FQgAgD30iGEIAIA19Ig1CAFIiAxshFiAOQn+FIgwgGFAgA0F/c3EiA618IhogDCADGyEYIAMgDCAaVnGtIBRCf4V8IQwLIAJBuApqIA1CACASQgAQzgEgAkGoCmogDUIAIBBCABDOASACQZgKaiANQgAgFUIAEM4BIAJBiApqIBZCACASQgAQzgEgAkH4CWogFkIAIBBCABDOASACQegJaiAYQgAgEkIAEM4BIAIpA5gKIhogAkGwCmopAwAgAikDqAoiHSACQcAKaikDAHwiICAdVK18fCIdIBpUrSACQfAJaikDACACQYAKaikDACACQaAKaikDACAVIBZ+IA0gE358IBAgGH58fCAMIBJ+fHx8fCACQZAKaikDACACKQOICiIMICB8IhUgDFStfCIMIB18Ig0gDFStfCACKQP4CSIMIA18Ig0gDFStfCACKQPoCSIMIA18IhIgDFStfCEQQgJaBEAgEEJ/hSINIAIpA7gKIhZCACAVfSIYhFAiAyASQn+FIgwgA618IhcgDFRxIgStfCANIAQbIRAgGCAVQn+FIBZQGyEVIBcgDCADGyESCwJ+IBBCAFkEQCAQQiCGIBJCIIiEIRMgEEIgiCENQgAhFiASQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQfC1wAAgAkHoCmoQaiACKQOwCyETAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ0gAikDwAshFgwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEWDAELIAIpA8ALIRYgDVANASANQgF9IQ1CfyETCyAMQgF9DAELIBZQDRhCfyENIBZCAX0hFkJ/IRNCfwshDCANQn+FIBBCIIiEIQ0gEEIghiASQiCIhCATQn+FhCETIBZCf4UhFiASQiCGIBVCIIiEIAxCf4WECyEMIAJB6ApqQaS9wABBIBBQIAIoAugKDQQgEyACKQP4CnwiECATVCEDIAIpA4ALIA18IhUgDVQhBCACKQOICyENIAwgDCACKQPwCnwiElgEfiADrQUgEEIBfCIQUK0gA618CyIMUAR+IAStBSAVIAwgFXwiFVatIAStfAsiDFAEfiANIBZ8BSANIBZ8IAx8CyENQn8gECAShCANIBWEhEIAUq0gDUIAUyIHGyEXIAcEQCAQQn+FQgAgEH0iFkIAIBJ9IhJCAFIiAxshECAVQn+FIgwgFlAgA0F/c3EiA618IhYgDCADGyEVIAMgDCAWVnGtIA1Cf4V8IQ0LIBEhEyAPIRYgDiEYIBQiDEIAUwRAIA9Cf4VCACAPfSIYQgAgEX0iE0IAUiIDGyEWIA5Cf4UiDCAYUCADQX9zcSIDrXwiGiAMIAMbIRggAyAMIBpWca0gFEJ/hXwhDAsgAkHYCWogE0IAIBJCABDOASACQcgJaiATQgAgEEIAEM4BIAJBuAlqIBNCACAVQgAQzgEgAkGoCWogFkIAIBJCABDOASACQZgJaiAWQgAgEEIAEM4BIAJBiAlqIBhCACASQgAQzgEgAikDuAkiGiACQdAJaikDACACKQPICSIdIAJB4AlqKQMAfCIgIB1UrXx8Ih0gGlStIAJBkAlqKQMAIAJBoAlqKQMAIAJBwAlqKQMAIBUgFn4gDSATfnwgECAYfnx8IAwgEn58fHx8IAJBsAlqKQMAIAIpA6gJIgwgIHwiFSAMVK18IgwgHXwiDSAMVK18IAIpA5gJIgwgDXwiDSAMVK18IAIpA4gJIgwgDXwiEiAMVK18IRBCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAXfkICWgRAIBBCf4UiDSACKQPYCSIWQgAgFX0iGIRQIgMgEkJ/hSIMIAOtfCIXIAxUcSIErXwgDSAEGyEQIBggFUJ/hSAWUBshFSAXIAwgAxshEgsCfiAQQgBZBEAgEEIghiASQiCIhCETIBBCIIghDUIAIRYgEkIghiAVQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshEwJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyENIAIpA8ALIRYMAQsgAikDuAshDSATUEUEQCATQgF9IRMgAikDwAshFgwBCyACKQPACyEWIA1QDQEgDUIBfSENQn8hEwsgDEIBfQwBCyAWUA0YQn8hDSAWQgF9IRZCfyETQn8LIQwgDUJ/hSAQQiCIhCENIBBCIIYgEkIgiIQgE0J/hYQhEyAWQn+FIRYgEkIghiAVQiCIhCAMQn+FhAshDCACQegKakHEvcAAQSAQUCACKALoCg0FIBMgAikD+Ap8IhAgE1QhAyACKQOACyANfCIVIA1UIQQgAikDiAshDSAMIAwgAikD8Ap8IhJYBH4gA60FIBBCAXwiEFCtIAOtfAsiDFAEfiAErQUgFSAMIBV8IhVWrSAErXwLIgxQBH4gDSAWfAUgDSAWfCAMfAshE0J/IBAgEoQgEyAVhIRCAFKtIBNCAFMiBxshFyAHBEAgEEJ/hUIAIBB9Ig1CACASfSISQgBSIgMbIRAgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSATQn+FfCETCyARIQ0gDyEWIA4hGCAUIgxCAFMEQCAPQn+FQgAgD30iGEIAIA19Ig1CAFIiAxshFiAOQn+FIgwgGFAgA0F/c3EiA618IhogDCADGyEYIAMgDCAaVnGtIBRCf4V8IQwLIAJB+AhqIA1CACASQgAQzgEgAkHoCGogDUIAIBBCABDOASACQdgIaiANQgAgFUIAEM4BIAJByAhqIBZCACASQgAQzgEgAkG4CGogFkIAIBBCABDOASACQagIaiAYQgAgEkIAEM4BIAIpA9gIIhogAkHwCGopAwAgAikD6AgiHSACQYAJaikDAHwiICAdVK18fCIdIBpUrSACQbAIaikDACACQcAIaikDACACQeAIaikDACAVIBZ+IA0gE358IBAgGH58fCAMIBJ+fHx8fCACQdAIaikDACACKQPICCIMICB8IhUgDFStfCIMIB18Ig0gDFStfCACKQO4CCIMIA18Ig0gDFStfCACKQOoCCIMIA18IhIgDFStfCEQQn8gDyARhCAOhCAUhEIAUq0gFEIAUxsgF35CAloEQCAQQn+FIg0gAikD+AgiFkIAIBV9IhiEUCIDIBJCf4UiDCADrXwiFyAMVHEiBK18IA0gBBshECAYIBVCf4UgFlAbIRUgFyAMIAMbIRILAn4gEEIAWQRAIBBCIIYgEkIgiIQhEyAQQiCIIRhCACEdIBJCIIYgFUIgiIQMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB8LXAACACQegKahBqIAIpA7ALIRMCfgJAAkAgAikDqAsiFlBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gE1BFBEAgE0IBfSETIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRMLIBZCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hE0J/CyEWIA1Cf4UgEEIgiIQhGCAQQiCGIBJCIIiEIBNCf4WEIRMgDEJ/hSEdIBJCIIYgFUIgiIQgFkJ/hYQLIRcgAkHoCmpB5L3AAEEgEFAgAigC6AoNBiACKQOACyEWIAIpA/gKIQwCfiACKQPwCiIaIBdYBEAgDCATVq0hDSATIAx9DAELIAwgE1atIAwgE1GtfCENIBMgDEJ/hXwLIRUgAikDiAshDCAYIBZ9IRICQCANUARAQn9CACAWIBhWGyEYDAELQn9CACAWIBhWGyANIBJWrX0hGCASIA19IRILIBcgGn0hEEJ/IRYgHSAMfSAYfCINQgBZBEAgECAVhCANIBKEhEIAUq0hFgsgDUIAUwRAIBVCf4VCACAVfSIYQgAgEH0iEEIAUiIDGyEVIBJCf4UiDCAYUCADQX9zcSIDrXwiGCAMIAMbIRIgAyAMIBhWca0gDUJ/hXwhDQtCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAWfiARIRMgDyEWIA4hGCAUIgxCAFMEQCAPQn+FQgAgD30iGEIAIBF9IhNCAFIiAxshFiAOQn+FIgwgGFAgA0F/c3EiA618IhogDCADGyEYIAMgDCAaVnGtIBRCf4V8IQwLIAJBmAhqIBNCACAQQgAQzgEgAkGICGogE0IAIBVCABDOASACQfgHaiATQgAgEkIAEM4BIAJB6AdqIBZCACAQQgAQzgEgAkHYB2ogFkIAIBVCABDOASACQcgHaiAYQgAgEEIAEM4BIAIpA/gHIhogAkGQCGopAwAgAikDiAgiHSACQaAIaikDAHwiICAdVK18fCIdIBpUrSACQdAHaikDACACQeAHaikDACACQYAIaikDACASIBZ+IA0gE358IBUgGH58fCAMIBB+fHx8fCACQfAHaikDACACKQPoByIMICB8IhUgDFStfCIMIB18Ig0gDFStfCACKQPYByIMIA18Ig0gDFStfCACKQPIByIMIA18IhIgDFStfCEQQgJaBEAgEEJ/hSINIAIpA5gIIhZCACAVfSIYhFAiAyASQn+FIgwgA618IhcgDFRxIgStfCANIAQbIRAgGCAVQn+FIBZQGyEVIBcgDCADGyESCwJ+IBBCAFkEQCAQQiCGIBJCIIiEIRMgEEIgiCEYQgAhHSASQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQfC1wAAgAkHoCmoQaiACKQOwCyETAn4CQAJAIAIpA6gLIhZQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyETCyAWQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRNCfwshFiANQn+FIBBCIIiEIRggEEIghiASQiCIhCATQn+FhCETIAxCf4UhHSASQiCGIBVCIIiEIBZCf4WECyEXIAJB6ApqQYS+wABBIBBQIAIoAugKDQcgAikDgAshFiACKQP4CiEMAn4gAikD8AoiGiAXWARAIAwgE1atIQ0gEyAMfQwBCyAMIBNWrSAMIBNRrXwhDSATIAxCf4V8CyEVIAIpA4gLIQwgGCAWfSESAkAgDVAEQEJ/QgAgFiAYVhshGAwBC0J/QgAgFiAYVhsgDSASVq19IRggEiANfSESCyAXIBp9IRBCfyEWIB0gDH0gGHwiE0IAWQRAIBAgFYQgEiAThIRCAFKtIRYLIBNCAFMEQCAVQn+FQgAgFX0iDUIAIBB9IhBCAFIiAxshFSASQn+FIgwgDVAgA0F/c3EiA618Ig0gDCADGyESIAMgDCANVnGtIBNCf4V8IRMLQn8gDyARhCAOhCAUhEIAUq0gFEIAUyIHGyAHBEAgD0J/hUIAIA99IhhCACARfSIRQgBSIgMbIQ8gDkJ/hSIMIBhQIANBf3NxIgOtfCIYIAwgAxshDiADIAwgGFZxrSAUQn+FfCEUCyACQbgHaiARQgAgEEIAEM4BIAJBqAdqIBFCACAVQgAQzgEgAkGYB2ogEUIAIBJCABDOASACQYgHaiAPQgAgEEIAEM4BIAJB+AZqIA9CACAVQgAQzgEgAkHoBmogDkIAIBBCABDOASACKQOYByIMIAJBsAdqKQMAIAIpA6gHIhggAkHAB2opAwB8IhcgGFStfHwiGCAMVK0gAkHwBmopAwAgAkGAB2opAwAgAkGgB2opAwAgDyASfiARIBN+fCAOIBV+fHwgECAUfnx8fHwgAkGQB2opAwAgAikDiAciDiAXfCIRIA5UrXwiDiAYfCIPIA5UrXwgAikD+AYiDiAPfCIPIA5UrXwgDyACKQPoBiIOfCIPIA5UrXwhFCAWfkICWgRAIBRCf4UiFCACKQO4ByIMQgAgEX0iDYRQIgMgD0J/hSIOIAOtfCIPIA5UcSIErXwgFCAEGyEUIA0gEUJ/hSAMUBshESAPIA4gAxshDwsCfiAUQgBZBEAgD0IghiARQiCIhCERIBRCIIghEEIAIQ0gFEIghiAPQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshDgJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEQIAIpA8ALIRIMAQsgAikDuAshECAOUEUEQCAOQgF9IQ4gAikDwAshEgwBCyACKQPACyESIBBQDQEgEEIBfSEQQn8hDgsgDEIBfQwBCyASUA0YQn8hECASQgF9IRJCfyEOQn8LIQwgEEJ/hSAUQiCIhCEQIA9CIIYgEUIgiIQgDEJ/hYQhESASQn+FIQ0gFEIghiAPQiCIhCAOQn+FhAshDiACQegKakGkvsAAQSAQUCACKALoCg0IIAIpA/gKIQ8gAikDiAshDCAQIAIpA4ALIhR9IRICQAJ+IAIpA/AKIhYgEVgEQCAOIA99IRUgDiAPVK0MAQsgDiAPQn+FfCEVIA4gD1StIA4gD1GtfAsiDlAEQEJ/QgAgECAUVBshGAwBC0J/QgAgECAUVBsgDiASVq19IRggEiAOfSESCyARIBZ9IRAgASkDGCEUQn8hFiANIAx9IBh8Ig1CAFkEQCAQIBWEIA0gEoSEQgBSrSEWCyABKQMQIQ4gASkDCCEPIAEpAwAhESANQgBTBEAgFUJ/hUIAIBV9IhhCACAQfSIQQgBSIgMbIRUgEkJ/hSIMIBhQIANBf3NxIgOtfCIYIAwgAxshEiADIAwgGFZxrSANQn+FfCENC0J/IA8gEYQgDoQgFIRCAFKtIBRCAFMbIBZ+IBEhEyAPIRYgDiEYIBQiDEIAUwRAIA9Cf4VCACAPfSIYQgAgEX0iE0IAUiIDGyEWIA5Cf4UiDCAYUCADQX9zcSIDrXwiGiAMIAMbIRggAyAMIBpWca0gFEJ/hXwhDAsgAkHYBmogE0IAIBBCABDOASACQcgGaiATQgAgFUIAEM4BIAJBuAZqIBNCACASQgAQzgEgAkGoBmogFkIAIBBCABDOASACQZgGaiAWQgAgFUIAEM4BIAJBiAZqIBhCACAQQgAQzgEgAikDuAYiGiACQdAGaikDACACKQPIBiIdIAJB4AZqKQMAfCIgIB1UrXx8Ih0gGlStIAJBkAZqKQMAIAJBoAZqKQMAIAJBwAZqKQMAIBIgFn4gDSATfnwgFSAYfnx8IAwgEH58fHx8IAJBsAZqKQMAIAIpA6gGIgwgIHwiGCAMVK18IgwgHXwiDSAMVK18IAIpA5gGIgwgDXwiDSAMVK18IAIpA4gGIgwgDXwiECAMVK18ISAgAikD2AYhHUICWgRAICBCf4UiDUIAIBh9IhZQQgAgHX0iHUIAUiIEQX9zcSIDIBBCf4UiDCADrXwiFyAMVHEiBa18IA0gBRshICAXIAwgAxshECAYQn+FIBYgBBshGAsgAkHoCmpBxL7AAEEeEFAgAigC6AoNCSACKQOACyAQIAIpA/gKIiZCIIYgAikD8AoiDUIgiIQiDH0hFgJAIA1CIIYiJyAYWARAQn9CACAMIBBWGyEkDAELQn9CACAMIBBWGyAWUK19ISQgFkIBfSEWCyACQegKakHivsAAQR8QUCACKALoCg0KIA8gAikD+Ap8IhAgD1QhAyACKQOACyAOfCIVIA5UIQQgAikDiAshDCARIBEgAikD8Ap8IhJYBH4gA60FIBBCAXwiEFCtIAOtfAsiDVAEfiAErQUgFSANIBV8IhVWrSAErXwLIg1QBH4gDCAUfAUgDCAUfCANfAshE0J/IBAgEoQgEyAVhIRCAFKtIBNCAFMiBxshISAHBEAgEEJ/hUIAIBB9Ig1CACASfSISQgBSIgMbIRAgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSATQn+FfCETCyARIQ0gDyEMIA4hFyAUIRogFEIAUwRAIAxCf4VCACAMfSIXQgAgDX0iDUIAUiIDGyEMIA5Cf4UiGiAXUCADQX9zcSIDrXwiHiAaIAMbIRcgAyAaIB5Wca0gFEJ/hXwhGgsgAkH4BWogDUIAIBJCABDOASACQegFaiANQgAgEEIAEM4BIAJB2AVqIA1CACAVQgAQzgEgAkHIBWogDEIAIBJCABDOASACQbgFaiAMQgAgEEIAEM4BIAJBqAVqIBdCACASQgAQzgEgAikD2AUiHiACQfAFaikDACACKQPoBSIfIAJBgAZqKQMAfCIjIB9UrXx8Ih8gHlStIAJBsAVqKQMAIAJBwAVqKQMAIAJB4AVqKQMAIAwgFX4gDSATfnwgECAXfnx8IBIgGn58fHx8IAJB0AVqKQMAIAIpA8gFIgwgI3wiFSAMVK18IgwgH3wiDSAMVK18IAIpA7gFIgwgDXwiDSAMVK18IAIpA6gFIgwgDXwiEiAMVK18IRBCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAhfkICWgRAIBBCf4UiDSACKQP4BSIXQgAgFX0iGoRQIgMgEkJ/hSIMIAOtfCITIAxUcSIErXwgDSAEGyEQIBogFUJ/hSAXUBshFSATIAwgAxshEgsCfiAQQgBZBEAgEEIghiASQiCIhCETIBJCIIYgFUIgiIQhFSAQQiCIIQ1CAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshEwJ+AkACQCACKQOoCyIXUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSATUEUEQCATQgF9IRMgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEwsgF0IBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyETQn8LIRcgDUJ/hSAQQiCIhCENIBBCIIYgEkIgiIQgE0J/hYQhEyASQiCGIBVCIIiEIBdCf4WEIRUgDEJ/hQshDCACQegKakGBv8AAQSAQUCACKALoCg0LIBMgAikD+Ap8IhAgE1QhAyACKQOACyEaIBUgFSACKQPwCnwiElgEfiADrQUgEEIBfCIQUK0gA618CyEXIA0gGnwiFSANVCEDIAIpA4gLIQ1CfyAQIBKEIBdQBH4gA60FIBUgFSAXfCIVVq0gA618CyIXUAR+IAwgDXwFIAwgDXwgF3wLIhMgFYSEQgBSrSATQgBTIgcbISEgBwRAIBBCf4VCACAQfSINQgAgEn0iEkIAUiIDGyEQIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gE0J/hXwhEwsgESENIA8hDCAOIRcgFCEaIBRCAFMEQCAMQn+FQgAgDH0iF0IAIA19Ig1CAFIiAxshDCAOQn+FIhogF1AgA0F/c3EiA618Ih4gGiADGyEXIAMgGiAeVnGtIBRCf4V8IRoLIAJBmAVqIA1CACASQgAQzgEgAkGIBWogDUIAIBBCABDOASACQfgEaiANQgAgFUIAEM4BIAJB6ARqIAxCACASQgAQzgEgAkHYBGogDEIAIBBCABDOASACQcgEaiAXQgAgEkIAEM4BIAIpA/gEIh4gAkGQBWopAwAgAikDiAUiHyACQaAFaikDAHwiIyAfVK18fCIfIB5UrSACQdAEaikDACACQeAEaikDACACQYAFaikDACAMIBV+IA0gE358IBAgF358fCASIBp+fHx8fCACQfAEaikDACACKQPoBCIMICN8IhUgDFStfCIMIB98Ig0gDFStfCACKQPYBCIMIA18Ig0gDFStfCACKQPIBCIMIA18IhIgDFStfCEQQn8gDyARhCAOhCAUhEIAUq0gFEIAUxsgIX5CAloEQCAQQn+FIg0gAikDmAUiF0IAIBV9IhqEUCIDIBJCf4UiDCADrXwiEyAMVHEiBK18IA0gBBshECAaIBVCf4UgF1AbIRUgEyAMIAMbIRILAn4gEEIAWQRAIBBCIIYgEkIgiIQhEyASQiCGIBVCIIiEIRUgEEIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB8LXAACACQegKahBqIAIpA7ALIRMCfgJAAkAgAikDqAsiF1BFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gE1BFBEAgE0IBfSETIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRMLIBdCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hE0J/CyEXIA1Cf4UgEEIgiIQhDSAQQiCGIBJCIIiEIBNCf4WEIRMgEkIghiAVQiCIhCAXQn+FhCEVIAxCf4ULIQwgAkHoCmpBob/AAEEhEFAgAigC6AoNDCATIAIpA/gKfCIQIBNUIQMgAikDgAshGiAVIBUgAikD8Ap8IhJYBH4gA60FIBBCAXwiEFCtIAOtfAshFyANIBp8IhUgDVQhAyACKQOICyENQn8gECAShCAXUAR+IAOtBSAVIBUgF3wiFVatIAOtfAsiF1AEfiAMIA18BSAMIA18IBd8CyITIBWEhEIAUq0gE0IAUyIHGyEhIAcEQCAQQn+FQgAgEH0iDUIAIBJ9IhJCAFIiAxshECAVQn+FIgwgDVAgA0F/c3EiA618Ig0gDCADGyEVIAMgDCANVnGtIBNCf4V8IRMLIBEhDSAPIQwgDiEXIBQhGiAUQgBTBEAgDEJ/hUIAIAx9IhdCACANfSINQgBSIgMbIQwgDkJ/hSIaIBdQIANBf3NxIgOtfCIeIBogAxshFyADIBogHlZxrSAUQn+FfCEaCyACQbgEaiANQgAgEkIAEM4BIAJBqARqIA1CACAQQgAQzgEgAkGYBGogDUIAIBVCABDOASACQYgEaiAMQgAgEkIAEM4BIAJB+ANqIAxCACAQQgAQzgEgAkHoA2ogF0IAIBJCABDOASACKQOYBCIeIAJBsARqKQMAIAIpA6gEIh8gAkHABGopAwB8IiMgH1StfHwiHyAeVK0gAkHwA2opAwAgAkGABGopAwAgAkGgBGopAwAgDCAVfiANIBN+fCAQIBd+fHwgEiAafnx8fHwgAkGQBGopAwAgAikDiAQiDCAjfCIVIAxUrXwiDCAffCINIAxUrXwgAikD+AMiDCANfCINIAxUrXwgAikD6AMiDCANfCISIAxUrXwhEEJ/IA8gEYQgDoQgFIRCAFKtIBRCAFMbICF+QgJaBEAgEEJ/hSINIAIpA7gEIhdCACAVfSIahFAiAyASQn+FIgwgA618IhMgDFRxIgStfCANIAQbIRAgGiAVQn+FIBdQGyEVIBMgDCADGyESCwJ+IBBCAFkEQCAQQiCGIBJCIIiEIRMgEkIghiAVQiCIhCEVIBBCIIghDUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQfC1wAAgAkHoCmoQaiACKQOwCyETAn4CQAJAIAIpA6gLIhdQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyETCyAXQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRNCfwshFyANQn+FIBBCIIiEIQ0gEEIghiASQiCIhCATQn+FhCETIBJCIIYgFUIgiIQgF0J/hYQhFSAMQn+FCyEMIAJB6ApqQcK/wABBIRBQIAIoAugKDQ0gEyACKQP4CnwiECATVCEDIAIpA4ALIRogFSAVIAIpA/AKfCISWAR+IAOtBSAQQgF8IhBQrSADrXwLIRcgDSAafCIVIA1UIQMgAikDiAshDUJ/IBAgEoQgF1AEfiADrQUgFSAVIBd8IhVWrSADrXwLIhdQBH4gDCANfAUgDCANfCAXfAsiEyAVhIRCAFKtIBNCAFMiBxshISAHBEAgEEJ/hUIAIBB9Ig1CACASfSISQgBSIgMbIRAgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSATQn+FfCETCyARIQ0gDyEMIA4hFyAUIRogFEIAUwRAIAxCf4VCACAMfSIXQgAgDX0iDUIAUiIDGyEMIA5Cf4UiGiAXUCADQX9zcSIDrXwiHiAaIAMbIRcgAyAaIB5Wca0gFEJ/hXwhGgsgAkHYA2ogDUIAIBJCABDOASACQcgDaiANQgAgEEIAEM4BIAJBuANqIA1CACAVQgAQzgEgAkGoA2ogDEIAIBJCABDOASACQZgDaiAMQgAgEEIAEM4BIAJBiANqIBdCACASQgAQzgEgAikDuAMiHiACQdADaikDACACKQPIAyIfIAJB4ANqKQMAfCIjIB9UrXx8Ih8gHlStIAJBkANqKQMAIAJBoANqKQMAIAJBwANqKQMAIAwgFX4gDSATfnwgECAXfnx8IBIgGn58fHx8IAJBsANqKQMAIAIpA6gDIgwgI3wiFSAMVK18IgwgH3wiDSAMVK18IAIpA5gDIgwgDXwiDSAMVK18IAIpA4gDIgwgDXwiEiAMVK18IRBCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAhfkICWgRAIBBCf4UiDSACKQPYAyIXQgAgFX0iGoRQIgMgEkJ/hSIMIAOtfCITIAxUcSIErXwgDSAEGyEQIBogFUJ/hSAXUBshFSATIAwgAxshEgsCfiAQQgBZBEAgEEIghiASQiCIhCETIBJCIIYgFUIgiIQhFSAQQiCIIQ1CAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHwtcAAIAJB6ApqEGogAikDsAshEwJ+AkACQCACKQOoCyIXUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSATUEUEQCATQgF9IRMgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEwsgF0IBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyETQn8LIRcgDUJ/hSAQQiCIhCENIBBCIIYgEkIgiIQgE0J/hYQhEyASQiCGIBVCIIiEIBdCf4WEIRUgDEJ/hQshDCACQegKakHjv8AAQSEQUCACKALoCg0OIBMgAikD+Ap8IhAgE1QhAyACKQOACyEaIBUgFSACKQPwCnwiElgEfiADrQUgEEIBfCIQUK0gA618CyEXIA0gGnwiFSANVCEDIAIpA4gLIQ1CfyAQIBKEIBdQBH4gA60FIBUgFSAXfCIVVq0gA618CyIXUAR+IAwgDXwFIAwgDXwgF3wLIhMgFYSEQgBSrSATQgBTIgcbIQ0gBwRAIBBCf4VCACAQfSIXQgAgEn0iEkIAUiIDGyEQIBVCf4UiDCAXUCADQX9zcSIDrXwiFyAMIAMbIRUgAyAMIBdWca0gE0J/hXwhEwtCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyANfgJ+IBRCAFkEQCAOIQ0gFAwBCyAPQn+FQgAgD30iDUIAIBF9IhFCAFIiAxshDyAOQn+FIgwgDVAgA0F/c3EiA618IhogDCADGyENIAMgDCAaVnGtIBRCf4V8CyEMIAJB+AJqIBFCACASQgAQzgEgAkHoAmogEUIAIBBCABDOASACQdgCaiARQgAgFUIAEM4BIAJByAJqIA9CACASQgAQzgEgAkG4AmogD0IAIBBCABDOASACQagCaiANQgAgEkIAEM4BIAIpA9gCIhogAkHwAmopAwAgAikD6AIiISACQYADaikDAHwiHiAhVK18fCIhIBpUrSACQbACaikDACACQcACaikDACACQeACaikDACAPIBV+IBEgE358IA0gEH58fCAMIBJ+fHx8fCACQdACaikDACACKQPIAiIPIB58IhAgD1StfCIPICF8IhEgD1StfCACKQO4AiIPIBF8IhEgD1StfCACKQOoAiIPIBF8IhEgD1StfCEPQgJaBEAgD0J/hSIPIAIpA/gCIgxCACAQfSINhFAiAyARQn+FIhEgA618IhcgEVRxIgStfCAPIAQbIQ8gDSAQQn+FIAxQGyEQIBcgESADGyERCwJ+IA9CAFkEQCAPQiCGIBFCIIiEIRIgEUIghiAQQiCIhCEQQgAhEyAPQiCIDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQfC1wAAgAkHoCmoQaiACKQOwCyESAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRUgAikDwAshEwwBCyACKQO4CyEVIBJQRQRAIBJCAX0hEiACKQPACyETDAELIAIpA8ALIRMgFVANASAVQgF9IRVCfyESCyAMQgF9DAELIBNQDRhCfyEVIBNCAX0hE0J/IRJCfwshDCAPQiCGIBFCIIiEIBJCf4WEIRIgEUIghiAQQiCIhCAMQn+FhCEQIBNCf4UhEyAVQn+FIA9CIIiECyERIAJB6ApqQYTAwABBIBBQIAIoAugKDQ8gEiACKQP4CnwiDyASVCEDIAIpA4ALIBF8IhIgEVQhBCACKQOICyEMIBAgECACKQPwCnwiEVgEfiADrQUgD0IBfCIPUK0gA618CyINUAR+IAStBSASIA0gEnwiElatIAStfAsiDVAEfiAMIBN8BSAMIBN8IA18CyETQn8gDyARhCASIBOEhEIAUq0gE0IAUyIHGyABKQMIIRUgASkDACEQIAcEQCAPQn+FQgAgD30iF0IAIBF9IhFCAFIiARshDyASQn+FIgwgF1AgAUF/c3EiAa18IhcgDCABGyESIAEgDCAXVnGtIBNCf4V8IRMLQn8gECAVhCAOhCAUhEIAUq0gFEIAUyIBGyABBEAgFUJ/hUIAIBV9IhpCACAQfSIQQgBSIgEbIRUgDkJ/hSIMIBpQIAFBf3NxIgGtfCIaIAwgARshDiABIAwgGlZxrSAUQn+FfCEUCyACQZgCaiAQQgAgEUIAEM4BIAJBiAJqIBBCACAPQgAQzgEgAkH4AWogEEIAIBJCABDOASACQegBaiAVQgAgEUIAEM4BIAJB2AFqIBVCACAPQgAQzgEgAkHIAWogDkIAIBFCABDOASACKQP4ASIMIAJBkAJqKQMAIAIpA4gCIhogAkGgAmopAwB8IiEgGlStfHwiGiAMVK0gAkHQAWopAwAgAkHgAWopAwAgAkGAAmopAwAgEiAVfiAQIBN+fCAOIA9+fHwgESAUfnx8fHwgAkHwAWopAwAgAikD6AEiDiAhfCIRIA5UrXwiDiAafCIPIA5UrXwgAikD2AEiDiAPfCIPIA5UrXwgDyACKQPIASIOfCIPIA5UrXwhFH5CAloEQCAUQn+FIhQgAikDmAIiDEIAIBF9Ig2EUCIBIA9Cf4UiDiABrXwiDyAOVHEiA618IBQgAxshFCANIBFCf4UgDFAbIREgDyAOIAEbIQ8LAn4gFEIAWQRAIBRCIIYgD0IgiIQhECAPQiCGIBFCIIiEIQ8gFEIgiCEVQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB8LXAACACQegKahBqIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshECACKQPACyESDAELIAIpA7gLIRAgDlBFBEAgDkIBfSEOIAIpA8ALIRIMAQsgAikDwAshEiAQUA0BIBBCAX0hEEJ/IQ4LIAxCAX0MAQsgElANGEJ/IRAgEkIBfSESQn8hDkJ/CyEMIBBCf4UgFEIgiIQhFSAUQiCGIA9CIIiEIA5Cf4WEIRAgD0IghiARQiCIhCAMQn+FhCEPIBJCf4ULIRQgAkHoCmpBpMDAAEEeEFAgAigC6AoNEUIghiAmQiCIhCERIBAgAikD+Ap8Ig4gEFQhASACKQOACyAPIA8gAikD8Ap8IhJYBH4gAa0FIA5CAXwiDlCtIAGtfAshDCAVfCIPIBVUIQNB/wEhAUH/ASAgIBF9ICR8IhEgHSAYICd9IhCEIBaEhEIAUiARQgBTGwJAIAIpA4gLIg0gFHwgDFAEfiADrQUgDyAMIA98Ig9WrSADrXwLIgwgDSAUfHwgDFAbIhRCAFMNAEEBIQEgDiAShCAPhEIAUg0AIBRQDRELwCABwG0gAiARQgBTBH4gEEJ/hUIAIBB9Ig1CACAdfSIdQgBSIgEbIRAgFkJ/hSIMIA1QIAFBf3NxIgGtfCINIAwgARshFiABIAwgDVZxrSARQn+FfAUgEQs3A+AKIAIgFjcD2AogAiAQNwPQCiACIB03A8gKIAIgFEIAUwR+IA5Cf4VCACAOfSIMQgAgEn0iEkIAUiIBGyEOIA9Cf4UiESAMUCABQX9zcSIBrXwiDCARIAEbIQ8gASAMIBFUca0gFEJ/hXwFIBQLNwPACyACIA83A7gLIAIgDjcDsAsgAiASNwOoCyACQegKaiACQcgKaiACQagLahBOIAIpA4ALIREgAikD+AohEiACKQPwCiEPIAIpA+gKIRRB/wFxQQJPBEAgEUJ/hSIRQgAgD30iDFBCACAUfSIUQgBSIgNBf3NxIgEgEkJ/hSIOIAGtfCINIA5UcSIErXwgESAEGyERIA0gDiABGyESIA9Cf4UgDCADGyEPCyACQegKakHUwMAAQSsQUCACKALoCg0SIAIpA4gLIRVCfyAPIBSEIBKEIBGEQgBSrSARQgBTIgEbIAIpA4ALIRMgAikD+AohECACKQPwCiEOIAEEQCAPQn+FQgAgD30iFkIAIBR9IhRCAFIiARshDyASQn+FIgwgFlAgAUF/c3EiAa18IhYgDCABGyESIAEgDCAWVnGtIBFCf4V8IRELQn8gDiAQhCAThCAVhEIAUq0gFUIAUyIBGyABBEAgEEJ/hUIAIBB9IhhCACAOfSIOQgBSIgEbIRAgE0J/hSIMIBhQIAFBf3NxIgGtfCIYIAwgARshEyABIAwgGFZxrSAVQn+FfCEVCyACQbgBaiAOQgAgFEIAEM4BIAJBqAFqIA5CACAPQgAQzgEgAkGYAWogDkIAIBJCABDOASACQYgBaiAQQgAgFEIAEM4BIAJB+ABqIBBCACAPQgAQzgEgAkHoAGogE0IAIBRCABDOASACKQOYASIMIAJBsAFqKQMAIAIpA6gBIhggAkHAAWopAwB8IhcgGFStfHwiGCAMVK0gAkHwAGopAwAgAkGAAWopAwAgAkGgAWopAwAgECASfiAOIBF+fCAPIBN+fHwgFCAVfnx8fHwgAkGQAWopAwAgAikDiAEiDiAXfCIRIA5UrXwiDiAYfCIPIA5UrXwgAikDeCIOIA98Ig8gDlStfCACKQNoIg4gD3wiEiAOVK18IRMgAikDuAEhFX5CAloEQCATQn+FIg9CACARfSIUUEIAIBV9IhVCAFIiA0F/c3EiASASQn+FIg4gAa18IgwgDlRxIgStfCAPIAQbIRMgDCAOIAEbIRIgEUJ/hSAUIAMbIRELIAJB6ApqQf/AwABBxwAQUCACKALoCg0TIAIpA4ALIQ4gAikD+AohDyACKQPwCiEUQn8hFiACKQOICyIQQgBZBEAgDyAUhCAOIBCEhEIAUq0hFgsgEEIAUwRAIA9Cf4VCACAPfSINQgAgFH0iFEIAUiIBGyEPIA5Cf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIQ4gASAMIA1Wca0gEEJ/hXwhEAtCfyAbIByEIBmEICKEQgBSrSAiQgBTIgEbIAEEQCAbQn+FQgAgG30iGEIAIBx9IhxCAFIiARshGyAZQn+FIgwgGFAgAUF/c3EiAa18IhggDCABGyEZIAEgDCAYVnGtICJCf4V8ISILIAJB2ABqIBxCACAUQgAQzgEgAkHIAGogHEIAIA9CABDOASACQThqIBxCACAOQgAQzgEgAkEoaiAbQgAgFEIAEM4BIAJBGGogG0IAIA9CABDOASACQQhqIBlCACAUQgAQzgEgAikDOCIMIAJB0ABqKQMAIAIpA0giGCACQeAAaikDAHwiFyAYVK18fCIYIAxUrSACQRBqKQMAIAJBIGopAwAgAkFAaykDACAOIBt+IBAgHH58IA8gGX58fCAUICJ+fHx8fCACQTBqKQMAIAIpAygiDiAXfCIPIA5UrXwiDiAYfCIUIA5UrXwgAikDGCIOIBR8IhQgDlStfCAUIAIpAwgiFHwiDiAUVK18IRkgAikDWCEbIBZ+QgJaBH4gGUJ/hSIUQgAgD30iDFBCACAbfSIbQgBSIgNBf3NxIgEgDkJ/hSIOIAGtfCINIA5UcSIErXwgFCAEGyEZIA0gDiABGyEOIA9Cf4UgDCADGwUgDwsgEXwiDyARVCEBIA4gEnwiFCASVCEDIBUgFSAbfCIOWAR+IAGtBSAPQgF8Ig9QrSABrXwLIhFQBH4gA60FIBQgESAUfCIUVq0gA618CyIRUAR+IBMgGXwFIBMgGXwgEXwLIQwgAkHoCmpBxsHAAEHIABBQIAIoAugKRQRAIA8gDyACKQP4CnwiEVYiAa0gEUJ/Ua0gAa18IA4gDiACKQPwCnxYGyEOIAIpA4ALIBR8Ig8gFFQhAUIAIRECfiACKQOICyIUIAx8IA5QBH4gAa0FIA8gDiAPfCIPVq0gAa18CyIOIAwgFHx8IA5QGyIUQgBZBEAgFEIShiAPQi6IhCEPQgAhDiAUQi6IDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJC0QA3A+gKIAJBqAtqQfC1wAAgAkHoCmoQaiACKQOwCyERAn4CQAJAAkACQCACKQOoCyIMUEUEQCACKQO4CyEODAELIAIpA7gLIQ4gEVANASARQgF9IRELIBFCf4UhGSACKQPACyERDAELIAIpA8ALIREgDlANASAOQgF9IQ5CACEZCyAOQn+FIQ5CACAMfQwBC0IAIQ4gEVANFyARQgF9IRFCACEZQgALIBRCEoYgD0IuiISEIQ8gEUJ/hSERIBkgFEIuiIQLIRQgACARNwMgIAAgDjcDGCAAIBQ3AxAgACAPNwMIQQAhAQwWCyACIAIoAuwKNgKoC0GYu8AAQSsgAkGoC2pBiLvAAEGQwsAAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABB0MTAABDPAQALIAIgAigC7Ao2AqgLQZi7wABBKyACQagLakGIu8AAQcDEwAAQzwEAC0GYu8AAQSsgAkHPC2pBoMTAAEGwxMAAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABBkMTAABDPAQALIAIgAigC7Ao2AqgLQZi7wABBKyACQagLakGIu8AAQYDEwAAQzwEACyACIAIoAuwKNgKoC0GYu8AAQSsgAkGoC2pBiLvAAEHww8AAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABB4MPAABDPAQALIAIgAigC7Ao2AqgLQZi7wABBKyACQagLakGIu8AAQdDDwAAQzwEACyACIAIoAuwKNgKoC0GYu8AAQSsgAkGoC2pBiLvAAEHAw8AAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABBsMPAABDPAQALIAIgAigC7Ao2AqgLQZi7wABBKyACQagLakGIu8AAQaDDwAAQzwEACyACIAIoAuwKNgKoC0GYu8AAQSsgAkGoC2pBiLvAAEGQw8AAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABBgMPAABDPAQALIAIgAigC7Ao2AqgLQZi7wABBKyACQagLakGIu8AAQfDCwAAQzwEACyACIAIoAuwKNgKoC0GYu8AAQSsgAkGoC2pBiLvAAEHgwsAAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABB0MLAABDPAQALQcTAwAAQkgIACyACIAIoAuwKNgKoC0GYu8AAQSsgAkGoC2pBiLvAAEHAwsAAEM8BAAsgAiACKALsCjYCqAtBmLvAAEErIAJBqAtqQYi7wABBsMLAABDPAQALIAIgAigC7Ao2AqgLQZi7wABBKyACQagLakGIu8AAQaDCwAAQzwEACwwBCyAAIAE2AgAgAkHQC2okAA8LIAJBADYC+AogAkEBNgLsCiACQbC2wAA2AugKIAJCBDcC8AogAkHoCmpBvLXAABDwAQAL9yACNH8dfkH0yoHZBiEJQbLaiMsHIQxB7siBmQMhEkHl8MGLBiEKQQYhKkHl8MGLBiELQe7IgZkDIRNBstqIywchFkH0yoHZBiEYQeXwwYsGIRRB7siBmQMhGUGy2ojLByEaQfTKgdkGIRtB5fDBiwYhFUHuyIGZAyEcQbLaiMsHIR1B9MqB2QYhHiAAKQMYIjchQyAAKQMQIjghRCA3ITkgOCE6IDchOyA4ITwgACkDCCJCIUUgACkDACI9IUYgQiFHID0hQCBCIUggPSFBIAApAygiSiFLIAApAyAiSSFMIElCAXwiTSFOIEoiNiE+IElCAnwiTyFQIDYhPyBJQgN8IlEhUgNAIEEgUiAVIEGnaiIVrSAcIEFCIIinaiIcrUIghoSFIkFCIIinQRB3IiEgPEIgiKdqIiKtQiCGIEGnQRB3IiMgPKdqIhethIUiPEIgiKdBDHciDSAcaiIcrUIghiAVIDynQQx3IhVqIhGthCAjrSAhrUIghoSFIjxCIIinQQh3IiEgImoiIq1CIIYgPKdBCHciIyAXaiIXrYQgFa0gDa1CIIaEhSJBp0EHdyIVID8gHSBIp2oiHa0gHiBIQiCIp2oiHq1CIIaEhSI8QiCIp0EQdyINIDtCIIinaiIGrUIghiA8p0EQdyIOIDunaiICrYQgSIUiO0IgiKdBDHciByAeaiIeaiIErUIghiAGIB0gO6dBDHciHWoiBq0gHq1CIIaEIA6tIA2tQiCGhIUiO0IgiKdBCHciDWoiDq1CIIYgO6dBCHciHiACaiICrYQgHa0gB61CIIaEhSI7QiCIp0EHdyIdIAZqIgathCAhrSAerUIghoSFIjxCIIinQRB3IiEgImoiIq1CIIYgFyA8p0EQdyIXaiIHrYQgHa0gFa1CIIaEhSI8QiCIp0EMdyIVIARqIh6tQiCGIAYgPKdBDHciBmoiHa2EIBetICGtQiCGhIUiPEIgiKdBCHciISAiaq1CIIYgPKdBCHciIiAHaq2EIjwgBq0gFa1CIIaEhSI/p0EHdyIsrUIghiBBQiCIp0EHdyIVIBFqIhetIBwgO6dBB3ciHGoiEa1CIIaEIA2tICOtQiCGhIUiO0IgiKdBEHciIyAOaiINrUIghiA7p0EQdyIGIAJqIg6thCAVrSAcrUIghoSFIjtCIIinQQx3IgIgEWoiHK1CIIYgO6dBDHciESAXaiIVrYQgBq0gI61CIIaEhSI7QiCIp0EIdyIjIA1qrUIghiA7p0EIdyIXIA5qrYQiOyARrSACrUIghoSFIkFCIIinQQd3Ii2thCFIID9CIIinQQd3Ii6tIEGnQQd3Ii+tQiCGhCFBID0gUCAUID2naiIUrSAZID1CIIinaiIZrUIghoSFIj1CIIinQRB3Ig0gOEIgiKdqIhGtQiCGID2nQRB3IgYgOKdqIg6thIUiOEIgiKdBDHciAiAZaiIZrUIghiAUIDinQQx3IhRqIgethCAGrSANrUIghoSFIjhCIIinQQh3Ig0gEWoiEa1CIIYgOKdBCHciBiAOaiIOrYQgFK0gAq1CIIaEhSI9p0EHdyIUID4gGiBCp2oiGq0gGyBCQiCIp2oiG61CIIaEhSI4QiCIp0EQdyICIDdCIIinaiIErUIghiA4p0EQdyIPIDenaiIDrYQgQoUiN0IgiKdBDHciCCAbaiIbaiIFrUIghiAEIBogN6dBDHciGmoiBK0gG61CIIaEIA+tIAKtQiCGhIUiN0IgiKdBCHciAmoiD61CIIYgN6dBCHciGyADaiIDrYQgGq0gCK1CIIaEhSI3QiCIp0EHdyIaIARqIgSthCANrSAbrUIghoSFIjhCIIinQRB3Ig0gEWoiEa1CIIYgDiA4p0EQdyIOaiIIrYQgGq0gFK1CIIaEhSI4QiCIp0EMdyIUIAVqIhutQiCGIAQgOKdBDHciBGoiGq2EIA6tIA2tQiCGhIUiOEIgiKdBCHciDSARaq1CIIYgOKdBCHciESAIaq2EIjggBK0gFK1CIIaEhSI+p0EHdyIwrUIghiA9QiCIp0EHdyIUIAdqIg6tIBkgN6dBB3ciGWoiB61CIIaEIAKtIAatQiCGhIUiN0IgiKdBEHciBiAPaiICrUIghiA3p0EQdyIEIANqIg+thCAUrSAZrUIghoSFIjdCIIinQQx3IgMgB2oiGa1CIIYgN6dBDHciByAOaiIUrYQgBK0gBq1CIIaEhSI3QiCIp0EIdyIGIAJqrUIghiA3p0EIdyIOIA9qrYQiNyAHrSADrUIghoSFIj1CIIinQQd3IjGthCFCID5CIIinQQd3IjKtID2nQQd3IjOtQiCGhCE9IE4gCyBGp2oiC60gEyBGQiCIp2oiE61CIIaEhSI+QiCIp0EQdyICIERCIIinaiIHrUIghiA+p0EQdyIEIESnaiIPrYQgRoUiPkIgiKdBDHciAyATaiITrUIghiALID6nQQx3IgtqIgithCAErSACrUIghoSFIj5CIIinQQh3IgIgB2oiB61CIIYgPqdBCHciBCAPaiIPrYQgC60gA61CIIaEhSI+p0EHdyILIDYgFiBFp2oiFq0gGCBFQiCIp2oiGK1CIIaEhSI2QiCIp0EQdyIDIENCIIinaiIFrUIghiA2p0EQdyIQIEOnaiIkrYQgRYUiNkIgiKdBDHciKCAYaiIYaiIrrUIghiAFIBYgNqdBDHciFmoiBa0gGK1CIIaEIBCtIAOtQiCGhIUiNkIgiKdBCHciA2oiEK1CIIYgNqdBCHciGCAkaiIkrYQgFq0gKK1CIIaEhSI2QiCIp0EHdyIWIAVqIgWthCACrSAYrUIghoSFIj9CIIinQRB3IgIgB2oiB61CIIYgDyA/p0EQdyIPaiIorYQgFq0gC61CIIaEhSI/QiCIp0EMdyILICtqIhitQiCGIAUgP6dBDHciBWoiFq2EIA+tIAKtQiCGhIUiP0IgiKdBCHciAiAHaq1CIIYgP6dBCHciByAoaq2EIkQgBa0gC61CIIaEhSI/p0EHdyIorUIghiA+QiCIp0EHdyILIAhqIg+tIBMgNqdBB3ciE2oiCK1CIIaEIAOtIAStQiCGhIUiNkIgiKdBEHciBCAQaiIDrUIghiA2p0EQdyIFICRqIhCthCALrSATrUIghoSFIjZCIIinQQx3IiQgCGoiE61CIIYgNqdBDHciCCAPaiILrYQgBa0gBK1CIIaEhSI2QiCIp0EIdyIEIANqrUIghiA2p0EIdyIPIBBqrYQiQyAIrSAkrUIghoSFIjZCIIinQQd3IiSthCFFID9CIIinQQd3IiutIDanQQd3IjStQiCGhCFGIEAgCiBAp2oiCq0gEiBAQiCIp2oiEq1CIIaEIEyFIkBCIIinQRB3IgMgOkIgiKdqIgitQiCGIECnQRB3IgUgOqdqIhCthIUiOkIgiKdBDHciHyASaiISrUIghiAKIDqnQQx3IgpqIiWthCAFrSADrUIghoSFIjpCIIinQQh3IgMgCGoiCK1CIIYgOqdBCHciBSAQaiIQrYQgCq0gH61CIIaEhSJAp0EHdyIKIAwgR6dqIgytIAkgR0IgiKdqIgmtQiCGhCBLhSI6QiCIp0EQdyIfIDlCIIinaiIgrUIghiA6p0EQdyImIDmnaiInrYQgR4UiOUIgiKdBDHciKSAJaiIJaiI1rUIghiAgIAwgOadBDHciDGoiIK0gCa1CIIaEICatIB+tQiCGhIUiOUIgiKdBCHciH2oiJq1CIIYgOadBCHciCSAnaiInrYQgDK0gKa1CIIaEhSI5QiCIp0EHdyIMICBqIiCthCADrSAJrUIghoSFIjpCIIinQRB3IgMgCGoiCK1CIIYgECA6p0EQdyIQaiIprYQgDK0gCq1CIIaEhSI6QiCIp0EMdyIKIDVqIgmtQiCGICAgOqdBDHciIGoiDK2EIBCtIAOtQiCGhIUiOkIgiKdBCHciAyAIaq1CIIYgOqdBCHciCCApaq2EIjogIK0gCq1CIIaEhSI2p0EHdyIgrUIghiBAQiCIp0EHdyIKICVqIhCtIBIgOadBB3ciEmoiJa1CIIaEIB+tIAWtQiCGhIUiOUIgiKdBEHciBSAmaiIfrUIghiA5p0EQdyImICdqIiethCAKrSASrUIghoSFIjlCIIinQQx3IikgJWoiEq1CIIYgOadBDHciJSAQaiIKrYQgJq0gBa1CIIaEhSI5QiCIp0EIdyIFIB9qrUIghiA5p0EIdyIQICdqrYQiOSAlrSAprUIghoSFIkBCIIinQQd3Ih+thCFHIDZCIIinQQd3IiWtIECnQQd3IiatQiCGhCFAICGtIBetQiCGhCE/ICOtICKtQiCGhCFSIA2tIA6tQiCGhCE+IAatIBGtQiCGhCFQIAKtIA+tQiCGhCE2IAStIAetQiCGhCFOIAOtIBCtQiCGhCFLIAWtIAitQiCGhCFMICpBAWsiKg0ACyAAKAIgISogACgCJCEnIAAgSUIEfDcDICABIB5B9MqB2QZqNgLMASABIB1BstqIywdqNgLIASABIBxB7siBmQNqNgLEASABIBVB5fDBiwZqNgLAASABIBtB9MqB2QZqNgKMASABIBpBstqIywdqNgKIASABIBlB7siBmQNqNgKEASABIBRB5fDBiwZqNgKAASABIBhB9MqB2QZqNgJMIAEgFkGy2ojLB2o2AkggASATQe7IgZkDajYCRCABIAtB5fDBiwZqNgJAIAEgCUH0yoHZBmo2AgwgASAMQbLaiMsHajYCCCABIBJB7siBmQNqNgIEIAEgCkHl8MGLBmo2AgAgASAhIEqnIhZqNgL4ASABICMgUadqNgLwASABIAAoAhgiCSA7p2o2AugBIAEgACgCECIMIDynajYC4AEgASAAKAIMIhIgLGo2AtwBIAEgACgCCCIKIC1qNgLYASABIAAoAgQiCyAvajYC1AEgASAAKAIAIhMgLmo2AtABIAEgDSAWajYCuAEgASAGIE+najYCsAEgASAJIDenajYCqAEgASAMIDinajYCoAEgASASIDBqNgKcASABIAogMWo2ApgBIAEgCyAzajYClAEgASATIDJqNgKQASABIAIgFmo2AnggASAEIE2najYCcCABIAkgQ6dqNgJoIAEgDCBEp2o2AmAgASASIChqNgJcIAEgCiAkajYCWCABIAsgNGo2AlQgASATICtqNgJQIAEgECAAKAIsajYCPCABIAMgACgCKGo2AjggASAIICdqNgI0IAEgBSAqajYCMCABIAkgOadqNgIoIAEgDCA6p2o2AiAgASASICBqNgIcIAEgCiAfajYCGCABIAsgJmo2AhQgASATICVqNgIQIAEgFyBKQiCIpyIMajYC/AEgASAiIFFCIIinajYC9AEgASAAKAIUIgkgPEIgiKdqNgLkASABIAwgDmo2ArwBIAEgESBPQiCIp2o2ArQBIAEgCSA4QiCIp2o2AqQBIAEgDCAPajYCfCABIAcgTUIgiKdqNgJ0IAEgCSBEQiCIp2o2AmQgASAJIDpCIIinajYCJCABIAAoAhwiACA7QiCIp2o2AuwBIAEgACA3QiCIp2o2AqwBIAEgACBDQiCIp2o2AmwgASAAIDlCIIinajYCLAu+HAIDfxt+IwBBgAdrIgMkAAJAAkAgAikDAEIAUg0AIAIpAwhCAFINACACKQMQQgBSDQAgAikDGEIAUg0AIABCADcDCCAAQQA6ACAgAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwAMAQsgA0HYBmpCADcDACADQdAGakIANwMAIANCADcDyAYgA0IBNwPABiADQfgGaiACQRhqKQMAIhY3AwAgA0HwBmogAkEQaikDACIZNwMAIANB6AZqIAJBCGopAwAiHDcDACADIAIpAwAiGzcD4AYgASkDGCEGIAEpAxAhCCABKQMIIQ0gASkDACEMQgEhEgNAQRghAgJAAkADQCACQXhGDQEgA0HgBmogAmohASADQcAGaiACaiEFIAJBCGshAkF/IAUpAwAiCiABKQMAIgdSIAcgClQbIgFFDQALIAFB/wFxQQFGDQELIANB8AFqIBJCACAMQgAQzgEgA0HgAWogEkIAIA1CABDOASADQdABaiASQgAgCEIAEM4BIANBwAFqIBJCACAGQgAQzgEgA0GwAWogF0IAIAxCABDOASADQaABaiAXQgAgDUIAEM4BIANBkAFqIBdCACAIQgAQzgEgA0GAAWogF0IAIAZCABDOASADQfAAaiAaQgAgDEIAEM4BIANB4ABqIBpCACANQgAQzgEgA0HQAGogGkIAIAhCABDOASADQUBrIBpCACAGQgAQzgEgA0EwaiAVQgAgDEIAEM4BIANBIGogFUIAIA1CABDOASADQRBqIBVCACAIQgAQzgEgAyAVQgAgBkIAEM4BIAMpA/ABIQoCf0EBIAMpAyAiHCADQThqKQMAIAMpAzAiGSADKQNgIgcgA0H4AGopAwAgAykDcCIWIAMpA6ABIgkgA0G4AWopAwAgAykDsAEiBiADKQPgASIIIANB+AFqKQMAfCINfCIMIAZUrXwiBiADKQPQASISIANB6AFqKQMAIAggDVatfHwiCHwiDXwiF3wiGiAWVK18IhUgAykDkAEiGyADQagBaikDACAJIBdWrXwiCSAGIA1WrXwiFiADKQPAASIGIANB2AFqKQMAIAggElStfHwiCHwiDXwiEnwiF3wiC3wiDiAZVK18IhAgAykDUCIPIANB6ABqKQMAIAcgC1atfCIHIBUgF1atfCIZIAMpA4ABIhcgA0GYAWopAwAgEiAbVK18IhIgDSAWVCAJIBZWcq18IhYgA0HIAWopAwAgBiAIVq18fCIJfCIGfCIIfCINfCIVfCIbQgBSDQAaQQEgAykDECILIANBKGopAwAgGyAcVK18IhsgECAVVq18IhwgAykDQCIVIANB2ABqKQMAIA0gD1StfCINIAggGVQgByAZVnKtfCIZIAYgF1StIANBiAFqKQMAIAkgFlQgEiAWVnKtfHx8Igd8Igl8IhZ8IgZCAFINABpBASADKQMAIgggA0EYaikDACAGIAtUrXwiBiAWIBxUIBsgHFZyrXwiFiAJIBVUrSADQcgAaikDACAHIBlUIA0gGVZyrXx8fCIZfCIcQgBSDQAaIANBCGopAwAgCCAcVq18QgAgBiAWViAWIBlWcq19UgshAiAAIA43AxggACAaNwMQIAAgDDcDCCAAIAo3AwAgACACIARyQQFxOgAgDAILAkAgG6dBAXFFBEAgA0GQA2ogDEIAIAxCABDOASADQYADaiAMQgAgDUIAEM4BIANB4AJqIAhCACAMQgAQzgEgA0GwAmogBkIAIAxCABDOASADQfACaiANQgAgDUIAEM4BIANB0AJqIAhCACANQgAQzgEgA0GgAmogBkIAIA1CABDOASADQcACaiAIQgAgCEIAEM4BIANBkAJqIAZCACAIQgAQzgEgA0GAAmogBkIAIAZCABDOAUEBIQICQCADKQOgAiIKIANBuAJqKQMAIg4gAykDsAIiByADKQPQAiIJIANB6AJqKQMAIgsgAykD4AIiBiADKQPwAiIMIANBiANqKQMAIhAgAykDgAMiCCAIIANBmANqKQMAfCIPfCINIAhUrXwiESAGIAggD1atIBB8fCIQfCIPfCITfCIIIAZUrXwiFCAJIANB+AJqKQMAIAwgE1atfCITIA8gEVStfCIMIAcgBiAQVq0gC3x8IhB8Ig98IhF8Igt8Ihh8IgYgB1StfCIdIAMpA8ACIh8gA0HYAmopAwAiHiAJIBhWrXwiGCALIBRUrXwiCyAKIAkgEVatIB58IhEgDCATVCAMIA9Wcq18IgkgByAQVq0gDnx8Ig58IhB8Ig98IhN8Igx8IhRCAFINACADKQOQAiIHIANBqAJqKQMAIh4gCiAUVq18IhQgDCAdVK18IgwgByADQcgCaikDACATIB9UrXwiEyALIBhUIAsgD1ZyrXwiCyAKIBBWrSAJIBFUIAkgDlZyrSAefHx8Igl8Ig58Igp8IhBCAFINACADKQOAAiIPIANBmAJqKQMAIhEgByAQVq18IhAgDCAUVCAKIAxUcq18IgogByAOVq0gCyATVCAJIAtUcq0gEXx8fCIHfCIJQgBSDQAgA0GIAmopAwAgCSAPVK18QgAgCiAQVCAHIApUcq19UiECCyADKQOQAyEMDAELIANBsAZqIBJCACAMQgAQzgEgA0GgBmogEkIAIA1CABDOASADQZAGaiASQgAgCEIAEM4BIANBgAZqIBJCACAGQgAQzgEgA0HwBWogF0IAIAxCABDOASADQeAFaiAXQgAgDUIAEM4BIANB0AVqIBdCACAIQgAQzgEgA0HABWogF0IAIAZCABDOASADQbAFaiAaQgAgDEIAEM4BIANBoAVqIBpCACANQgAQzgEgA0GQBWogGkIAIAhCABDOASADQYAFaiAaQgAgBkIAEM4BIANB8ARqIBVCACAMQgAQzgEgA0HgBGogFUIAIA1CABDOASADQdAEaiAVQgAgCEIAEM4BIANBwARqIBVCACAGQgAQzgFBASEBAn9BASADKQPgBCIJIANB+ARqKQMAIAMpA/AEIgcgAykDoAUiEiADQbgFaikDACADKQOwBSIKIAMpA+AFIhUgA0H4BWopAwAgAykD8AUiGiADKQOgBiILIANBuAZqKQMAfCIOfCIXIBpUrXwiECADKQOQBiIPIANBqAZqKQMAIAsgDlatfHwiC3wiDnwiEXwiGiAKVK18IhMgAykD0AUiFCADQegFaikDACARIBVUrXwiESAOIBBUrXwiCiADKQOABiIOIANBmAZqKQMAIAsgD1StfHwiC3wiEHwiD3wiGHwiHXwiFSAHVK18Ih8gAykDkAUiHiADQagFaikDACASIB1WrXwiEiATIBhWrXwiByADKQPABSITIANB2AVqKQMAIA8gFFStfCIPIAogEVQgCiAQVnKtfCIKIANBiAZqKQMAIAsgDlStfHwiC3wiDnwiEHwiEXwiFHwiGEIAUg0AGkEBIAMpA9AEIh0gA0HoBGopAwAgCSAYVq18IhggFCAfVK18IgkgAykDgAUiFCADQZgFaikDACARIB5UrXwiESAHIBJUIAcgEFZyrXwiByAOIBNUrSADQcgFaikDACAKIA9UIAogC1ZyrXx8fCISfCILfCIKfCIOQgBSDQAaQQEgAykDwAQiECADQdgEaikDACAOIB1UrXwiDiAJIBhUIAkgClZyrXwiCiALIBRUrSADQYgFaikDACAHIBFUIAcgElZyrXx8fCIHfCIJQgBSDQAaIANByARqKQMAIAkgEFStfEIAIAogDlQgByAKVHKtfVILIQIgAykDsAYhEiADQdADaiAMQgAgDEIAEM4BIANBwANqIAxCACANQgAQzgEgA0GwA2ogCEIAIAxCABDOASADQaADaiAGQgAgDEIAEM4BIANBgARqIA1CACANQgAQzgEgA0HwA2ogCEIAIA1CABDOASADQeADaiAGQgAgDUIAEM4BIANBoARqIAhCACAIQgAQzgEgA0GQBGogBkIAIAhCABDOASADQbAEaiAGQgAgBkIAEM4BIAMpA9ADIQwCQCADKQPgAyIKIANBqANqKQMAIhAgAykDoAMiByADKQPwAyIJIANBuANqKQMAIg4gAykDsAMiBiADKQOABCILIANByANqKQMAIg8gAykDwAMiCCAIIANB2ANqKQMAfCIRfCINIAhUrXwiEyAGIAggEVatIA98fCIPfCIRfCIUfCIIIAZUrXwiGCAJIANBiARqKQMAIAsgFFatfCIUIBEgE1StfCILIAcgBiAPVq0gDnx8Ig98IhF8IhN8Ig58Ih18IgYgB1StfCIfIAMpA6AEIh4gA0H4A2opAwAiICAJIB1WrXwiHSAOIBhUrXwiDiAKIAkgE1atICB8IhMgCyAUVCALIBFWcq18IgkgByAPVq0gEHx8IhB8Ig98IhF8IhR8Igt8IhhCAFINACADKQOQBCIHIANB6ANqKQMAIiAgCiAYVq18IhggCyAfVK18IgsgByADQagEaikDACAUIB5UrXwiFCAOIB1UIA4gEVZyrXwiDiAKIA9WrSAJIBNUIAkgEFZyrSAgfHx8Igl8IhB8Igp8Ig9CAFINACADKQOwBCIRIANBmARqKQMAIhMgByAPVq18Ig8gCyAYVCAKIAtUcq18IgogByAQVq0gDiAUVCAJIA5Ucq0gE3x8fCIHfCIJQgBSDQAgA0G4BGopAwAgCSARVK18QgAgCiAPVCAHIApUcq19UiEBCyAbQgF9IRsgASACciECCyADIBZCAYgiCjcD+AYgAyAWQj+GIBlCAYiEIgc3A/AGIAMgGUI/hiAcQgGIhCIJNwPoBiADIBxCP4YgG0IBiIQiGzcD4AYgAiAEciEEIAohFiAHIRkgCSEcDAALAAsgA0GAB2okAAuoIwISfxN+IwBB4AVrIgMkAAJ+AkACfyABKQM4IhZQRQRAIBYhFUGABAwBC0HAAyABKQMwIhVQRQ0AGkGAAyABKQMoIhVQRQ0AGkHAAiABKQMgIhVQRQ0AGkGAAiABKQMYIhVQRQ0AGkHAASABKQMQIhVQRQ0AGiABKQMIIhVQDQFBgAELIQUgFXkMAQtBwAAhBSABKQMAeQshGAJAAkACQAJAAkACQAJ/AkACf0GABCACKQM4IhVQRQ0AGkHAAyACKQMwIhVQRQ0AGkGAAyACKQMoIhVQRQ0AGkHAAiACKQMgIhVQRQ0AGkGAAiACKQMYIhVQRQ0AGkHAASACKQMQIhVQRQ0AGiACKQMIIhVQDQFBgAELIBV5p2sMAQsgAikDACIVUA0BQcAAIBV5p2sLIgQgBSAYp2siC0sNASAEQcEATwRAIANByANqIAJBOGopAwA3AwAgA0HAA2ogAkEwaikDADcDACADQbgDaiACQShqKQMANwMAIANBsANqIAJBIGopAwA3AwAgA0GoA2ogAkEYaikDADcDACADQaADaiACQRBqKQMANwMAIANBmANqIAJBCGopAwA3AwAgAyACKQMANwOQAyADQZADaiIGIARBAWtBBnYiD0EDdGoiDikDAHkiHqciDCEFIwBBQGoiBEE4akIANwMAIARBMGpCADcDACAEQShqQgA3AwAgBEEgakIANwMAIARBGGpCADcDACAEQRBqIg1CADcDACAEQQhqIgpCADcDACAEQgA3AwAgBCAFQQZ2IgdBA3QiCGogAikDACIYIAWtIhWGNwMAIAggCmoiCiACKQMIIhkgFYYiGjcDACAIIA1qIgggAikDECIbIBWGIh83AwAgBCAHQQNqIg1BA3RqIhAgAikDGCIdIBWGIiA3AwAgBUE/cSERAkAgB0EEaiIFQQhGDQAgBCAFQQN0aiACKQMgIBVCP4MiFoY3AwAgB0EFaiIJQQhGDQAgBCAJQQN0aiACKQMoIBaGNwMAIAdBBmoiCUEIRg0AIAQgCUEDdGogAikDMCAWhjcDACAHQQdqIglBCEYNACAEIAlBA3RqIAIpAzggFoY3AwALAkAgEUUNACAIIB8gGUIAIBV9IhWIfDcDACAKIBogGCAViHw3AwAgECAgIBsgFYh8NwMAIA1BB0YNACAEIAVBA3RqIgggCCkDACAdIBVCP4MiFYh8NwMAIAVBB0YNACAEIAdBBWoiBUEDdGoiCCAIKQMAIAIpAyAgFYh8NwMAIAVBB0YNACAEIAdBBmoiBUEDdGoiCCAIKQMAIAIpAyggFYh8NwMAIAVBB0YNACAHQQN0IARqQThqIgcgBykDACACKQMwIBWIfDcDAAsgBiAEKQMANwMAIAZBOGogBEE4aikDADcDACAGQTBqIARBMGopAwA3AwAgBkEoaiAEQShqKQMANwMAIAZBIGogBEEgaikDADcDACAGQRhqIARBGGopAwA3AwAgBkEQaiAEQRBqKQMANwMAIAZBCGogBEEIaikDADcDACALQQFrIQVBwAAgDGsiBK0hFSABIARBBnYiBkEDdGoiAikDACEWIAJBMGopAwAhICACQShqKQMAISIgAkEgaikDACEjIAJBGGopAwAhJCACQRBqKQMAISUgAkEIaikDACEXIARBP3EhByAGQQdqIgJBCEcNAwwFCyACKQMAIhVQDQMgASkDKCEYIAEpAyAhHiABKQMYIRkgASkDECEaIAEpAwghGyABKQMAIR8gA0HQAWogASkDMCIdIBYgFiAVgCIWIBV+fSAVEIACIANBwAFqIAMpA9ABIiAgA0HYAWopAwAgFUIAEM4BIANBsAFqIBggHSADKQPAAX0gFRCAAiADQaABaiADKQOwASIdIANBuAFqKQMAIBVCABDOASADQZABaiAeIBggAykDoAF9IBUQgAIgA0GAAWogAykDkAEiGCADQZgBaikDACAVQgAQzgEgA0HwAGogGSAeIAMpA4ABfSAVEIACIANB4ABqIAMpA3AiHiADQfgAaikDACAVQgAQzgEgA0HQAGogGiAZIAMpA2B9IBUQgAIgA0FAayADKQNQIhkgA0HYAGopAwAgFUIAEM4BIANBMGogGyAaIAMpA0B9IBUQgAIgA0EgaiADKQMwIhogA0E4aikDACAVQgAQzgEgA0EQaiAfIBsgAykDIH0gFRCAAiADIAMpAxAiGyADQRhqKQMAIBVCABDOASAAQgA3A0ggAEHQAGpCADcDACAAQdgAakIANwMAIABB4ABqQgA3AwAgAEHoAGpCADcDACAAQfAAakIANwMAIABB+ABqQgA3AwAgACAWNwM4IAAgIDcDMCAAIB03AyggACAYNwMgIAAgHjcDGCAAIBk3AxAgACAaNwMIIAAgGzcDACAAIB8gAykDAH03A0AMBQsgA0EANgLoBCADQQE2AtwEIANBiM/AADYC2AQgA0IENwLgBCADQdgEakHIz8AAEPABAAsgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3A0AgAEHIAGogAUEIaikDADcDACAAQdAAaiABQRBqKQMANwMAIABB2ABqIAFBGGopAwA3AwAgAEHgAGogAUEgaikDADcDACAAQegAaiABQShqKQMANwMAIABB8ABqIAFBMGopAwA3AwAgAEH4AGogAUE4aikDADcDAAwDCyABIAJBA3RqKQMAIBWIIRwMAQtByM/AABCSAgALIAVBBnYhBCAWIBWIIRYgICAViCEYICIgFYghGSAjIBWIIRogJCAViCEbICUgFYghHyAXIBWIIR0gD0EBaiEIIAEpAwAhIQJAIAdFDQAgIEIAIBV9IhWGIBl8IRkgIiAVhiAafCEaICMgFYYgG3whGyAkIBWGIB98IR8gJSAVhiAdfCEdIBcgFYYgFnwhFiAeUA0AIAEgAkEDdGopAwAgFYYgGHwhGAsgAyAcNwOQBCADIBg3A4gEIAMgGTcDgAQgAyAaNwP4AyADIBs3A/ADIAMgHzcD6AMgAyAdNwPgAyADIBY3A9gDIAMgISAehjcD0AMgA0HQBGpCADcDACADQcgEakIANwMAIANBwARqQgA3AwAgA0G4BGpCADcDACADQbAEakIANwMAIANBqARqQgA3AwAgA0GgBGpCADcDACADQgA3A5gEIANB0ANqIARBA3QiAiAPQQN0IgFraiEGIB5CP4MhGCAIQQN0QQhqQQN2IQsgASADakGIA2opAwAhGiAOKQMAIRkgAykDyAMhGyADKQPAAyEfIAMpA7gDIR0gAykDsAMhICADKQOoAyEiIAMpA6ADISMgAykDmAMhJCADKQOQAyElIAEgAmtByABqQQN2IhMhDSAEIA9rIg4hAQJAA0ACQAJAAkACQAJAIAEiByAIaiICQQlJBEBCfyEWIANB0ANqIAJBA3RqIhApAwAiFSAZWg0CIAEgD2oiBEEJSQ0BQX9BCUHIz8AAENgBAAsgAkEJQcjPwAAQ2AEACyACQQJrIgFBCEsNASADQYADaiADQdADaiICIARBA3RqKQMAIhcgFSAZEIACIANB8AJqIAMpA4ADIhYgA0GIA2opAwAgGUIAEM4BIBcgAykD8AJ9IRUgAUEDdCACaikDACEXA0AgA0HgAmogFkIAIBpCABDOASAXIAMpA+ACWiAVIANB6AJqKQMAIhxWIBUgHFEbDQEgFkIBfSEWIBUgFSAZfCIVWA0ACwsgA0HQAmogJUIAIBZCABDOASADQcACaiAkQgAgFkIAEM4BIANBsAJqICNCACAWQgAQzgEgA0GgAmogIkIAIBZCABDOASADQZACaiAgQgAgFkIAEM4BIANBgAJqIB1CACAWQgAQzgEgA0HwAWogH0IAIBZCABDOASADQeABaiAbQgAgFkIAEM4BIAMgAykD0AI3A9gEIAMgAykDwAIiFSADQdgCaikDAHwiFzcD4AQgAyADQcgCaikDACAVIBdWrXwiFSADKQOwAnwiFzcD6AQgAyADQbgCaikDACAVIBdWrXwiFSADKQOgAnwiFzcD8AQgAyADQagCaikDACAVIBdWrXwiFSADKQOQAnwiFzcD+AQgAyADQZgCaikDACAVIBdWrXwiFSADKQOAAnwiFzcDgAUgAyADQYgCaikDACAVIBdWrXwiFSADKQPwAXwiFzcDiAUgAyADQfgBaikDACAVIBdWrXwiFSADKQPgAXwiFzcDkAUgAyADQegBaikDACAVIBdWrXw3A5gFIA5BCUsNAUHIACAHQQN0IhFrQQN2IgEgCyABIAtJG0UNAiANQf////8BcSEMIBIgE2pB/////wFxIgogCyAKIAtJGyIBQQFxAn8gAUEBRgRAQgAhFUEADAELQQAgCyAMIAsgDEkbQf7///8AcWshCUIAIRVBACEEIANB2ARqIQIgBiEBA0AgASABKQMAIhcgAikDACIcIBV8IhV9NwMAIAFBCGoiBSAFKQMAIiEgAkEIaikDACImIBUgHFQgFSAXVnKtfCIVfTcDACAVICZUIBUgIVZyIgWtIRUgAUEQaiEBIAJBEGohAiAJIARBAmsiBEcNAAtBACAEawshASADQdADaiARaiEJBEAgCSABQQN0IgFqIgIgAikDACIXIBUgA0HYBGogAWopAwAiHHwiFX03AwAgFSAcVCAVIBdWciEFCyAFQQFxRQ0CQQAhAgJAIAdBCUYNACAKIAggCCAKSxsiAUEBcQJ/IAFBAUYEQEIAIRVBAAwBC0EAIAggDCAIIAxJG0H+//8/cWshDEIAIRVBACEBQQAhBANAIAEgBmoiAiACKQMAIhcgFSADQZADaiABaiIFKQMAIhV8Ihx8IiE3AwAgAkEIaiICIAIpAwAiJiAFQQhqKQMAIicgFSAcViAXICFWcq18IhV8Ihc3AwAgFSAnVCAXICZUciICrSEVIAFBEGohASAMIARBAmsiBEcNAAtBACAEawshAUUNACAJIAFBA3QiAWoiAiACKQMAIhcgFSADQZADaiABaikDACIVfCIcfCIhNwMAIBUgHFYgFyAhVnIhAgsgECAQKQMAIAKtQgGDfDcDACAWQgF9IRYMAgsgAUEJQcjPwAAQ2AEACyAOQQlByM/AABDXAQALIA5BCEkEQCAHQQFrIQEgA0GYBGogEWogFjcDACAGQQhrIQYgDUEBaiENIBJBAWohEiAHRQ0CDAELCyAOQQhByM/AABDYAQALIANB2ARqIANB0ANqQcgAEJkBGiADIAMpA9gEIBiINwOgBSADIAMpA+AEIBiINwOoBSADIAMpA+gEIBiINwOwBSADIAMpA/AEIBiINwO4BSADIAMpA/gEIBiINwPABSADIAMpA4AFIBiINwPIBSADIAMpA4gFIBiINwPQBSADIAMpA5AFIBiINwPYBQJAIB5QRQRAQgAgHn1CP4MhFUEBIQEDQEEIIQRBByECIAFBB0siBkUEQCABQQFrIgJBB0sNAyABQQFqIQQLIANBoAVqIAJBA3RqIgIgAikDACADQdgEaiABQQN0aikDACAVhoQ3AwAgBCEBIAZFDQALCyAAIAMpA6AFNwNAIABB+ABqIANB2AVqKQMANwMAIABB8ABqIANB0AVqKQMANwMAIABB6ABqIANByAVqKQMANwMAIABB4ABqIANBwAVqKQMANwMAIABB2ABqIANBuAVqKQMANwMAIABB0ABqIANBsAVqKQMANwMAIABByABqIANBqAVqKQMANwMAIABBOGogA0HQBGopAwA3AwAgAEEwaiADQcgEaikDADcDACAAQShqIANBwARqKQMANwMAIABBIGogA0G4BGopAwA3AwAgAEEYaiADQbAEaikDADcDACAAQRBqIANBqARqKQMANwMAIABBCGogA0GgBGopAwA3AwAgACADKQOYBDcDAAwBC0F/QQhByM/AABDYAQALIANB4AVqJAALiCQCCX8BfiMAQRBrIggkAAJ/AkACQAJAAkACQAJAIABB9QFPBEBBACAAQc3/e08NBxogAEELaiIBQXhxIQVB5IbBACgCACIJRQ0EQR8hB0EAIAVrIQQgAEH0//8HTQRAIAVBBiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBwsgB0ECdEHIg8EAaigCACIBRQRAQQAhAAwCC0EAIQAgBUEZIAdBAXZrQQAgB0EfRxt0IQMDQAJAIAEoAgRBeHEiBiAFSQ0AIAYgBWsiBiAETw0AIAEhAiAGIgQNAEEAIQQgASEADAQLIAEoAhQiBiAAIAYgASADQR12QQRxakEQaigCACIBRxsgACAGGyEAIANBAXQhAyABDQALDAELQeCGwQAoAgAiAkEQIABBC2pB+ANxIABBC0kbIgVBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiIGQQN0IgBB2ITBAGoiAyAAQeCEwQBqKAIAIgEoAggiBEcEQCAEIAM2AgwgAyAENgIIDAELQeCGwQAgAkF+IAZ3cTYCAAsgASAAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEIAFBCGoMBwsgBUHohsEAKAIATQ0DAkACQCABRQRAQeSGwQAoAgAiAEUNBiAAaEECdEHIg8EAaigCACICKAIEQXhxIAVrIQQgAiEBA0ACQCACKAIQIgANACACKAIUIgANACABKAIYIQcCQAJAIAEgASgCDCIARgRAIAFBFEEQIAEoAhQiABtqKAIAIgINAUEAIQAMAgsgASgCCCICIAA2AgwgACACNgIIDAELIAFBFGogAUEQaiAAGyEDA0AgAyEGIAIiAEEUaiAAQRBqIAAoAhQiAhshAyAAQRRBECACG2ooAgAiAg0ACyAGQQA2AgALIAdFDQQgASABKAIcQQJ0QciDwQBqIgIoAgBHBEAgB0EQQRQgBygCECABRhtqIAA2AgAgAEUNBQwECyACIAA2AgAgAA0DQeSGwQBB5IbBACgCAEF+IAEoAhx3cTYCAAwECyAAKAIEQXhxIAVrIgIgBCACIARJIgIbIQQgACABIAIbIQEgACECDAALAAsCQEECIAB0IgNBACADa3IgASAAdHFoIgZBA3QiAUHYhMEAaiIDIAFB4ITBAGooAgAiACgCCCIERwRAIAQgAzYCDCADIAQ2AggMAQtB4IbBACACQX4gBndxNgIACyAAIAVBA3I2AgQgACAFaiIGIAEgBWsiA0EBcjYCBCAAIAFqIAM2AgBB6IbBACgCACIEBEAgBEF4cUHYhMEAaiEBQfCGwQAoAgAhAgJ/QeCGwQAoAgAiBUEBIARBA3Z0IgRxRQRAQeCGwQAgBCAFcjYCACABDAELIAEoAggLIQQgASACNgIIIAQgAjYCDCACIAE2AgwgAiAENgIIC0HwhsEAIAY2AgBB6IbBACADNgIAIABBCGoMCAsgACAHNgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAEoAhQiAkUNACAAIAI2AhQgAiAANgIYCwJAAkAgBEEQTwRAIAEgBUEDcjYCBCABIAVqIgMgBEEBcjYCBCADIARqIAQ2AgBB6IbBACgCACIGRQ0BIAZBeHFB2ITBAGohAEHwhsEAKAIAIQICf0HghsEAKAIAIgVBASAGQQN2dCIGcUUEQEHghsEAIAUgBnI2AgAgAAwBCyAAKAIICyEGIAAgAjYCCCAGIAI2AgwgAiAANgIMIAIgBjYCCAwBCyABIAQgBWoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBC0HwhsEAIAM2AgBB6IbBACAENgIACyABQQhqDAYLIAAgAnJFBEBBACECQQIgB3QiAEEAIABrciAJcSIARQ0DIABoQQJ0QciDwQBqKAIAIQALIABFDQELA0AgACACIAAoAgRBeHEiAyAFayIGIARJIgcbIQkgACgCECIBRQRAIAAoAhQhAQsgAiAJIAMgBUkiABshAiAEIAYgBCAHGyAAGyEEIAEiAA0ACwsgAkUNACAFQeiGwQAoAgAiAE0gBCAAIAVrT3ENACACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEDA0AgAyEGIAEiAEEUaiAAQRBqIAAoAhQiARshAyAAQRRBECABG2ooAgAiAQ0ACyAGQQA2AgALIAdFDQIgAiACKAIcQQJ0QciDwQBqIgEoAgBHBEAgB0EQQRQgBygCECACRhtqIAA2AgAgAEUNAwwCCyABIAA2AgAgAA0BQeSGwQBB5IbBACgCAEF+IAIoAhx3cTYCAAwCCwJAAkACQAJAAkAgBUHohsEAKAIAIgFLBEAgBUHshsEAKAIAIgBPBEAgBUGvgARqQYCAfHEiAkEQdkAAIQAgCEEEaiIBQQA2AgggAUEAIAJBgIB8cSAAQX9GIgIbNgIEIAFBACAAQRB0IAIbNgIAQQAgCCgCBCIBRQ0JGiAIKAIMIQZB+IbBACAIKAIIIgRB+IbBACgCAGoiADYCAEH8hsEAQfyGwQAoAgAiAiAAIAAgAkkbNgIAAkACQEH0hsEAKAIAIgIEQEHIhMEAIQADQCABIAAoAgAiAyAAKAIEIgdqRg0CIAAoAggiAA0ACwwCC0GEh8EAKAIAIgBBACAAIAFNG0UEQEGEh8EAIAE2AgALQYiHwQBB/x82AgBB1ITBACAGNgIAQcyEwQAgBDYCAEHIhMEAIAE2AgBB5ITBAEHYhMEANgIAQeyEwQBB4ITBADYCAEHghMEAQdiEwQA2AgBB9ITBAEHohMEANgIAQeiEwQBB4ITBADYCAEH8hMEAQfCEwQA2AgBB8ITBAEHohMEANgIAQYSFwQBB+ITBADYCAEH4hMEAQfCEwQA2AgBBjIXBAEGAhcEANgIAQYCFwQBB+ITBADYCAEGUhcEAQYiFwQA2AgBBiIXBAEGAhcEANgIAQZyFwQBBkIXBADYCAEGQhcEAQYiFwQA2AgBBpIXBAEGYhcEANgIAQZiFwQBBkIXBADYCAEGghcEAQZiFwQA2AgBBrIXBAEGghcEANgIAQaiFwQBBoIXBADYCAEG0hcEAQaiFwQA2AgBBsIXBAEGohcEANgIAQbyFwQBBsIXBADYCAEG4hcEAQbCFwQA2AgBBxIXBAEG4hcEANgIAQcCFwQBBuIXBADYCAEHMhcEAQcCFwQA2AgBByIXBAEHAhcEANgIAQdSFwQBByIXBADYCAEHQhcEAQciFwQA2AgBB3IXBAEHQhcEANgIAQdiFwQBB0IXBADYCAEHkhcEAQdiFwQA2AgBB7IXBAEHghcEANgIAQeCFwQBB2IXBADYCAEH0hcEAQeiFwQA2AgBB6IXBAEHghcEANgIAQfyFwQBB8IXBADYCAEHwhcEAQeiFwQA2AgBBhIbBAEH4hcEANgIAQfiFwQBB8IXBADYCAEGMhsEAQYCGwQA2AgBBgIbBAEH4hcEANgIAQZSGwQBBiIbBADYCAEGIhsEAQYCGwQA2AgBBnIbBAEGQhsEANgIAQZCGwQBBiIbBADYCAEGkhsEAQZiGwQA2AgBBmIbBAEGQhsEANgIAQayGwQBBoIbBADYCAEGghsEAQZiGwQA2AgBBtIbBAEGohsEANgIAQaiGwQBBoIbBADYCAEG8hsEAQbCGwQA2AgBBsIbBAEGohsEANgIAQcSGwQBBuIbBADYCAEG4hsEAQbCGwQA2AgBBzIbBAEHAhsEANgIAQcCGwQBBuIbBADYCAEHUhsEAQciGwQA2AgBByIbBAEHAhsEANgIAQdyGwQBB0IbBADYCAEHQhsEAQciGwQA2AgBB9IbBACABQQ9qQXhxIgBBCGsiAjYCAEHYhsEAQdCGwQA2AgBB7IbBACAEQShrIgMgASAAa2pBCGoiADYCACACIABBAXI2AgQgASADakEoNgIEQYCHwQBBgICAATYCAAwICyACIANJIAEgAk1yDQAgACgCDCIDQQFxDQAgA0EBdiAGRg0DC0GEh8EAQYSHwQAoAgAiACABIAAgAUkbNgIAIAEgBGohA0HIhMEAIQACQAJAA0AgAyAAKAIAIgdHBEAgACgCCCIADQEMAgsLIAAoAgwiA0EBcQ0AIANBAXYgBkYNAQtByITBACEAA0ACQCACIAAoAgAiA08EQCACIAMgACgCBGoiB0kNAQsgACgCCCEADAELC0H0hsEAIAFBD2pBeHEiAEEIayIDNgIAQeyGwQAgBEEoayIJIAEgAGtqQQhqIgA2AgAgAyAAQQFyNgIEIAEgCWpBKDYCBEGAh8EAQYCAgAE2AgAgAiAHQSBrQXhxQQhrIgAgACACQRBqSRsiA0EbNgIEQciEwQApAgAhCiADQRBqQdCEwQApAgA3AgAgAyAKNwIIQdSEwQAgBjYCAEHMhMEAIAQ2AgBByITBACABNgIAQdCEwQAgA0EIajYCACADQRxqIQADQCAAQQc2AgAgAEEEaiIAIAdJDQALIAIgA0YNByADIAMoAgRBfnE2AgQgAiADIAJrIgBBAXI2AgQgAyAANgIAIABBgAJPBEAgAiAAEKUBDAgLIABB+AFxQdiEwQBqIQECf0HghsEAKAIAIgNBASAAQQN2dCIAcUUEQEHghsEAIAAgA3I2AgAgAQwBCyABKAIICyEAIAEgAjYCCCAAIAI2AgwgAiABNgIMIAIgADYCCAwHCyAAIAE2AgAgACAAKAIEIARqNgIEIAFBD2pBeHFBCGsiAiAFQQNyNgIEIAdBD2pBeHFBCGsiBCACIAVqIgBrIQUgBEH0hsEAKAIARg0DIARB8IbBACgCAEYNBCAEKAIEIgFBA3FBAUYEQCAEIAFBeHEiARCVASABIAVqIQUgASAEaiIEKAIEIQELIAQgAUF+cTYCBCAAIAVBAXI2AgQgACAFaiAFNgIAIAVBgAJPBEAgACAFEKUBDAYLIAVB+AFxQdiEwQBqIQECf0HghsEAKAIAIgNBASAFQQN2dCIEcUUEQEHghsEAIAMgBHI2AgAgAQwBCyABKAIICyEDIAEgADYCCCADIAA2AgwgACABNgIMIAAgAzYCCAwFC0HshsEAIAAgBWsiATYCAEH0hsEAQfSGwQAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIagwIC0HwhsEAKAIAIQACQCABIAVrIgJBD00EQEHwhsEAQQA2AgBB6IbBAEEANgIAIAAgAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBC0HohsEAIAI2AgBB8IbBACAAIAVqIgM2AgAgAyACQQFyNgIEIAAgAWogAjYCACAAIAVBA3I2AgQLIABBCGoMBwsgACAEIAdqNgIEQfSGwQBB9IbBACgCACIAQQ9qQXhxIgFBCGsiAjYCAEHshsEAQeyGwQAoAgAgBGoiAyAAIAFrakEIaiIBNgIAIAIgAUEBcjYCBCAAIANqQSg2AgRBgIfBAEGAgIABNgIADAMLQfSGwQAgADYCAEHshsEAQeyGwQAoAgAgBWoiATYCACAAIAFBAXI2AgQMAQtB8IbBACAANgIAQeiGwQBB6IbBACgCACAFaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALIAJBCGoMAwtBAEHshsEAKAIAIgAgBU0NAhpB7IbBACAAIAVrIgE2AgBB9IbBAEH0hsEAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGoMAgsgACAHNgIYIAIoAhAiAQRAIAAgATYCECABIAA2AhgLIAIoAhQiAUUNACAAIAE2AhQgASAANgIYCwJAIARBEE8EQCACIAVBA3I2AgQgAiAFaiIAIARBAXI2AgQgACAEaiAENgIAIARBgAJPBEAgACAEEKUBDAILIARB+AFxQdiEwQBqIQECf0HghsEAKAIAIgNBASAEQQN2dCIEcUUEQEHghsEAIAMgBHI2AgAgAQwBCyABKAIICyEDIAEgADYCCCADIAA2AgwgACABNgIMIAAgAzYCCAwBCyACIAQgBWoiAEEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAsgAkEIagsgCEEQaiQAC/d/AhV+CH8jAEHwA2siGCQAQgEhDAJAAkACQCABLQAgIhsOAgIBAAtCCiEMQgEhBgNAIBhB+ABqIAxCASAbQQFxIhkbIARCACAZGyAGIAoQzgEgGEGIAWogDCAEIAwgBBDOASAbQQNLIBhBkAFqKQMAIQQgGEGAAWopAwAhCiAYKQOIASEMIBgpA3ghBiAbQQF2IRsNAAsgGEHoAGogBiAKIAwgBBDOASAYQfAAaikDACEEIBgpA2ghDAwBC0IKIQwLIBhB2AJqIhsgBDcDACAYIAw3A9ACIBhBATYC/AIgGEHciMAANgL4AiAYQgE3AoQDIBggGEHQAmqtQoCAgIAghDcD0AMgGCAYQdADajYCgAMgGEHoAWogGEH4AmoQkQEgGEGwAWpCADcDACAYQgA3A6gBIBspAwAhBiAYKQPQAiEDIBgoAugBIhsEQCAYKALsASAbENMCCyAYQRI6ALgBIBggBjcDoAEgGCADNwOYASACKQMQIQogAikDCCEDIAIpAwAhDAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKQMYIgRCAFMNACAYIAQ3A+gCIBggCjcD4AIgGCADNwPYAiAYIAw3A9ACIBhBkANqIhlCADcDACAYQYgDaiIaQgA3AwAgGEGAA2oiHEIANwMAIBhCADcD+AIgGEHQAmoiHSAYQfgCaiIbENIBQf8BcUH/AUcEQCAYQegCaiIeIAJBGGopAwA3AwAgGEHgAmoiHyACQRBqKQMANwMAIBhB2AJqIAJBCGopAwA3AwAgGCACKQMANwPQAiAZQgA3AwAgGkIANwMAIBxCADcDACAYQgA3A/gCIB0gG0EgEOkBRQ0DIBlCADcDACAaQgA3AwAgHEIANwMAIBhCADcD+AIgASAbQSAQ6QFFDQQgGyACEGUgGCgC+AINBSAYKQOYAyEGIBgpA5ADIQogGCkDiAMhBCAYKQOAAyEMIBhBmANqIAFBIGopAwA3AwAgGSABQRhqKQMANwMAIBogAUEQaikDADcDACAcIAFBCGopAwA3AwAgGCABKQMANwP4AiAdIBsQZSAYKALQAg0GIBhBqAJqIBhB8AJqKQMANwMAIBhBoAJqIB4pAwA3AwAgGEGYAmogHykDADcDACAYIBgpA9gCNwOQAiAYQegBaiAYQZACahBIIBgoAugBDQcgGCkDiAIhA0J/IAQgDIQgCoQgBoRCAFKtIAZCAFMiARsgGCkDgAIhDSAYKQP4ASEFIBgpA/ABIQ4gAQRAIARCf4VCACAEfSIVQgAgDH0iDEIAUiIBGyEEIApCf4UiByAVUCABQX9zcSIBrXwiFSAHIAEbIQogASAHIBVWca0gBkJ/hXwhBgtCfyAFIA6EIA2EIAOEQgBSrSADQgBTIgEbIAEEQCAFQn+FQgAgBX0iCEIAIA59Ig5CAFIiARshBSANQn+FIgcgCFAgAUF/c3EiAa18IgggByABGyENIAEgByAIVnGtIANCf4V8IQMLIBhB2ABqIA5CACAMQgAQzgEgGEHIAGogDkIAIARCABDOASAYQThqIA5CACAKQgAQzgEgGEEoaiAFQgAgDEIAEM4BIBhBGGogBUIAIARCABDOASAYQQhqIA1CACAMQgAQzgEgGCkDOCIHIBhB0ABqKQMAIBgpA0giCCAYQeAAaikDAHwiCSAIVK18fCIIIAdUrSAYQRBqKQMAIBhBIGopAwAgGEFAaykDACAFIAp+IAYgDn58IAQgDX58fCADIAx+fHx8fCAYQTBqKQMAIBgpAygiBiAJfCIEIAZUrXwiBiAIfCIDIAZUrXwgGCkDGCIGIAN8IgMgBlStfCADIBgpAwgiCnwiBiAKVK18IQwgGCkDWCEKfkICWgRAIAxCf4UiA0IAIAR9IgVQQgAgCn0iCkIAUiICQX9zcSIBIAZCf4UiBiABrXwiDiAGVHEiG618IAMgGxshDCAEQn+FIAUgAhshBCAOIAYgARshBgsgGEH4AmogGEGYAWoQZSAYKAL4Ag0LQf8BIRtB/wEgBCAKhCAGhCAMhEIAUiAMQgBTGyEBIBgpA5ADIQ0gGCkDiAMhBSAYKQOAAyEDIBgpA5gDIg5CAFMNCEEBIRsgAyAFhCANIA6EhEIAUg0IQYCTwAAQkgIACyAYIAQ3A+gDIBggCjcD4AMgGCADNwPYAyAYIAw3A9ADIBhBgAJqQgA3AwAgGEH4AWpCADcDACAYQfABakIANwMAIBhCADcD6AEgGEHQA2ogGEHoAWoQ0gFB/wFxQf8BRg0AIAohBgwBCwJ+IAxQBEAgA0IAUq0hDkIAIAN9DAELIANCAFKtIANQrXwhDiADQn+FCyEDQgAgCn0hBgJAIA5QBEBCf0IAIApCAFIbIQoMAQtCf0IAIApCAFIbIAYgDlStfSEKIAYgDn0hBgtCACAMfSEMIAogBH0hBAsgGEESOgDwAiAYIAQ3A+gCIBggBjcD4AIgGCADNwPYAiAYIAw3A9ACIBhB+AJqIgIgASAYQdACaiIbEE0gGCgC+AINBiAYQeABaiAYQaADaikDADcDACAYQdgBaiAYQZgDaikDACIGNwMAIBhB0AFqIBhBkANqIgEpAwAiAzcDACAYQcgBaiAYQYgDaiIZKQMAIgo3AwAgGCAYKQOAAyIMNwPAASAYQegCaiIaIAY3AwAgGEHgAmoiHCADNwMAIBhB2AJqIh0gCjcDACAYIAw3A9ACIAFCADcDACAZQgA3AwAgGEGAA2pCADcDACAYQgA3A/gCIBsgAkEgEOkBRQ0HIBogGEGwAWopAwA3AwAgHCAYQagBaikDADcDACAdIBhBoAFqKQMANwMAIBggGCkDmAE3A9ACIBhBEjoA8AIgGEHYA2oiAkIANwMAIBhCgICQu7rWrfANNwPQAyAYQQE2AuwBIBhB3IjAADYC6AEgGEIBNwL0ASAYIBhB0ANqrUKAgICAIIQ3A8gDIBggGEHIA2o2AvABIBhBvANqIBhB6AFqEJEBIAFCADcDACAYQgA3A4gDIAIpAwAhBiAYKQPQAyEDIBgoArwDIgEEQCAYKALAAyABENMCCyAYQRI6AJgDIBggBjcDgAMgGCADNwP4AiAAQQhqIBhB0AJqIBhB+AJqIBhBwAFqEFIgAEEANgIADAkLIAAgGCkDmAE3AwggAEEANgIAIABBKGogGEG4AWopAwA3AwAgAEEgaiAYQbABaikDADcDACAAQRhqIBhBqAFqKQMANwMAIABBEGogGEGgAWopAwA3AwAMCAsgAEIANwMIIABBEjoAKCAAQQA2AgAgAEEgakIANwMAIABBGGpCADcDACAAQRBqQgA3AwAMBwsgGCgC/AIhASAAQQE2AgAgACABNgIEDAYLIBgoAtQCIQEgAEEBNgIAIAAgATYCBAwFCyAYKALsASEBIABBATYCACAAIAE2AgQMBAsgAcAgG8BtIQIgGCAMQgBTBH4gBEJ/hUIAIAR9Ig9CACAKfSIKQgBSIgEbIQQgBkJ/hSIHIA9QIAFBf3NxIgGtfCIPIAcgARshBiABIAcgD1ZxrSAMQn+FfAUgDAs3A4ACIBggBjcD+AEgGCAENwPwASAYIAo3A+gBIBggDkIAUwR+IAVCf4VCACAFfSIKQgAgA30iA0IAUiIBGyEFIA1Cf4UiBiAKUCABQX9zcSIBrXwiCiAGIAEbIQ0gASAGIApWca0gDkJ/hXwFIA4LNwPoAiAYIA03A+ACIBggBTcD2AIgGCADNwPQAiAYQfgCaiAYQegBaiAYQdACahBOIBgpA5ADIQMgGCkDiAMhBiAYKQOAAyEMIBgpA/gCIQogGCACQf8BcUECTwR+IAxCf4VCACAMfSIFQgAgCn0iCkIAUiIBGyEMIAZCf4UiBCAFUCABQX9zcSIBrXwiBSAEIAEbIQYgASAEIAVWca0gA0J/hXwFIAMLNwPoAiAYIAY3A+ACIBggDDcD2AIgGCAKNwPQAiMAQbAIayIBJAAgGEHQAmoiAikDACEDAkACQCAYQfgCaiIbAn8CQAJAIAIpAxgiCkIAWQRAIAIpAxAhDCACKQMIIQYMAQsgAikDCCEGIAIpAxAhDCABQgAgA30iBDcDkAggASAGQn+FQgAgBn0iBSAEQgBSIhkbNwOYCCABIAxCf4UiBCAFUCAZQX9zcSIZrXwiBSAEIBkbNwOgCCABIBkgBCAFVnGtIApCf4V8NwOoCCABQcgHakIANwMAIAFCADcDwAcgAUICNwO4ByABQr/WyeXw1I3nyAA3A7AHIAFBsAdqIAFBkAhqENIBQf8BcUEBRg0AIBtCADcDCCAbQSBqQgA3AwAgG0EYakIANwMAIBtBEGpCADcDAAwBCyABQbAHakGcucAAQRUQUCABKAKwBwRAIAEgASgCtAc2ApAIQZi7wABBKyABQZAIakGIu8AAQaS8wAAQzwEACyABKQPQByEEIAEpA8gHIQ4gASkDwAchBSABKQO4ByENAkACQAJ/IApCAFMEQCAEQgBZDQMgAUIAIAN9Igc3A5AIIAEgBkJ/hUIAIAZ9Ig8gB0IAUiIZGzcDmAggASAMQn+FIgcgD1AgGUF/c3EiGa18Ig8gByAZGzcDoAggASAZIAcgD1ZxrSAKQn+FfDcDqAggAUIAIA19Igo3A7AHIAEgBUJ/hUIAIAV9IgUgCkIAUiIZGzcDuAcgASAOQn+FIgogBVAgGUF/c3EiGa18IgUgCiAZGzcDwAcgASAZIAUgClRxrSAEQn+FfDcDyAcgAUGwB2ogAUGQCGoQ0gEMAQsgBEIAUw0BIAEgCjcDqAggASAMNwOgCCABIAY3A5gIIAEgAzcDkAggASAENwPIByABIA43A8AHIAEgBTcDuAcgASANNwOwByABQZAIaiABQbAHahDSAQtB/wFxQQJPDQELIAFBATYCtAcgAUHEucAANgKwByABQgE3ArwHIAEgAq1CgICAgKAMhDcDkAggASABQZAIajYCuAcgGyABQbAHakHMucAAEI8BNgIEQQEMAgsgAUGwB2pB3LnAAEEBEFACQAJAAkACQAJAAkACQAJAIAEoArAHRQRAIAxCDoYgBkIyiIQhBCAGQg6GIAEpA8gHIQwgASkDwAchBiABKQO4ByELIANCMoiEIQggA0IOhiEKIAEgASkD0AciA0IAUwR+IAZCf4VCACAGfSIOQgAgC30iC0IAUiIZGyEGIAxCf4UiBSAOUCAZQX9zcSIZrXwiDiAFIBkbIQwgGSAFIA5Wca0gA0J/hXwFIAMLNwOICCABIAw3A4AIIAEgBjcD+AcgASALNwPwByABQagIakIANwMAIAFBoAhqQgA3AwAgAUIANwOYCCABQhI3A5AIIAFBsAdqIAFB8AdqIAFBkAhqEEpB/wEhGUH/ASAIIAqEIASEQgBSIARCAFMbIRogASkDsAchCyABKQO4ByEMIAEpA8AHIQMCQAJAIAEpA8gHIgZCAFMNAEEBIRkgCyAMhCADhEIAUg0AIAZQDQELIBrAIBnAbSABIARCAFMEfiAIQn+FIgUgBUIAIAp9IgpQIhmtfCIOIApCAFIbIQggGSAFIA5Wca0gBEJ/hXwFIAQLNwOICCABIAg3A4AIIAEgCjcD+AcgAUIANwPwByABIAZCAFMEfiAMQn+FQgAgDH0iBEIAIAt9IgtCAFIiGRshDCADQn+FIgogBFAgGUF/c3EiGa18IgQgCiAZGyEDIBkgBCAKVHGtIAZCf4V8BSAGCzcDqAggASADNwOgCCABIAw3A5gIIAEgCzcDkAggAUGwB2ogAUHwB2ogAUGQCGoQTiABKQPIByELIAEpA8AHIQggASkDuAchDiABKQOwByEMQf8BcUECTwRAIAtCf4UiA0IAIA59IgpQQgAgDH0iDEIAUiIaQX9zcSIZIAhCf4UiBiAZrXwiBCAGVHEiHK18IAMgHBshCyAEIAYgGRshCCAOQn+FIAogGhshDgsgAiALNwMYIAIgCDcDECACIA43AwggAiAMNwMAIAFBsAdqQfC5wABBHRBQIAEoArAHDQMgDkIghiAMQiCIhCEJIAxCIIYhAyABKQPQByEGQf8BIRlB/wEhGiAIQiCGIA5CIIiEIgpCAFkEQCADIAmEIAqEQgBSIRoLIAEpA8gHIQ8gASkDwAchBSABKQO4ByEHAkAgBkIAUw0AQQEhGSAFIAeEIA+EQgBSDQAgBlANAwsgGsAgGcBtIAEgCkIAUwR+IAlCf4UiBCAEQgAgA30iA1AiGa18Ig0gA0IAUhshCSAZIAQgDVZxrSAKQn+FfAUgCgs3A4gIIAEgCTcDgAggASADNwP4ByABQgA3A/AHIAEgBkIAUwR+IAVCf4VCACAFfSIKQgAgB30iB0IAUiIZGyEFIA9Cf4UiAyAKUCAZQX9zcSIZrXwiCiADIBkbIQ8gGSADIApWca0gBkJ/hXwFIAYLNwOoCCABIA83A6AIIAEgBTcDmAggASAHNwOQCCABQbAHaiABQfAHaiABQZAIahBOIAEpA8gHIQkgASkDwAchCiABKQO4ByEGIAEpA7AHIQNB/wFxQQJPBEAgCUJ/hSIEQgAgBn0iBVBCACADfSIDQgBSIhpBf3NxIhkgCkJ/hSIKIBmtfCINIApUcSIcrXwgBCAcGyEJIA0gCiAZGyEKIAZCf4UgBSAaGyEGCyABQbAHakGgusAAQQEQUCABKAKwBw0EIAEpA8gHIQcgASkDwAchBSABKQO4ByEPIAEgASkD0AciBEIAWSIaBH4gBAUgBUJ/hUIAIAV9IhVCACAPfSIPQgBSIhkbIQUgB0J/hSINIBVQIBlBf3NxIhmtfCIVIA0gGRshByAZIA0gFVZxrSAEQn+FfAs3A4gIIAEgBzcDgAggASAFNwP4ByABIA83A/AHIAFBqAhqQgA3AwAgAUGgCGpCADcDACABQgA3A5gIIAFC3wA3A5AIIAFBsAdqIAFB8AdqIAFBkAhqEEogASkDsAchDyABKQO4ByEFIAEpA8AHIQQgASkDyAchECAaRQRAIBBCf4UiDUIAIAV9IgdQQgAgD30iD0IAUiIaQX9zcSIZIARCf4UiBCAZrXwiFSAEVHEiHK18IA0gHBshECAFQn+FIAcgGhshBSAVIAQgGRshBAsgBSAGfCIHIAZUIRkgBCAKfCIGIApUIRogAyADIA98WAR+IBmtBSAHQgF8IgdQrSAZrXwLIgNQBH4gGq0FIAYgAyAGfCIGVq0gGq18CyIDUAR+IAkgEHwFIAkgEHwgA3wLIQpCACEJAn8CQAJAIApCAFkEQCAKQiCGIAZCIIiEIQMgBkIghiAHQiCIhCEVIApCIIghBQwBCyABQcgHakIANwMAIAFBwAdqQgA3AwAgAUIANwO4ByABQp8BNwOwByABQZAIakHwtcAAIAFBsAdqEGogASkDmAghAwJ+AkACQCABKQOQCCIEUEUEQCABKQOgCCEFIAEpA6gIIQkMAQsgASkDoAghBSADUEUEQCADQgF9IQMgASkDqAghCQwBCyABKQOoCCEJIAVQDQEgBUIBfSEFQn8hAwsgBEIBfQwBCyAJUA0QQn8hBSAJQgF9IQlCfyEDQn8LIQQgBUJ/hSAKQiCIhCEFIApCIIYgBkIgiIQgA0J/hYQhAyAGQiCGIAdCIIiEIARCf4WEIRUgCUIAWQ0BIAlCf4UhCQsgFSEGQQEMAQsgA0J/hUIAIAN9IgpCACAVfSIGQgBSIhkbIQMgBUJ/hSIEIApQIBlBf3NxIhmtfCAEIBkbIQVBAAsgAUGgB2ogBkIAQpjnjs+8td7nUUIAEM4BIAFBgAdqIANCAEKY547PvLXe51FCABDOASABQeAGaiAFQgBCmOeOz7y13udRQgAQzgEgAUGQB2ogBkIAQvevyIsLQgAQzgEgAUHwBmogA0IAQvevyIsLQgAQzgEgASkD4AYiBiABQYgHaikDACABKQOAByIDIAFBqAdqKQMAfCIKIANUrXx8IgMgBlStIAFB6AZqKQMAIAFB+AZqKQMAIAlCmOeOz7y13udRfiAFQvevyIsLfnx8fHwgAyABQZgHaikDACABKQOQByIGIAp8IgogBlStfCIGfCIDIAZUrXwgAyABKQPwBiIGfCIDIAZUrXwhByABKQOgByEFRQRAIAdCf4UiBEIAIAp9Ig1QQgAgBX0iBUIAUiIaQX9zcSIZIANCf4UiBiAZrXwiAyAGVHEiHK18IAQgHBshByAKQn+FIA0gGhshCiADIAYgGRshAwsCfiAFIAxYBEAgCiAOVq0hCSAOIAp9DAELIAogDlatIAogDlGtfCEJIA4gCkJ/hXwLIQYgCCADfSEKAkAgCVAEQEJ/QgAgAyAIVhshDgwBC0J/QgAgAyAIVhsgCSAKVq19IQ4gCiAJfSEKCyACIAo3AxAgAiAGNwMIIAIgDCAFfSIMNwMAIAIgCyAHfSAOfCIONwMYIAZC/c+j848CfCIIIAZUIQIgDiAMIAxC0Oz9ibePgOg3fCILWAR+IAKtBSAIQgF8IghQrSACrXwLIgNCAFIiAiADIAp8IgMgClRxIhmtfCAOIBkbIQUgAyAKIAIbIQkCfgJAAkACQAJAAkAgDkIAUw0AQQAhAiAFQgBZDQBCfyEDDAELQn8hB0J/IAggC4QgCYQgBYRCAFKtIAVCAFMbIQMgBUIAWSECIA5CAFMNAQtCASEHIAYgDIQgCiAOhIRCAFINAEIAIQNBASEZIAJFDQFCACEHQgAhD0IADAMLIAMgB35CAlQhGSACDQELIAVCf4UiBEIAIAh9Ig1QQgAgC30iC0IAUiIaQX9zcSICIAlCf4UiAyACrXwiByADVHEiHK18IAQgHBshBSAIQn+FIA0gGhshCCAHIAMgAhshCQsgDkIAWQRAIAwhAyAGIQcgCiEPIA4MAQsgBkJ/hUIAIAZ9Ig1CACAMfSIDQgBSIgIbIQcgCkJ/hSIEIA1QIAJBf3NxIgKtfCINIAQgAhshDyACIAQgDVZxrSAOQn+FfAshBCABQdAGaiADQgAgC0IAEM4BIAFBwAZqIANCACAIQgAQzgEgAUGwBmogA0IAIAlCABDOASABQaAGaiAHQgAgC0IAEM4BIAFBkAZqIAdCACAIQgAQzgEgAUGABmogD0IAIAtCABDOASABKQOwBiINIAFByAZqKQMAIAEpA8AGIhAgAUHYBmopAwB8IhEgEFStfHwiECANVK0gAUGIBmopAwAgAUGYBmopAwAgAUG4BmopAwAgByAJfiADIAV+fCAIIA9+fHwgBCALfnx8fHwgAUGoBmopAwAgASkDoAYiAyARfCIFIANUrXwiAyAQfCIEIANUrXwgASkDkAYiAyAEfCIEIANUrXwgBCABKQOABiIDfCILIANUrXwhCCAZRQRAIAhCf4UiBCABKQPQBiINQgAgBX0iB4RQIgIgC0J/hSIDIAKtfCIPIANUcSIZrXwgBCAZGyEIIA8gAyACGyELIAcgBUJ/hSANUBshBQsCfiAIQgBZBEAgCEIghiALQiCIhCEJIAtCIIYgBUIgiIQhBUIAIQcgCEIgiAwBCyABQcgHakIANwMAIAFBwAdqQgA3AwAgAUIANwO4ByABQp8BNwOwByABQZAIakHwtcAAIAFBsAdqEGogASkDmAghCQJ+AkACQCABKQOQCCIEUEUEQCABKQOgCCEDIAEpA6gIIQcMAQsgASkDoAghAyAJUEUEQCAJQgF9IQkgASkDqAghBwwBCyABKQOoCCEHIANQDQEgA0IBfSEDQn8hCQsgBEIBfQwBCyAHUA0OQn8hAyAHQgF9IQdCfyEJQn8LIQQgCEIghiALQiCIhCAJQn+FhCEJIAtCIIYgBUIgiIQgBEJ/hYQhBSAHQn+FIQcgA0J/hSAIQiCIhAshAyAJQvuugbmW2gB8IgggCVQhAiAFIAVClqzAxL69grIufSILWAR+IAKtBSAIQgF8IghQrSACrXwLIgRCAFIiGSADIAR8IgQgA1RxIhqtIAYgCHwiCSAIVCECIAQgAyAZGyIDIAMgCnwiD1YhGSAHfCAHIBobIgUgDnwgCyALIAx8IhFYBH4gAq0FIAlCAXwiCVCtIAKtfAsiBFAEfiAZrQUgDyAEIA98Ig9WrSAZrXwLIgQgBSAOfHwgBFAbAn4gEULstJWR7cKkypZ/WgRAIAlCi9X87M+UAVStIRAgCUKL1fzsz5QBfQwBCyAJQovV/OzPlAFUrSAJQovV/OzPlAFRrXwhECAJQozV/OzPlAF9CyEHIBFClMvq7pK927XpAHwhCSAPIBB9IQRCfyENIBBCAFIgDyAQVHGtfSIPQgBZBEAgByAJhCAEIA+EhEIAUq0hDQsgD0IAUwRAIA9Cf4UiD0LstJWR7cKkypZ/IBF9IglCACAHfSIQhFAiAiAEQn+FIgQgAq18IhEgBFRxIhmtfCAPIBkbIQ8gECAHQn+FIAlQGyEHIBEgBCACGyEEC0J/IAggC4QgA4QgBYRCAFKtIAVCAFMiAhshESACBEAgCEJ/hUIAIAh9IhJCACALfSILQgBSIgIbIQggA0J/hSIQIBJQIAJBf3NxIgKtfCISIBAgAhshAyACIBAgElZxrSAFQn+FfCEFCyABQfAFaiALQgAgCUIAEM4BIAFB4AVqIAtCACAHQgAQzgEgAUHQBWogC0IAIARCABDOASABQcAFaiAIQgAgCUIAEM4BIAFBsAVqIAhCACAHQgAQzgEgAUGgBWogA0IAIAlCABDOASABKQPQBSIQIAFB6AVqKQMAIAEpA+AFIhIgAUH4BWopAwB8IhQgElStfHwiEiAQVK0gAUGoBWopAwAgAUG4BWopAwAgAUHYBWopAwAgBCAIfiALIA9+fCADIAd+fHwgBSAJfnx8fHwgAUHIBWopAwAgASkDwAUiAyAUfCIFIANUrXwiAyASfCIEIANUrXwgASkDsAUiAyAEfCIEIANUrXwgBCABKQOgBSIDfCILIANUrXwhCCANIBF+QgJaBEAgCEJ/hSIEIAEpA/AFIg1CACAFfSIHhFAiAiALQn+FIgMgAq18Ig8gA1RxIhmtfCAEIBkbIQggDyADIAIbIQsgByAFQn+FIA1QGyEFCwJ+IAhCAFkEQCAIQiCGIAtCIIiEIQkgC0IghiAFQiCIhCEFQgAhByAIQiCIDAELIAFByAdqQgA3AwAgAUHAB2pCADcDACABQgA3A7gHIAFCnwE3A7AHIAFBkAhqQfC1wAAgAUGwB2oQaiABKQOYCCEJAn4CQAJAIAEpA5AIIgRQRQRAIAEpA6AIIQMgASkDqAghBwwBCyABKQOgCCEDIAlQRQRAIAlCAX0hCSABKQOoCCEHDAELIAEpA6gIIQcgA1ANASADQgF9IQNCfyEJCyAEQgF9DAELIAdQDQ5CfyEDIAdCAX0hB0J/IQlCfwshBCAIQiCGIAtCIIiEIAlCf4WEIQkgC0IghiAFQiCIhCAEQn+FhCEFIAdCf4UhByADQn+FIAhCIIiECyEDIAlCot3tndD+4QJ8IgggCVQhAiAFIAVCsLea/4vpgO3iAH0iC1gEfiACrQUgCEIBfCIIUK0gAq18CyIEIAN8Ig0gAyAEQgBSIgIbIQVCfyEEIAcgAiADIA1WcSICrXwgByACGyIJQgBZBEAgCCALhCAFIAmEhEIAUq0hBAsgCUIAUwRAIAhCf4VCACAIfSINQgAgC30iC0IAUiICGyEIIAVCf4UiAyANUCACQX9zcSICrXwiDSADIAIbIQUgAiADIA1Wca0gCUJ/hXwhCQtCfyAGIAyEIAqEIA6EQgBSrSAOQgBTGyAEfiAMIQMgBiEHIAohDyAOIgRCAFMEQCAGQn+FQgAgBn0iD0IAIAN9IgNCAFIiAhshByAKQn+FIgQgD1AgAkF/c3EiAq18IhAgBCACGyEPIAIgBCAQVnGtIA5Cf4V8IQQLIAFBkAVqIANCACALQgAQzgEgAUGABWogA0IAIAhCABDOASABQfAEaiADQgAgBUIAEM4BIAFB4ARqIAdCACALQgAQzgEgAUHQBGogB0IAIAhCABDOASABQcAEaiAPQgAgC0IAEM4BIAEpA/AEIhAgAUGIBWopAwAgASkDgAUiESABQZgFaikDAHwiEiARVK18fCIRIBBUrSABQcgEaikDACABQdgEaikDACABQfgEaikDACAFIAd+IAMgCX58IAggD358fCAEIAt+fHx8fCABQegEaikDACABKQPgBCIDIBJ8IgggA1StfCIDIBF8IgQgA1StfCABKQPQBCIDIAR8IgQgA1StfCAEIAEpA8AEIgN8IgsgA1StfCEDIAEpA5AFIQ9CAloEQCADQn+FIgNCACAIfSIFUEIAIA99Ig9CAFIiGUF/c3EiAiALQn+FIgQgAq18Ig0gBFRxIhqtfCADIBobIQMgDSAEIAIbIQsgCEJ/hSAFIBkbIQgLIAFBsAdqQaG6wABBIhBQIAEoArAHDQYgASkDwAciBEIgiCEFIAsgBEIghiABKQO4ByIEQiCIhHwiECALVCECIAEpA8gHQiCGIAWEIgUgA3wgCCAIIARCIIZ8IhFYBH4gAq0FIBBCAXwiEFCtIAKtfAsiBCADIAV8fCAEUBshEiAKAn4gDEL81db+8PXy7LJ/WgRAIAZCn53M4cAEfSEIIAZCn53M4cAEVK0MAQsgBkKgnczhwAR9IQggBkKfnczhwARUrSAGQp+dzOHABFGtfAsiA30hB0EBIQICfgJAAkAgDiAOIANCAFIgAyAKVnGtfSIJg0IAUw0AIAxChKqpgY+KjZPNAHwhCwJAIAlCAFkEQCAOQgBZDQEgCCALhCAHhCAJhFAhAgwDCyAOQgBTDQELIAlCAFkiGSAGIAyEIAqEIA6EUHIhAiAZRQ0AIAwhAyAGIQQgCiEFIA4MAgsgCUJ/hSIEQvzV1v7w9fLssn8gDH0iC0IAIAh9IgWEUCIZIAdCf4UiAyAZrXwiDSADVHEiGq18IAQgGhshCSAFIAhCf4UgC1AbIQggDSADIBkbIQcgDCEDIAYhBCAKIQUgDiAOQgBZDQEaCyAGQn+FQgAgBn0iBUIAIAx9IgNCAFIiGRshBCAKQn+FIg0gBVAgGUF/c3EiGa18IhQgDSAZGyEFIBkgDSAUVnGtIA5Cf4V8CyENIAFBsARqIANCACALQgAQzgEgAUGgBGogA0IAIAhCABDOASABQZAEaiADQgAgB0IAEM4BIAFBgARqIARCACALQgAQzgEgAUHwA2ogBEIAIAhCABDOASABQeADaiAFQgAgC0IAEM4BIAEpA5AEIhQgAUGoBGopAwAgASkDoAQiEyABQbgEaikDAHwiFiATVK18fCITIBRUrSABQegDaikDACABQfgDaikDACABQZgEaikDACAEIAd+IAMgCX58IAUgCH58fCALIA1+fHx8fCABQYgEaikDACABKQOABCIDIBZ8IgkgA1StfCIDIBN8IgQgA1StfCABKQPwAyIDIAR8IgQgA1StfCAEIAEpA+ADIgN8IgsgA1StfCEIIAJFBEAgCEJ/hSIEIAEpA7AEIgVCACAJfSINhFAiAiALQn+FIgMgAq18IgcgA1RxIhmtfCAEIBkbIQggByADIAIbIQsgDSAJQn+FIAVQGyEJCwJ+IAhCAFkEQCAIQiCGIAtCIIiEIQcgC0IghiAJQiCIhCEJIAhCIIghA0IADAELIAFByAdqQgA3AwAgAUHAB2pCADcDACABQgA3A7gHIAFCnwE3A7AHIAFBkAhqQfC1wAAgAUGwB2oQaiABKQOYCCEHAn4CQAJAIAEpA5AIIgVQRQRAIAEpA6AIIQMgASkDqAghBAwBCyABKQOgCCEDIAdQRQRAIAdCAX0hByABKQOoCCEEDAELIAEpA6gIIQQgA1ANASADQgF9IQNCfyEHCyAFQgF9DAELIARQDQ5CfyEDIARCAX0hBEJ/IQdCfwshBSADQn+FIAhCIIiEIQMgCEIghiALQiCIhCAHQn+FhCEHIAtCIIYgCUIgiIQgBUJ/hYQhCSAEQn+FCyEEIAdCz6OmyvXOAHwiCCAHVCECIAkgCUKnhvLzubuk0Dd9IgtYBH4gAq0FIAhCAXwiCFCtIAKtfAsiBSADfCIHIAMgBUIAUiICGyEJQn8hDSAEIAIgAyAHVnEiAq18IAQgAhsiB0IAWQRAIAggC4QgByAJhIRCAFKtIQ0LIAdCAFMEQCAIQn+FQgAgCH0iBEIAIAt9IgtCAFIiAhshCCAJQn+FIgMgBFAgAkF/c3EiAq18IgQgAyACGyEJIAIgAyAEVnGtIAdCf4V8IQcLQn8gBiAMhCAKhCAOhEIAUq0gDkIAUyICGyANfiAMIQMgBiEEIAohBSAOIQ0gAgRAIARCf4VCACAEfSIFQgAgA30iA0IAUiICGyEEIApCf4UiDSAFUCACQX9zcSICrXwiEyANIAIbIQUgAiANIBNWca0gDkJ/hXwhDQsgAUHQA2ogA0IAIAtCABDOASABQcADaiADQgAgCEIAEM4BIAFBsANqIANCACAJQgAQzgEgAUGgA2ogBEIAIAtCABDOASABQZADaiAEQgAgCEIAEM4BIAFBgANqIAVCACALQgAQzgEgASkDsAMiEyABQcgDaikDACABKQPAAyIWIAFB2ANqKQMAfCIXIBZUrXx8IhYgE1StIAFBiANqKQMAIAFBmANqKQMAIAFBuANqKQMAIAQgCX4gAyAHfnwgBSAIfnx8IAsgDX58fHx8IAFBqANqKQMAIAEpA6ADIgQgF3wiAyAEVK18IgQgFnwiBSAEVK18IAEpA5ADIgQgBXwiBSAEVK18IAUgASkDgAMiBHwiCyAEVK18IQhCAloEQCAIQn+FIgUgASkD0AMiDUIAIAN9IgeEUCICIAtCf4UiBCACrXwiCSAEVHEiGa18IAUgGRshCCAJIAQgAhshCyAHIANCf4UgDVAbIQMLAn4CfiAIQgBZBEAgCEIghiALQiCIhCEJIAhCIIghB0IAIQUgC0IghiADQiCIhAwBCyABQcgHakIANwMAIAFBwAdqQgA3AwAgAUIANwO4ByABQp8BNwOwByABQZAIakHwtcAAIAFBsAdqEGogASkDmAghCQJ+AkACQCABKQOQCCIFUEUEQCABKQOgCCEHIAEpA6gIIQQMAQsgASkDoAghByAJUEUEQCAJQgF9IQkgASkDqAghBAwBCyABKQOoCCEEIAdQDQEgB0IBfSEHQn8hCQsgBUIBfQwBCyAEUA0PQn8hByAEQgF9IQRCfyEJQn8LIQ0gB0J/hSAIQiCIhCEHIAhCIIYgC0IgiIQgCUJ/hYQhCSAEQn+FIQUgC0IghiADQiCIhCANQn+FhAsiA0LEk8f3pbaYqOoAWgRAIAlCz8bXkqHKBn0hCyAJQs/G15KhygZUrQwBCyAJQtDG15KhygZ9IQsgCULPxteSocoGVK0gCULPxteSocoGUa18CyEEIANCxJPH96W2mKjqAH0hCCAHIAR9IQlCfyENIAUgBCAHVq19IgdCAFkEQCAIIAuEIAcgCYSEQgBSrSENCyAHQgBTBEBCACALfSIEIAtCf4VCxJPH96W2mKjqACADfSIIUBshCyAJQn+FIgMgBCAIhFAiAq18IgQgAyACGyEJIAIgAyAEVnGtIAdCf4V8IQcLQn8gBiAMhCAKhCAOhEIAUq0gDkIAUyICGyANfiAMIQMgBiEEIAohBSAOIQ0gAgRAIARCf4VCACAEfSIFQgAgA30iA0IAUiICGyEEIApCf4UiDSAFUCACQX9zcSICrXwiEyANIAIbIQUgAiANIBNWca0gDkJ/hXwhDQsgAUHwAmogA0IAIAhCABDOASABQeACaiADQgAgC0IAEM4BIAFB0AJqIANCACAJQgAQzgEgAUHAAmogBEIAIAhCABDOASABQbACaiAEQgAgC0IAEM4BIAFBoAJqIAVCACAIQgAQzgEgASkD0AIiEyABQegCaikDACABKQPgAiIWIAFB+AJqKQMAfCIXIBZUrXx8IhYgE1StIAFBqAJqKQMAIAFBuAJqKQMAIAFB2AJqKQMAIAQgCX4gAyAHfnwgBSALfnx8IAggDX58fHx8IAFByAJqKQMAIAEpA8ACIgMgF3wiCSADVK18IgMgFnwiBCADVK18IAEpA7ACIgMgBHwiBCADVK18IAQgASkDoAIiA3wiCyADVK18IQhCAloEQCAIQn+FIgQgASkD8AIiBUIAIAl9Ig2EUCICIAtCf4UiAyACrXwiByADVHEiGa18IAQgGRshCCAHIAMgAhshCyANIAlCf4UgBVAbIQkLAn4gCEIAWQRAIAhCIIYgC0IgiIQhByALQiCGIAlCIIiEIQkgCEIgiCEDQgAMAQsgAUHIB2pCADcDACABQcAHakIANwMAIAFCADcDuAcgAUKfATcDsAcgAUGQCGpB8LXAACABQbAHahBqIAEpA5gIIQcCfgJAAkAgASkDkAgiBVBFBEAgASkDoAghAyABKQOoCCEEDAELIAEpA6AIIQMgB1BFBEAgB0IBfSEHIAEpA6gIIQQMAQsgASkDqAghBCADUA0BIANCAX0hA0J/IQcLIAVCAX0MAQsgBFANDkJ/IQMgBEIBfSEEQn8hB0J/CyEFIANCf4UgCEIgiIQhAyAIQiCGIAtCIIiEIAdCf4WEIQcgC0IghiAJQiCIhCAFQn+FhCEJIARCf4ULIQQgB0LD6IeQu7csfCIIIAdUIQIgCSAJQtuWiZbenPS0MH0iC1gEfiACrQUgCEIBfCIIUK0gAq18CyIFIAN8IgcgAyAFQgBSIgIbIQlCfyENIAQgAiADIAdWcSICrXwgBCACGyIHQgBZBEAgCCALhCAHIAmEhEIAUq0hDQsgB0IAUwRAIAhCf4VCACAIfSIEQgAgC30iC0IAUiICGyEIIAlCf4UiAyAEUCACQX9zcSICrXwiBCADIAIbIQkgAiADIARWca0gB0J/hXwhBwtCfyAGIAyEIAqEIA6EQgBSrSAOQgBTIgIbIA1+IAwhAyAGIQQgCiEFIA4hDSACBEAgBEJ/hUIAIAR9IgVCACADfSIDQgBSIgIbIQQgCkJ/hSINIAVQIAJBf3NxIgKtfCITIA0gAhshBSACIA0gE1ZxrSAOQn+FfCENCyABQZACaiADQgAgC0IAEM4BIAFBgAJqIANCACAIQgAQzgEgAUHwAWogA0IAIAlCABDOASABQeABaiAEQgAgC0IAEM4BIAFB0AFqIARCACAIQgAQzgEgAUHAAWogBUIAIAtCABDOASABKQPwASITIAFBiAJqKQMAIAEpA4ACIhYgAUGYAmopAwB8IhcgFlStfHwiFiATVK0gAUHIAWopAwAgAUHYAWopAwAgAUH4AWopAwAgBCAJfiADIAd+fCAFIAh+fHwgCyANfnx8fHwgAUHoAWopAwAgASkD4AEiAyAXfCIJIANUrXwiAyAWfCIEIANUrXwgASkD0AEiAyAEfCIEIANUrXwgBCABKQPAASIDfCILIANUrXwhCEICWgRAIAhCf4UiBCABKQOQAiIFQgAgCX0iDYRQIgIgC0J/hSIDIAKtfCIHIANUcSIZrXwgBCAZGyEIIAcgAyACGyELIA0gCUJ/hSAFUBshCQsCfiAIQgBZBEAgC0IghiAJQiCIhCEHIAhCIIghBEIAIQUgCEIghiALQiCIhAwBCyABQcgHakIANwMAIAFBwAdqQgA3AwAgAUIANwO4ByABQp8BNwOwByABQZAIakHwtcAAIAFBsAdqEGogASkDmAghAwJ+AkACQCABKQOQCCIEUEUEQCABKQOgCCEHIAEpA6gIIQUMAQsgASkDoAghByADUEUEQCADQgF9IQMgASkDqAghBQwBCyABKQOoCCEFIAdQDQEgB0IBfSEHQn8hAwsgBEIBfQwBCyAFUA0OQn8hByAFQgF9IQVCfyEDQn8LIQ0gB0J/hSAIQiCIhCEEIAtCIIYgCUIgiIQgDUJ/hYQhByAFQn+FIQUgCEIghiALQiCIhCADQn+FhAshAwJ+IAdClf6k6/7jzNTRAFoEQCADQs/u58a45LEBVK0hCSADQs/u58a45LEBfQwBCyADQs/u58a45LEBVK0gA0LP7ufGuOSxAVGtfCEJIANC0O7nxrjksQF9CyELIAdClf6k6/7jzNTRAH0hCCAEIAl9IQNCfyENIAUgBCAJVK19IglCAFkEQCAIIAuEIAMgCYSEQgBSrSENCyAJQgBTBEBCACALfSIFIAtCf4VClf6k6/7jzNTRACAHfSIIUBshCyADQn+FIgQgBSAIhFAiAq18IgUgBCACGyEDIAIgBCAFVnGtIAlCf4V8IQkLQn8gBiAMhCAKhCAOhEIAUq0gDkIAUyICGyACBEAgBkJ/hUIAIAZ9IgdCACAMfSIMQgBSIgIbIQYgCkJ/hSIEIAdQIAJBf3NxIgKtfCIHIAQgAhshCiACIAQgB1ZxrSAOQn+FfCEOCyABQbABaiAMQgAgCEIAEM4BIAFBoAFqIAxCACALQgAQzgEgAUGQAWogDEIAIANCABDOASABQYABaiAGQgAgCEIAEM4BIAFB8ABqIAZCACALQgAQzgEgAUHgAGogCkIAIAhCABDOASABKQOQASIEIAFBqAFqKQMAIAEpA6ABIgcgAUG4AWopAwB8IhQgB1StfHwiByAEVK0gAUHoAGopAwAgAUH4AGopAwAgAUGYAWopAwAgAyAGfiAJIAx+fCAKIAt+fHwgCCAOfnx8fHwgAUGIAWopAwAgASkDgAEiBiAUfCIKIAZUrXwiBiAHfCIDIAZUrXwgASkDcCIGIAN8IgMgBlStfCADIAEpA2AiA3wiBiADVK18IQ4gDX5CAloEQCAOQn+FIgMgASkDsAEiDEIAIAp9IgSEUCICIAZCf4UiBiACrXwiBSAGVHEiGa18IAMgGRshDiAEIApCf4UgDFAbIQogBSAGIAIbIQYLAn4gDkIAWQRAIAZCIIYgCkIgiIQhCCAOQiCIIQpCACELIA5CIIYgBkIgiIQMAQsgAUHIB2pCADcDACABQcAHakIANwMAIAFCADcDuAcgAUKfATcDsAcgAUGQCGpB8LXAACABQbAHahBqIAEpA5gIIQwCfgJAAn4CQAJAIAEpA5AIIgRQRQRAIAEpA6AIIQgMAQsgASkDoAghCCAMUA0BIAxCAX0hDAsgASkDqAghCyAMQn+FDAELIAEpA6gIIQsgCFANASAIQgF9IQhCAAshDCAIQn+FIQNCACAEfQwBC0IAIQMgC1ANDiALQgF9IQtCACEMQgALIAZCIIYgCkIgiISEIQggC0J/hSELIAMgDkIgiIQhCiAMIA5CIIYgBkIgiISECyIGIAZCq7OeiruBxgJ8IgZWIQIgCyAIIAhC1/rJ0rKZqtTHAHwiDFgEfiACrQUgBkIBfCIGUK0gAq18CyIDQgBSIhkgAyAKfCIEIApUcSICrXwgCyACGyEDQf8BIQJB/wEgDyARhCAQhCAShEIAUiASQgBTGyAEIAogGRshCgJAIANCAFMNAEEBIQIgBiAMhCAKhEIAUg0AIANQDQYLwCACwG0gASASQgBTBH4gEUJ/hUIAIBF9IgVCACAPfSIPQgBSIgIbIREgEEJ/hSIEIAVQIAJBf3NxIgKtfCIFIAQgAhshECACIAQgBVZxrSASQn+FfAUgEgs3A4gIIAEgEDcDgAggASARNwP4ByABIA83A/AHIAEgA0IAUwR+IAZCf4VCACAGfSIFQgAgDH0iDEIAUiICGyEGIApCf4UiBCAFUCACQX9zcSICrXwiBSAEIAIbIQogAiAEIAVWca0gA0J/hXwFIAMLNwOoCCABIAo3A6AIIAEgBjcDmAggASAMNwOQCCABQbAHaiABQfAHaiABQZAIahBOIAEpA8gHIQggASkDwAchCiABKQO4ByEGIAEpA7AHIQ5B/wFxQQJPBEAgBkJ/hUIAIAZ9IgxCACAOfSIOQgBSIgIbIQYgCkJ/hSIDIAxQIAJBf3NxIgKtfCIMIAMgAhshCiACIAMgDFZxrSAIQn+FfCEICyABQbAHaiICQdS6wABBMRBVIAEoArAHDQdCACEFIAFB0ABqIAEpA7gHIgNCACAOQgAQzgEgAUEgaiADQgAgBkIAEM4BIAEgA0IAIApCABDOASABQUBrIAEpA8AHIgxCACAOQgAQzgEgAUEQaiAMQgAgBkIAEM4BIAFBMGogASkDyAciDUIAIA5CABDOASABIAEpA1A3A5AIIAFBCGopAwAhByABKQPQByEPIAFBGGopAwAhCSABQThqKQMAIQsgAUEoaikDACEQIAEpAwAhBCABIAEpA0AiESABKQMgIhIgAUHYAGopAwB8IhR8IhM3A5gIIAEgASkDMCIWIAEpAxAiFyABQcgAaikDACARIBNWrXwiESAEIBAgEiAUVq18fCIQfCISfCIUfCITNwOgCCABIBMgFlStIBQgF1StIBEgElatIAQgEFatIAsgCSAHIAogDH4gAyAIfnwgBiANfnx8IA4gD358fHx8fHx8NwOoCCACQYW7wABBAxBQIAEoArAHRQRAQgAhDkIAIQZCACEKIAEpA7gHIBV9IgOnIhlB/wFLDQogAUGQCGoiHiAZQQZ2IgJBA3RqKQMAIQQgAkEBaiIaQQRGDQkgHiIcIBpBA3RqKQMAIANCP4MiDIghBiACQQJqIh1BBEYNCSAdQQN0IBxqKQMAIAyIIQogAkEDaiIcQQRGDQkgHEEDdCAeaikDACAMiCEFDAkLIAEgASgCtAc2AvAHQZi7wABBKyABQfAHakGIu8AAQcS7wAAQzwEAC0HgucAAEJICAAsgASABKAK0BzYCkAhBmLvAAEErIAFBkAhqQYi7wABBlLzAABDPAQALQZC6wAAQkgIACyABIAEoArQHNgKQCEGYu8AAQSsgAUGQCGpBiLvAAEGEvMAAEM8BAAsgASABKAK0BzYCkAhBmLvAAEErIAFBkAhqQYi7wABB9LvAABDPAQALQcS6wAAQkgIACyABIAEoArQHNgKQCEGYu8AAQSsgAUGQCGpBiLvAAEHku8AAEM8BAAsgASABKAK0BzYCkAhBmLvAAEErIAFBkAhqQYi7wABB1LvAABDPAQALIAQgA4ghDiAZQT9xRSAZQb8BS3INACABQZAIaiIZIBpBA3RqKQMAQgAgA30iA4YgDnwhDiAaQQNGDQAgGSACQQJqIhpBA3RqKQMAIANCP4MiA4YgBnwhBiAaQQNGDQAgAkEDdCABakGoCGopAwAgA4YgCnwhCgsgGyAFNwMgIBsgCjcDGCAbIAY3AxAgGyAONwMIC0EACzYCACABQbAIaiQADAELIAFBADYCwAcgAUEBNgK0ByABQbC2wAA2ArAHIAFCBDcCuAcgAUGwB2pBvLXAABDwAQALIBgoAvgCRQRAIBgpA5ADIQQgGCkDiAMhDCAYKQOAAyEGIBggGCkDmAMiA0IAWSICBH4gAwUgDEJ/hUIAIAx9IgVCACAGfSIGQgBSIgEbIQwgBEJ/hSIKIAVQIAFBf3NxIgGtfCIFIAogARshBCABIAUgClRxrSADQn+FfAs3A8gCIBggBDcDwAIgGCAMNwO4AiAYIAY3A7ACIAAgAiAYQbACahCIAQwECyAYKAL8AiEBIABBATYCACAAIAE2AgQMAwsgGCgC/AIhASAAQQE2AgAgACABNgIEDAILIBhBADYCiAMgGEEBNgL8AiAYQdiRwAA2AvgCIBhCBDcCgAMgGEH4AmpBkJPAABCPASEBIABBATYCACAAIAE2AgQMAQsgGCgC/AIhASAAQQE2AgAgACABNgIECyAYQfADaiQAC4cXAhJ/D34jAEGAA2siAyQAAn4CQAJ/IAEpAxgiFlBFBEAgFiEVQYACDAELQcABIAEpAxAiFVBFDQAaIAEpAwgiFVANAUGAAQshBSAVeQwBC0HAACEFIAEpAwB5CyEXAkACQAJAAkACQAJAAn8CQAJ/QYACIAIpAxgiFVBFDQAaQcABIAIpAxAiFVBFDQAaIAIpAwgiFVANAUGAAQsgFXmnawwBCyACKQMAIhVQDQFBwAAgFXmnawsiBCAFIBenayIGSw0BIARBwQBPBEAgA0HoAWogAkEYaikDACIeNwMAIANB4AFqIAJBEGopAwAiFTcDACADQdgBaiACQQhqKQMAIhc3AwAgAyACKQMAIho3A9ABIANB0AFqIARBAWtBBnYiDUEDdGoiCSkDACEdIANB0AJqQgA3AwAgA0HIAmpCADcDACADQcACaiIEQgA3AwAgBCAdeSIZpyICQQZ2IgVBA3QiB2oiCCAXIBmGIh83AwAgA0IANwO4AiADQbgCaiAHaiIEIBogGYY3AwAgBEEQaiIHIBUgGYYiIDcDACAZQj+DIRsgAkE/cSEKIAVBA2oiBEEERw0DDAULIAIpAwAiFVANAyABKQMIIRkgASkDACEXIANB0ABqIAEpAxAiGyAWIBYgFYAiFiAVfn0gFRCAAiADQUBrIAMpA1AiGiADQdgAaikDACAVQgAQzgEgA0EwaiAZIBsgAykDQH0gFRCAAiADQSBqIAMpAzAiGyADQThqKQMAIBVCABDOASADQRBqIBcgGSADKQMgfSAVEIACIAMgAykDECIZIANBGGopAwAgFUIAEM4BIABCADcDKCAAQTBqQgA3AwAgAEE4akIANwMAIAAgFjcDGCAAIBo3AxAgACAbNwMIIAAgGTcDACAAIBcgAykDAH03AyAMBQsgA0EANgLIAiADQQE2ArwCIANBiM/AADYCuAIgA0IENwLAAiADQbgCakG4z8AAEPABAAsgAEIANwMAIABBGGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIAAgASkDADcDICAAQShqIAFBCGopAwA3AwAgAEEwaiABQRBqKQMANwMAIABBOGogAUEYaikDADcDAAwDCyADQbgCaiAEQQN0aiAeIBuGNwMADAELQbjPwAAQkgIACyAGQQFrAkAgCkUNACAHICAgF0IAIBl9IheIfDcDACAIIB8gGiAXiHw3AwAgHVANACADQbgCaiAEQQN0aiIEIAQpAwAgFSAXiHw3AwALQQZ2IQQgA0HoAWogA0HQAmopAwA3AwAgA0HgAWogA0HIAmopAwA3AwAgA0HYAWogA0HAAmopAwA3AwAgAyADKQO4AjcD0AEgFkHAACACayICrSIViEIAIAJBBnYiBkEDaiIHQQRHGyEdIAEgBkEDdGoiBUEQaikDACIeIBWIIRogBUEIaikDACIfIBWIIRYgBSkDACAViCEXIAEpAwAhIAJAIAJBP3FFDQAgHkIAIBV9IhWGIBZ8IRYgHyAVhiAXfCEXIBlQDQAgASAHQQN0aikDACAVhiAafCEaCyANQQFqIQggAyAdNwOQAiADIBo3A4gCIAMgFjcDgAIgAyAXNwP4ASADICAgG4Y3A/ABIANBsAJqQgA3AwAgA0GoAmpCADcDACADQaACakIANwMAIANCADcDmAIgA0HwAWogBEEDdCICIA1BA3QiAWtqIQYgAUEQakEDdiEHIAEgA2pByAFqKQMAIRogCSkDACEXIAMpA+gBIR0gAykD4AEhHiADKQPYASEfIAMpA9ABISAgASACa0EoakEDdiITIQ8gBCANayIKIQECQANAAkACQAJAAkACQCABIgkgCGoiAkEFSQRAQn8hFiADQfABaiACQQN0aiIRKQMAIhUgF1oNAiABIA1qIgRBBUkNAUF/QQVBuM/AABDYAQALIAJBBUG4z8AAENgBAAsgAkECayIBQQRLDQEgA0HAAWogA0HwAWoiAiAEQQN0aikDACIYIBUgFxCAAiADQbABaiADKQPAASIWIANByAFqKQMAIBdCABDOASAYIAMpA7ABfSEVIAFBA3QgAmopAwAhGANAIANBoAFqIBZCACAaQgAQzgEgGCADKQOgAVogFSADQagBaikDACIcViAVIBxRGw0BIBZCAX0hFiAVIBUgF3wiFVgNAAsLIANBkAFqICBCACAWQgAQzgEgA0GAAWogH0IAIBZCABDOASADQfAAaiAeQgAgFkIAEM4BIANB4ABqIB1CACAWQgAQzgEgAyADKQOQATcDuAIgAyADKQOAASIVIANBmAFqKQMAfCIYNwPAAiADIANBiAFqKQMAIBUgGFatfCIVIAMpA3B8Ihg3A8gCIAMgA0H4AGopAwAgFSAYVq18IhUgAykDYHwiGDcD0AIgAyADQegAaikDACAVIBhWrXw3A9gCIApBBUsNAUEoIAlBA3QiEmtBA3YiASAHIAEgB0kbRQ0CIA9B/////wFxIQsgECATakH/////AXEiDCAHIAcgDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAHIAsgByALSRtB/v//P3FrIQ5CACEVQQAhBCADQbgCaiECIAYhAQNAIAEgASkDACIYIAIpAwAiHCAVfCIVfTcDACABQQhqIgUgBSkDACIhIAJBCGopAwAiIiAVIBxUIBUgGFZyrXwiFX03AwAgFSAiVCAVICFWciIFrSEVIAFBEGohASACQRBqIQIgDiAEQQJrIgRHDQALQQAgBGsLIQEgA0HwAWogEmohDgRAIA4gAUEDdCIBaiICIAIpAwAiGCADQbgCaiABaikDACIcIBV8IhV9NwMAIBUgHFQgFSAYVnIhBQsgBUEBcUUNAkEAIQICQCAJQQVGDQAgDCAIIAggDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAIIAsgCCALSRtB/v//P3FrIQtCACEVQQAhAUEAIQQDQCABIAZqIgIgAikDACIYIBUgA0HQAWogAWoiBSkDACIVfCIcfCIhNwMAIAJBCGoiAiACKQMAIiIgBUEIaikDACIjIBUgHFYgGCAhVnKtfCIVfCIYNwMAIBUgI1QgGCAiVHIiAq0hFSABQRBqIQEgCyAEQQJrIgRHDQALQQAgBGsLIQFFDQAgDiABQQN0IgFqIgIgAikDACIYIBUgA0HQAWogAWopAwAiFXwiHHwiITcDACAVIBxWIBggIVZyIQILIBEgESkDACACrUIBg3w3AwAgFkIBfSEWDAILIAFBBUG4z8AAENgBAAsgCkEFQbjPwAAQ1wEACyAKQQRJBEAgCUEBayEBIANBmAJqIBJqIBY3AwAgBkEIayEGIA9BAWohDyAQQQFqIRAgCUUNAgwBCwsgCkEEQbjPwAAQ2AEACyADQdgCaiADQZACaikDADcDACADQdACaiADQYgCaikDACIVNwMAIANByAJqIANBgAJqKQMAIhY3AwAgA0HAAmogA0H4AWopAwAiFzcDACADIAMpA/ABIho3A7gCIAMgGiAbiDcD4AIgAyAXIBuINwPoAiADIBYgG4g3A/ACIAMgFSAbiDcD+AICQCAZUEUEQEIAIBl9Qj+DIRVBASEBA0BBBCEEQQMhAiABQQNLIgZFBEAgAUEBayICQQNLDQMgAUEBaiEECyADQeACaiACQQN0aiICIAIpAwAgA0G4AmogAUEDdGopAwAgFYaENwMAIAQhASAGRQ0ACwsgACADKQPgAjcDICAAQThqIANB+AJqKQMANwMAIABBMGogA0HwAmopAwA3AwAgAEEoaiADQegCaikDADcDACAAQRhqIANBsAJqKQMANwMAIABBEGogA0GoAmopAwA3AwAgAEEIaiADQaACaikDADcDACAAIAMpA5gCNwMADAELQX9BBEG4z8AAENgBAAsgA0GAA2okAAvYGAIMfwh+IwBBsAJrIgMkACADIAE2AowBAkACQAJAAkACQAJAAkACQCABEA0iBEH///8HR0EAIAQbRQRAIANBgAFqIAEQEiINEBMCQAJ/QQEgAygCgAEiBEUNABpBASADKAKEASIFQYCAgIB4Rg0AGiAFQQZHBEAgBSEGIAQMAQsgBEHok8AAQQYQ6QFFDQFBBiEGIARB7pPAAEEGEOkBRQ0BIAQLIQQgAyABEBE2AogCIAMgA0GIAmooAgAQOzYCoAEgAyADQaABaigCABA6NgLoASADIANB6AFqQfSTwAAQtwI2AsgBIAMgA0HIAWpB9ZPAABC3AjYCnAEgAygCyAEiAUGEAU8EQCABEAgLIAMoAugBIgFBhAFPBEAgARAICyADKAKgASIBQYQBTwRAIAEQCAsgAygCiAIiAUGEAU8EQCABEAgLQgEhEiADQZwBaiIBQfaTwABBARCyAiIKBEAgASABEP8CENUCIQUgAygCnAEiAUGEAU8EQCABEAgLIAMgBTYCnAFCfyESCyADQZwBaiIBQfeTwABBARCyAgRAIAEgARD/AhDVAiEFIAMoApwBIgFBhAFPBEAgARAICyADIAU2ApwBCwJAIANBnAFqIgFB+JPAAEECELICDQAgAUH6k8AAQQIQsgINACABQfyTwABBAhCyAg0AIANB+ABqIAMoApwBEBMgA0GIAmoiCCIFAn9BASADKAJ4IgFFDQAaIAMoAnwhCSADIAE2AowCIAMgCTYCkAIgAyAJNgKIAiADQfAAaiELAkACQAJAIAgoAgAiCSAIKAIIIgxNBEAgCCgCBCEODAELIAgoAgQhAQJAIAxFBEBBASEOIAEgCRDTAgwBCyABIAlBASAMEK8CIg5FDQILIAggDDYCACAIIA42AgQLIAsgDDYCBCALIA42AgAMAQtBASAMEK0CAAtBASADKAJ0IgFBgICAgHhGDQAaIAEhByADKAJwCyIJIAcQUCMAQRBrIgskACADQaABaiIBAn8gBSgCAEUEQCABIAUpAwg3AwggAUEgaiAFQSBqKQMANwMAIAFBGGogBUEYaikDADcDACABQRBqIAVBEGopAwA3AwBBAAwBCyALIAUoAgQ2AgwgAUEEaiALQQxqIgEgAhCsASABELUCQQELNgIAIAtBEGokACADKAKgAUUEQCADKQO4ASEWIAMpA7ABIRQgAykDqAEhEwJ/IAMpA8ABIhVCAFkEQCAKIBMgFIQgFSAWhIRCAFJxRQwBCyAUQn+FQgAgFH0iD0IAIBN9IhNCAFIiARshFCAWQn+FIhEgD1AgAUF/c3EiAa18Ig8gESABGyEWIAEgDyARVHGtIBVCf4V8IRUgCgshASADQeAAaiATQgBCACASfSASIAobIhBCABDOASADQdAAaiAUQgAgEEIAEM4BIANBQGsgFkIAIBBCABDOASADKQNAIhEgA0HYAGopAwAgAykDUCIPIANB6ABqKQMAfCISIA9UrXx8IhQgEVStIANByABqKQMAIBAgFX58fCEQIAMpA2AhEyAAQRI6ACggACABBH4gEAUgEkJ/hUIAIBJ9Ig9CACATfSITQgBSIgEbIRIgFEJ/hSIRIA9QIAFBf3NxIgGtfCIPIBEgARshFCABIA8gEVRxrSAQQn+FfAs3AyAgACAUNwMYIAAgEjcDECAAIBM3AwggAEEANgIAIAcEQCAJIAcQ0wILIAMoApwBIgBBhAFPBEAgABAICyAGRQ0JDAgLIAMoAqQBIQEgAykDqAEhESADKQOwASEPIAAgAykDuAE3AxggACAPNwMQIAAgETcDCCAAIAE2AgQgAEEBNgIAIAdFDQMgCSAHENMCDAMLIANBiAJqIANBnAFqEMYBIAMoAogCRQRAIAMpA6ACIRYgAykDmAIhFCADKQOQAiETAn8gAykDqAIiFUIAWQRAIAogEyAUhCAVIBaEhEIAUnFFDAELIBRCf4VCACAUfSIPQgAgE30iE0IAUiIBGyEUIBZCf4UiESAPUCABQX9zcSIBrXwiDyARIAEbIRYgASAPIBFUca0gFUJ/hXwhFSAKCyEBIANBMGogE0IAQgAgEn0gEiAKGyIQQgAQzgEgA0EgaiAUQgAgEEIAEM4BIANBEGogFkIAIBBCABDOASADKQMQIhEgA0EoaikDACADKQMgIg8gA0E4aikDAHwiEiAPVK18fCIUIBFUrSADQRhqKQMAIBAgFX58fCEQIAMpAzAhEyAAQRI6ACggACABBH4gEAUgEkJ/hUIAIBJ9Ig9CACATfSITQgBSIgEbIRIgFEJ/hSIRIA9QIAFBf3NxIgGtfCIPIBEgARshFCABIA8gEVRxrSAQQn+FfAs3AyAgACAUNwMYIAAgEjcDECAAIBM3AwggAEEANgIADAMLIAMoAowCIQEgAykDkAIhESADKQOYAiEPIAAgAykDoAI3AxggACAPNwMQIAAgETcDCCAAIAE2AgQgAEEBNgIADAILIANBiAJqIANBjAFqEMYBIAMoAogCRQRAIANBvAFqIANBqAJqKQMAIhU3AgAgA0G0AWogA0GgAmopAwAiEDcCACADQawBaiADQZgCaikDACIRNwIAIAMgAykDkAIiDzcCpAEgAEEgaiAVNwIAIABBGGogEDcCACAAQRBqIBE3AgAgACAPNwIIIABBEjoAKCAAQQA2AgBBBiEGDAYLIANBuAFqIANBpAJqKAIAIgE2AgAgA0GwAWogA0GcAmopAgAiEDcDACADQagBaiADQZQCaikCACIRNwMAIAMgAykCjAIiDzcDoAEgAEEcaiABNgIAIABBFGogEDcCACAAQQxqIBE3AgAgACAPNwIEIABBATYCAEEGIQYMAgsgA0EIaiABEBEiBRATAkACQCADKAIIIgQEQCADKAIMIgFBgICAgHhHDQELIANCgICAgBA3AugBQQAhAQwBCyADIAQ2AuwBIAMgATYC6AELIAMgATYC8AEgA0ECNgKMAiADQYCUwAA2AogCIANCAjcClAIgA0L+k8CAgAI3A6gBIAMgA0HoAWqtQoCAgIAQhDcDoAEgAyADQaABajYCkAIgA0GQAWogA0GIAmoQkQEgAygC6AEiAQRAIAMoAuwBIAEQ0wILIAVBhAFPBEAgBRAICyADKAKQASEHIAMoApQBIQYCQCAAAn8CQAJ+AkAgAygCmAEiBARAIAYtAABBLUYNAQsgA0GIAmoiASAGIAQQVSADKAKIAg0CIANBgAJqIANBqAJqKQMANwMAIANB+AFqIANBoAJqKQMANwMAIANB8AFqIANBmAJqKQMANwMAIAMgAykDkAI3A+gBIAEgA0HoAWoQhgEgAygCiAINAiADKQOgAiESIAMpA5gCIRYgAykDkAIhEyADKQOoAgwBCyAEQQFHBEAgBiwAAUG/f0wNBAsgA0GIAmoiBSAGQQFqIARBAWsQVSADKAKIAg0BIANB4AFqIANBqAJqKQMANwMAIANB2AFqIANBoAJqIgQpAwA3AwAgA0HQAWogA0GYAmoiASkDADcDACADIAMpA5ACNwPIASAEQaiNwAApAwA3AwAgAUGgjcAAKQMANwMAIANBkAJqQZiNwAApAwA3AwAgA0GQjcAAKQMANwOIAiADQaABaiIBIAUQV0KAgICAgICAgIB/IANByAFqIgggAUEgEOkBRQ0AGiAFIAgQhgEgAygCiAINASADKQOYAiEQIAMpA6gCIRFCACADKQOgAiIVfSESAkACfiADKQOQAiIPUARAQgAgEH0hFiAQQgBSrQwBCyAQQn+FIRYgEEIAUq0gEFCtfAsiEFAEQEJ/QgAgFUIAUhshFQwBC0J/QgAgFUIAUhsgECASVq19IRUgEiAQfSESC0IAIA99IRMgFSARfQshDyAAQQA2ACkgAEESOgAoIAAgDzcDICAAIBI3AxggACAWNwMQIAAgEzcDCCAAQSxqQQA2AABBAAwBCyADIAMoAowCNgKIAiAAQQRqIANBiAJqIgAgAhCsASAAELUCQQELNgIAIAdFDQQgBiAHENMCDAQLIAYgBEEBIARBoIzAABC6AgALIAMoApwBIgBBhAFPBEAgABAICyAGRQ0BCyAEIAYQ0wILIA1BhAFJDQAgDRAICyADKAKMASIAQYMBSw0CDAMLIAQgBhDTAgsgDUGEAU8EQCANEAgLIAMoAowBIgBBgwFNDQELIAAQCAsgA0GwAmokAAvLEwILfw1+IwBB8AJrIgMkACADIAI2AoACIAMgATYC/AEgA0EANgKEAgJAAkAgAkUEQEEBIQFCASEVDAELIAEgAmohCyADQZACaiIKQRBqIQxCASEVA0ACfyABLAAAIgJBAE4EQCACQf8BcSECIAFBAWoMAQsgAS0AAUE/cSEFIAJBH3EhBiACQV9NBEAgBkEGdCAFciECIAFBAmoMAQsgAS0AAkE/cSAFQQZ0ciEFIAJBcEkEQCAFIAZBDHRyIQIgAUEDagwBCyAGQRJ0QYCA8ABxIAEtAANBP3EgBUEGdHJyIQIgAUEEagshASADIAI2ArACAkACQAJAIAJBMGsiBkEKSQRAIAkNASARQgBZIgVFBEAgD0J/hUIAIA99IhJCACATfSITQgBSIgIbIQ8gFEJ/hSIQIBJQIAJBf3NxIgKtfCISIBAgAhshFCACIBAgElZxrSARQn+FfCERCyADQegBaiATQgBCCkIAEM4BIANB2AFqIA9CAEIKQgAQzgEgA0HIAWogFEIAQgpCABDOASADKQPIASIQIANB4AFqKQMAIAMpA9gBIg8gA0HwAWopAwB8IhIgD1StfHwiDyAQVK0gA0HQAWopAwAgEUIKfnx8IREgAykD6AEhFCAFRQRAIBFCf4UiEUIAIBJ9IhNQQgAgFH0iFEIAUiIFQX9zcSICIA9Cf4UiECACrXwiDyAQVHEiDa18IBEgDRshESAPIBAgAhshDyASQn+FIBMgBRshEgsgESAUIAatfCITIBRUIgYgEkIBfCIQUHEiAiAPIAKtfCIUIA9UcSIFrXwgESAFGyERIBQgDyACGyEUIBAgEiAGGyEPDAILIAJBLUcEQAJAIAJB5QBGBEAgCUEBIQkNAQwFCyAEIAJBLkdyRQRAQQEhBAwFCyACQd8ARg0ECyADQQE2AowCIANBhLnAADYCiAIgA0IBNwKUAiADIANBsAJqrUKAgICA4AuENwPQAiADIANB0AJqNgKQAiADQYgCakGMucAAEI8BIQEgAEEBNgIAIAAgATYCBAwGCyAKQgA3AwAgCkEIakIANwMAIAxCADcDACADQgE3A4gCQn9CACADQYgCakHQtcAAQSAQ6QEiAhshDkJ/QgEgAhshFQwCCyADIAYgCEEKbGoiCDYChAILIARBACEERQ0AQQEhBCAHIAlBf3NBAXFqIQcLIAEgC0cNAAsgByAISwRAIANBAjYCjAIgA0HEuMAANgKIAiADQgI3ApQCIAMgA0H8AWqtQoCAgIDwC4Q3A9gCIAMgA0GEAmqtQoCAgICQDIQ3A9ACIAMgA0HQAmo2ApACIANBiAJqQdS4wAAQjwEhASAAQQE2AgAgACABNgIEDAILAkACfwJAAn4gDkIAWQRAQQAhAQJ+IBVQRQRAIA4hEiAODAELQgAhEiAOUEUEQEJ/IRIgDgwBCyAOUCEBQn9CACAOQgBSGwsiECARQgBZDQEaDAQLIBFCAFMNASAOIRIgDgshEAJAIA8gE4RCAFINAEIAIQ8gFEIAUg0AQgAhFCARQgBSDQBCACERQgAhE0EBIQJBASIBIA5CAFMNAhoMBAtBASECIA5CAFkEQEEBIQEMBAtBAAwBC0EAIQIgDiESIA4hEEEBCyEBIBJCf4VCACASfSIWQgAgFX0iFUIAUiIEGyESIBBCf4UiFyAWUCAEQX9zcSIErXwiFiAXIAQbIRAgBCAWIBdUca0gDkJ/hXwhFyACDQELIA9Cf4VCACAPfSIWQgAgE30iE0IAUiICGyEPIBRCf4UiDiAWUCACQX9zcSICrXwiFiAOIAIbIRQgAiAOIBZWca0gEUJ/hXwhEQsgA0G4AWogE0IAIBVCABDOASADQagBaiATQgAgEkIAEM4BIANBmAFqIBNCACAQQgAQzgEgA0GIAWogD0IAIBVCABDOASADQfgAaiAPQgAgEkIAEM4BIANB6ABqIBRCACAVQgAQzgEgAykDmAEiDiADQbABaikDACADKQOoASIWIANBwAFqKQMAfCIZIBZUrXx8IhYgDlStIANB8ABqKQMAIANBgAFqKQMAIANBoAFqKQMAIA8gEH4gEyAXfnwgEiAUfnx8IBEgFX58fHx8IANBkAFqKQMAIAMpA4gBIg4gGXwiESAOVK18Ig4gFnwiECAOVK18IAMpA3giDiAQfCIQIA5UrXwgAykDaCIOIBB8IhUgDlStfCESIAMpA7gBIQ8gAUUEQCASQn+FIhBCACARfSITUEIAIA99Ig9CAFIiAkF/c3EiASAVQn+FIg4gAa18IhQgDlRxIgStfCAQIAQbIRIgFCAOIAEbIRUgEUJ/hSATIAIbIRELIANBwAJqQgA3AwAgA0HIAmpCADcDACADQgA3A7gCIANCCjcDsAIgA0HoAmpCADcDACADQeACakIANwMAIANCADcD2AIgAyAIIAdrrTcD0AIgA0GIAmogA0GwAmogA0HQAmoQSiADKQOgAiEQQn8hF0J/IRYgDyARhCAVhCAShEIAUq0gFiASQgBZGyEWIAMpA4gCIRMgAykDkAIhFCADKQOYAiEOIBMgFIQgDoQgEIRCAFKtIBcgEEIAWRshFyASQgBTBEAgEUJ/hUIAIBF9IhhCACAPfSIPQgBSIgEbIREgFUJ/hSIZIBhQIAFBf3NxIgGtfCIYIBkgARshFSABIBggGVRxrSASQn+FfCESCyAQQgBTBEAgFEJ/hUIAIBR9IhhCACATfSITQgBSIgEbIRQgDkJ/hSIZIBhQIAFBf3NxIgGtfCIYIBkgARshDiABIBggGVRxrSAQQn+FfCEQCyADQdgAaiATQgAgD0IAEM4BIANByABqIBNCACARQgAQzgEgA0E4aiATQgAgFUIAEM4BIANBKGogFEIAIA9CABDOASADQRhqIBRCACARQgAQzgEgA0EIaiAOQgAgD0IAEM4BIAMpAzgiGSADQdAAaikDACADKQNIIhggA0HgAGopAwB8IhogGFStfHwiGCAZVK0gA0EQaikDACADQSBqKQMAIANBQGspAwAgFCAVfiASIBN+fCAOIBF+fHwgDyAQfnx8fHwgA0EwaikDACADKQMoIg4gGnwiDyAOVK18Ig4gGHwiECAOVK18IAMpAxgiDiAQfCIQIA5UrXwgAykDCCIOIBB8IhEgDlStfCESIAMpA1ghEyAAIBYgF35CAloEfiAPQn+FQgAgD30iEEIAIBN9IhNCAFIiARshDyARQn+FIg4gEFAgAUF/c3EiAa18IhAgDiABGyERIAEgDiAQVnGtIBJCf4V8BSASCzcDICAAIBE3AxggACAPNwMQIAAgEzcDCCAAQQA2AgALIANB8AJqJAALoxQCCn8WfiMAQdAEayIEJAAgBEHYA2ogA0EYaikDADcDACAEQdADaiADQRBqKQMANwMAIARByANqIANBCGopAwA3AwAgBCADKQMANwPAAyAEQZgCaiIFQgA3AwAgBEGQAmoiBkIANwMAIARBiAJqIgdCADcDACAEQgA3A4ACAkACQCAEQcADaiIIIARBgAJqIglBIBDpAQRAQQEhCkEBIQsgASkDGCIPQgBZBEAgASkDACEOIAEpAwghECABKQMQIREgBCAPNwPYAyAEIBE3A9ADIAQgEDcDyAMgBCAONwPAAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAggCRDSAUH/AXFB/wFGIQsLIAIpAxgiD0IAWQRAIAIpAwAhDiACKQMIIRAgAikDECERIAQgDzcD2AMgBCARNwPQAyAEIBA3A8gDIAQgDjcDwAMgBEGYAmpCADcDACAEQZACakIANwMAIARBiAJqQgA3AwAgBEIANwOAAiAEQcADaiAEQYACahDSAUH/AXFB/wFGIQoLQQEhBiADKQMYIg9CAFkEQCADKQMAIQ4gAykDCCEQIAMpAxAhESAEIA83A9gDIAQgETcD0AMgBCAQNwPIAyAEIA43A8ADIARBmAJqQgA3AwAgBEGQAmpCADcDACAEQYgCakIANwMAIARCADcDgAIgBEHAA2ogBEGAAmoQ0gFB/wFxQf8BRiEGCyAEQZgCaiIHIAFBGGopAwA3AwAgBEGQAmoiCCABQRBqKQMANwMAIARBiAJqIgkgAUEIaikDADcDACAEIAEpAwA3A4ACIARBgARqIg0gBEGAAmoiBRBXIAcgAkEYaikDADcDACAIIAJBEGopAwA3AwAgCSACQQhqKQMANwMAIAQgAikDADcDgAIgBEHAA2oiDCAFEFcgBEEwaiAEKQOABCIPQgAgBCkDwAMiDkIAEM4BIARB4ABqIAQpA4gEIhBCACAOQgAQzgEgBEHQAGogBCkDkAQiEUIAIA5CABDOASAEQUBrIAQpA5gEIhJCACAOQgAQzgEgBEEgaiAEKQPIAyIOQgAgD0IAEM4BIARBkAFqIA5CACAQQgAQzgEgBEHAAWogDkIAIBFCABDOASAEQfABaiAOQgAgEkIAEM4BIARBEGogBCkD0AMiDkIAIA9CABDOASAEQYABaiAOQgAgEEIAEM4BIARBsAFqIA5CACARQgAQzgEgBEHgAWogDkIAIBJCABDOASAEIAQpA9gDIg5CACAPQgAQzgEgBEHwAGogDkIAIBBCABDOASAEQaABaiAOQgAgEUIAEM4BIARB0AFqIA5CACASQgAQzgEgBCAEKQMwNwOAAyAEQegAaikDACESIAQpA1AhDyAEIAQpAyAiFyAEKQNgIhQgBEE4aikDAHwiE3wiFTcDiAMgBEGYAWopAwAhFiAEQdgAaikDACEYIAQpA0AhDiAEKQPAASEQIARByAFqKQMAIRkgBEHIAGopAwAhGiAEKQPwASERIAQgBCkDECIdIAQpA5ABIhsgBEEoaikDACAVIBdUrXwiFSAPIBIgEyAUVK18fCITfCIUfCIcfCIeNwOQAyAEQYgBaikDACEfIAQpA7ABIRIgBEG4AWopAwAhICAEQfgBaikDACEhIAQpA+ABIRcgBCAEKQMAIiIgBCkDgAEiIyAEQRhqKQMAIB0gHlatfCIdIBAgFiAbIBxWrXwiFiAUIBVUrXwiFCAOIBggDyATVq18fCITfCIVfCIYfCIPfCIbfCIcNwOYAyAEIAQpA3AiHiAEQQhqKQMAIBwgIlStfCIcIBIgHyAbICNUrXwiGyAPIB1UrXwiDyARIBkgECAYVq18IhggFCAWVCAUIBVWcq18IhAgGiAOIBNWrXx8IhR8IhN8IhV8IhZ8Ig58Ihk3A6ADIAQgBCkDoAEiGiAEQfgAaikDACAZIB5UrXwiGSAOIBxUrXwiDiAXICAgEiAWVq18IhIgDyAbVCAPIBVWcq18Ig8gESATVq0gISAQIBhUIBAgFFZyrXx8fCIQfCIRfCIUfCITNwOoAyAEQdgBaikDACEVIAQgBCkD0AEiFiAEQagBaikDACATIBpUrXwiEyAOIBlUIA4gFFZyrXwiDiARIBdUrSAEQegBaikDACAPIBJUIA8gEFZyrXx8fCIPfCIQNwOwAyAEIBAgFlStIBUgDiATVCAOIA9Wcq18fDcDuAMgByADQRhqKQMANwMAIAggA0EQaikDADcDACAJIANBCGopAwA3AwAgBCADKQMANwOAAiANIAUQVyAEQegDakIANwMAIARB8ANqQgA3AwAgBEH4A2pCADcDACAEQgA3A+ADIAQgBCkDmAQ3A9gDIAQgBCkDkAQ3A9ADIAQgBCkDiAQ3A8gDIAQgBCkDgAQ3A8ADIAUgBEGAA2ogDBBLIAQpA7gCIAQpA7ACIAQpA6gCIAQpA6AChISEUEUNASAEKQOAAiEPIAQpA4gCIQ4gBCkDkAIhECAEKQPAAiEXIAQpA8gCIRQgBCkD0AIhEyAEKQPYAiEVIAQpA+ACIRYgBCkD6AIhGCAEKQPwAiEZIAQpA/gCIRogBCAEKQOYAjcDuAQgBCAQNwOwBCAEIA43A6gEIAQgDzcDoAQgBSALIAYgCnNzRSIBIARBoARqEIgBIAQoAoACDQIgBCkDoAIhECAEKQOYAiERIAQpA5ACIQ8gBCkDiAIhEiAEQdgDakIANwMAIARB0ANqQgA3AwAgBEIANwPIAyAEIBQgF4QgE4QgFYQgFoQgGIQgGYQgGoRCAFKtNwPAAyAFIAEgDBCIASAEKAKAAkUEQCAPIAQpA5ACfCIOIA9UIQEgBCkDmAIhDyASIBIgBCkDiAJ8IhdYBH4gAa0FIA5CAXwiDlCtIAGtfAshEiARIA8gEXwiD1YhASAEKQOgAiERIABBEjoAICAAIBJQBH4gAa0FIA8gDyASfCIPVq0gAa18CyISUAR+IBAgEXwFIBAgEXwgEnwLNwMYIAAgDzcDECAAIA43AwggACAXNwMAIARB0ARqJAAPCyAEIAQoAoQCNgLAA0HAjMAAQSsgBEHAA2pBsIzAAEGQkcAAEM8BAAsgBEEANgKQAiAEQQE2AoQCIARB2JHAADYCgAIgBEIENwKIAiAEQYACakHgkcAAEPABAAsgBCADNgLMBCAEIAI2AsgEIAQgATYCxAQjAEEwayIAJAAgAEEDNgIEIABBmJLAADYCACAAQgM3AgwgACAEQcQEaiIBNQIIQoCAgIDQAYQ3AyggACABNQIEQoCAgIDQAYQ3AyAgACABNQIAQoCAgIDQAYQ3AxggACAAQRhqNgIIIABBsJLAABCPASEBIABBMGokACAEIAE2AoACQcCMwABBKyAEQYACakGwjMAAQbCRwAAQzwEACyAEIAQoAoQCNgLAA0HAjMAAQSsgBEHAA2pBsIzAAEGgkcAAEM8BAAv0EQIKfxZ+IwBB0ARrIgQkACAEQagDaiADQRhqKQMANwMAIARBoANqIANBEGopAwA3AwAgBEGYA2ogA0EIaikDADcDACAEIAMpAwA3A5ADIARB6ANqIgVCADcDACAEQeADaiIGQgA3AwAgBEHYA2oiB0IANwMAIARCADcD0AMCQAJAIARBkANqIgggBEHQA2oiCUEgEOkBBEBBASEKQQEhCyABKQMYIg9CAFkEQCABKQMAIQ4gASkDCCEQIAEpAxAhESAEIA83A6gDIAQgETcDoAMgBCAQNwOYAyAEIA43A5ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCCAJENIBQf8BcUH/AUYhCwsgAikDGCIPQgBZBEAgAikDACEOIAIpAwghECACKQMQIREgBCAPNwOoAyAEIBE3A6ADIAQgEDcDmAMgBCAONwOQAyAEQegDakIANwMAIARB4ANqQgA3AwAgBEHYA2pCADcDACAEQgA3A9ADIARBkANqIARB0ANqENIBQf8BcUH/AUYhCgsgAykDGCIPQgBTBH9BAQUgAykDACEOIAMpAwghECADKQMQIREgBCAPNwOoAyAEIBE3A6ADIAQgEDcDmAMgBCAONwOQAyAEQegDakIANwMAIARB4ANqQgA3AwAgBEHYA2pCADcDACAEQgA3A9ADIARBkANqIARB0ANqENIBQf8BcUH/AUYLIQwgBEHoA2oiBiABQRhqKQMANwMAIARB4ANqIgcgAUEQaikDADcDACAEQdgDaiIIIAFBCGopAwA3AwAgBCABKQMANwPQAyAEQeACaiINIARB0ANqIgUQVyAGIAJBGGopAwA3AwAgByACQRBqKQMANwMAIAggAkEIaikDADcDACAEIAIpAwA3A9ADIARBkANqIgkgBRBXIARBMGogBCkD4AIiD0IAIAQpA5ADIg5CABDOASAEQeAAaiAEKQPoAiIQQgAgDkIAEM4BIARB0ABqIAQpA/ACIhFCACAOQgAQzgEgBEFAayAEKQP4AiITQgAgDkIAEM4BIARBIGogBCkDmAMiDkIAIA9CABDOASAEQZABaiAOQgAgEEIAEM4BIARBwAFqIA5CACARQgAQzgEgBEHwAWogDkIAIBNCABDOASAEQRBqIAQpA6ADIg5CACAPQgAQzgEgBEGAAWogDkIAIBBCABDOASAEQbABaiAOQgAgEUIAEM4BIARB4AFqIA5CACATQgAQzgEgBCAEKQOoAyIOQgAgD0IAEM4BIARB8ABqIA5CACAQQgAQzgEgBEGgAWogDkIAIBFCABDOASAEQdABaiAOQgAgE0IAEM4BIAQgBCkDMDcDoAIgBEHoAGopAwAhEyAEKQNQIQ8gBCAEKQMgIhsgBCkDYCIUIARBOGopAwB8IhJ8IhU3A6gCIARBmAFqKQMAIRYgBEHYAGopAwAhFyAEKQNAIQ4gBCkDwAEhECAEQcgBaikDACEYIARByABqKQMAIRwgBCkD8AEhESAEIAQpAxAiHSAEKQOQASIZIARBKGopAwAgFSAbVK18IhUgDyATIBIgFFStfHwiEnwiFHwiGnwiHjcDsAIgBEGIAWopAwAhHyAEKQOwASETIARBuAFqKQMAISAgBEH4AWopAwAhISAEKQPgASEbIAQgBCkDACIiIAQpA4ABIiMgBEEYaikDACAdIB5WrXwiHSAQIBYgGSAaVq18IhYgFCAVVK18IhQgDiAXIA8gElatfHwiEnwiFXwiF3wiD3wiGXwiGjcDuAIgBCAEKQNwIh4gBEEIaikDACAaICJUrXwiGiATIB8gGSAjVK18IhkgDyAdVK18Ig8gESAYIBAgF1atfCIXIBQgFlQgFCAVVnKtfCIQIBwgDiASVq18fCIUfCISfCIVfCIWfCIOfCIYNwPAAiAEIAQpA6ABIhwgBEH4AGopAwAgGCAeVK18IhggDiAaVK18Ig4gGyAgIBMgFlatfCITIA8gGVQgDyAVVnKtfCIPIBEgElatICEgECAXVCAQIBRWcq18fHwiEHwiEXwiFHwiEjcDyAIgBEHYAWopAwAhFSAEIAQpA9ABIhYgBEGoAWopAwAgEiAcVK18IhIgDiAYVCAOIBRWcq18Ig4gESAbVK0gBEHoAWopAwAgDyATVCAPIBBWcq18fHwiD3wiEDcD0AIgBCAQIBZUrSAVIA4gElQgDiAPVnKtfHw3A9gCIAYgA0EYaikDADcDACAHIANBEGopAwA3AwAgCCADQQhqKQMANwMAIAQgAykDADcD0AMgDSAFEFcgBEHIA2pCADcDACAEQcADakIANwMAIARBuANqQgA3AwAgBEIANwOwAyAEIAQpA/gCNwOoAyAEIAQpA/ACNwOgAyAEIAQpA+gCNwOYAyAEIAQpA+ACNwOQAyAFIARBoAJqIAkQSyAEKQOIBCAEKQOABCAEKQP4AyAEKQPwA4SEhFBFDQEgBCkD4AMhDyAEKQPYAyEOIAQpA9ADIRAgBCAEKQPoAzcDmAIgBCAPNwOQAiAEIA43A4gCIAQgEDcDgAIgBSALIAogDHNzRSAEQYACahCIASAEKALQA0UNAiAEIAQoAtQDNgKQA0HAjMAAQSsgCUGwjMAAQcCSwAAQzwEACyAEQQA2AuADIARBATYC1AMgBEHYkcAANgLQAyAEQgQ3AtgDIARB0ANqQeCSwAAQ8AEACyAEIAM2AowDIAQgAjYCiAMgBCABNgKEAyMAQTBrIgAkACAAQQM2AgQgAEGYksAANgIAIABCAzcCDCAAIARBhANqIgE1AghCgICAgNABhDcDKCAAIAE1AgRCgICAgNABhDcDICAAIAE1AgBCgICAgNABhDcDGCAAIABBGGo2AgggAEHwksAAEI8BIQEgAEEwaiQAIAQgATYC0ANBwIzAAEErIARB0ANqQbCMwABB0JLAABDPAQALIAAgBCkD2AM3AwAgAEEgaiAEQfgDaikDADcDACAAQRhqIARB8ANqKQMANwMAIABBEGogBEHoA2opAwA3AwAgAEEIaiAEQeADaikDADcDACAEQdAEaiQAC6QTAhF/CX4jAEGQAmsiAiQAIAEtACAhCCACQQhqIgNBABDWASACQShqQQoQ1gEgAkHIAGpBMBDWASACQcgBaiILIAFBGGopAwA3AwAgAkHAAWoiCiABQRBqKQMANwMAIAJBuAFqIgwgAUEIaikDADcDACACIAEpAwA3A7ABIAJB6ABqIgQgAkGwAWoQVyACQQA2ApABIAJCgICAgMAANwKIAQJAAkACQAJAAkACQAJAAkAgBCADENIBQf8BcUEBRgRAIAJB0AFqIQUgAikDYCEYIAIpA1ghGSACKQNQIRogAikDSCEbA0AgCEUgBiAIR3JFBEAgAigCkAEiAyACKAKIAUYEQCACQYgBahC3AQsgAigCjAEgA0ECdGpBLjYCACACIANBAWo2ApABCyACQYgCaiACQYABaiINKQMANwMAIAJBgAJqIAJB+ABqIg4pAwA3AwAgAkH4AWogAkHwAGoiDykDADcDACACIAIpA2g3A/ABIAJBsAFqIAJB8AFqIAJBKGoQTiAFQQhqKQMAIhMgGnwiFSATVCEDIAVBEGopAwAiFCAZfCITIBRUIQQgBUEYaikDACIWIBh8IhQgFlQhBwJAIAUpAwAiFyAbfCIWIBdaBH4gA60FIBVCAXwiFVCtIAOtfAsiF1AEfiAErQUgEyATIBd8IhNWrSAErXwLIhdQBEAgAiAUNwPIASACIBM3A8ABIAIgFTcDuAEgAiAWNwOwASAHRQ0BDAsLIAIgEzcDwAEgAiAVNwO4ASACIBY3A7ABIAIgFCAXfCITNwPIASAHIBMgFFRyDQoLIAJB8AFqIQdBACEJIwBBQGoiAyQAAkACQAJAIAJBsAFqIgQpAxAgBCkDGIRQBEAgByAEKQMINwMQIAcgBCkDADcDCAwBC0EBIQkgA0EBNgIUIANBsKbAADYCECADQgE3AhwgAyAErUKAgICA4AGENwMoIAMgA0EoajYCGCADQTRqIgQgA0EQahCRASADQQhqIARBuKbAABDfASADKAIMIRAgAygCCCERIANBGGoiEiADQTxqKAIANgIAQfGCwQAtAAAaIAMgAykCNDcDEEEYQQQQwgIiBEUNASAEIBE2AgQgBEGEn8AANgIAIAQgAykDEDcCDCAEIBA2AgggBEEUaiASKAIANgIAIAcgBDYCBAsgByAJNgIAIANBQGskAAwBC0EEQRgQ9gIACyACKALwAQ0CIAItAPgBIQQgAigCkAEiAyACKAKIAUYEQCACQYgBahC3AQsgAigCjAEgA0ECdGogBDYCACACIANBAWo2ApABIAJBsAFqIAJB6ABqIgMgAkEoahBOIA0gCykDADcDACAOIAopAwA3AwAgDyAMKQMANwMAIAIgAikDsAE3A2ggBkEBaiEGIAMgAkEIahDSAUH/AXFBAUYNAAsLIAYgCE8NAiACKAKQASIEIAQgCCAGayIHaiIDTw0EIAIoAogBIARrIAdJDQEMAwsgAiACKAL0ATYCsAFBwIzAAEErIAJBsAFqQbCMwABB7IzAABDPAQALIAJBiAFqIQUjAEEgayIDJAAgBCAEIAdqIglLBEBBAEEAEK0CAAtBBCEEQQQgBSgCACILQQF0IgogCSAJIApJGyIJIAlBBE0bIgpBAnQhDCAJQYCAgIACSUECdCEJAkAgC0UEQEEAIQQMAQsgAyALQQJ0NgIcIAMgBSgCBDYCFAsgAyAENgIYIANBCGogCSAMIANBFGoQwgEgAygCCEEBRgRAIAMoAgwgAygCEBCtAgALIAMoAgwhBCAFIAo2AgAgBSAENgIEIANBIGokACACKAKQASEEDAELIAYgCEcNAyACKAKQASEDDAILIAIoAowBIARBAnRqIQMgB0ECTwRAIAZBf3MgCGoiBkEHcSEFIAdBAmtBB08EQCAGQXhxIQYDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgBkEIayIGDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2ApABCyACKAKIASEFIAgEQCADIAVGBEAgAkGIAWoQtwELIAIoAowBIANBAnRqQS42AgAgAiADQQFqIgM2ApABIAIoAogBIQULIAMgBUYEQCACQYgBahC3AQsgAigCjAEgA0ECdGpBMDYCACACIANBAWo2ApABCyACIAEpAxgiE0IAWQR/IAEpAwAhFSABKQMIIRQgASkDECEWIAIgEzcDiAIgAiAWNwOAAiACIBQ3A/gBIAIgFTcD8AEgAkHIAWpCADcDACACQcABakIANwMAIAJBuAFqQgA3AwAgAkIANwOwASACQfABaiACQbABahDSAUH/AXFB/wFHBUEACzoAlwEgAigCjAEhASACKAKQASEEIAJBADYCrAEgAkKAgICAEDcCpAEgBARAIAJBpAFqQQAgBBC5AQsgAkGkAWohAyMAQRBrIgYkACABIARBAnRqIgggAUcEQANAAkACfwJAIAhBBGsiCCgCACIEQYABTwRAIAZBADYCDCAEQYAQSQ0BIARBgIAESQRAIAYgBEE/cUGAAXI6AA4gBiAEQQx2QeABcjoADCAGIARBBnZBP3FBgAFyOgANQQMMAwsgBiAEQT9xQYABcjoADyAGIARBEnZB8AFyOgAMIAYgBEEGdkE/cUGAAXI6AA4gBiAEQQx2QT9xQYABcjoADUEEDAILIAMoAggiBSADKAIARgRAIAMQugELIAMoAgQgBWogBDoAACADIAVBAWo2AggMAgsgBiAEQT9xQYABcjoADSAGIARBBnZBwAFyOgAMQQILIQQgBCADKAIAIAMoAggiBWtLBH8gAyAFIAQQuQEgAygCCAUgBQsgAygCBGogBkEMaiAEEJkBGiADIAMoAgggBGo2AggLIAEgCEcNAAsLIAZBEGokACACQaABaiACQawBaigCADYCACACIAIpAqQBNwOYASACQQI2ArQBIAJB/IzAADYCsAEgAkICNwK8ASACIAJBmAFqrUKAgICAEIQ3A/gBIAIgAkGXAWqtQoCAgIDAAYQ3A/ABIAIgAkHwAWo2ArgBIAAgAkGwAWoQkQEgAigCmAEiAARAIAIoApwBIAAQ0wILIAIoAogBIgAEQCACKAKMASAAQQJ0ENMCCyACQZACaiQADwsgAkEANgKAAiACQQE2AvQBIAJBnKjAADYC8AEgAkIENwL4ASACQfABakHsp8AAEPABAAv5BgIKfwF+QQEhCEEBIQcCQAJAAkACQAJAAkAgBSAGIAUgBksiBBsiC0EBTQRAIAggByAEGyIJIAtqIgQgCUkNASAEQQFLDQICfyADIAMgCWogCxDpAQRAIAtBASALayIESyEIQQEhBiADIQUDQEIBIAUxAACGIA6EIQ4gBUEBaiEFIAZBAWsiBg0ACyALIAQgCBtBAWohCUF/IQogCyEIQX8MAQtBASEGQQEhBEEAIQgDQCAEIgogBWoiDEUEQEEBIAVrIARBf3NqIgQNBiAFQX9zQQFqIAhrIgcNBwJAIAMgBGotAAAiBCADIAdqLQAAIgdJBEAgDEEBaiIEIAhrIQZBACEFDAELIAQgB0cEQCAKQQFqIQRBACEFQQEhBiAKIQgMAQtBACAFQQFqIgQgBCAGRiIHGyEFIARBACAHGyAKaiEECyAGIAlHDQELC0EBIQZBACEFQQEhBEEAIQcDQCAEIgogBWoiDUUEQEEBIAVrIARBf3NqIgQNCCAFQX9zQQFqIAdrIgwNCQJAIAMgBGotAAAiBCADIAxqLQAAIgxLBEAgDUEBaiIEIAdrIQZBACEFDAELIAQgDEcEQCAKQQFqIQRBACEFQQEhBiAKIQcMAQtBACAFQQFqIgQgBCAGRiIMGyEFIARBACAMGyAKaiEECyAGIAlHDQELC0EBIAggByAHIAhJG2shCAJAIAlFBEBBACEJQQAhCgwBCyAJQQNxIQRBACEKAkAgCUEESQRAQQAhBgwBCyAJQXxxIQVBACEGA0BCASADIAZqIgdBA2oxAACGQgEgBzEAAIYgDoRCASAHQQFqMQAAhoRCASAHQQJqMQAAhoSEIQ4gBSAGQQRqIgZHDQALCyAERQ0AIAMgBmohBQNAQgEgBTEAAIYgDoQhDiAFQQFqIQUgBEEBayIEDQALC0EBCyEEIABBATYCPCAAIAM2AjggACACNgI0IAAgATYCMCAAIAQ2AiggACAKNgIkIAAgAjYCICAAQQA2AhwgACAJNgIYIAAgCDYCFCAAIAs2AhAgACAONwMIIABBATYCAA8LIAtBAUHw7MAAENkBAAsgCSAEQYDtwAAQ2gEACyAEQQFBgO3AABDZAQALIARBAUGg7cAAENgBAAsgB0EBQbDtwAAQ2AEACyAEQQFBoO3AABDYAQALIAxBAUGw7cAAENgBAAuMCwIKfwl+IwBB0AFrIgMkACADIAI2AgwgAyABNgIIIANBKGoiCUIANwMAIANBIGoiCkIANwMAIANBGGoiC0IANwMAIANCADcDEAJAAkACQAJAIAJFBEAMAQsgASACaiEMA0ACfyABLAAAIghBAE4EQCAIQf8BcSECIAFBAWoMAQsgAS0AAUE/cSECIAhBH3EhBCAIQV9NBEAgBEEGdCACciECIAFBAmoMAQsgAS0AAkE/cSACQQZ0ciECIAhBcEkEQCACIARBDHRyIQIgAUEDagwBCyAEQRJ0QYCA8ABxIAEtAANBP3EgAkEGdHJyIQIgAUEEagshASADIAI2AnACQCACQTBrIgRBCk8EQCAHIAJB5QBHckUEQEEBIQcMAgsgBSACQS5HckUEQEEBIQUMAgsgAkHfAEYNASADQQE2ArQBIANBlLjAADYCsAEgA0IBNwK8ASADIANB8ABqrUKAgICA4AuENwOQASADIANBkAFqNgK4ASADQbABakGcuMAAEI8BIQEgAEEBNgIAIAAgATYCBAwECwJAAkAgB0UEQCADIA03A8gBIAMgDjcDwAEgAyAQNwO4ASADIBI3A7ABIANBkAFqIANBsAFqEJ0BIAMpA5gBIRACQCADKQOQASIRIAStfCISIBFUBEAgEEIBfCIQUA0BCyADKQOgASEOIAMpA6gBIQ0MAgsgAykDoAFCAXwiDlBFBEAgAykDqAEhDQwCCyADKQOoAUIBfCINQgBSDQEMCAsgA0HIAWogCSkDADcDACADQcABaiAKKQMANwMAIANBuAFqIAspAwA3AwAgAyADKQMQNwOwASADQZABaiADQbABahCdASADKQOYASEPAkACQAJAIAMpA5ABIhEgBK18IhQgEVQEQCAPQgF8Ig9QDQELIAMpA6ABIREMAQsgAykDoAFCAXwiEVANAQsgAyADKQOoATcDKCADIBE3AyAgAyAPNwMYIAMgFDcDEAwBCyADIBE3AyAgAyAPNwMYIAMgFDcDECADIAMpA6gBQgF8IhE3AyggEVANAQsgBUEAIQVFDQFBASEFIAYgB0F/c0EBcWohBgwBCwwFCyABIAxHDQALCyADQTBqIgEgBhDWASADQRBqIgIgARDSAUH/AXFB/wFGBEAgA0ECNgK0ASADQey2wAA2ArABIANCAjcCvAEgAyADQQhqrUKAgICA8AuENwOYASADIAKtQoCAgICADIQ3A5ABIAMgA0GQAWo2ArgBIANBsAFqQeS3wAAQjwEhASAAQQE2AgAgACABNgIEDAELIAMgDTcDaCADIA43A2AgAyAQNwNYIAMgEjcDUCADQZABakEKENYBIAMpA0AhDyADKQM4IRMgAykDICEOIAMpAxghDQJ+IAMpAxAiFCADKQMwIhFaBEAgDSATVK0hEiANIBN9DAELIA0gE1StIA0gE1GtfCESIA0gE0J/hXwLIRUgAykDSCETIAMpAyghDSAOIA99IRACQCASUARAIA4gD1StIQ8MAQsgECASVK0gDiAPVK18IQ8gECASfSEQCyANIBN9IQ4CQCAPUARAIAMgDjcDyAEgAyAQNwPAASADIBU3A7gBIAMgFCARfTcDsAEgDSATWg0BDAMLIAMgEDcDwAEgAyAVNwO4ASADIA4gD303A8gBIAMgFCARfTcDsAEgDSATVCAOIA9Ucg0CCyADQfAAaiIBIANBkAFqIANBsAFqEGogAEEIaiADQdAAaiABEF4gAEEANgIACyADQdABaiQADwsgA0EANgKAASADQQE2AnQgA0GwtsAANgJwIANCBDcCeCADQfAAakG8tcAAEPABAAsgA0EANgLAASADQQE2ArQBIANBmMfAADYCsAEgA0IENwK4ASADQbABakG4xsAAEPABAAvyCgIJfwh+IwBB0AFrIgMkACADQUBrIgQgAUEYaiIFKQMANwMAIANBOGoiBiABQRBqKQMANwMAIANBMGoiByABQQhqKQMANwMAIAMgASkDADcDKCADQdAAaiADQShqEFcgA0EIaiADQdgAaikDADcDACADQRBqIANB4ABqKQMANwMAIANBGGogA0HoAGopAwA3AwAgA0ESOgAgIAMgAykDUDcDACADQcgBaiIIIAJBGGopAwA3AwAgA0HAAWoiCSACQRBqKQMANwMAIANBuAFqIgogAkEIaikDADcDACADIAIpAwA3A7ABIANB8ABqIANBsAFqIgsQVyAHIANB+ABqKQMANwMAIAYgA0GAAWopAwA3AwAgBCADQYgBaikDADcDACADQRI6AEggAyADKQNwNwMoAkACQAJAAkACQAJAIAUpAwAiDEIAWQRAIAEpAwAhDSABKQMIIRAgASkDECEOIAMgDDcDqAEgAyAONwOgASADIBA3A5gBIAMgDTcDkAEgCEIANwMAIAlCADcDACAKQgA3AwAgA0IANwOwASADQZABaiALENIBQf8BcSEBIAIpAxgiDEIAUw0CIAFB/wFGIQEMAQtBASEBIAIpAxgiDEIAUw0DCyACKQMAIQ0gAikDCCEQIAIpAxAhDiADIAw3A6gBIAMgDjcDoAEgAyAQNwOYASADIA03A5ABIANByAFqQgA3AwAgA0HAAWpCADcDACADQbgBakIANwMAIANCADcDsAEgASADQZABaiADQbABahDSAUH/AXFB/wFGcw0BDAILIAFB/wFGDQELIAMpA1giDCADKQN4fCINIAxUIQEgAykDgAEhDCADKQNQIhAgAykDcHwiDyAQWgR+IAGtBSANQgF8Ig1QrSABrXwLIRAgAykDiAEhDiADKQNgIhEgDHwiDCARVCEBIBBQBH4gAa0FIAwgDCAQfCIMVq0gAa18CyEQIAMpA2giESAOfCIOIBFUIQECQCAQUARAIAAgDjcDGCAAIAw3AxAgACANNwMIIAAgDzcDACABDQEMAwsgACAMNwMQIAAgDTcDCCAAIA83AwAgACAOIBB8Igw3AxggAQ0AIAwgDloNAgsgA0EANgLAASADQQE2ArQBIANBnKjAADYCsAEgA0IENwK4ASADQbABakHsp8AAEPABAAsCQCADIANBKGoQ0gFB/wFxQQFHBEAgAykDeCEMIAMpA2AhDyADKQNYIQ0CfiADKQNwIhIgAykDUCITWgRAIAwgDVStIQ4gDCANfQwBCyAMIA1UrSAMIA1RrXwhDiAMIA1Cf4V8CyEQIAMpA2ghESADKQOAASINIA99IQwCQCAOUARAIA0gD1StIQ8MAQsgDCAOVK0gDSAPVK18IQ8gDCAOfSEMCyADKQOIASIOIBF9IQ0CQCAPUARAIA4gEVoNAQwFCyANIA9UIA4gEVRyDQQgDSAPfSENCwwBCyADKQNYIQwgAykDgAEhDyADKQN4IQ0CfiADKQNQIhIgAykDcCITWgRAIAwgDVStIQ4gDCANfQwBCyAMIA1UrSAMIA1RrXwhDiAMIA1Cf4V8CyEQIAMpA4gBIREgAykDYCINIA99IQwCQCAOUARAIA0gD1StIQ8MAQsgDCAOVK0gDSAPVK18IQ8gDCAOfSEMCyADKQNoIg4gEX0hDQJAIA9QBEAgDiARWg0BDAQLIA0gD1QgDiARVHINAyANIA99IQ0LCyASIBN9IQ4gACANNwMYIAAgDDcDECAAIBA3AwggACAONwMACyAAQRI6ACAgA0HQAWokAA8LIANBADYCwAEgA0EBNgK0ASADQcSTwAA2ArABIANCBDcCuAEgA0GwAWpBoIvAABDwAQALvAoCAn8HfiMAQaABayICJAACQAJAAkACQAJAIAEpAxgiBkIAWQRAIAEpAwAhByABKQMIIQQgASkDECEFIAIgBjcDcCACIAU3A2ggAiAENwNgIAIgBzcDWCACQZABakIANwMAIAJBiAFqQgA3AwAgAkGAAWpCADcDACACQgA3A3ggAkHYAGogAkH4AGoQ0gFB/wFxQf8BRw0BCyABQcCYwABBIBDpAUUNAiABKQMQIQUgASkDCCEEIAEpAwAhByAGQgBTDQELIAIgBjcDcCACIAU3A2ggAiAENwNgIAIgBzcDWCACQZABakIANwMAIAJBiAFqQgA3AwAgAkGAAWpCADcDACACQgA3A3ggAkHYAGogAkH4AGoQ0gFB/wFxQf8BRg0AIAIgBTcDSCACIAQ3A0AgAiAHNwM4DAILAn4gB1AEQEIAIAR9IQkgBEIAUq0MAQsgBEJ/hSEJIARCAFKtIARQrXwLIQhCACAFfSEEAkAgCFAEQEJ/QgAgBUIAUhshBQwBC0J/QgAgBUIAUhsgBCAIVK19IQUgBCAIfSEECyACIAQ3A0ggAiAJNwNAIAIgBSAGfSIGNwNQIAJCACAHfTcDOCAGQgBZDQEgAkEBNgJ8IAJB3JrAADYCeCACQgE3AoQBIAIgAkE4aq1CgICAgLABhDcDmAEgAiACQZgBajYCgAEgAkHYAGoiASACQfgAaiIAEJEBIAJBEGogAUHkmsAAEN8BIAIpAxAhBCACQYwBaiACQeAAaigCADYCACACIAIpAlg3AoQBIAIgBDcCfCACQYSfwAA2AnggAiAAEOcBNgJ4QfCYwABBKyAAQeCYwABBhJrAABDPAQALIAYgASkDAEIBfCIJIAEpAwgiBUIBfCIHhFAiAyABKQMQIgQgA618IgggBFRxIgGtfCAIIAQgAxshCAJ+IAlQBEBCACAHfSEEIAdCAFKtDAELIAVCf4UhBCAFQgBSrSAFUK18CyEHIAYgARshBUIAIAh9IQYCQCAHUARAQn9CACAIQgBSGyEIDAELQn9CACAIQgBSGyAGIAdUrX0hCCAGIAd9IQYLIAIgBjcDKCACIAQ3AyAgAiAIIAV9Igc3AzAgAkIAIAl9IgU3AxggB0IAWQRAIAJB+ABqQQEQ1gEgBCACKQOAAXwiCCAEVCEBIAIpA4gBIAUgBSACKQN4fCIJWAR+IAGtBSAIQgF8IghQrSABrXwLIQUgAikDkAEhCiAGfCIEIAZUIQEgBVAEfiABrQUgBCAEIAV8IgRWrSABrXwLIQYgByAKfCIFIAdUIQECQCAGUARAIAAgBTcDGCAAIAQ3AxAgACAINwMIIAAgCTcDACABRQ0EDAELIAAgBDcDECAAIAg3AwggACAJNwMAIAAgBSAGfCIENwMYIAENACAEIAVaDQMLIAJBADYCaCACQQE2AlwgAkGcqMAANgJYIAJCBDcCYCACQdgAakHsp8AAEPABAAsgAkEBNgJ8IAJB3JrAADYCeCACQgE3AoQBIAIgAkEYaq1CgICAgLABhDcDOCACIAJBOGo2AoABIAJB2ABqIgEgAkH4AGoiABCRASACQQhqIAFB5JrAABDfASACKQMIIQQgAkGMAWogAkHgAGooAgA2AgAgAiACKQJYNwKEASACIAQ3AnwgAkGEn8AANgJ4IAIgABDnATYCeEHwmMAAQSsgAEHgmMAAQZSawAAQzwEACyAAIAIpAzg3AwAgAEEQaiACQcgAaikDADcDACAAQQhqIAJBQGspAwA3AwAgACAGNwMYCyACQaABaiQAC5MKAgR/BH4jAEHwAmsiBCQAAkACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEHIAWogAUEoaikDADcDACAEQcABaiABQSBqKQMANwMAIARBuAFqIAFBGGopAwA3AwAgBEGwAWoiBiABQRBqKQMANwMAIAQgASkDCDcDqAEgBEH4AWoiBSACIANB////B0cgAxBsAn8CQCAEKAL4AUUEQCAEQfABaiAEQaACaikDACIINwMAIARB6AFqIARBmAJqKQMAIgk3AwAgBEHgAWogBEGQAmopAwAiCjcDACAEQdgBaiAEQYgCaikDACILNwMAIARBuAJqIAs3AwAgBEHAAmogCjcDACAEQcgCaiAJNwMAIARB0AJqIAg3AwAgBCAEKQOAAiIINwPQASAEIAg3A7ACIARB+ABqIARBqAFqIgIgBEGwAmoQTSAEKAJ4QQFGBEAgBCAEKAJ8NgLYAiAEIARB2AJqIgc2AtwCQQEhAyAEQQE2AvwBIARBoJzAADYC+AEgBEIBNwKEAiAEIARB3AJqrUKAgICAMIQ3A6gBIAQgAjYCgAIgBEHgAmogBRCRASAEQQA2ArABIARCgICAgBA3AqgBIARBAzoAmAIgBEEgNgKIAiAEQQA2ApQCIARBqJzAADYCkAIgBEEANgKAAiAEQQA2AvgBIAQgAjYCjAJB7IbAACAFEM0BDQcgBEHkAGogBigCADYCACAEQdgAaiICIARB6AJqKAIANgIAIAQgBCkCqAE3AlwgBCAEKQLgAjcDUCAHELUCIARBOGogBEHgAGopAwAiCDcDACAEQTBqIAIpAwAiCTcDACAEQQhqIAk3AwAgBEEQaiAINwMAIAQgBCkDUCIINwMoIAQgCDcDAAwCCyAEQfAAaiAEQaABaikDACIINwMAIARBMGogBEGIAWopAwAiCTcDACAEQThqIARBkAFqKQMAIgo3AwAgBEFAayAEQZgBaikDACILNwMAIARByABqIAg3AwAgBEEIaiICIAk3AwAgBEEQaiIDIAo3AwAgBEEYaiIFIAs3AwAgBEEgaiIGIAg3AwAgBCAEKQOAASIINwMoIAQgCDcDACABLQAwIQcgASABKAIAQQFrNgIAIARBnAJqIAYpAwA3AgAgBEGUAmogBSkDADcCACAEQYwCaiADKQMANwIAIARBhAJqIAIpAwA3AgBBACEDQfGCwQAtAAAaIAQgBCkDADcC/AFBOEEIEMICIgFFDQUgAUEANgIAIAEgBCkC+AE3AgQgASAHOgAwIAFBDGogBEGAAmopAgA3AgAgAUEUaiAEQYgCaikCADcCACABQRxqIARBkAJqKQIANwIAIAFBJGogBEGYAmopAgA3AgAgAUEsaiAEQaACaigCADYCAEEADAILIARB2AFqIARBiAJqKQMAIgg3AwAgBEHgAWogBEGQAmopAwAiCTcDACAEQQhqIAg3AwAgBEEQaiAJNwMAIAQgBCkDgAIiCDcD0AEgBCAINwMAIAQoAvwBIQMLIAEgASgCAEEBazYCACAEQYQBaiAEQQhqKQMANwIAIARBjAFqIARBEGopAwA3AgAgBCADNgJ4IAQgBCkDADcCfEEBIQNBACEBIARB+ABqEJwBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAtB0JzAAEE3IARB7wJqQcCcwABB1J3AABDPAQAL9QkCBn8EfiMAQfACayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB+ABqIAFBEGopAwA3AwAgBEGAAWogAUEYaikDADcDACAEQYgBaiABQSBqKQMANwMAIAQgASkDCDcDcCAEIAEoACk2AmggBCABQSxqKAAANgBrIAEtACghBSAEQcABaiACIANB////B0cgAxBsAn8gBCgCwAFFBEAgBEG0AWogBEHoAWopAwAiCjcCACAEQawBaiAEQeABaikDACILNwIAIARBpAFqIARB2AFqKQMAIgw3AgAgBEGcAWogBEHQAWopAwAiDTcCACAEQagCaiANNwMAIARBsAJqIAw3AwAgBEG4AmogCzcDACAEQcACaiAKNwMAIAQgBCkDyAEiCjcClAEgBCAKNwOgAkIBIQpCACELAkACQAJAIAUOAgIBAAtCCiEKIAUhA0IBIQxCACENA0AgBEEQaiAKQgEgA0EBcSICGyALQgAgAhsgDCANEM4BIARBIGogCiALIAogCxDOASADQQNLIARBKGopAwAhCyAEQRhqKQMAIQ0gBCkDICEKIAQpAxAhDCADQQF2IQMNAAsgBCAMIA0gCiALEM4BIARBCGopAwAhCyAEKQMAIQoMAQtCCiEKCyAEQdACaiICIAs3AwAgBCAKNwPIAiAEQQE2AsQBIARB3IjAADYCwAEgBEIBNwLMASAEIARByAJqrUKAgICAIIQ3A+gCIAQgBEHoAmo2AsgBIARB3AJqIARBwAFqEJEBIARBkAJqQgA3AwAgBEIANwOIAiACKQMAIQogBCkDyAIhCyAEKALcAiICBEAgBCgC4AIgAhDTAgsgBEESOgCYAiAEIAs3A/gBIAQgCjcDgAIgBEHYAWoiBiAEQYgBaikDADcDACAEQdABaiICIARBgAFqKQMANwMAIARByAFqIgcgBEH4AGopAwA3AwAgBEHkAWoiAyAEKABrNgAAIAQgBCkDcDcDwAEgBCAFOgDgASAEIAQoAmg2AOEBIARBOGogBEHAAWogBEGgAmogBEH4AWoQUiAEQeAAaiIFIAEtADA6AAAgASABKAIAQQFrNgIAIARB7AFqIAUpAwA3AgAgAyAEQdgAaikDADcCACAEQdwBaiAEQdAAaikDADcCACAEQdQBaiAEQcgAaikDADcCACAEQcwBaiAEQUBrKQMANwIAQQAhCEHxgsEALQAAGiAEIAQpAzg3AsQBQThBCBDCAiIDRQ0EIANBADYCACADIAQpAsABNwIEIANBDGogBykCADcCACADQRRqIAIpAgA3AgAgA0EcaiAGKQIANwIAIANBJGogBEHgAWopAgA3AgAgA0EsaiAEQegBaikCADcCACADQTRqIARB8AFqKAIANgIAQQAMAQsgBEGoAWoiAiAEQdwBaigCACIDNgIAIARBPGoiBSAEQcwBaikCADcCACAEQcQAaiIGIARB1AFqKQIANwIAIARBzABqIgcgAzYCACAEIAQpAsQBNwI0IAEgASgCAEEBazYCACACIAcoAgA2AgAgBEGgAWogBikCADcDACAEQZgBaiAFKQIANwMAIAQgBCkCNDcDkAFBACEDIARBkAFqEJwBCyEBIAAgCDYCCCAAIAE2AgQgACADNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAv1CQIGfwR+IwBB8AJrIgQkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BQQEhCCABIAVBAWo2AgAgBEH4AGogAUEQaikDADcDACAEQYABaiABQRhqKQMANwMAIARBiAFqIAFBIGopAwA3AwAgBCABKQMINwNwIAQgASgAKTYCaCAEIAFBLGooAAA2AGsgAS0AKCEFIARBwAFqIAIgA0H///8HRyADEGwCfyAEKALAAUUEQCAEQbQBaiAEQegBaikDACIKNwIAIARBrAFqIARB4AFqKQMAIgs3AgAgBEGkAWogBEHYAWopAwAiDDcCACAEQZwBaiAEQdABaikDACINNwIAIARBqAJqIA03AwAgBEGwAmogDDcDACAEQbgCaiALNwMAIARBwAJqIAo3AwAgBCAEKQPIASIKNwKUASAEIAo3A6ACQgEhCkIAIQsCQAJAAkAgBQ4CAgEAC0IKIQogBSEDQgEhDEIAIQ0DQCAEQRBqIApCASADQQFxIgIbIAtCACACGyAMIA0QzgEgBEEgaiAKIAsgCiALEM4BIANBA0sgBEEoaikDACELIARBGGopAwAhDSAEKQMgIQogBCkDECEMIANBAXYhAw0ACyAEIAwgDSAKIAsQzgEgBEEIaikDACELIAQpAwAhCgwBC0IKIQoLIARB0AJqIgIgCzcDACAEIAo3A8gCIARBATYCxAEgBEHciMAANgLAASAEQgE3AswBIAQgBEHIAmqtQoCAgIAghDcD6AIgBCAEQegCajYCyAEgBEHcAmogBEHAAWoQkQEgBEGQAmpCADcDACAEQgA3A4gCIAIpAwAhCiAEKQPIAiELIAQoAtwCIgIEQCAEKALgAiACENMCCyAEQRI6AJgCIAQgCzcD+AEgBCAKNwOAAiAEQdgBaiIGIARBiAFqKQMANwMAIARB0AFqIgIgBEGAAWopAwA3AwAgBEHIAWoiByAEQfgAaikDADcDACAEQeQBaiIDIAQoAGs2AAAgBCAEKQNwNwPAASAEIAU6AOABIAQgBCgCaDYA4QEgBEE4aiAEQcABaiAEQaACaiAEQfgBahBRIARB4ABqIgUgAS0AMDoAACABIAEoAgBBAWs2AgAgBEHsAWogBSkDADcCACADIARB2ABqKQMANwIAIARB3AFqIARB0ABqKQMANwIAIARB1AFqIARByABqKQMANwIAIARBzAFqIARBQGspAwA3AgBBACEIQfGCwQAtAAAaIAQgBCkDODcCxAFBOEEIEMICIgNFDQQgA0EANgIAIAMgBCkCwAE3AgQgA0EMaiAHKQIANwIAIANBFGogAikCADcCACADQRxqIAYpAgA3AgAgA0EkaiAEQeABaikCADcCACADQSxqIARB6AFqKQIANwIAIANBNGogBEHwAWooAgA2AgBBAAwBCyAEQagBaiICIARB3AFqKAIAIgM2AgAgBEE8aiIFIARBzAFqKQIANwIAIARBxABqIgYgBEHUAWopAgA3AgAgBEHMAGoiByADNgIAIAQgBCkCxAE3AjQgASABKAIAQQFrNgIAIAIgBygCADYCACAEQaABaiAGKQIANwMAIARBmAFqIAUpAgA3AwAgBCAEKQI0NwOQAUEAIQMgBEGQAWoQnAELIQEgACAINgIIIAAgATYCBCAAIAM2AgAgBEHwAmokAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC/UJAgZ/BH4jAEHwAmsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEIIAEgBUEBajYCACAEQfgAaiABQRBqKQMANwMAIARBgAFqIAFBGGopAwA3AwAgBEGIAWogAUEgaikDADcDACAEIAEpAwg3A3AgBCABKAApNgJoIAQgAUEsaigAADYAayABLQAoIQUgBEHAAWogAiADQf///wdHIAMQbAJ/IAQoAsABRQRAIARBtAFqIARB6AFqKQMAIgo3AgAgBEGsAWogBEHgAWopAwAiCzcCACAEQaQBaiAEQdgBaikDACIMNwIAIARBnAFqIARB0AFqKQMAIg03AgAgBEGoAmogDTcDACAEQbACaiAMNwMAIARBuAJqIAs3AwAgBEHAAmogCjcDACAEIAQpA8gBIgo3ApQBIAQgCjcDoAJCASEKQgAhCwJAAkACQCAFDgICAQALQgohCiAFIQNCASEMQgAhDQNAIARBEGogCkIBIANBAXEiAhsgC0IAIAIbIAwgDRDOASAEQSBqIAogCyAKIAsQzgEgA0EDSyAEQShqKQMAIQsgBEEYaikDACENIAQpAyAhCiAEKQMQIQwgA0EBdiEDDQALIAQgDCANIAogCxDOASAEQQhqKQMAIQsgBCkDACEKDAELQgohCgsgBEHQAmoiAiALNwMAIAQgCjcDyAIgBEEBNgLEASAEQdyIwAA2AsABIARCATcCzAEgBCAEQcgCaq1CgICAgCCENwPoAiAEIARB6AJqNgLIASAEQdwCaiAEQcABahCRASAEQZACakIANwMAIARCADcDiAIgAikDACEKIAQpA8gCIQsgBCgC3AIiAgRAIAQoAuACIAIQ0wILIARBEjoAmAIgBCALNwP4ASAEIAo3A4ACIARB2AFqIgYgBEGIAWopAwA3AwAgBEHQAWoiAiAEQYABaikDADcDACAEQcgBaiIHIARB+ABqKQMANwMAIARB5AFqIgMgBCgAazYAACAEIAQpA3A3A8ABIAQgBToA4AEgBCAEKAJoNgDhASAEQThqIARBwAFqIARB+AFqIARBoAJqEFIgBEHgAGoiBSABLQAwOgAAIAEgASgCAEEBazYCACAEQewBaiAFKQMANwIAIAMgBEHYAGopAwA3AgAgBEHcAWogBEHQAGopAwA3AgAgBEHUAWogBEHIAGopAwA3AgAgBEHMAWogBEFAaykDADcCAEEAIQhB8YLBAC0AABogBCAEKQM4NwLEAUE4QQgQwgIiA0UNBCADQQA2AgAgAyAEKQLAATcCBCADQQxqIAcpAgA3AgAgA0EUaiACKQIANwIAIANBHGogBikCADcCACADQSRqIARB4AFqKQIANwIAIANBLGogBEHoAWopAgA3AgAgA0E0aiAEQfABaigCADYCAEEADAELIARBqAFqIgIgBEHcAWooAgAiAzYCACAEQTxqIgUgBEHMAWopAgA3AgAgBEHEAGoiBiAEQdQBaikCADcCACAEQcwAaiIHIAM2AgAgBCAEKQLEATcCNCABIAEoAgBBAWs2AgAgAiAHKAIANgIAIARBoAFqIAYpAgA3AwAgBEGYAWogBSkCADcDACAEIAQpAjQ3A5ABQQAhAyAEQZABahCcAQshASAAIAg2AgggACABNgIEIAAgAzYCACAEQfACaiQADwsQ7wIACxDwAgALQQhBOBD2AgAL9QkCBn8EfiMAQfACayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB+ABqIAFBEGopAwA3AwAgBEGAAWogAUEYaikDADcDACAEQYgBaiABQSBqKQMANwMAIAQgASkDCDcDcCAEIAEoACk2AmggBCABQSxqKAAANgBrIAEtACghBSAEQcABaiACIANB////B0cgAxBsAn8gBCgCwAFFBEAgBEG0AWogBEHoAWopAwAiCjcCACAEQawBaiAEQeABaikDACILNwIAIARBpAFqIARB2AFqKQMAIgw3AgAgBEGcAWogBEHQAWopAwAiDTcCACAEQagCaiANNwMAIARBsAJqIAw3AwAgBEG4AmogCzcDACAEQcACaiAKNwMAIAQgBCkDyAEiCjcClAEgBCAKNwOgAkIBIQpCACELAkACQAJAIAUOAgIBAAtCCiEKIAUhA0IBIQxCACENA0AgBEEQaiAKQgEgA0EBcSICGyALQgAgAhsgDCANEM4BIARBIGogCiALIAogCxDOASADQQNLIARBKGopAwAhCyAEQRhqKQMAIQ0gBCkDICEKIAQpAxAhDCADQQF2IQMNAAsgBCAMIA0gCiALEM4BIARBCGopAwAhCyAEKQMAIQoMAQtCCiEKCyAEQdACaiICIAs3AwAgBCAKNwPIAiAEQQE2AsQBIARB3IjAADYCwAEgBEIBNwLMASAEIARByAJqrUKAgICAIIQ3A+gCIAQgBEHoAmo2AsgBIARB3AJqIARBwAFqEJEBIARBkAJqQgA3AwAgBEIANwOIAiACKQMAIQogBCkDyAIhCyAEKALcAiICBEAgBCgC4AIgAhDTAgsgBEESOgCYAiAEIAs3A/gBIAQgCjcDgAIgBEHYAWoiBiAEQYgBaikDADcDACAEQdABaiICIARBgAFqKQMANwMAIARByAFqIgcgBEH4AGopAwA3AwAgBEHkAWoiAyAEKABrNgAAIAQgBCkDcDcDwAEgBCAFOgDgASAEIAQoAmg2AOEBIARBOGogBEHAAWogBEH4AWogBEGgAmoQUSAEQeAAaiIFIAEtADA6AAAgASABKAIAQQFrNgIAIARB7AFqIAUpAwA3AgAgAyAEQdgAaikDADcCACAEQdwBaiAEQdAAaikDADcCACAEQdQBaiAEQcgAaikDADcCACAEQcwBaiAEQUBrKQMANwIAQQAhCEHxgsEALQAAGiAEIAQpAzg3AsQBQThBCBDCAiIDRQ0EIANBADYCACADIAQpAsABNwIEIANBDGogBykCADcCACADQRRqIAIpAgA3AgAgA0EcaiAGKQIANwIAIANBJGogBEHgAWopAgA3AgAgA0EsaiAEQegBaikCADcCACADQTRqIARB8AFqKAIANgIAQQAMAQsgBEGoAWoiAiAEQdwBaigCACIDNgIAIARBPGoiBSAEQcwBaikCADcCACAEQcQAaiIGIARB1AFqKQIANwIAIARBzABqIgcgAzYCACAEIAQpAsQBNwI0IAEgASgCAEEBazYCACACIAcoAgA2AgAgBEGgAWogBikCADcDACAEQZgBaiAFKQIANwMAIAQgBCkCNDcDkAFBACEDIARBkAFqEJwBCyEBIAAgCDYCCCAAIAE2AgQgACADNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAv/DgIIfwR+IwBB8AJrIgQkAAJAAkACQCABBEAgASgCACIGQX9GDQEgASAGQQFqNgIAIARB+AFqIgYgAiADQf///wdHIAMQbAJ/AkAgBCgC+AFFBEAgBEHwAWogBEGgAmopAwAiDjcDACAEQegBaiAEQZgCaikDACIPNwMAIARB4AFqIARBkAJqIgMpAwAiDTcDACAEQdgBaiAEQYgCaiICKQMAIgw3AwAgBEG4AmogDDcDACAEQcACaiANNwMAIARByAJqIA83AwAgBEHQAmogDjcDACAEIAQpA4ACIgw3A9ABIAQgDDcDsAIgBEGoAWoiCyABQQhqIARBsAJqEFYgAyAEQcABaikDADcDACACIARBuAFqKQMANwMAIARBgAJqIARBsAFqIgopAwA3AwAgBCAEKQOoATcD+AEjAEGwAWsiBSQAIAVBATYCfCAFQdyIwAA2AnggBUIBNwKEASAFIAatQoCAgIDgAYQ3A1AgBSAFQdAAajYCgAEgBUEUaiAFQfgAahCRAQJAAkAgBEH4AGoiBwJ/IAYpAxgiDEIAWQRAIAdBEjoAKCAHIAw3AyAgByAGKQMANwMIIAdBGGogBkEQaikDADcDACAHQRBqIAZBCGopAwA3AwAgBSgCFCICBEAgBSgCGCACENMCC0EADAELIAVB8ABqQdCNwAApAwA3AwAgBUHoAGpByI3AACkDADcDACAFQeAAakHAjcAAKQMANwMAIAVB2ABqQbiNwAApAwA3AwAgBUGwjcAAKQMANwNQIAVBmAFqQfiNwAApAwA3AwAgBUGQAWpB8I3AACkDADcDACAFQYgBakHojcAAKQMANwMAIAVBgAFqIghB4I3AACkDADcDACAFQdiNwAApAwA3A3ggBSAFQfgAaq1CgICAgPABhDcDSCAFIAVB0ABqrUKAgICA8AGENwNAIAUgBUEUaq1CgICAgBCENwM4IAVBADYCMCAFQQQ2AiQgBUH4j8AANgIgIAVBAzYCLCAFIAVBOGo2AiggBUGkAWoiAiAFQSBqEJEBIAVBCGogAkGYkMAAEN8BIAUoAgwhAyAFKAIIIQIgCCAFQawBaigCADYCAEHxgsEALQAAGiAFIAUpAqQBNwN4QRhBBBDCAiIJRQ0BIAkgAjYCBCAJQYSfwAA2AgAgCSAFKQN4NwIMIAkgAzYCCCAJQRRqIAgoAgA2AgAgByAJNgIEIAUoAhQiAgRAIAUoAhggAhDTAgtBAQs2AgAgBUGwAWokAAwBC0EEQRgQ9gIACyAEKAJ4QQFGBEAgBCAEKAJ8NgLYAiAEIARB2AJqIgg2AtwCQQEhAyAEQQE2AvwBIARBoJzAADYC+AEgBEIBNwKEAiAEIARB3AJqrUKAgICAMIQ3A6gBIAQgCzYCgAIgBEHgAmogBhCRASAEQQA2ArABIARCgICAgBA3AqgBIARBAzoAmAIgBEEgNgKIAiAEQQA2ApQCIARBqJzAADYCkAIgBEEANgKAAiAEQQA2AvgBIAQgCzYCjAJB3IbAACAGEM0BDQcgBEHkAGogCigCADYCACAEQdgAaiICIARB6AJqKAIANgIAIAQgBCkCqAE3AlwgBCAEKQLgAjcDUCAIELUCIARBOGogBEHgAGopAwAiDTcDACAEQTBqIAIpAwAiDDcDACAEQQhqIAw3AwAgBEEQaiANNwMAIAQgBCkDUCIMNwMoIAQgDDcDAAwCCyAEQfAAaiAEQaABaikDACIONwMAIARBMGogBEGIAWopAwAiDzcDACAEQThqIARBkAFqKQMAIg03AwAgBEFAayAEQZgBaikDACIMNwMAIARByABqIA43AwAgBEEIaiIKIA83AwAgBEEQaiIIIA03AwAgBEEYaiIGIAw3AwAgBEEgaiIDIA43AwAgBCAEKQOAASIMNwMoIAQgDDcDACABLQAwIQIgASABKAIAQQFrNgIAIARBnAJqIAMpAwA3AgAgBEGUAmogBikDADcCACAEQYwCaiAIKQMANwIAIARBhAJqIAopAwA3AgBBACEDQfGCwQAtAAAaIAQgBCkDADcC/AFBOEEIEMICIgFFDQUgAUEANgIAIAEgBCkC+AE3AgQgASACOgAwIAFBDGogBEGAAmopAgA3AgAgAUEUaiAEQYgCaikCADcCACABQRxqIARBkAJqKQIANwIAIAFBJGogBEGYAmopAgA3AgAgAUEsaiAEQaACaigCADYCAEEADAILIARB2AFqIARBiAJqKQMAIg03AwAgBEHgAWogBEGQAmopAwAiDDcDACAEQQhqIA03AwAgBEEQaiAMNwMAIAQgBCkDgAIiDDcD0AEgBCAMNwMAIAQoAvwBIQMLIAEgASgCAEEBazYCACAEQYQBaiAEQQhqKQMANwIAIARBjAFqIARBEGopAwA3AgAgBCADNgJ4IAQgBCkDADcCfEEBIQNBACEBIARB+ABqEJwBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAtB0JzAAEE3IARB7wJqQcCcwABB1J3AABDPAQALhAgCAX8TfiMAQaACayIDJAAgA0EIaiABKQMAIg5CACACKQMAIgRCABDOASADQcgAaiABKQMIIglCACAEQgAQzgEgA0HYAGogASkDECIFQgAgBEIAEM4BIANB6ABqIAEpAxgiCkIAIARCABDOASADQRhqIAIpAwgiBEIAIA5CABDOASADQfgAaiAEQgAgCUIAEM4BIANBqAFqIARCACAFQgAQzgEgA0HYAWogBEIAIApCABDOASADQShqIAIpAxAiBEIAIA5CABDOASADQYgBaiAEQgAgCUIAEM4BIANBuAFqIARCACAFQgAQzgEgA0HoAWogBEIAIApCABDOASADQThqIAIpAxgiBEIAIA5CABDOASADQZgBaiAEQgAgCUIAEM4BIANByAFqIARCACAFQgAQzgEgA0H4AWogBEIAIApCABDOASADKQMIIQ4CQAJAAkAgAykDmAEiDyADQUBrKQMAIAMpAzgiByADKQOIASILIANBMGopAwAgAykDKCIFIAMpA3giCiADQSBqKQMAIAMpAxgiCSADKQNIIgggA0EQaikDAHwiBnwiBCAJVK18IgwgAykDWCIQIANB0ABqKQMAIAYgCFStfHwiCHwiBnwiDXwiCSAFVK18IhMgAykDqAEiESADQYABaikDACAKIA1WrXwiDSAGIAxUrXwiBSADKQNoIgYgA0HgAGopAwAgCCAQVK18fCIIfCIMfCIQfCISfCIUfCIKIAdUrXwiFSADKQO4ASIWIANBkAFqKQMAIAsgFFatfCILIBIgE1StfCIHIAMpA9gBIhMgA0GwAWopAwAgECARVK18IhAgBSANVCAFIAxWcq18IgUgA0HwAGopAwAgBiAIVq18fCIIfCIGfCIMfCINfCIRfCISQgBSDQAgAykDyAEiFCADQaABaikDACAPIBJWrXwiEiARIBVUrXwiDyADKQPoASIRIANBwAFqKQMAIA0gFlStfCINIAcgC1QgByAMVnKtfCIHIAYgE1StIANB4AFqKQMAIAUgEFQgBSAIVnKtfHx8Igt8Igh8IgV8IgZCAFINACADKQP4ASIMIANB0AFqKQMAIAYgFFStfCIGIA8gElQgBSAPVHKtfCIFIAggEVStIANB8AFqKQMAIAcgDVQgByALVnKtfHx8Igd8Ig9QDQELIAAgCjcDGCAAIAk3AxAgACAENwMIIAAgDjcDAAwBCyADQYACaikDACAAIAo3AxggACAJNwMQIAAgBDcDCCAAIA43AwAgDCAPVq18QgAgBSAGVCAFIAdWcq19Ug0AIANBoAJqJAAPCyADQQA2ApgCIANBATYCjAIgA0Gwz8AANgKIAiADQgQ3ApACIANBiAJqQbjPwAAQ8AEAC99EAid/CH4jAEHAAWsiByQAAkACfwJAAkAgAUUEQEESIQEMAQsgAhAOIQEgAhAPIQMgAhAQIRkgAkGEAU8EQCACEAgLIBlB////B0chKQJAAkACQAJ+IAEEQCAHQcgAaiABQZiGwAAQTyAHKAJIDQQgByAHKABxNgI4IAcgB0H0AGooAAA2ADsgBy0AcCEBIAcpA2ghLyAHKQNYITAgBykDUCExIAcpA2AiLSADDQEaQgEhKiABDgIGAgULQRIhASADRQ0EQgALIS0gB0HIAGogA0GYhsAAEE8gBygCSA0BIAcgBygAcTYCQCAHIAdB9ABqKAAANgBDIAcpA2ghKyAHKQNgISwgBykDWCEqIAcpA1AhLiAHLQBwDAULQgohKgwDCyAHKAJMIQEgBykDUCEqIAcpA1ghKyAAIAcpA2A3AxggACArNwMQIAAgKjcDCCAAIAE2AgQgAEEBNgIADAQLIAcoAkwhASAHKQNQISogBykDWCErIAAgBykDYDcDGCAAICs3AxAgACAqNwMIIAAgATYCBCAAQQE2AgAgA0GEAUkNAyADEAgMAwtCCiEqIAEhAkIBISwDQCAHQRhqICpCASACQQFxIgMbICtCACADGyAsIC4QzgEgB0EoaiAqICsgKiArEM4BIAJBA0sgB0EwaikDACErIAdBIGopAwAhLiAHKQMoISogBykDGCEsIAJBAXYhAg0ACyAHQQhqICwgLiAqICsQzgEgB0EQaikDACErIAcpAwghKgsgB0GgAWoiAiArNwMAIAcgKjcDmAEgB0EBNgJMIAdB3IjAADYCSCAHQgE3AlQgByAHQZgBaq1CgICAgCCENwO4ASAHIAdBuAFqNgJQIAdBrAFqIAdByABqEJEBIAIpAwAgBykDmAEhKyAHKAKsASICBEAgBygCsAEgAhDTAgsgMHwiKiAwVCECIC8gMSArIDF8Ii5YBH4gAq0FICpCAXwiKlCtIAKtfAsiK0IAUiICICsgLXwiLCAtVHEiA618IC8gAxshKyAsIC0gAhshLEESCyEGQYCDwQAoAgAiAkUEQCMAQUBqIgIkACACQThqQgA3AwAgAkEwakIANwMAIAJBKGpCADcDACACQgA3AyAgAkEIaiACQSBqEOgBAkAgAigCCCIDRQRAIAIoAjwhBCACKAI4IQUgAigCNCEIIAIoAjAhCSACKAIsIQ4gAigCKCEPIAIoAiQhCiACKAIgIQxB2M/AABDzASELQdzPwAAQ8wEhDUHxgsEALQAAGkHYAkEIEMICIgMNAUEIQdgCEPYCAAsgAiACKAIMNgIUIAIgAzYCECACQQE2AiQgAkGE0MAANgIgIAJCATcCLCACIAJBEGqtQoCAgICwE4Q3AxggAiACQRhqNgIoIAJBIGpB8NDAABDwAQALIANCgYCAgBA3AwAgA0EIakEAQYACEL4BGiADQQA2AtACIANCgIAENwPIAiADQoCABDcDwAIgAyANNgK8AiADIAs2ArgCIANCADcDsAIgAyAENgKsAiADIAU2AqgCIAMgCDYCpAIgAyAJNgKgAiADIA42ApwCIAMgDzYCmAIgAyAKNgKUAiADIAw2ApACIANBwAA2AogCQYCDwQAoAgAhBEGAg8EAIAM2AgACQCAERQ0AIAQgBCgCAEEBayIDNgIAIAMNACAEQQRqIgMgAygCAEEBayIDNgIAIAMNACAEQdgCENMCCyACQUBrJABBgIPBACgCACECCyACIAIoAgBBAWoiAzYCACADRQRAAAsgByACNgKYASAHQewAaiAHKAA7NgAAIAdBlAFqIAcoAEM2AAAgByABOgBoIAcgLzcDYCAHIC03A1ggByAwNwNQIAcgMTcDSCAHIAcoAjg2AGkgByAGOgCQASAHICs3A4gBIAcgLDcDgAEgByAqNwN4IAcgLjcDcCAHIAcoAkA2AJEBIABBCGohASAHQZgBaiECIwBB0ABrIggkACAHQcgAaiIDKQNAISogAykDACErAkACQAJAAn8gAykDGCIsQgBZBEAgKkIAUw0DIAMpAyghLSADKQMwIS4gAykDOCEvIAMpAwghMCADKQMQITEgCCAsNwMYIAggMTcDECAIIDA3AwggCCArNwMAIAggKjcDQCAIIC83AzggCCAuNwMwIAggLTcDKCAIIAhBKGoQ0gEMAQsgKkIAWQ0BIAMpAwghLSADKQM4IS8gAykDKCEwIAMpAzAhLiADKQMQITEgCEIAICt9Iis3AwAgCCAtQn+FQgAgLX0iLSArQgBSIgQbNwMIIAggMUJ/hSIrIC1QIARBf3NxIgStfCItICsgBBs3AxAgCCAEICsgLVZxrSAsQn+FfDcDGCAIQgAgMH0iKzcDKCAIIC5Cf4VCACAufSIsICtCAFIiBBs3AzAgCCAvQn+FIisgLFAgBEF/c3EiBK18IiwgKyAEGzcDOCAIIAQgKyAsVnGtICpCf4V8NwNAIAhBKGogCBDSAQtB/wFxIgRB/wFGDQAgBA0BIAMtACAgAy0ASE8NAQsgCEEgaiIEIANBIGopAwA3AwAgCEEYaiIFIANBGGopAwA3AwAgCEEQaiIGIANBEGopAwA3AwAgCEEIaiIJIANBCGopAwA3AwAgCCADKQMANwMAIAhByABqIANBKGoiA0EgaikDADcDACAIQUBrIANBGGopAwA3AwAgCEE4aiADQRBqKQMANwMAIAhBMGogA0EIaikDADcDACAIIAMpAwA3AyhCACEuIwBBoANrIgMkACADQfABaiAEKQMANwMAIANB6AFqIAUpAwA3AwAgA0HgAWogBikDADcDACADQdgBaiAJKQMANwMAIAMgCCkDADcD0AEgCEEoaiIEKQMQISwgBCkDCCErIAQpAxghLwJAIAQpAwAiLVBFBEAgKyEqDAELQn8hKiArUEUEQCArQgF9ISoMAQtCf0IAICxQGyEuICxCAX0hLAsgA0ESOgCAAyADICw3A/ACIAMgKjcD6AIgAyAuIC98Iis3A/gCIAMgLUIBfSIwNwPgAiADKQPQASEuAkACQAJAAn8gAykD6AEiL0IAWQRAICtCAFMNAyADKQPYASEtIAMpA+ABITEgAyAvNwPAASADIDE3A7gBIAMgLTcDsAEgAyAuNwOoASADICs3AyAgAyAsNwMYIAMgKjcDECADIDA3AwggA0GoAWogA0EIahDSAQwBCyArQgBZDQMgAykD2AEhMCADKQPgASExIANCACAufSIuNwOoASADIDBCf4VCACAwfSIwIC5CAFIiBBs3A7ABIAMgMUJ/hSIuIDBQIARBf3NxIgStfCIwIC4gBBs3A7gBIAMgBCAuIDBWca0gL0J/hXw3A8ABIANCASAtfSItNwMIIANCACAqfSIuICpCf4UgLVAbNwMQIAMgLEJ/hSIqIC0gLoRQIgStfCIsICogBBs3AxggAyAEICogLFZxrSArQn+FfDcDICADQQhqIANBqAFqENIBC0H/AXEOAgABAgsgAy0A8AFBEkkNAQsgA0ECNgIMIANB9KjAADYCCCADQgI3AhQgAyADQeACaq1CgICAgPABhDcDsAEgAyADQdABaq1CgICAgPABhDcDqAEgAyADQagBajYCECADQQhqQeypwAAQ8AEACyADQShqIgkgA0HwAWopAwA3AwAgA0EgaiIOIANB6AFqKQMANwMAIANBGGoiDyADQeABaikDADcDACADQRBqIgogA0HYAWopAwA3AwAgA0E4aiADQegCaiIEKQMANwMAIANBQGsgA0HwAmoiBikDADcDACADQcgAaiADQfgCaiIFKQMANwMAIANB0ABqIANBgANqIgwpAwA3AwAgAyADKQPQATcDCCADIAMpA+ACNwMwIAIoAgAhAiAMIAkpAwA3AwAgBSAOKQMANwMAIAYgDykDADcDACAEIAopAwA3AwAgAyADKQMINwPgAiADQdgAaiADQTBqIANB4AJqIgkQViADQYACaiADQeAAaikDADcDACADQYgCaiADQegAaikDADcDACADQZACaiADQfAAaikDADcDACADIAMpA1g3A/gBIAVCADcDACAGQgA3AwAgBEIANwMAIANCADcD4AICQAJAIANB+AFqIAlBIBDpAQRAIAJBCGohBAJAAkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAkACQAJAIAIoAogCIgVBwABPBEAgAkGQAmohBgJAAkAgAikDyAIiKkIAVw0AIAIoAtACQQBIDQAgAiAqQoACfTcDyAIgBiAEEEkMAQsgBiAEELQBCyAEKAIAIRpBASEGDAELIAQgBUECdGooAgAhGiACIAVBAWoiBjYCiAIgBUE/Rw0BIAJBkAJqIQUCQCACKQPIAiIqQgBXDQBBACEGIAIoAtACQQBIDQAgAiAqQoACfTcDyAIgBSAEEEkMAQsgBSAEELQBQQAhBgsgBkEDaiEFIAZBAnIhCSAEIAZBAnRqIgYoAgAhGyAGQQRqKAIAIQ4MAQsgBCAGQQJ0aigCACEbIAIgBUECaiIGNgKIAgJAIAVBPk8EQCACQZACaiEGAkACQCACKQPIAiIqQgBXDQAgAigC0AJBAEgNACACICpCgAJ9NwPIAiAGIAQQSQwBCyAGIAQQtAELIAQoAgAhDkEBIQkMAQsgBCAGQQJ0aigCACEOIAIgBUEDaiIJNgKIAiAFQT1HDQIgAkGQAmohBgJAIAIpA8gCIipCAFcNAEEAIQkgAigC0AJBAEgNACACICpCgAJ9NwPIAiAGIAQQSQwBCyAGIAQQtAFBACEJCyAJQQFqIQULIAQgCUECdGooAgAhCSACIAU2AogCIAQgBUECdGooAgAhDyACIAVBAWoiBjYCiAIgBUECagwBCyAEIAlBAnRqKAIAIQkgAiAFQQRqIgo2AogCAn8gBkE+RgRAIAJBkAJqIQYCQAJAIAIpA8gCIipCAFcNACACKALQAkEASA0AIAIgKkKAAn03A8gCIAYgBBBJDAELIAYgBBC0AQsgBCgCACEPQQEMAQsgBCAKQQJ0aigCACEPIAIgBUEFaiIGNgKIAiAFQTtJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhHCACIAU2AogCIAQgBUECdGooAgAhCiACIAVBAWoiBjYCiAIgBUECagwBCyAEIAZBAnRqKAIAIRwgAiAFQQZqIgY2AogCAn8gCkE+RgRAIAJBkAJqIAQQiwIgAigCCCEKQQEMAQsgBCAGQQJ0aigCACEKIAIgBUEHaiIMNgKIAiAFQTlJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhHSACIAU2AogCIAQgBUECdGooAgAhDCACIAVBAWoiBjYCiAIgBUECagwBCyAEIAxBAnRqKAIAIR0gAiAFQQhqIgs2AogCAn8gBkE+RgRAIAJBkAJqIAQQiwIgAigCCCEMQQEMAQsgBCALQQJ0aigCACEMIAIgBUEJaiIGNgKIAiAFQTdJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhHiACIAU2AogCIAQgBUECdGooAgAhCyACIAVBAWoiBjYCiAIgBUECagwBCyAEIAZBAnRqKAIAIR4gAiAFQQpqIgY2AogCAn8gC0E+RgRAIAJBkAJqIAQQiwIgAigCCCELQQEMAQsgBCAGQQJ0aigCACELIAIgBUELaiINNgKIAiAFQTVJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhHyACIAU2AogCIAQgBUECdGooAgAhDSACIAVBAWoiBjYCiAIgBUECagwBCyAEIA1BAnRqKAIAIR8gAiAFQQxqIhA2AogCAn8gBkE+RgRAIAJBkAJqIAQQiwIgAigCCCENQQEMAQsgBCAQQQJ0aigCACENIAIgBUENaiIGNgKIAiAFQTNJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhICACIAU2AogCIAQgBUECdGooAgAhECACIAVBAWoiBjYCiAIgBUECagwBCyAEIAZBAnRqKAIAISAgAiAFQQ5qIgY2AogCAn8gEEE+RgRAIAJBkAJqIAQQiwIgAigCCCEQQQEMAQsgBCAGQQJ0aigCACEQIAIgBUEPaiIRNgKIAiAFQTFJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhISACIAU2AogCIAQgBUECdGooAgAhESACIAVBAWoiBjYCiAIgBUECagwBCyAEIBFBAnRqKAIAISEgAiAFQRBqIhI2AogCAn8gBkE+RgRAIAJBkAJqIAQQiwIgAigCCCERQQEMAQsgBCASQQJ0aigCACERIAIgBUERaiIGNgKIAiAFQS9JDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhIiACIAU2AogCIAQgBUECdGooAgAhEiACIAVBAWoiBjYCiAIgBUECagwBCyAEIAZBAnRqKAIAISIgAiAFQRJqIgY2AogCAn8gEkE+RgRAIAJBkAJqIAQQiwIgAigCCCESQQEMAQsgBCAGQQJ0aigCACESIAIgBUETaiIVNgKIAiAFQS1JDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhIyACIAU2AogCIAQgBUECdGooAgAhFSACIAVBAWoiBjYCiAIgBUECagwBCyAEIBVBAnRqKAIAISMgAiAFQRRqIhM2AogCAn8gBkE+RgRAIAJBkAJqIAQQiwIgAigCCCEVQQEMAQsgBCATQQJ0aigCACEVIAIgBUEVaiIGNgKIAiAFQStJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhJCACIAU2AogCIAQgBUECdGooAgAhEyACIAVBAWoiBjYCiAIgBUECagwBCyAEIAZBAnRqKAIAISQgAiAFQRZqIgY2AogCAn8gE0E+RgRAIAJBkAJqIAQQiwIgAigCCCETQQEMAQsgBCAGQQJ0aigCACETIAIgBUEXaiIWNgKIAiAFQSlJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhJSACIAU2AogCIAQgBUECdGooAgAhFiACIAVBAWoiBjYCiAIgBUECagwBCyAEIBZBAnRqKAIAISUgAiAFQRhqIhQ2AogCAn8gBkE+RgRAIAJBkAJqIAQQiwIgAigCCCEWQQEMAQsgBCAUQQJ0aigCACEWIAIgBUEZaiIGNgKIAiAFQSdJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhJiACIAU2AogCIAQgBUECdGooAgAhFCACIAVBAWoiBjYCiAIgBUECagwBCyAEIAZBAnRqKAIAISYgAiAFQRpqIgY2AogCAn8gFEE+RgRAIAJBkAJqIAQQiwIgAigCCCEUQQEMAQsgBCAGQQJ0aigCACEUIAIgBUEbaiIXNgKIAiAFQSVJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhJyACIAU2AogCIAQgBUECdGooAgAhFyACIAVBAWoiBjYCiAIgBUECagwBCyAEIBdBAnRqKAIAIScgAiAFQRxqIhg2AogCAn8gBkE+RgRAIAJBkAJqIAQQiwIgAigCCCEXQQEMAQsgBCAYQQJ0aigCACEXIAIgBUEdaiIGNgKIAiAFQSNJDQIgAkGQAmogBBCLAkEACyIGQQFqCyEFIAQgBkECdGooAgAhKCACIAU2AogCIAQgBUECdGooAgAhGCACIAVBAWoiBjYCiAIMAQsgBCAGQQJ0aigCACEoIAIgBUEeaiIGNgKIAiAYQT5GBEAgAkGQAmogBBCLAkEBIQYgAkEBNgKIAiACKAIIIRgMAQsgBCAGQQJ0aigCACEYIAIgBUEfaiIGNgKIAiAFQSFJDQAgAkGQAmogBBCLAkEAIQYLIAQgBkECdGooAgAhBCACIAZBAWo2AogCIAMgGDoA/gIgAyAoOgD9AiADIBc6APwCIAMgJzoA+wIgAyAUOgD6AiADICY6APkCIAMgFjoA+AIgAyAlOgD3AiADIBM6APYCIAMgJDoA9QIgAyAVOgD0AiADICM6APMCIAMgEjoA8gIgAyAiOgDxAiADIBE6APACIAMgIToA7wIgAyAQOgDuAiADICA6AO0CIAMgDToA7AIgAyAfOgDrAiADIAs6AOoCIAMgHjoA6QIgAyAMOgDoAiADIB06AOcCIAMgCjoA5gIgAyAcOgDlAiADIA86AOQCIAMgCToA4wIgAyAOOgDiAiADIBs6AOECIAMgGjoA4AIgAyAEOgD/AiADQZgCaiIEIANB4AJqIgIpAAAiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDGCAEIAIpAAgiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDECAEIAIpABAiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDCCAEIAIpABgiKkI4hiAqQoD+A4NCKIaEICpCgID8B4NCGIYgKkKAgID4D4NCCIaEhCAqQgiIQoCAgPgPgyAqQhiIQoCA/AeDhCAqQiiIQoD+A4MgKkI4iISEhDcDACACIAQgA0H4AWoQTiADQbACaiADQZgDaikDACIqNwMAIANBqAJqIANBkANqKQMAIis3AwAgA0GgAmogA0GIA2opAwAiLDcDACADQYgBaiAsNwMAIANBkAFqICs3AwAgA0GYAWogKjcDACADQcgCakGIqsAAKQMANwMAIANB0AJqQZCqwAApAwA3AwAgA0HYAmpBmKrAACkDADcDACADIAMpA4ADIio3A5gCIANBEjoAoAEgAyAqNwOAASADQYCqwAApAwA3A8ACIAIgA0HAAmoQVyADQRI6AIADAn4gA0GAAWogAhDSAUEBa0H/AXFBAk8EQCADKQMgISsgAykDGCEtIAMpAxAhLCADKQMIIS4gAiAEEIYBIAMoAuACRQRAICwgLCADKQPwAnwiKlYhAiAtIAMpA/gCIC18IixWIQQgAykDgAMiLyArfCAuIC4gAykD6AJ8Ii1YBH4gAq0FICpCAXwiKlCtIAKtfAsiLlAEfiAErQUgLCAsIC58IixWrSAErXwLIi5QDQIaICsgL3wgLnwMAgsgAyADKALkAjYC0AFBuKrAAEErIANB0AFqQaiqwABB5KrAABDPAQALIANB+AJqIANBIGopAwA3AwAgA0HwAmogA0EYaikDADcDACADQegCaiADQRBqKQMANwMAIAMgAykDCDcD4AIgA0GoAWoiBiADQeACaiIMEFcgA0ESOgDIASADQdABaiEEIwBB0AFrIgIkACACQUBrIgsgA0GAAWoiBUEYaiINKQMANwMAIAJBOGoiECAFQRBqIhEpAwA3AwAgAkEwaiISIAVBCGoiFSkDADcDACACIAUpAwA3AyggAkHQAGogAkEoaiITEGIgAkEIaiACQdgAaikDADcDACACQRBqIAJB4ABqKQMANwMAIAJBGGogAkHoAGopAwA3AwAgAkESOgAgIAIgAikDUDcDACACQcgBaiIJIAZBGGoiFikDADcDACACQcABaiIOIAZBEGoiFCkDADcDACACQbgBaiIPIAZBCGoiFykDADcDACACIAYpAwA3A7ABIAJB8ABqIAJBsAFqIgoQYiASIAJB+ABqKQMANwMAIBAgAkGAAWopAwA3AwAgCyACQYgBaikDADcDACACQRI6AEggAiACKQNwNwMoIAJBqAFqIgsgDSkDADcDACACQaABaiINIBEpAwA3AwAgAkGYAWoiECAVKQMANwMAIAIgBSkDADcDkAEgCUIANwMAIA5CADcDACAPQgA3AwAgAkIANwOwASACQZABaiIFIAoQ0gEhESALIBYpAwA3AwAgDSAUKQMANwMAIBAgFykDADcDACACIAYpAwA3A5ABIAlCADcDACAOQgA3AwAgD0IANwMAIAJCADcDsAECQAJAAkACfgJAAn4CQCARQf8BcUH/AUYgBSAKENIBQf8BcUH/AUZzRQRAIAIgExDSAUH/AXFBAUYNAyACKQN4ISogAikDYCEtIAIpA1ghLCACKQNwIi4gAikDUCIwVA0BICogLFStISsgKiAsfQwCCyACKQNYIiogAikDeHwiKyAqVCEGIAIpA2AiLCACKQOAAXwiKiAsVCEFIAIpA2giLSACKQOIAXwiLCAtVCEJAkAgAikDUCIuIAIpA3B8Ii0gLloEfiAGrQUgK0IBfCIrUK0gBq18CyIuUAR+IAWtBSAqICogLnwiKlatIAWtfAsiLlAEQCAEICw3AxggBCAqNwMQIAQgKzcDCCAEIC03AwAgCQ0BDAYLIAQgKjcDECAEICs3AwggBCAtNwMAIAQgLCAufCIqNwMYIAkNACAqICxaDQULIAJBADYCwAEgAkEBNgK0ASACQZyowAA2ArABIAJCBDcCuAEgAkGwAWpB7KfAABDwAQALICogLFStICogLFGtfCErICogLEJ/hXwLITEgAikDaCEvIAIpA4ABIiwgLX0hKgJAICtQBEAgLCAtVK0hLAwBCyAqICtUrSAsIC1UrXwhLCAqICt9ISoLIAIpA4gBIi0gL30MAQsgAikDWCEqIAIpA4ABIS0gAikDeCEsAn4gAikDUCIuIAIpA3AiMFoEQCAqICxUrSErICogLH0MAQsgKiAsVK0gKiAsUa18ISsgKiAsQn+FfAshMSACKQOIASEvIAIpA2AiLCAtfSEqAkAgK1AEQCAsIC1UrSEsDAELICogK1StICwgLVStfCEsICogK30hKgsgAikDaCItIC99CyErAkAgLFAEQCAtIC9aDQEMAwsgKyAsVCAtIC9Ucg0CICsgLH0hKwsgBCArNwMYIAQgKjcDECAEIDE3AwggBCAuIDB9NwMACyAEQRI6ACAgAkHQAWokAAwBCyACQQA2AsABIAJBATYCtAEgAkHEk8AANgKwASACQgQ3ArgBIAJBsAFqQaCLwAAQ8AEACyAMIAQQhgEgAygC4AINAiADKQP4AiEsIAMpA/ACISogAykD6AIhLSADKQOAAwshKyABQRI6ACAgASArNwMYIAEgLDcDECABICo3AwggASAtNwMAIANBoANqJAAMAgsgA0EANgLwAiADQQE2AuQCIANBtKvAADYC4AIgA0IENwLoAiADQeACakG8q8AAEPABAAsgAyADKALkAjYCvAJBuKrAAEErIANBvAJqQaiqwABB9KrAABDPAQALIAhB0ABqJAAMAQtBhKHAAEEZQfihwAAQ/AEACyAAQQA2AgAgACAZQRIgKRs6ADAgBygCmAEiACAAKAIAQQFrIgE2AgAgAQ0AIABBBGoiASABKAIAQQFrIgE2AgAgAQ0AIABB2AIQ0wILIAdBwAFqJAALsAcCB38FfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEG4AWogAiADQf///wdHIAMQbAJAIAQoArgBIgNFBEAgBEGsAWogBEHgAWopAwAiCzcCACAEQaQBaiAEQdgBaikDACIMNwIAIARBnAFqIARB0AFqKQMAIg03AgAgBEGUAWogBEHIAWopAwAiDjcCACAEQegAaiAONwMAIARB8ABqIA03AwAgBEH4AGogDDcDACAEQYABaiALNwMAIAQgBCkDwAEiCzcCjAEgBCALNwNgAkAgAUEIaiICIARB4ABqEIUBQf8BcUEBRwRAIARB2ABqIAJBIGopAwA3AwAgBEHQAGogAkEYaikDADcDACAEQcgAaiACQRBqKQMANwMAIARBQGsgAkEIaikDADcDACAEIAIpAwA3AzgMAQsgBEHYAGogBEGMAWoiAkEgaikCADcDACAEQdAAaiACQRhqKQIANwMAIARByABqIAJBEGopAgA3AwAgBEFAayACQQhqKQIANwMAIAQgAikCADcDOAsgBEEUaiAEQUBrKQMAIgs3AgAgBEEcaiAEQcgAaikDACIMNwIAIARBJGogBEHQAGopAwAiDTcCACAEQSxqIARB2ABqKQMAIg43AgAgBCAEKQM4Ig83AgwgAS0AMCEFIAEgASgCAEEBazYCACAEQdwBaiAONwIAIARB1AFqIA03AgAgBEHMAWogDDcCACAEQcQBaiALNwIAQQAhAkHxgsEALQAAGiAEIA83ArwBQThBCBDCAiIBRQ0EIAFBADYCACABIAQpArgBNwIEIAEgBToAMCABQQxqIARBwAFqKQIANwIAIAFBFGogBEHIAWopAgA3AgAgAUEcaiAEQdABaikCADcCACABQSRqIARB2AFqKQIANwIAIAFBLGogBEHgAWooAgA2AgAMAQsgBEGgAWoiAiAEQdQBaigCACIFNgIAIARBmAFqIgYgBEHMAWopAgAiCzcDACAEQZABaiIHIARBxAFqKQIAIgw3AwAgBEEQaiIIIAw3AwAgBEEYaiIJIAs3AwAgBEEgaiIKIAU2AgAgBCAEKQK8ATcDCCABIAEoAgBBAWs2AgAgAiAKKAIANgIAIAYgCSkDADcDACAHIAgpAwA3AwAgBCAEKQMINwOIAUEAIQEgBEGIAWoQnAEhAgsgACADNgIIIAAgAjYCBCAAIAE2AgAgBEHwAWokAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC7AHAgd/BX4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQEgASAFQQFqNgIAIARBuAFqIAIgA0H///8HRyADEGwCQCAEKAK4ASIDRQRAIARBrAFqIARB4AFqKQMAIgs3AgAgBEGkAWogBEHYAWopAwAiDDcCACAEQZwBaiAEQdABaikDACINNwIAIARBlAFqIARByAFqKQMAIg43AgAgBEHoAGogDjcDACAEQfAAaiANNwMAIARB+ABqIAw3AwAgBEGAAWogCzcDACAEIAQpA8ABIgs3AowBIAQgCzcDYAJAIAFBCGoiAiAEQeAAahCFAUH/AXFBAUcEQCAEQdgAaiAEQYwBaiICQSBqKQIANwMAIARB0ABqIAJBGGopAgA3AwAgBEHIAGogAkEQaikCADcDACAEQUBrIAJBCGopAgA3AwAgBCACKQIANwM4DAELIARB2ABqIAJBIGopAwA3AwAgBEHQAGogAkEYaikDADcDACAEQcgAaiACQRBqKQMANwMAIARBQGsgAkEIaikDADcDACAEIAIpAwA3AzgLIARBFGogBEFAaykDACILNwIAIARBHGogBEHIAGopAwAiDDcCACAEQSRqIARB0ABqKQMAIg03AgAgBEEsaiAEQdgAaikDACIONwIAIAQgBCkDOCIPNwIMIAEtADAhBSABIAEoAgBBAWs2AgAgBEHcAWogDjcCACAEQdQBaiANNwIAIARBzAFqIAw3AgAgBEHEAWogCzcCAEEAIQJB8YLBAC0AABogBCAPNwK8AUE4QQgQwgIiAUUNBCABQQA2AgAgASAEKQK4ATcCBCABIAU6ADAgAUEMaiAEQcABaikCADcCACABQRRqIARByAFqKQIANwIAIAFBHGogBEHQAWopAgA3AgAgAUEkaiAEQdgBaikCADcCACABQSxqIARB4AFqKAIANgIADAELIARBoAFqIgIgBEHUAWooAgAiBTYCACAEQZgBaiIGIARBzAFqKQIAIgs3AwAgBEGQAWoiByAEQcQBaikCACIMNwMAIARBEGoiCCAMNwMAIARBGGoiCSALNwMAIARBIGoiCiAFNgIAIAQgBCkCvAE3AwggASABKAIAQQFrNgIAIAIgCigCADYCACAGIAkpAwA3AwAgByAIKQMANwMAIAQgBCkDCDcDiAFBACEBIARBiAFqEJwBIQILIAAgAzYCCCAAIAI2AgQgACABNgIAIARB8AFqJAAPCxDvAgALEPACAAtBCEE4EPYCAAv5BgIIfwd+IwBBoAFrIgIkACACQZgBaiIDQgA3AwAgAkGQAWoiBkIANwMAIAJBiAFqIgdCADcDACACQgA3A4ABAkACQAJAAkACQAJAIAEgAkGAAWoQ0gFB/wFxQf8BRgRAIAFB8KTAAEEgEOkBRQ0BCyACQdgAaiABQRhqIgQpAwA3AwAgAkHQAGogAUEQaiIFKQMANwMAIAJByABqIAFBCGoiCCkDADcDACACIAEpAwA3A0AgAkH4AGoiCSAEKQMANwMAIAJB8ABqIgQgBSkDADcDACACQegAaiIFIAgpAwA3AwAgAiABKQMANwNgIANCADcDACAGQgA3AwAgB0IANwMAIAJCADcDgAEgAkFAayACQYABahDSAUH/AXFB/wFGDQEgAkE4aiAJKQMANwMAIAJBMGogBCkDADcDACACQShqIAUpAwA3AwAgAiACKQNgNwMgDAILIAEpAxAiDSABKQMAQgF8IgogASkDCCILQgF8Ig6EIg9QIgOtfCIQIA0gAxshDCAOIAsgClAbIQsgASkDGCEOIA9QIA0gEFZxRQRAIAIgDjcDmAEgAiAMNwOQASACIAs3A4gBIAIgCjcDgAEMAwsgAiAMNwOQASACIAs3A4gBIAIgCjcDgAEgAiAOQgF8Igo3A5gBIApCAFINAgwECyACQSBqIAJB4ABqEIsBCyAAIAIpAyA3AwAgAEEYaiACQThqKQMANwMAIABBEGogAkEwaikDADcDACAAQQhqIAJBKGopAwA3AwAMAQsgAiACQYABaiIBEIsBIAIpAxAhCiACKQMYIQsgAikDACEMIAIpAwghDSABQQEQ1gEgDSANIAIpA4gBfCINViEBIAIpA5ABIQ8gDCAMIAIpA4ABfCIOWAR+IAGtBSANQgF8Ig1QrSABrXwLIQwgAikDmAEhECAKIAogD3wiClYhASAMUAR+IAGtBSAKIAogDHwiClatIAGtfAshDCALIAsgEHwiC1YhAQJAIAxQBEAgACALNwMYIAAgCjcDECAAIA03AwggACAONwMAIAFFDQIMAQsgACAKNwMQIAAgDTcDCCAAIA43AwAgACALIAx8Igo3AxggAQ0AIAogC1oNAQsMAQsgAkGgAWokAA8LIAJBADYCcCACQQE2AmQgAkGcqMAANgJgIAJCBDcCaCACQeAAakHsp8AAEPABAAvGBgEIfwJAAkAgASAAQQNqQXxxIgIgAGsiCEkNACABIAhrIgZBBEkNACAGQQNxIQdBACEBAkAgACACRiIJDQACQCAAIAJrIgRBfEsEQEEAIQIMAQtBACECA0AgASAAIAJqIgMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEBIAJBBGoiAg0ACwsgCQ0AIAAgAmohAwNAIAEgAywAAEG/f0pqIQEgA0EBaiEDIARBAWoiBA0ACwsgACAIaiECAkAgB0UNACACIAZBfHFqIgAsAABBv39KIQUgB0EBRg0AIAUgACwAAUG/f0pqIQUgB0ECRg0AIAUgACwAAkG/f0pqIQULIAZBAnYhBiABIAVqIQQDQCACIQAgBkUNAkHAASAGIAZBwAFPGyIFQQNxIQcgBUECdCEIQQAhAyAGQQRPBEAgACAIQfAHcWohCSAAIQEDQCABKAIAIgJBf3NBB3YgAkEGdnJBgYKECHEgA2ogASgCBCICQX9zQQd2IAJBBnZyQYGChAhxaiABKAIIIgJBf3NBB3YgAkEGdnJBgYKECHFqIAEoAgwiAkF/c0EHdiACQQZ2ckGBgoQIcWohAyABQRBqIgEgCUcNAAsLIAYgBWshBiAAIAhqIQIgA0EIdkH/gfwHcSADQf+B/AdxakGBgARsQRB2IARqIQQgB0UNAAsCfyAAIAVB/AFxQQJ0aiIAKAIAIgFBf3NBB3YgAUEGdnJBgYKECHEiASAHQQFGDQAaIAEgACgCBCIBQX9zQQd2IAFBBnZyQYGChAhxaiIBIAdBAkYNABogACgCCCIAQX9zQQd2IABBBnZyQYGChAhxIAFqCyIBQQh2Qf+BHHEgAUH/gfwHcWpBgYAEbEEQdiAEag8LIAFFBEBBAA8LIAFBA3EhAgJAIAFBBEkEQAwBCyABQXxxIQUDQCAEIAAgA2oiASwAAEG/f0pqIAFBAWosAABBv39KaiABQQJqLAAAQb9/SmogAUEDaiwAAEG/f0pqIQQgBSADQQRqIgNHDQALCyACRQ0AIAAgA2ohAQNAIAQgASwAAEG/f0pqIQQgAUEBaiEBIAJBAWsiAg0ACwsgBAvNBgEOfyMAQRBrIgYkAEEBIQwCQCACKAIUIglBIiACKAIYIg0oAhAiDhEAAA0AAkAgAUUEQEEAIQIMAQtBACABayEPIAAhByABIQMCQAJ/AkACQANAIAMgB2ohEEEAIQICQANAIAIgB2oiCi0AACIFQf8Aa0H/AXFBoQFJIAVBIkZyIAVB3ABGcg0BIAMgAkEBaiICRw0ACyADIAhqDAQLIApBAWohBwJAIAosAAAiC0EATgRAIAtB/wFxIQMMAQsgBy0AAEE/cSEDIAtBH3EhBSAKQQJqIQcgC0FfTQRAIAVBBnQgA3IhAwwBCyAHLQAAQT9xIANBBnRyIQMgCkEDaiEHIAtBcEkEQCADIAVBDHRyIQMMAQsgBUESdEGAgPAAcSAHLQAAQT9xIANBBnRyciEDIApBBGohBwsgBkEEaiADQYGABBBxAkACQCAGLQAEQYABRg0AIAYtAA8gBi0ADmtB/wFxQQFGDQAgBCACIAhqIgVLDQMCQCAERQ0AIAEgBEsEQCAAIARqLAAAQb9/Sg0BDAULIAEgBEcNBAsCQCAFRQ0AIAEgBUsEQCAAIAhqIAJqLAAAQb9/TA0FDAELIAUgD2oNBAsgCSAAIARqIAggBGsgAmogDSgCDCIFEQIADQECQCAGLQAEQYABRgRAIAkgBigCCCAOEQAARQ0BDAMLIAkgBi0ADiIEIAZBBGpqIAYtAA8gBGsgBRECAA0CCwJ/QQEgA0GAAUkNABpBAiADQYAQSQ0AGkEDQQQgA0GAgARJGwsgCGogAmohBAsCf0EBIANBgAFJDQAaQQIgA0GAEEkNABpBA0EEIANBgIAESRsLIAhqIgUgAmohCCAQIAdrIgNFDQMMAQsLDAULIAAgASAEIAVBoOvAABC6AgALIAIgBWoLIgIgBEkNAEEAIQMCQCAERQ0AIAEgBEsEQCAEIgMgAGosAABBv39MDQIMAQsgBCIDIAFHDQELIAJFBEBBACECDAILIAEgAksEQCADIQQgACACaiwAAEG/f0oNAgwBCyADIQQgASACRg0BCyAAIAEgBCACQbDrwAAQugIACyAJIAAgA2ogAiADayANKAIMEQIADQAgCUEiIA4RAAAhDAsgBkEQaiQAIAwLrwcCBn8GfiMAQbABayICJAAgAkGoAWoiAyABQRhqIgQpAwA3AwAgAkGgAWoiBSABQRBqKQMANwMAIAJBmAFqIgYgAUEIaikDADcDACACIAEpAwA3A5ABIAJB0ABqIAJBkAFqIgcQVyACQRBqIAJB2ABqKQMANwMAIAJBGGogAkHgAGopAwA3AwAgAkEgaiACQegAaikDADcDACACIAIpA1A3AwhCgICAgICAgICAfyEJIAQpAwAiC0IAWQRAIAEpAwAhCCABKQMIIQkgASkDECEKIAIgCzcDiAEgAiAKNwOAASACIAk3A3ggAiAINwNwIANCADcDACAFQgA3AwAgBkIANwMAIAJCADcDkAFC////////////AEKAgICAgICAgIB/IAJB8ABqIAcQ0gFB/wFxQf8BRyIDGyEJQn9CACADGyEICyACIAk3A0AgAiAINwM4IAIgCDcDMCACIAg3AygCQAJAAn4CQCACQQhqIAJBKGoQ0gFB/wFxQQFHBEAgC0IAUwRAIAIpA1AhCAwCCyABKQMAIQggASkDCCEJIAEpAxAhCiACIAs3A4gBIAIgCjcDgAEgAiAJNwN4IAIgCDcDcCACQagBakIANwMAIAJBoAFqQgA3AwAgAkGYAWpCADcDACACQgA3A5ABIAJB8ABqIAJBkAFqENIBIAIpA1AhCEH/AXFB/wFGDQEgAikDaCILQgBTDQMgAikDWCEKIAIpA2AMAgsgAkECNgKUASACQayOwAA2ApABIAJCATcCnAEgAiABrUKAgICA0AGENwNwIAIgAkHwAGo2ApgBIAJBkAFqQbyOwAAQjwEhASAAQQE2AgAgACABNgIEDAMLQgAgAikDWCIKfSIMUEIAIAh9IghCAFIiBEF/c3EiAyACKQNgQn+FIgkgA618Ig0gCVRxrSACKQNoQn+FfCILQgBZDQEgCkJ/hSAMIAQbIQogDSAJIAMbCyEJIAJBAjYClAEgAkH0jsAANgKQASACQgE3ApwBIAIgAa1CgICAgNABhDcDcCACIAJB8ABqNgKYASACQZABakGEj8AAEI8BIQEgACALNwMgIAAgCTcDGCAAIAo3AxAgACAINwMIIAIgATYCTCACQcwAahC1AiAAQQA2AgAMAQsgAkECNgKUASACQfSOwAA2ApABIAJCATcCnAEgAiABrUKAgICA0AGENwNwIAIgAkHwAGo2ApgBIAAgAkGQAWpBhI/AABCPATYCBCAAQQE2AgALIAJBsAFqJAALrwYCB38EfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB2ABqIAFBKGopAwA3AwAgBEHQAGogAUEgaikDADcDACAEQcgAaiABQRhqKQMANwMAIARBQGsgAUEQaikDADcDACAEIAEpAwg3AzggBEGQAWogAiADQf///wdHIAMQbAJ/IAQoApABRQRAIARBhAFqIARBuAFqIgMpAwAiCzcCACAEQfwAaiAEQbABaiIFKQMAIgw3AgAgBEH0AGogBEGoAWoiBikDACINNwIAIARB7ABqIARBoAFqIgcpAwAiDjcCACAEQdABaiAONwMAIARB2AFqIA03AwAgBEHgAWogDDcDACAEQegBaiALNwMAIAQgBCkDmAEiCzcCZCAEIAs3A8gBIARBCGogBEE4aiAEQcgBahB7IARBMGoiAiABLQAwOgAAIAEgASgCAEEBazYCACAEQbwBaiACKQMANwIAIARBtAFqIARBKGopAwA3AgAgBEGsAWogBEEgaikDADcCACAEQaQBaiAEQRhqKQMANwIAIARBnAFqIARBEGopAwA3AgBBACEIQfGCwQAtAAAaIAQgBCkDCDcClAFBOEEIEMICIgFFDQQgAUEANgIAIAEgBCkCkAE3AgQgAUEMaiAEQZgBaikCADcCACABQRRqIAcpAgA3AgAgAUEcaiAGKQIANwIAIAFBJGogBSkCADcCACABQSxqIAMpAgA3AgAgAUE0aiAEQcABaigCADYCAEEADAELIARB+ABqIgIgBEGsAWooAgAiAzYCACAEQfAAaiIFIARBpAFqKQIAIgs3AwAgBEHoAGoiBiAEQZwBaikCACIMNwMAIARBDGoiByAMNwIAIARBFGoiCSALNwIAIARBHGoiCiADNgIAIAQgBCkClAE3AgQgASABKAIAQQFrNgIAIAIgCigCADYCACAFIAkpAgA3AwAgBiAHKQIANwMAIAQgBCkCBDcDYEEAIQEgBEHgAGoQnAELIQMgACAINgIIIAAgAzYCBCAAIAE2AgAgBEHwAWokAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC68GAgd/BH4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEIIAEgBUEBajYCACAEQdgAaiABQShqKQMANwMAIARB0ABqIAFBIGopAwA3AwAgBEHIAGogAUEYaikDADcDACAEQUBrIAFBEGopAwA3AwAgBCABKQMINwM4IARBkAFqIAIgA0H///8HRyADEGwCfyAEKAKQAUUEQCAEQYQBaiAEQbgBaiIDKQMAIgs3AgAgBEH8AGogBEGwAWoiBSkDACIMNwIAIARB9ABqIARBqAFqIgYpAwAiDTcCACAEQewAaiAEQaABaiIHKQMAIg43AgAgBEHQAWogDjcDACAEQdgBaiANNwMAIARB4AFqIAw3AwAgBEHoAWogCzcDACAEIAQpA5gBIgs3AmQgBCALNwPIASAEQQhqIARBOGogBEHIAWoQeiAEQTBqIgIgAS0AMDoAACABIAEoAgBBAWs2AgAgBEG8AWogAikDADcCACAEQbQBaiAEQShqKQMANwIAIARBrAFqIARBIGopAwA3AgAgBEGkAWogBEEYaikDADcCACAEQZwBaiAEQRBqKQMANwIAQQAhCEHxgsEALQAAGiAEIAQpAwg3ApQBQThBCBDCAiIBRQ0EIAFBADYCACABIAQpApABNwIEIAFBDGogBEGYAWopAgA3AgAgAUEUaiAHKQIANwIAIAFBHGogBikCADcCACABQSRqIAUpAgA3AgAgAUEsaiADKQIANwIAIAFBNGogBEHAAWooAgA2AgBBAAwBCyAEQfgAaiICIARBrAFqKAIAIgM2AgAgBEHwAGoiBSAEQaQBaikCACILNwMAIARB6ABqIgYgBEGcAWopAgAiDDcDACAEQQxqIgcgDDcCACAEQRRqIgkgCzcCACAEQRxqIgogAzYCACAEIAQpApQBNwIEIAEgASgCAEEBazYCACACIAooAgA2AgAgBSAJKQIANwMAIAYgBykCADcDACAEIAQpAgQ3A2BBACEBIARB4ABqEJwBCyEDIAAgCDYCCCAAIAM2AgQgACABNgIAIARB8AFqJAAPCxDvAgALEPACAAtBCEE4EPYCAAuXBwEEfyMAQSBrIgMkACADECY2AgwgAi0AGSEEAkACQAJAAkACQAJAIAItABgiBkEBRw0AIANBuIPAAEEVEAc2AhggAyAEuBAMNgIcIANBEGogA0EMaiADQRhqIANBHGoQ7QEgAy0AEA0BIAMoAhwiBUGEAU8EQCAFEAgLIAMoAhgiBUGEAUkNACAFEAgLIAItABpBAXENAQwCCyAAIAMoAhRB0IPAABCXASADKAIcIgBBhAFPBEAgABAICyADKAIYIgBBhAFJDQIgABAIDAILIANB4IPAAEEVEAc2AhggAyAEIAEgBhtB/wFxuBAMNgIcIANBEGogA0EMaiADQRhqIANBHGoQ7QEgAy0AEEUEQCADKAIcIgFBhAFPBEAgARAICyADKAIYIgFBhAFJDQEgARAIDAELIAAgAygCFEG4hMAAEJcBIAMoAhwiAEGEAU8EQCAAEAgLIAMoAhgiAEGEAUkNASAAEAgMAQsCQAJAAkACQCACKAIAQYCAgIB4Rg0AIANB9YPAAEEMEAc2AhggAyACKAIEIAIoAggQBzYCHCADQRBqIANBDGogA0EYaiADQRxqEO0BIAMtABANASADKAIcIgFBhAFPBEAgARAICyADKAIYIgFBhAFJDQAgARAICwJAIAItABsiBEECRg0AIANBlITAAEELEAciATYCGCADQYIBQYMBIARBAXEbNgIcIANBEGogA0EMaiADQRhqIANBHGoQ7QEgAy0AEA0CIAFBhAFJDQAgARAICyACKAIMQYCAgIB4Rg0CIAMgAigCECACKAIUEAc2AhAgA0EQahD+AiEBIAMoAhAiAkGEAU8EQCACEAgLIAAgAygCDDYCCCAAIAE2AgQgAEECNgIADAQLIAAgAygCFEGEhMAAEJcBIAMoAhwiAEGEAU8EQCAAEAgLIAMoAhgiAEGEAUkNAiAAEAgMAgsgACADKAIUQaCEwAAQlwEgAygCHCIAQYQBTwRAIAAQCAsgAygCGCIAQYQBSQ0BIAAQCAwBC0HxgsEALQAAGkEFQQEQwgIiAQRAIAFBBGpBtITAAC0AADoAACABQbCEwAAoAAA2AAAgAyABQQUQBzYCECADQRBqEP4CIQIgAygCECIEQYQBTwRAIAQQCAsgACADKAIMNgIIIAAgAjYCBCAAQQI2AgAgAUEFENMCDAILQQFBBRCtAgALIAMoAgwiAEGEAUkNACAAEAgLIANBIGokAAv0BgIFfwF+IwBBgAJrIgIkACACQSBqIgUgAUGAlsAAEE8CQAJAAn8CfyACKAIgRQRAIAJBmAFqIAJBMGoiASkDADcDACACQaABaiACQThqIgMpAwA3AwAgAkGoAWogAkFAayIEKQMANwMAIAIgAikDKDcDkAEgAi0ASCEGIAUgAkGQAWoQSCACKAIgQQFGBEAgAiACKAIkNgK0ASACIAJBtAFqIgM2ArgBIAJBATYC3AEgAkGgnMAANgLYASACQgE3AuQBIAIgAkG4AWqtQoCAgIAwhDcDyAEgAiACQcgBaiIBNgLgASACQbwBaiACQdgBaiIEEJEBIAJBADYC0AEgAkKAgICAEDcCyAEgAkEDOgD4ASACQSA2AugBIAJBADYC9AEgAkGonMAANgLwASACQQA2AuABIAJBADYC2AEgAiABNgLsAUGwmMAAIAQQzQENBSACQYQBaiACQdABaigCADYCACACQfgAaiIBIAJBxAFqKAIANgIAIAIgAikCyAE3AnwgAiACKQK8ATcDcCADELUCIAJBCGogASkDADcDACACQRBqIAJBgAFqKQMANwMAIAIgAikDcCIHNwNQIAIgBzcDAEEBDAILIAJBCGoiBSABKQMANwMAIAJBEGoiASADKQMANwMAIAJBGGoiAyAEKQMANwMAIAIgAikDKCIHNwNQIAIgBzcDACACQTxqIAMpAwA3AgAgAkE0aiABKQMANwIAIAJBLGogBSkDADcCAEEAIQNB8YLBAC0AABogAiACKQMANwIkQThBCBDCAiIBRQ0DIAFBADYCACABIAIpAiA3AgQgASAGOgAwIAFBEjoAKCABQQxqIAJBKGopAgA3AgAgAUEUaiACQTBqKQIANwIAIAFBHGogAkE4aikCADcCACABQSRqIAJBQGsoAgA2AgBBAAwCCyACQQhqIAJBMGopAwA3AwAgAkEQaiACQThqKQMANwMAIAIgAikDKDcDACACKAIkCyEBIAJB5AFqIAJBCGopAwA3AgAgAkHsAWogAkEQaikDADcCACACIAE2AtgBIAIgAikDADcC3AFBASEDQQAhASACQdgBahCcAQshBCAAIAM2AgggACAENgIEIAAgATYCACACQYACaiQADwtBCEE4EPYCAAtB0JzAAEE3IAJB/wFqQcCcwABB1J3AABDPAQALkQYCDH8EfiMAQaABayIDJAACQAJAIAIpAwBCAFINACACKQMIQgBSDQAgAikDEEIAUg0AIAIpAxhCAFINACAAQgA3AwggAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwAMAQsgA0EYakIANwMAIANBEGpCADcDACADQQhqQgA3AwAgA0EoaiIIQgA3AwAgA0EwaiIJQgA3AwAgA0E4aiIKQgA3AwAgA0IBNwMAIANCATcDICADQdgAaiACQRhqKQMANwMAIANB0ABqIAJBEGopAwA3AwAgA0HIAGogAkEIaikDADcDACADIAIpAwA3A0AgA0H4AGoiBCABQRhqKQMANwMAIANB8ABqIgUgAUEQaikDADcDACADQegAaiIGIAFBCGopAwA3AwAgAyABKQMANwNgIANBIGohCyADQeAAaiEMA0AgCyEBIAwhAgJAA0ACQCACIANBQGtGDQBBfyABQQhrIgEpAwAiDyACQQhrIgIpAwAiElIgDyASVhtB/wFxDgIBAgALCyAAIANB4ABqIANBIGoQXgwCCwJAIAMtAEBBAXFFBEAgA0GAAWogA0HgAGoiASABEF4gBCADQZgBaikDADcDACAFIANBkAFqKQMANwMAIAYgA0GIAWopAwA3AwAgAyADKQOAATcDYCADKQNYIg9CP4YgAykDUCIQQgGIhCESIBBCP4YgAykDSCIRQgGIhCEQDAELIANBgAFqIg0gA0HgAGoiByADQSBqEF4gCiADQZgBaiIBKQMANwMAIAkgA0GQAWoiAikDADcDACAIIANBiAFqIg4pAwA3AwAgAyADKQOAATcDICANIAcgBxBeIAQgASkDADcDACAFIAIpAwA3AwAgBiAOKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhECAPQv///////////wCDIQ8LIBFCP4YgAykDQEIBiIQhESADIBI3A1AgAyAQNwNIIAMgETcDQCADIA9CAYg3A1gMAAsACyADQaABaiQAC6kFAQd/AkAgACgCCEEBcUUiBCAAKAIAIglFcUUEQAJAIAQNACABIAJqIQcCQCAAKAIMIgZFBEAgASEEDAELIAEhBANAIAQiAyAHRg0CAn8gA0EBaiADLAAAIghBAE4NABogA0ECaiAIQWBJDQAaIANBA2ogCEFwSQ0AGiADQQRqCyIEIANrIAVqIQUgBkEBayIGDQALCyAEIAdGDQAgBCwAABogBSACAn8CQCAFRQ0AIAIgBUsEQCABIAVqLAAAQb9/Sg0BQQAMAgsgAiAFRg0AQQAMAQsgAQsiAxshAiADIAEgAxshAQsgCUUNASAAKAIEIQcCQCACQRBPBEAgASACEGMhAwwBCyACRQRAQQAhAwwBCyACQQNxIQYCQCACQQRJBEBBACEDQQAhBQwBCyACQQxxIQhBACEDQQAhBQNAIAMgASAFaiIELAAAQb9/SmogBEEBaiwAAEG/f0pqIARBAmosAABBv39KaiAEQQNqLAAAQb9/SmohAyAIIAVBBGoiBUcNAAsLIAZFDQAgASAFaiEEA0AgAyAELAAAQb9/SmohAyAEQQFqIQQgBkEBayIGDQALCwJAIAMgB0kEQCAHIANrIQRBACEDAkACQAJAIAAtACBBAWsOAgABAgsgBCEDQQAhBAwBCyAEQQF2IQMgBEEBakEBdiEECyADQQFqIQMgACgCECEGIAAoAhghBSAAKAIUIQADQCADQQFrIgNFDQIgACAGIAUoAhARAABFDQALQQEPCwwCCyAAIAEgAiAFKAIMEQIABEBBAQ8LQQAhAwNAIAMgBEYEQEEADwsgA0EBaiEDIAAgBiAFKAIQEQAARQ0ACyADQQFrIARJDwsgACgCFCABIAIgACgCGCgCDBECAA8LIAAoAhQgASACIAAoAhgoAgwRAgALwQUCCH8DfiMAQdABayIEJAAgARANIQUgBEHgAGoiBiABQZiGwAAQTwJAAkAgBCgCYEUEQCADQRIgAhshASAEQdQAaiAEQYgBaikDACIMNwIAIARBEGoiAiAEQfAAaiIDKQMANwMAIARBGGoiByAEQfgAaiIIKQMANwMAIARBIGoiCSAEQYABaiIKKQMANwMAIARBKGoiCyAMNwMAIAQgBCkDaDcDCCAFRSAFQf///wdGcg0BIARBoAFqQgA3AwAgBEGoAWpCADcDACAEQgA3A5gBIARCCjcDkAEgBEHIAWpCADcDACAEQcABakIANwMAIARCADcDuAEgBEEkIAFrrUL/AYM3A7ABIAYgBEGQAWogBEGwAWoQSiAEQRI6AFAgBCAEKQN4NwNIIAQgBCkDcDcDQCAEIAQpA2g3AzggBCAEKQNgNwMwIAogCykDADcDACAIIAkpAwA3AwAgAyAHKQMANwMAIARB6ABqIAIpAwA3AwAgBCAEKQMINwNgIARBCGogBiAEQTBqEHoMAQsgBEHIAGogBEH8AGooAgAiATYCACAEQUBrIARB9ABqKQIAIgw3AwAgBEE4aiAEQewAaikCACINNwMAIAQgBCkCZCIONwMwIABBHGogATYCACAAQRRqIAw3AgAgAEEMaiANNwIAIAAgDjcCBCAAQQE2AgAMAQsgBEGgAWpCADcDACAEQagBakIANwMAIARCADcDmAEgBEIKNwOQASAEQcgBakIANwMAIARBwAFqQgA3AwAgBEIANwO4ASAEQSQgAWutQv8BgzcDsAEgBEHgAGogBEGQAWogBEGwAWoQSiAEQRI6AFAgBCAEKQN4NwNIIAQgBCkDcDcDQCAEIAQpA2g3AzggBCAEKQNgNwMwIABBCGogBEEIaiAEQTBqEHsgAEEANgIAIAAgAToAMAsgBEHQAWokAAvqBQEHfwJ/IAFFBEAgACgCHCEIQS0hCiAFQQFqDAELQStBgIDEACAAKAIcIghBAXEiARshCiABIAVqCyEHAkAgCEEEcUUEQEEAIQIMAQsCQCADQRBPBEAgAiADEGMhAQwBCyADRQRAQQAhAQwBCyADQQNxIQkCQCADQQRJBEBBACEBDAELIANBDHEhDEEAIQEDQCABIAIgBmoiCywAAEG/f0pqIAtBAWosAABBv39KaiALQQJqLAAAQb9/SmogC0EDaiwAAEG/f0pqIQEgDCAGQQRqIgZHDQALCyAJRQ0AIAIgBmohBgNAIAEgBiwAAEG/f0pqIQEgBkEBaiEGIAlBAWsiCQ0ACwsgASAHaiEHCyAAKAIARQRAIAAoAhQiASAAKAIYIgAgCiACIAMQiQIEQEEBDwsgASAEIAUgACgCDBECAA8LAkACQAJAIAcgACgCBCIGTwRAIAAoAhQiASAAKAIYIgAgCiACIAMQiQJFDQFBAQ8LIAhBCHFFDQEgACgCECELIABBMDYCECAALQAgIQxBASEBIABBAToAICAAKAIUIgggACgCGCIJIAogAiADEIkCDQIgBiAHa0EBaiEBAkADQCABQQFrIgFFDQEgCEEwIAkoAhARAABFDQALQQEPCyAIIAQgBSAJKAIMEQIABEBBAQ8LIAAgDDoAICAAIAs2AhBBAA8LIAEgBCAFIAAoAgwRAgAhAQwBCyAGIAdrIQcCQAJAAkAgAC0AICIBQQFrDgMAAQACCyAHIQFBACEHDAELIAdBAXYhASAHQQFqQQF2IQcLIAFBAWohASAAKAIQIQggACgCGCEGIAAoAhQhAAJAA0AgAUEBayIBRQ0BIAAgCCAGKAIQEQAARQ0AC0EBDwtBASEBIAAgBiAKIAIgAxCJAg0AIAAgBCAFIAYoAgwRAgANAEEAIQEDQCABIAdGBEBBAA8LIAFBAWohASAAIAggBigCEBEAAEUNAAsgAUEBayAHSQ8LIAELmQYCBX8CfiACKAIAIgRBE0sEQAJAIABCgICE/qbe4RFaBEAgAiAEQRBrIgU2AgAgASAFaiIDIAAgAEKAgIT+pt7hEYAiCUKAgIT+pt7hEX59IghCgIDpg7HeFoCnQQF0QZbpwABqLwAAOwAAIANBDGogCELkAIAiAELkAIKnQQF0QZbpwABqLwAAOwAAIANBCmogCEKQzgCAQuQAgqdBAXRBlunAAGovAAA7AAAgA0EIaiAIQsCEPYBC5ACCp0EBdEGW6cAAai8AADsAACADQQZqIAhCgMLXL4CnQeQAcEEBdEGW6cAAai8AADsAACADQQRqIAhCgMivoCWAp0HkAHBBAXRBlunAAGovAAA7AAAgA0EOaiAIIABC5AB+fadBAXRBlunAAGovAAA7AAAgA0ECaiAIQoCglKWNHYCnQf//A3FB5ABwQQF0QZbpwABqLwAAOwAAIAmnIQMMAQsgAEKAwtcvWgRAIAIgBEEIayIENgIAIAEgBGoiBiAAIABCgMLXL4AiAEKAwtcvfn2nIgVBwIQ9bkEBdEGW6cAAai8AADsAACAGQQRqIAVB5ABuIgNB5ABwQQF0QZbpwABqLwAAOwAAIAZBBmogBSADQeQAbGtBAXRBlunAAGovAAA7AAAgBkECaiAFQZDOAG5B//8DcUHkAHBBAXRBlunAAGovAAA7AAALIACnIQMgAEKQzgBUBEAgBCEFDAELIAEgBEEEayIFaiADIANBkM4AbiIDQZDOAGxrIgdB//8DcUHkAG4iBkEBdEGW6cAAai8AADsAACABIARqQQJrIAcgBkHkAGxrQf//A3FBAXRBlunAAGovAAA7AAALAkAgA0HkAEkEQCADIQQMAQsgASAFQQJrIgVqIAMgA0H//wNxQeQAbiIEQeQAbGtB//8DcUEBdEGW6cAAai8AADsAAAsgBEH//wNxIgZBCk8EQCABIAVBAmsiA2ogBkEBdEGW6cAAai8AADsAACACIAM2AgAPCyABIAVBAWsiA2ogBEEwcjoAACACIAM2AgAPC0He6sAAQRxB/OrAABD8AQAL3wUCCn8BfiMAQYACayICJAACQAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgAkH4AGogAEEoaikDADcDACACQfAAaiIDIABBIGopAwA3AwAgAkHoAGoiBSAAQRhqKQMANwMAIAJB4ABqIABBEGopAwA3AwAgAiAAKQMINwNYIAJBuAFqIgZCADcDACACQcABaiIHQgA3AwAgAkIANwOwASACQgo3A6gBIAJByABqQgA3AwAgAkFAa0IANwMAIAJCADcDOCACQSQgAWutQv8BgyIMNwMwIAJByAFqIgggAkGoAWoiCSACQTBqIgQQSiACQRI6AKABIAIgAikD4AE3A5gBIAIgAikD2AE3A5ABIAIgAikD0AE3A4gBIAIgAikDyAE3A4ABIAQgAkHYAGoiCiACQYABaiILEHogBkIANwMAIAdCADcDACACQgA3A7ABIAJCCjcDqAEgA0IANwMAIAVCADcDACACQgA3A2AgAiAMNwNYIAggCSAKEEogAkESOgCgASACIAIpA+ABNwOYASACIAIpA9gBNwOQASACIAIpA9ABNwOIASACIAIpA8gBNwOAASACIAQgCxB7IAJBKGoiAyABOgAAIAAgACgCAEEBazYCACACQfQBaiADKQMANwIAIAJB7AFqIAJBIGopAwA3AgAgAkHkAWogAkEYaikDADcCACACQdwBaiACQRBqKQMANwIAIAJB1AFqIAJBCGopAwA3AgBB8YLBAC0AABogAiACKQMANwLMAUE4QQgQwgIiAEUNAiAAQQA2AgAgACACKQLIATcCBCAAQQxqIAJB0AFqKQIANwIAIABBFGogAkHYAWopAgA3AgAgAEEcaiACQeABaikCADcCACAAQSRqIAJB6AFqKQIANwIAIABBLGogAkHwAWopAgA3AgAgAEE0aiACQfgBaigCADYCACACQYACaiQAIAAPCxDvAgALEPACAAtBCEE4EPYCAAu/BQEJfyMAQRBrIgYkAAJAIAEtAEkEQAwBCyABKAI0IQMgASgCMCEFAkACQAJAAkACQCABKAIARQRAIAEtAA5FBEAgAS0ADCEIAkACQAJAIAEoAgQiAkUNACACIANPBEAgAiADRg0BDAILIAIgBWosAABBQEgNAQsgAiADRg0BAn8gAiAFaiIKLAAAIglBAEgEQCAKLQABQT9xIQQgCUEfcSEHIAdBBnQgBHIgCUFgSQ0BGiAKLQACQT9xIARBBnRyIQQgBCAHQQx0ciAJQXBJDQEaIAdBEnRBgIDwAHEgCi0AA0E/cSAEQQZ0cnIMAQsgCUH/AXELIQdBASEEIAhBAXENBQJAIAdBgAFJDQBBAiEEIAdBgBBJDQBBA0EEIAdBgIAESRshBAsgASACIARqIgI2AgQgAkUNBAJAIAIgA0kEQCACIAVqLAAAQb9/TA0BDAYLIAIgA0YNBQtBASEICyABIAhBf3NBAXE6AAwgBSADIAIgA0GYlcAAELoCAAsgASAIQX9zQQFxOgAMIAhBAXENBSABQQE6AA4LIAZBADYCBAwFCyABQQhqIQcgASgCPCEEIAEoAjghAiABKAIkQX9HBEAgBkEEaiAHIAUgAyACIARBABCDAQwFCyAGQQRqIAcgBSADIAIgBEEBEIMBDAQLIAIgA0YNASACIAVqLAAAQQBODQALIAIhAwsgAUEAOgAMCyAGIAM2AgwgBiADNgIIIAZBATYCBAsgBigCBEUEQEEAIQMgAS0ASQ0BIAFBAToASQJAIAEtAEhBAUYEQCABKAJEIQggASgCQCECDAELIAEoAkQiCCABKAJAIgJGDQILIAggAmshBSABKAIwIAJqIQMMAQsgASgCQCECIAEgBigCDDYCQCACIAVqIQMgBigCCCACayEFCyAAIAU2AgQgACADNgIAIAZBEGokAAvACwEFfyMAQSBrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAIAEOKAUICAgICAgICAEDCAgCCAgICAgICAgICAgICAgICAgICAgGCAgICAcACyABQdwARg0DDAcLIABBgAQ7AQogAEIANwECIABB3OgBOwEADAcLIABBgAQ7AQogAEIANwECIABB3OQBOwEADAYLIABBgAQ7AQogAEIANwECIABB3NwBOwEADAULIABBgAQ7AQogAEIANwECIABB3LgBOwEADAQLIABBgAQ7AQogAEIANwECIABB3OAAOwEADAMLIAJBgIAEcUUNASAAQYAEOwEKIABCADcBAiAAQdzEADsBAAwCCyACQYACcUUNACAAQYAEOwEKIABCADcBAiAAQdzOADsBAAwBCwJAIAJBAXFFIAFB/wVNcg0AAn8CQCABQaqdBEtBBHQiAiACQQhyIgMgAUELdCICIANBAnRBiPzAAGooAgBBC3RJGyIDIANBBHIiAyADQQJ0QYj8wABqKAIAQQt0IAJLGyIDIANBAnIiAyADQQJ0QYj8wABqKAIAQQt0IAJLGyIDIANBAWoiAyADQQJ0QYj8wABqKAIAQQt0IAJLGyIDIANBAWoiAyADQQJ0QYj8wABqKAIAQQt0IAJLGyIDQQJ0QYj8wABqKAIAQQt0IgUgAkYgAiAFS2ogA2oiA0EgTQRAIANBAnRBiPzAAGoiBigCAEEVdiECQdcFIQUCfwJAIANBIEYNACAGKAIEQRV2IQUgAw0AQQAMAQsgA0ECdEGE/MAAaigCAEH///8AcQshAwJAIAUgAkF/c2pFDQAgASADayEHQdcFIAIgAkHXBU0bIQYgBUEBayEDQQAhBQNAIAIgBkYNAyAFIAJBjP3AAGotAABqIgUgB0sNASADIAJBAWoiAkcNAAsgAyECCyACQQFxDAILIANBIUGg+8AAENgBAAsgBkHXBUGw+8AAENgBAAtFDQAgBEEAOgAKIARBADsBCCAEIAFBFHZB/+XAAGotAAA6AAsgBCABQQR2QQ9xQf/lwABqLQAAOgAPIAQgAUEIdkEPcUH/5cAAai0AADoADiAEIAFBDHZBD3FB/+XAAGotAAA6AA0gBCABQRB2QQ9xQf/lwABqLQAAOgAMIAFBAXJnQQJ2IgIgBEEIaiIDaiIFQfsAOgAAIAVBAWtB9QA6AAAgAyACQQJrIgJqQdwAOgAAIARBEGoiAyABQQ9xQf/lwABqLQAAOgAAIABBCjoACyAAIAI6AAogACAEKQIINwIAIARB/QA6ABEgAEEIaiADLwEAOwEADAELAn9BACABQSBJDQAaQQEgAUH/AEkNABogAUGAgARPBEAgAUHg//8AcUHgzQpHIAFB/v//AHFBnvAKR3EgAUHA7gprQXpJcSABQbCdC2tBcklxIAFB8NcLa0FxSXEgAUGA8AtrQd5sSXEgAUGAgAxrQZ50SXEgAUHQpgxrQXtJcSABQYCCOGtBsMVUSXEgAUHwgzhJcSABQYCACE8NARogAUGE8MAAQSxB3PDAAEHEAUGg8sAAQcIDEJQBDAELIAFB4vXAAEEoQbL2wABBoAJB0vjAAEGtAhCUAQtFBEAgBEEAOgAWIARBADsBFCAEIAFBFHZB/+XAAGotAAA6ABcgBCABQQR2QQ9xQf/lwABqLQAAOgAbIAQgAUEIdkEPcUH/5cAAai0AADoAGiAEIAFBDHZBD3FB/+XAAGotAAA6ABkgBCABQRB2QQ9xQf/lwABqLQAAOgAYIAFBAXJnQQJ2IgIgBEEUaiIDaiIFQfsAOgAAIAVBAWtB9QA6AAAgAyACQQJrIgJqQdwAOgAAIARBHGoiAyABQQ9xQf/lwABqLQAAOgAAIABBCjoACyAAIAI6AAogACAEKQIUNwIAIARB/QA6AB0gAEEIaiADLwEAOwEADAELIAAgATYCBCAAQYABOgAACyAEQSBqJAALggYCBX8BfiMAQfAAayIEJAAgBCACNgIsIAQgATYCKAJAAkAgAy0AHEEEcUUEQEEBIQUgBEEBNgJUIARBiMrAADYCUCAEQgE3AlwgBEKAgICA0AwiCSAEQShqrYQ3AzggBCAEQThqNgJYIAMoAhQgAygCGCAEQdAAahB1DQIgBEEgaiAEKAIoIAQoAiwoAhgRAQAgBCgCICICRQ0BIAQoAiQhASADKAIUQczKwABBDCADKAIYKAIMEQIADQIgBEEYaiACIAEoAhgRAQAgCSAEQTBqrYQhCSAEKAIYBEADQCAEQRBqIAIgASgCGBEBACAEKAIUIAQoAhAhCCAEIAE2AjQgBCACNgIwIAMoAhRB2MrAAEEBIAMoAhgoAgwRAgANBCAEQQE6AEggBCADNgJEIAQgBjYCPCAEQQE2AjggBEEBNgJUIARBiMrAADYCUCAEQgE3AlwgBCAJNwNoIAQgBEHoAGo2AlggBEE4akHIx8AAIARB0ABqEHUNBCAGQQFqIQYhASAIIgINAAsMAgsDQCAEQQhqIAIgASgCGBEBACAEKAIMIAQoAgghCCAEIAE2AjQgBCACNgIwIAMoAhRB2MrAAEEBIAMoAhgoAgwRAgANAyAEQQE6AEggBCADNgJEIARBBDYCQCAEQdnKwAA2AjwgBEEANgI4IARBATYCVCAEQYjKwAA2AlAgBEIBNwJcIAQgCTcDaCAEIARB6ABqNgJYIARBOGpByMfAACAEQdAAahB1DQMhASAIIgINAAsMAQsgASADIAIoAgwRAAAhBQwBCyAAKAIAIgBFBEBBACEFDAELIAQgADYCMCADKAIUQd3KwABBDCADKAIYKAIMEQIADQAgBEEBOgBIIAQgAzYCRCAEQQQ2AkAgBEHZysAANgI8IARBADYCOCAEQQE2AlQgBEGIysAANgJQIARCATcCXCAEIARBMGqtQoCAgIDgDIQ3A2ggBCAEQegAajYCWCAEQThqQcjHwAAgBEHQAGoQdQ0AQQAhBQsgBEHwAGokACAFC4EGAQV/IABBCGsiASAAQQRrKAIAIgNBeHEiAGohAgJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQfCGwQAoAgBGBEAgAigCBEEDcUEDRw0BQeiGwQAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxCVAQsCQAJAAkACQAJAIAIoAgQiA0ECcUUEQCACQfSGwQAoAgBGDQIgAkHwhsEAKAIARg0DIAIgA0F4cSICEJUBIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQfCGwQAoAgBHDQFB6IbBACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEKUBQQAhAUGIh8EAQYiHwQAoAgBBAWsiADYCACAADQRB0ITBACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0GIh8EAQf8fIAEgAUH/H00bNgIADwtB9IbBACABNgIAQeyGwQBB7IbBACgCACAAaiIANgIAIAEgAEEBcjYCBEHwhsEAKAIAIAFGBEBB6IbBAEEANgIAQfCGwQBBADYCAAsgAEGAh8EAKAIAIgNNDQNB9IbBACgCACICRQ0DQQAhAEHshsEAKAIAIgRBKUkNAkHIhMEAIQEDQCACIAEoAgAiBU8EQCACIAUgASgCBGpJDQQLIAEoAgghAQwACwALQfCGwQAgATYCAEHohsEAQeiGwQAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsgAEH4AXFB2ITBAGohAgJ/QeCGwQAoAgAiA0EBIABBA3Z0IgBxRQRAQeCGwQAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtB0ITBACgCACIBBEADQCAAQQFqIQAgASgCCCIBDQALC0GIh8EAQf8fIAAgAEH/H00bNgIAIAMgBE8NAEGAh8EAQX82AgALC7MFAQh/IwBB0ABrIgMkACADQQA2AhwgA0KAgICAEDcCFCADQUBrIgIgARBTIANBATYCJCADQdyIwAA2AiAgAyACrUKAgICAEIQ3AzggA0IBNwIsIAMgA0E4ajYCKCADQRRqQfyGwAAgA0EgahB1IQIgAygCQCIFBEAgAygCRCAFENMCCwJAAkACQAJAIAJFBEAgAygCGCEFIAMoAhQhBiADKAIcIQIgAS0AKCIBRQ0BIAFBEkYNAgwDC0G0h8AAQTcgA0HPAGpBpIfAAEG4iMAAEM8BAAsDQAJAIAQgBWohBwJAIAIgBGsiCEEHTQRAIAIgBEYNAkEAIQEDQCABIAdqLQAAQS5GDQIgCCABQQFqIgFHDQALDAILIANBCGpBLiAHIAgQqAEgAygCCEEBRw0BIAMoAgwhAQsCQCABIARqIgEgAk8NACABIAVqLQAAQS5HDQAgASECDAELIAIgAUEBaiIETw0BCwsCQAJAIAJFBEBBASEBDAELQQAhBCACQQBIDQFB8YLBAC0AABpBASEEIAJBARDCAiIBRQ0BCyABIAUgAhCZASEBIAAgAjYCCCAAIAE2AgQgACACNgIAIAZFDQMgBSAGENMCDAMLIAQgAhCtAgALIAAgAjYCCCAAIAU2AgQgACAGNgIADAELAkBBEiABa0H/AXEiASACRgRAQQEhBEEAIQEMAQsCQAJAIAIgAWsiASACTw0AIAEgBWosAABBQEgNACABRQRAQQEhBEEBIAUgARCZARoMAwtBACECIAFBAEgNAUHxgsEALQAAGkEBIQIgAUEBEMICIgRFDQEgBCAFIAEQmQEaDAILIAUgAkEAIAFBlIfAABC6AgALIAIgARCtAgALIAAgATYCCCAAIAQ2AgQgACABNgIAIAZFDQAgBSAGENMCCyADQdAAaiQAC+4EAQp/IwBBMGsiAyQAIANBAzoALCADQSA2AhwgA0EANgIoIAMgATYCJCADIAA2AiAgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACKAIMIgBFDQEgAigCCCEBIABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAiAgACgCACAEIAMoAiQoAgwRAgANBAsgASgCACADQQxqIAEoAgQRAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACKAIUIgBFDQAgAEEFdCELIABBAWtB////P3FBAWohByACKAIIIQggAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBECAA0DCyADIAUgCmoiAUEQaigCADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhBEEAIQlBACEGAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBEEDdCAIaiIMKAIEDQEgDCgCACEEC0EBIQYLIAMgBDYCECADIAY2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsgBEEDdCAIaiIGKAIEDQEgBigCACEEC0EBIQkLIAMgBDYCGCADIAk2AhQgCCABQRRqKAIAQQN0aiIBKAIAIANBDGogASgCBBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAcgAigCBE8NASADKAIgIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiQoAgwRAgBFDQELQQEMAQtBAAsgA0EwaiQAC48EAQ1/IAFBAWshDyAAKAIEIQogACgCACELIAAoAgghDAJAA0AgDg0BAkACQCACIARJDQADQCABIARqIQUCQAJAAkAgAiAEayIGQQdNBEAgAiAERw0BIAIhBAwFCwJAIAVBA2pBfHEiCCAFayIDBEBBACEAA0AgACAFai0AAEEKRg0FIAMgAEEBaiIARw0ACyADIAZBCGsiAE0NAQwDCyAGQQhrIQALA0BBgIKECCAIKAIAIglBipSo0ABzayAJckGAgoQIIAhBBGooAgAiCUGKlKjQAHNrIAlycUGAgYKEeHFBgIGChHhHDQIgCEEIaiEIIANBCGoiAyAATQ0ACwwBC0EAIQADQCAAIAVqLQAAQQpGDQIgBiAAQQFqIgBHDQALIAIhBAwDCyADIAZGBEAgAiEEDAMLA0AgAyAFai0AAEEKRgRAIAMhAAwCCyAGIANBAWoiA0cNAAsgAiEEDAILIAAgBGoiA0EBaiEEAkAgAiADTQ0AIAAgBWotAABBCkcNACAEIQUgBCEADAMLIAIgBE8NAAsLQQEhDiACIgAgByIFRg0CCwJAIAwtAAAEQCALQdzowABBBCAKKAIMEQIADQELQQAhAyAAIAdHBEAgACAPai0AAEEKRiEDCyAAIAdrIQAgASAHaiEGIAwgAzoAACAFIQcgCyAGIAAgCigCDBECAEUNAQsLQQEhDQsgDQu1BAEEfyMAQZABayICJAAgAkGAAWogAUEYaikDADcDACACQfgAaiABQRBqKQMANwMAIAJB8ABqIAFBCGopAwA3AwAgAkEBNgIkIAJB3IjAADYCICACQgE3AiwgAiACQegAaiIDrUKAgICAsAGENwNYIAIgASkDADcDaCACIAJB2ABqNgIoIAJBFGogAkEgahCRASACIAIoAhggAigCHBAHIgQ2AmggAkEIaiADEIgCIAIoAgwhASACKAIIIQMgBEGEAU8EQCAEEAgLAkACQCADRQRAIABBAjYCACAAIAE2AgQMAQsgAkEBNgJsIAJB9IjAADYCaCACQgE3AnQgAiACQRRqrUKAgICAEIQ3AyAgAiACQSBqIgQ2AnAgAkHYAGogAkHoAGoiAxCRASACQQA2AiggAkKAgICAEDcCICACQQM6AIgBIAJBIDYCeCACQQA2AoQBIAJB/IjAADYCgAEgAkEANgJwIAJBADYCaCACIAQ2AnxBzIbAACADEM0BDQEgAkFAayIEIAJBKGooAgA2AgAgAkHQAGoiAyACQeAAaigCADYCACACIAIpAiA3AzggAiACKQJYNwNIIAFBhAFPBEAgARAICyAAQQA2AgAgACACKQNINwIEIAAgAikDODcCECAAQQxqIAMoAgA2AgAgAEEYaiAEKAIANgIACyACKAIUIgAEQCACKAIYIAAQ0wILIAJBkAFqJAAPC0GkicAAQTcgAkHIAGpBlInAAEGoisAAEM8BAAu1BgIJfwF+IwBBMGsiBSQAIABBDGohCyAFQQhqrUKAgICAgBKEIQwCfwNAAkAgAiAGTwRAA0ACQCABIAZqIQcCQAJAAkAgAiAGayIJQQdNBEAgAiAGRgRAIAIhBgwFC0EAIQMDQCADIAdqLQAAQQpGDQJBASEIIAkgA0EBaiIDRw0ACyAEIQcgAiEGIAIhAwwHCyAFQQogByAJEKgBIAUoAgAiCUEBRw0BIAUoAgQhAwsgAyAGaiIDQQFqIQYgAiADTQ0BIAEgA2otAABBCkcNAUEAIQggBiEHDAULQQEhCCAEIQcgAiEGIAIhAyAJQQFxRQ0EQQAhCAwECyACIAZPDQELCwsgBCEHQQEhCCACIQMLIAUgAyAEayIDNgIMIAUgASAEajYCCAJAAkACQAJAIApFBEAgAC0AEEEBcQ0BDAILIAsoAgBBChC5Ag0CIABBAToAECAFKAIMIQMLIANFDQIgCyEEIwBB0ABrIgMkAAJ/AkACQAJAIAAoAgBBAWsOAgIBAAsgAyAAQQRqNgIoIANBATYCNCADQdDLwAA2AjAgA0IBNwI8IAMgA0Eoaq1CgICAgJAThDcDECADIANBEGo2AjggBCADQTBqQYDLwAAoAgARAAAMAgsgACgCBCAKIARB7MrAACAAKAIIKAIQEQgADAELIAMgAEEEajYCDCAKBEAgA0EANgJAIANBATYCNCADQfTLwAA2AjAgA0IENwI4IAQgA0EwakGAy8AAKAIAEQAADAELIAMgA0EMaq1CgICAgKAThDcDKCADQQE2AiQgA0ECNgIUIANB3MvAADYCECADQQE2AhwgA0EBOgBMIANBADYCSCADQiA3AkAgA0KAgICAwAA3AjggA0ECNgIwIAMgA0EwajYCICADIANBKGo2AhggBCADQRBqQYDLwAAoAgARAAALIANB0ABqJAANASAAQQA6ABALIAsoAgAhBCAFIAw3AyggBUEBNgIUIAVBhMvAADYCECAFQgE3AhwgBEEUaigCACAEQRhqKAIAIAUgBUEoajYCGCAFQRBqEHVFDQELQQEMAgsgCkEBaiEKIAchBCAIRQ0AC0EACyAFQTBqJAALzwMBA38jAEHgAWsiAiQAAkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCACACQcgAaiABQShqKQMANwMAIAJBQGsgAUEgaikDADcDACACQThqIAFBGGopAwA3AwAgAkEwaiABQRBqKQMANwMAIAIgASkDCDcDKCABLQAwIQMgAkGwAWpCADcDACACQbgBakIANwMAIAJCADcDqAEgAkIKNwOgASACQdgBakIANwMAIAJB0AFqQgA3AwAgAkIANwPIASACQSQgA2utQv8BgzcDwAEgAkH4AGoiAyACQaABaiACQcABahBKIAJBEjoAcCACIAIpA5ABNwNoIAIgAikDiAE3A2AgAiACKQOAATcDWCACIAIpA3g3A1AgAyACQShqIAJB0ABqEHogAkEMaiADEHcgASABKAIAQQFrNgIAAn8gAigCDCIEQQJGBEAgAigCECEDQQAMAQsgAkGQAWogAkEkaigCADYCACACQYgBaiACQRxqKQIANwMAIAJBgAFqIAJBFGopAgA3AwAgAiACKQIMNwN4QQAhAyACQfgAahCcAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQeABaiQADwsQ7wIACxDwAgAL2gMCA38EfiMAQcABayIDJAAgAS0AICEEIANB1ABqIAFBJGooAAA2AAAgA0E4aiABQQhqKQMANwMAIANBQGsgAUEQaikDADcDACADQcgAaiABQRhqKQMANwMAIAMgBDoAUCADIAEoACE2AFEgAyABKQMANwMwQgEhBgJAAkACQCAEDgICAQALQgohBkIBIQgDQCADQRBqIAZCASAEQQFxIgEbIAdCACABGyAIIAkQzgEgA0EgaiAGIAcgBiAHEM4BIARBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIARBAXYhBA0ACyADIAggCSAGIAcQzgEgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0HciMAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIAghDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQkQEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQ0wILIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEFIgA0HAAWokAAvaAwIDfwR+IwBBwAFrIgMkACABLQAgIQQgA0HUAGogAUEkaigAADYAACADQThqIAFBCGopAwA3AwAgA0FAayABQRBqKQMANwMAIANByABqIAFBGGopAwA3AwAgAyAEOgBQIAMgASgAITYAUSADIAEpAwA3AzBCASEGAkACQAJAIAQOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIARBAXEiARsgB0IAIAEbIAggCRDOASADQSBqIAYgByAGIAcQzgEgBEEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggBEEBdiEEDQALIAMgCCAJIAYgBxDOASADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQdyIwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgCCENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahCRASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARDTAgsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQUiADQcABaiQAC+QDAgN/AX4jAEGgAWsiBCQAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQegAaiACIANB////B0cgAxBsAn8CQAJAIAQoAmhFBEAgBEHfAGoiAiAEQYABaikAADcAACAEQdgAaiIDIARB+QBqKQAANwMAIARBKWogAykDADcAACAEQTBqIAIpAAA3AAAgBCAEKQBxIgc3A1AgBCAELQBwOgAgIAQgBzcAISAELQCQASECIAQgBCkDiAE3AzggAUEIaiAEQSBqQSAQ6QEgAS0AKCEFIAEgASgCAEEBazYCAEEARyACIAVHciEDDAELIARB3wBqIgIgBEGAAWopAAA3AAAgBEHYAGoiAyAEQfkAaikAADcDACAEQRBqIgUgAykDADcDACAEQRdqIgYgAikAADcAACAEIAQpAHE3AwggBC0AcCEDIAQoAmwhAiABIAEoAgBBAWs2AgAgAkECRw0BCyADQQFxIQFBACEDQQAMAQsgBEH1AGogBSkDADcAACAEQfwAaiAGKQAANwAAIAQgAzoAbCAEIAI2AmggBCAEKQMINwBtQQEhA0EAIQEgBEHoAGoQnAELIQIgACADNgIIIAAgAjYCBCAAIAE2AgAgBEGgAWokAA8LEO8CAAsQ8AIAC+IDAgN/AX4jAEGgAWsiBCQAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQegAaiACIANB////B0cgAxBsAn8CQAJAIAQoAmhFBEAgBEHfAGoiAiAEQYABaikAADcAACAEQdgAaiIDIARB+QBqKQAANwMAIARBKWogAykDADcAACAEQTBqIAIpAAA3AAAgBCAEKQBxIgc3A1AgBCAELQBwOgAgIAQgBzcAISAELQCQASECIAQgBCkDiAE3AzggAUEIaiAEQSBqQSAQ6QEgAS0AKCEFIAEgASgCAEEBazYCAEUgAiAFRnEhAwwBCyAEQd8AaiICIARBgAFqKQAANwAAIARB2ABqIgMgBEH5AGopAAA3AwAgBEEQaiIFIAMpAwA3AwAgBEEXaiIGIAIpAAA3AAAgBCAEKQBxNwMIIAQtAHAhAyAEKAJsIQIgASABKAIAQQFrNgIAIAJBAkcNAQsgA0EBcSEBQQAhA0EADAELIARB9QBqIAUpAwA3AAAgBEH8AGogBikAADcAACAEIAM6AGwgBCACNgJoIAQgBCkDCDcAbUEBIQNBACEBIARB6ABqEJwBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARBoAFqJAAPCxDvAgALEPACAAuKCQIFfwR+IwBB8ABrIgYkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACMAQZACayIFJAAgBUEgaiABQQhqIgdBIGopAwA3AwAgBUEYaiAHQRhqKQMANwMAIAVBEGogB0EQaikDADcDACAFQQhqIAdBCGopAwA3AwAgBSAHKQMANwMAIAVBiAFqIgggAiAEQf///wdHIgIgBBBsAkACQCAFKAKIAUUEQCAFQcwAaiAFQbABaiIJKQMAIgo3AgAgBUHEAGogBUGoAWopAwAiCzcCACAFQTxqIAVBoAFqKQMAIgw3AgAgBUE0aiAFQZgBaikDACINNwIAIAVByAFqIA03AwAgBUHQAWogDDcDACAFQdgBaiALNwMAIAVB4AFqIAo3AwAgBSAFKQOQASIKNwIsIAUgCjcDwAEgCCADIAIgBBBsIAUoAogBDQEgBUH8AGogCSkDACIKNwIAIAVB9ABqIAVBqAFqKQMAIgs3AgAgBUHsAGogBUGgAWopAwAiDDcCACAFQeQAaiAFQZgBaikDACINNwIAIAVB8AFqIA03AwAgBUH4AWogDDcDACAFQYACaiALNwMAIAVBiAJqIAo3AwAgBSAFKQOQASIKNwJcIAUgCjcD6AEgBkEIaiAFIAVBwAFqIAVB6AFqEFIgBkEANgIAIAYgBy0AKDoAMAwCCyAFQUBrIAVBpAFqKAIAIgI2AgAgBUE4aiAFQZwBaikCACIKNwMAIAVBMGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3AyggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCACADQYQBSQ0BIAMQCAwBCyAFQfAAaiAFQaQBaigCACICNgIAIAVB6ABqIAVBnAFqKQIAIgo3AwAgBUHgAGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3A1ggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCAAsgBUGQAmokACABIAEoAgBBAWs2AgACQCAGKAIAIgJFBEAgBkHkAGogBkEwaikDADcCACAGQdwAaiAGQShqKQMANwIAIAZB1ABqIAZBIGopAwA3AgAgBkHMAGogBkEYaikDADcCACAGQcQAaiAGQRBqKQMANwIAIAYgBikDCDcCPEEAIQNB8YLBAC0AABpBOEEIEMICIgFFDQQgAUEANgIAIAEgBikCODcCBCABQQxqIAZBQGspAgA3AgAgAUEUaiAGQcgAaikCADcCACABQRxqIAZB0ABqKQIANwIAIAFBJGogBkHYAGopAgA3AgAgAUEsaiAGQeAAaikCADcCACABQTRqIAZB6ABqKAIANgIADAELIAZB0ABqIAZBHGooAgA2AgAgBkHIAGogBkEUaikCADcDACAGQUBrIAZBDGopAgA3AwAgBiAGKQIENwM4QQAhASAGQThqEJwBIQMLIAAgAjYCCCAAIAM2AgQgACABNgIAIAZB8ABqJAAPCxDvAgALEPACAAtBCEE4EPYCAAuKCQIFfwR+IwBB8ABrIgYkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACMAQZACayIFJAAgBUEgaiABQQhqIgdBIGopAwA3AwAgBUEYaiAHQRhqKQMANwMAIAVBEGogB0EQaikDADcDACAFQQhqIAdBCGopAwA3AwAgBSAHKQMANwMAIAVBiAFqIgggAiAEQf///wdHIgIgBBBsAkACQCAFKAKIAUUEQCAFQcwAaiAFQbABaiIJKQMAIgo3AgAgBUHEAGogBUGoAWopAwAiCzcCACAFQTxqIAVBoAFqKQMAIgw3AgAgBUE0aiAFQZgBaikDACINNwIAIAVByAFqIA03AwAgBUHQAWogDDcDACAFQdgBaiALNwMAIAVB4AFqIAo3AwAgBSAFKQOQASIKNwIsIAUgCjcDwAEgCCADIAIgBBBsIAUoAogBDQEgBUH8AGogCSkDACIKNwIAIAVB9ABqIAVBqAFqKQMAIgs3AgAgBUHsAGogBUGgAWopAwAiDDcCACAFQeQAaiAFQZgBaikDACINNwIAIAVB8AFqIA03AwAgBUH4AWogDDcDACAFQYACaiALNwMAIAVBiAJqIAo3AwAgBSAFKQOQASIKNwJcIAUgCjcD6AEgBkEIaiAFIAVBwAFqIAVB6AFqEFEgBkEANgIAIAYgBy0AKDoAMAwCCyAFQUBrIAVBpAFqKAIAIgI2AgAgBUE4aiAFQZwBaikCACIKNwMAIAVBMGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3AyggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCACADQYQBSQ0BIAMQCAwBCyAFQfAAaiAFQaQBaigCACICNgIAIAVB6ABqIAVBnAFqKQIAIgo3AwAgBUHgAGogBUGUAWopAgAiCzcDACAFIAUpAowBIgw3A1ggBkEcaiACNgIAIAZBFGogCjcCACAGQQxqIAs3AgAgBiAMNwIEIAZBATYCAAsgBUGQAmokACABIAEoAgBBAWs2AgACQCAGKAIAIgJFBEAgBkHkAGogBkEwaikDADcCACAGQdwAaiAGQShqKQMANwIAIAZB1ABqIAZBIGopAwA3AgAgBkHMAGogBkEYaikDADcCACAGQcQAaiAGQRBqKQMANwIAIAYgBikDCDcCPEEAIQNB8YLBAC0AABpBOEEIEMICIgFFDQQgAUEANgIAIAEgBikCODcCBCABQQxqIAZBQGspAgA3AgAgAUEUaiAGQcgAaikCADcCACABQRxqIAZB0ABqKQIANwIAIAFBJGogBkHYAGopAgA3AgAgAUEsaiAGQeAAaikCADcCACABQTRqIAZB6ABqKAIANgIADAELIAZB0ABqIAZBHGooAgA2AgAgBkHIAGogBkEUaikCADcDACAGQUBrIAZBDGopAgA3AwAgBiAGKQIENwM4QQAhASAGQThqEJwBIQMLIAAgAjYCCCAAIAM2AgQgACABNgIAIAZB8ABqJAAPCxDvAgALEPACAAtBCEE4EPYCAAvMCQIIfwR+IwBB8ABrIgYkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACABQQhqIQcjAEHwAWsiBSQAIAVB6ABqIgggAiAEQf///wdHIgIgBBBsAkACQAJAAkAgBSgCaEUEQCAFQSxqIAVBkAFqIgkpAwAiDTcCACAFQSRqIAVBiAFqIgopAwAiDjcCACAFQRxqIAVBgAFqIgspAwAiDzcCACAFQRRqIAVB+ABqIgwpAwAiEDcCACAFQagBaiAQNwMAIAVBsAFqIA83AwAgBUG4AWogDjcDACAFQcABaiANNwMAIAUgBSkDcCINNwIMIAUgDTcDoAEgCCADIAIgBBBsIAUoAmhFDQEgBUHQAGogBUGEAWooAgAiAjYCACAFQcgAaiAFQfwAaikCACINNwMAIAVBQGsgBUH0AGopAgAiDjcDACAFIAUpAmwiDzcDOCAGQRxqIAI2AgAgBkEUaiANNwIAIAZBDGogDjcCACAGIA83AgQgBkEBNgIADAILIAVBIGogBUGEAWooAgAiAjYCACAFQRhqIAVB/ABqKQIAIg03AwAgBUEQaiAFQfQAaikCACIONwMAIAUgBSkCbCIPNwMIIAZBHGogAjYCACAGQRRqIA03AgAgBkEMaiAONwIAIAYgDzcCBCAGQQE2AgAgA0GEAUkNASADEAgMAQsgBUHcAGogCSkDACINNwIAIAVB1ABqIAopAwAiDjcCACAFQcwAaiALKQMAIg83AgAgBUHEAGogDCkDACIQNwIAIAVB0AFqIBA3AwAgBUHYAWogDzcDACAFQeABaiAONwMAIAVB6AFqIA03AwAgBSAFKQNwIg03AjwgBSANNwPIASAFQaABaiICIAVByAFqEIUBQQNrQf8BcUH+AU8NASAHIAIQhQFB/wFxQf8BRwRAIAVByAFqIgIgByAHIAIQhQFB/wFxQQFGGyECCyAGQQA2AgAgBiACKQMANwMIIAYgBy0AKDoAMCAGQShqIAJBIGopAwA3AwAgBkEgaiACQRhqKQMANwMAIAZBGGogAkEQaikDADcDACAGQRBqIAJBCGopAwA3AwALIAVB8AFqJAAMAQtBgIDAAEEcQeSAwAAQ/AEACyABIAEoAgBBAWs2AgACQCAGKAIAIgJFBEAgBkHkAGogBkEwaikDADcCACAGQdwAaiAGQShqKQMANwIAIAZB1ABqIAZBIGopAwA3AgAgBkHMAGogBkEYaikDADcCACAGQcQAaiAGQRBqKQMANwIAIAYgBikDCDcCPEEAIQNB8YLBAC0AABpBOEEIEMICIgFFDQQgAUEANgIAIAEgBikCODcCBCABQQxqIAZBQGspAgA3AgAgAUEUaiAGQcgAaikCADcCACABQRxqIAZB0ABqKQIANwIAIAFBJGogBkHYAGopAgA3AgAgAUEsaiAGQeAAaikCADcCACABQTRqIAZB6ABqKAIANgIADAELIAZB0ABqIAZBHGooAgA2AgAgBkHIAGogBkEUaikCADcDACAGQUBrIAZBDGopAgA3AwAgBiAGKQIENwM4QQAhASAGQThqEJwBIQMLIAAgAjYCCCAAIAM2AgQgACABNgIAIAZB8ABqJAAPCxDvAgALEPACAAtBCEE4EPYCAAvEAwICfwZ+IwBBQGoiBCQAAkACQCABBEAgASgCACIFQX9GDQEgASAFQQFqNgIAIARBCGogAiADQf///wdHIAMQbAJAIAQoAggiA0UEQCAEKQMgIQkgASkDECIGIAQpAxh8IgggBlQhAiABKQMYIQYgASkDCCIHIAQpAxB8IgsgB1oEfiACrQUgCEIBfCIIUK0gAq18CyEHIAYgBiAJfCIGViECIAQpAyghCSABKQMgIQogB1AEfiACrQUgBiAGIAd8IgZWrSACrXwLIgdQBH4gCSAKfAUgCSAKfCAHfAshByABIAEoAgBBAWs2AgBBACECQfGCwQAtAAAaIAEtADAhBUE4QQgQwgIiAUUNBCABIAU6ADAgAUESOgAoIAEgBzcDICABIAY3AxggASAINwMQIAEgCzcDCCABQQA2AgAMAQsgBCgCDCECIAQpAxAhBiAEKQMYIQcgBCkDICEIIAEgASgCAEEBazYCACAEIAg3AhwgBCAHNwIUIAQgBjcCDCAEIAI2AghBACEBIARBCGoQnAEhAgsgACADNgIIIAAgAjYCBCAAIAE2AgAgBEFAayQADwsQ7wIACxDwAgALQQhBOBD2AgAL2QMCAn8IfiMAQUBqIgQkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQQhqIAIgA0H///8HRyADEGwCQCAEKAIIIgNFBEAgBCkDICEJIAQpAxghBiABKQMYIQogASkDECEHAn4gASkDCCIMIAQpAxAiDVoEQCAHIAZ9IQsgBiAHVq0MAQsgByAGQn+FfCELIAYgB1atIAYgB1GtfAshCCAKIAl9IQYCQCAIUARAQn9CACAJIApWGyEHDAELQn9CACAJIApWGyAGIAhUrX0hByAGIAh9IQYLIAQpAyghCCABKQMgIQkgASABKAIAQQFrNgIAQQAhAkHxgsEALQAAGiABLQAwIQVBOEEIEMICIgFFDQQgASAFOgAwIAFBEjoAKCABIAY3AxggASALNwMQIAFBADYCACABIAwgDX03AwggASAJIAh9IAd8NwMgDAELIAQoAgwhAiAEKQMQIQYgBCkDGCEHIAQpAyAhCCABIAEoAgBBAWs2AgAgBCAINwIcIAQgBzcCFCAEIAY3AgwgBCACNgIIQQAhASAEQQhqEJwBIQILIAAgAzYCCCAAIAI2AgQgACABNgIAIARBQGskAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC8cDAgx/AX4gAyABKAIUIgggBUEBayINaiIHSwRAIAUgASgCECIOayEPIAEoAhwhCyABKAIIIQogASkDACETA0ACQAJAIBMgAiAHajEAAIhCAYNQBEAgASAFIAhqIgg2AhRBACEHIAYNAgwBCyAKIAogCyAKIAtLGyAGGyIJIAUgBSAJSRshDCACIAhqIRAgCSEHAkACQAJAA0AgByAMRgRAQQAgCyAGGyEMIAohBwNAIAcgDE0EQCABIAUgCGoiAjYCFCAGRQRAIAFBADYCHAsgACACNgIIIAAgCDYCBCAAQQE2AgAPCyAHQQFrIgcgBU8NBSAHIAhqIgkgA08NAyAEIAdqLQAAIAIgCWotAABGDQALIAEgCCAOaiIINgIUIA8hByAGRQ0FDAYLIAcgCGogA08NAiAHIBBqIREgBCAHaiAHQQFqIQctAAAgES0AAEYNAAsgCCAKayAHaiEIIAYNBEEAIQcMAwsgCSADQfCUwAAQ2AEACyADIAggCWoiACAAIANJGyADQYCVwAAQ2AEACyAHIAVB4JTAABDYAQALIAEgBzYCHCAHIQsLIAggDWoiByADSQ0ACwsgASADNgIUIABBADYCAAvJAwILfwV+IwBB0AFrIgQkACAAKQMQIQ4CQAJAIAApAwAiECAAKQMIIg+EUEUEQCAAKQMYIQ0MAQtCACEPIA4gACkDGCINhEIAUg0AIAEoAhRBkM/AAEEBIAEoAhgoAgwRAgAhAAwBCyAEQQBB0AAQvgEiAEHPAGohBSAAQfgAaiEDIABBsAFqIQYgAEHoAGohBwJAA0AgByANNwMAIABB4ABqIA43AwAgAEHYAGogDzcDACAAIBA3A1AgA0IANwMAIANBCGoiCEIANwMAIANBEGoiCUIANwMAIABCCjcDcCAAQZABaiIKIABB0ABqIgsgAEHwAGoiDBBOIAAgBikDACIRNwNQIAJBzwBqQc8ASw0BIAIgBWogEadBMGo6AAAgACANNwNoIAAgDjcDYCAAIA83A1ggACAQNwNQIANCADcDACAIQgA3AwAgCUIANwMAIABCCjcDcCAKIAsgDBBOIAApA6gBIQ0gACkDkAEiECAAKQOYASIPhCAAKQOgASIOhCANhFBFBEAgAkEBayECDAELCyABQQFBAUEAIAAgAmpBzwBqQQEgAmsQbSEADAELQX9B0ABBuM/AABDYAQALIARB0AFqJAAgAAvBAwICfwh+IwBBQGoiAiQAIAEpAxghByAAKQMAIQQCQAJ/AkACQCAAKQMYIgZCAFkEQCAHQgBZDQFBASEDDAQLIAdCAFMNAUH/ASEDDAMLIAEpAwAhBSABKQMIIQggASkDECEJIAApAwghCiAAKQMQIQsgAiAGNwMYIAIgCzcDECACIAo3AwggAiAENwMAIAIgBzcDOCACIAk3AzAgAiAINwMoIAIgBTcDICACIAJBIGoQ0gEMAQsgACkDCCEFIAEpAxAhCSABKQMAIQogASkDCCEIIAApAxAhCyACQgAgBH0iBDcDACACIAVCf4VCACAFfSIFIARCAFIiAxs3AwggAiALQn+FIgQgBVAgA0F/c3EiA618IgUgBCADGzcDECACIAMgBCAFVnGtIAZCf4V8NwMYIAJCACAKfSIENwMgIAIgCEJ/hUIAIAh9IgYgBEIAUiIDGzcDKCACIAlCf4UiBCAGUCADQX9zcSIDrXwiBiAEIAMbNwMwIAIgAyAEIAZWca0gB0J/hXw3AzggAkEgaiACENIBCyIDQf8BcQ0AQX8gAC0AICIAIAEtACAiAUcgACABSRshAwsgAkFAayQAIAML5wMCBH8BfiMAQZABayICJAACQCAAAn8gASkDGEIAWQRAIAAgASkDADcDCCAAQSBqIAFBGGopAwA3AwAgAEEYaiABQRBqKQMANwMAIABBEGogAUEIaikDADcDAEEADAELIAJB2ABqQdiYwAApAwA3AwAgAkHQAGpB0JjAACkDADcDACACQcgAakHImMAAKQMANwMAIAJBwJjAACkDADcDQCACQfgAakGQm8AAKQMANwMAIAJB8ABqQYibwAApAwA3AwAgAkHoAGoiA0GAm8AAKQMANwMAIAJB+JrAACkDADcDYCACQoCAgICwASIGIAJB4ABqrYQ3AzggAiAGIAJBQGuthDcDMCACIAGtQoCAgIDgAYQ3AyggAkEANgIgIAJBBDYCFCACQYCcwAA2AhAgAkEDNgIcIAIgAkEoajYCGCACQYQBaiIBIAJBEGoQkQEgAkEIaiABQeSawAAQ3wEgAigCDCEEIAIoAgghBSADIAJBjAFqKAIANgIAQfGCwQAtAAAaIAIgAikChAE3A2BBGEEEEMICIgFFDQEgASAFNgIEIAFBhJ/AADYCACABIAIpA2A3AgwgASAENgIIIAFBFGogAygCADYCACAAIAE2AgRBAQs2AgAgAkGQAWokAA8LQQRBGBD2AgAL/AMBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBIAAgA2siAEHwhsEAKAIARgRAIAIoAgRBA3FBA0cNAUHohsEAIAE2AgAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEJUBCwJAAkACQCACKAIEIgNBAnFFBEAgAkH0hsEAKAIARg0CIAJB8IbBACgCAEYNAyACIANBeHEiAhCVASAAIAEgAmoiAUEBcjYCBCAAIAFqIAE2AgAgAEHwhsEAKAIARw0BQeiGwQAgATYCAA8LIAIgA0F+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACyABQYACTwRAIAAgARClAQ8LIAFB+AFxQdiEwQBqIQICf0HghsEAKAIAIgNBASABQQN2dCIBcUUEQEHghsEAIAEgA3I2AgAgAgwBCyACKAIICyEBIAIgADYCCCABIAA2AgwgACACNgIMIAAgATYCCA8LQfSGwQAgADYCAEHshsEAQeyGwQAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEHwhsEAKAIARw0BQeiGwQBBADYCAEHwhsEAQQA2AgAPC0HwhsEAIAA2AgBB6IbBAEHohsEAKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAAsLpwMCAX8GfiMAQdAAayIDJAAgAAJ/AkACQCABRQRAIANBQGtBqI3AACkDADcDACADQThqQaCNwAApAwA3AwAgA0EwakGYjcAAKQMANwMAIANBkI3AACkDADcDKCADQQhqIgEgA0EoahBXIAIgAUEgEOkBRQRAQoCAgICAgICAgH8hBAwDCyADQShqIAIQhgEgAygCKA0BIAMpA0AhByADKQM4IQUCfiADKQMwIghQBEAgBUIAUq0hBEIAIAV9DAELIAVCAFKtIAVQrXwhBCAFQn+FCyEJIAMpA0ghBUIAIAd9IQYCQCAEUARAQn9CACAHQgBSGyEHDAELQn9CACAHQgBSGyAEIAZWrX0hByAGIAR9IQYLQgAgCH0hCCAHIAV9IQQMAgsgA0EoaiACEIYBIAMoAihFBEAgAykDSCEEIAMpA0AhBiADKQM4IQkgAykDMCEIDAILCyAAIAMoAiw2AgRBAQwBCyAAQQA2ACkgAEESOgAoIAAgBDcDICAAIAY3AxggACAJNwMQIAAgCDcDCCAAQSxqQQA2AABBAAs2AgAgA0HQAGokAAuoAwIGfgJ/IwBBQGoiCCQAAkACQCABBEAgASgCACIJQX9GDQEgASAJQQFqNgIAIAEpAxghAyABKQMQIQIgASkDCCEEAkACQCABKQMgIgVCAFMNACAIIAU3AxggCCADNwMQIAggAjcDCCAIIAQ3AwAgCEE4akIANwMAIAhBMGpCADcDACAIQShqQgA3AwAgCEIANwMgIAggCEEgahDSAUH/AXFB/wFGDQAgAiEHIAMhAgwBCwJ+IARQBEAgAkIAUq0hBkIAIAJ9DAELIAJCAFKtIAJQrXwhBiACQn+FCyEHQgAgA30hAgJAIAZQBEBCf0IAIANCAFIbIQMMAQtCf0IAIANCAFIbIAIgBlStfSEDIAIgBn0hAgtCACAEfSEEIAMgBX0hBQsgASABKAIAQQFrNgIAQfGCwQAtAAAaIAEtADAhCUE4QQgQwgIiAUUNAiABIAk6ADAgAUESOgAoIAEgBTcDICABIAI3AxggASAHNwMQIAEgBDcDCCABQQA2AgAgAEIANwIEIAAgATYCACAIQUBrJAAPCxDvAgALEPACAAtBCEE4EPYCAAuWAwEDfyMAQfAAayICJAACQCABRQRAIAJBACACEF8MAQsgAkEBIAEQXwsCQAJAIAIoAgAiBEUEQCACQeQAaiACQTBqKQMANwIAIAJB3ABqIAJBKGopAwA3AgAgAkHUAGogAkEgaikDADcCACACQcwAaiACQRhqKQMANwIAIAJBxABqIAJBEGopAwA3AgAgAiACKQMINwI8QfGCwQAtAAAaQThBCBDCAiIBRQ0CIAFBADYCACABIAIpAjg3AgQgAUEMaiACQUBrKQIANwIAIAFBFGogAkHIAGopAgA3AgAgAUEcaiACQdAAaikCADcCACABQSRqIAJB2ABqKQIANwIAIAFBLGogAkHgAGopAgA3AgAgAUE0aiACQegAaigCADYCAAwBCyACQdAAaiACQRxqKAIANgIAIAJByABqIAJBFGopAgA3AwAgAkFAayACQQxqKQIANwMAIAIgAikCBDcDOEEAIQEgAkE4ahCcASEDCyAAIAQ2AgggACADNgIEIAAgATYCACACQfAAaiQADwtBCEE4EPYCAAuRAwIBfwZ+IwBBQGoiAiQAIAJBGGpCADcDACACQRBqQgA3AwAgAkEIakIANwMAIAJCADcDACACQThqQgA3AwAgAkEwakIANwMAIAJBKGpCADcDACACQgA3AyAgAiACQSBqENIBQf8BcUH/AUYEQCABKQMIIQMgASkDGCEGQgAgASkDECIEfSEFAkACfiABKQMAIghQBEBCACADfSEHIANCAFKtDAELIANCf4UhByADQgBSrSADUK18CyIDUARAIARCAFKtIQQMAQsgAyAFVq0gBEIAUq18IQQgBSADfSEFCyAAIAU3AxAgACAHNwMIIABCACAIfTcDAEIAIAZ9IQMCQCAEUARAIAAgAzcDGCAGUEUNASACQUBrJAAPCyAAIAMgBH03AxgLIAJBADYCMCACQQE2AiQgAkGcqMAANgIgIAJCBDcCKCACQSBqQeynwAAQ8AEACyACQQE2AiQgAkHspsAANgIgIAJCATcCLCACIAGtQoCAgIDgAYQ3AwAgAiACNgIoIAJBIGpB9KbAABDwAQALjwMBAn8jAEHwAGsiAyQAIAMgASACQf///wdHIAIQbAJAAkAgAygCACIERQRAIANB5ABqIANBMGopAwA3AgAgA0HcAGogA0EoaikDADcCACADQdQAaiADQSBqKQMANwIAIANBzABqIANBGGopAwA3AgAgA0HEAGogA0EQaikDADcCACADIAMpAwg3AjxBACEBQfGCwQAtAAAaQThBCBDCAiICRQ0CIAJBADYCACACIAMpAjg3AgQgAkEMaiADQUBrKQIANwIAIAJBFGogA0HIAGopAgA3AgAgAkEcaiADQdAAaikCADcCACACQSRqIANB2ABqKQIANwIAIAJBLGogA0HgAGopAgA3AgAgAkE0aiADQegAaigCADYCAAwBCyADQdAAaiADQRxqKAIANgIAIANByABqIANBFGopAgA3AwAgA0FAayADQQxqKQIANwMAIAMgAykCBDcDOEEAIQIgA0E4ahCcASEBCyAAIAQ2AgggACABNgIEIAAgAjYCACADQfAAaiQADwtBCEE4EPYCAAunIAIOfwh+IwBB8ABrIgQkACACQf///wdHIQYjAEGQBGsiAyQAAkACQAJAAkACQAJAAkAgASIKEA0iAUH///8HR0EAIAEbRQRAIAMgAkESIAYbIg86AK8BIANBoAFqIAoQESIBEBMCQAJAIAMoAqABIgcEQCADKAKkASICQYCAgIB4Rw0BC0EAIQIgA0EANgK4ASADQoCAgIAQNwKwAUEBIQcMAQsgAyACNgKwASADIAetIAKtQiCGhDcCtAELIAFBhAFPBEAgARAICwJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBTQRAIAJBAUcNDyAHLQAAQeUARg0BDA4LIAJBB00EQCAHLQAAQeUARg0BIActAAFB5QBGDQECQCACQQJGDQAgBy0AAkHlAEYNAiACQQNGDQAgBy0AA0HlAEYNAiACQQRGDQAgBy0ABEHlAEYNAiACQQVGDQAgBy0ABUHlAEYNAiACQQZGDQAgBy0ABkHlAEYNAgsgAkECSQ0OQQEhBiAHIQUgAiEBA0AgBS0AAEEuRg0RIAVBAWohBSABQQFrIgENAAsMDwsgA0GYAWpB5QAgByACEKgBQQEhBiADKAKYAUEBRw0BCyADQcABaiIBIAcgAkGtlcAAEFQgA0EBOwGIAiADIAI2AoQCIANBADYCgAIgA0GIAWogARBwIAMoAowBIRAgAygCiAEhDCADQYABaiABEHAgA0H4AGohDiADKAKAASIBQQEgARshCEEAIQZBASELAkACQAJAAkAgAygChAFBACABGyIBDgIDAAELQQEhBSAILQAAIglBK2sOAwIBAgELIAgtAAAhCQsCQAJAAkACQAJAAkACQAJAIAlB/wFxQStrDgMABAEECyABQQFrIQUgCEEBaiEIIAFBAksEQCAFIQEMBQsMAQsgAUEBayEJIAhBAWohCCABQQJLBEBBACEBA0AgCUEARyELIAlFBEAgASEFDAkLIAgtAABBMGsiBkEKTyIFDQcgAcBBCmwiAcAiDSABRw0HIAlBAWshCSAIQQFqIQhBAyEFIA0gBsBrIgHAIAFGDQALDAcLIAlFDQFBASEFIAgtAABBMGsiAUEKTw0GQQAhC0EAIAFrIQUMBgsgBQ0DC0EAIQVBACELDAQLIAFBAUcNAAwBCwNAIAFBAEchCyABRQRAIAYhBQwECyAILQAAQTBrIglBCk8EQEEBIQUMBAtBAiEFIAbAQQpsIgbAIg0gBkcNAyABQQFrIQEgCEEBaiEIIA0gCcBqIgbAIAZGDQALDAILQQEgCC0AAEEwayIBIAFBCk8iCxshBQwBC0EBIQtBAUEDIAUbIQULIA4gBToAASAOIAs6AAAgAywAeSEFIAMtAHhFDQEgAyAFOgDsAiADIANB7AJqNgKABCADQQE2ApQCIANBwJ/AADYCkAIgA0IBNwKcAiADIANBgARqrUKAgICA8AKENwOoAyADIANBqANqIgE2ApgCIANBgANqIANBkAJqIgUQkQEgA0EANgKwAyADQoCAgIAQNwKoAyADQQM6ALACIANBIDYCoAIgA0EANgKsAiADQcifwAA2AqgCIANBADYCmAIgA0EANgKQAiADIAE2AqQCQfCXwAAgBRDNAUUNAkHwn8AAQTcgA0GPBGpB4J/AAEH0oMAAEM8BAAsgA0GQAWpBLiAHIAIQqAEgAygCkAFBAUcNDAwNCyADQZACaiIBIAxBASAMGyAQQQAgDBsiBkGulcAAEFQgA0EBOwHYAiADIAY2AtQCIANBADYC0AIgA0HwAGogARBwIAMgAygCdEEAIAMoAnAiBhs2AugCIAMgBkEBIAYbNgLkAiADQegAaiABEHAgAyADKAJsQQAgAygCaCIBGzYC8AIgAyABQQEgARs2AuwCIANBAjYCrAMgA0GAmMAANgKoAyADQgI3ArQDIAMgA0HsAmqtQoCAgICAA4Q3A4gDIAMgA0HkAmqtQoCAgICAA4Q3A4ADIAMgA0GAA2oiBjYCsAMgA0H0AmogA0GoA2oiCBCRASADKAL0AiEBIANB0ANqIAMoAvgCIgkgAygC/AIQkgEgAy0A0ANBAUcNASADIAMtANEDOgD7AyADIANB+wNqNgL8AyADQQE2AqwDIANBoJzAADYCqAMgA0IBNwK0AyADIANB/ANqrUKAgICAkAOENwOAAyADIAY2ArADIANBgARqIAgQkQEgA0EANgKIAyADQoCAgIAQNwKAAyADQQM6AMgDIANBIDYCuAMgA0EANgLEAyADQaicwAA2AsADIANBADYCsAMgA0EANgKoAyADIAY2ArwDQZCYwAAgCBDNAUUNAkHQnMAAQTcgA0GPBGpBwJzAAEHUncAAEM8BAAsgA0HjA2ogA0GwA2ooAgA2AAAgAyADKQKoAzcA2wMgAyADKQCBAzcD0AMgAyADQYgDaigAADYA1wMgAy0AgAMhASAEQRhqIANB3wNqKQAANwAAIARBEWogA0HYA2opAwA3AAAgBCADKQPQAzcACSAEIAE6AAggBEKBgICAEDcDAAwICyADKQPwAyEUIAMpA+gDIRYgAykD4AMhFSADKQPYAyEXIAEEQCAJIAEQ0wILIAUgAygC8AIiBsBIDQRBASEBIAUgBmsiBUH/AXEOAgMCAQsgAzUCgAMhEiADKQOABCERIAM1AogEIRMgBCADKQKEAzcDGCAEIBMgEkIghoQ3AxAgBCARNwMIIARCgYCAgBA3AwAgAUUNBiAJIAEQ0wIMBgsgBcAhBUEKIQYDQCAGQQEgBUEBcRsgAWwhASAFQQNLIAYgBmwhBiAFQQF2IQUNAAsgASAGbCEBDAELQQohAQsgFEIAWSIFIAFFciEGIAVFBEAgFUJ/hUIAIBV9IhFCACAXfSIXQgBSIgUbIRUgFkJ/hSISIBFQIAVBf3NxIgWtfCIRIBIgBRshFiAFIBEgElRxrSAUQn+FfCEUCyADQdgAaiAXQgAgAa0iE0IAEM4BIANByABqIBVCACATQgAQzgEgA0E4aiAWQgAgE0IAEM4BIAMpAzgiFSADQdAAaikDACADKQNIIhEgA0HgAGopAwB8IhIgEVStfHwiESAVVK0gA0FAaykDACATIBR+fHwhFCADKQNYIRMgAyAGBH4gFAUgEkJ/hUIAIBJ9IhZCACATfSITQgBSIgEbIRIgEUJ/hSIVIBZQIAFBf3NxIgGtfCIWIBUgARshESABIBUgFlZxrSAUQn+FfAs3A8ADIAMgETcDuAMgAyASNwOwAyADIBM3A6gDIANBADYCiAMgA0KAgICAEDcCgAMgA0EDOgDwAyADQSA2AuADIANBADYC7AMgA0GQlsAANgLoAyADQQA2AtgDIANBADYC0AMgAyADQYADajYC5AMgA0GoA2ogA0HQA2oQpgENASADQYgEaiIBIANBiANqKAIANgIAIAMgAykCgAM3A4AEIAIEQCAHIAIQ0wILIANBuAFqIAEoAgA2AgAgAyADKQOABDcDsAFBASEGDAYLQgEhEgJAAkACQCAGIAVrIgFB/wFxDgICAQALIAHAIQZCCiESQgEhGANAIANBGGogEkIBIAZBAXEiARsgEUIAIAEbIBggExDOASADQShqIBIgESASIBEQzgEgBkEDSyADQTBqKQMAIREgA0EgaikDACETIAMpAyghEiADKQMYIRggBkEBdiEGDQALIANBCGogGCATIBIgERDOASADQRBqKQMAIREgAykDCCESDAELQgohEgsgA0GYA2pCADcDACADQgA3A5ADIANBEjoAoAMgAyARNwOIAyADIBI3A4ADIANBEjoA8AMgAyAUNwPoAyADIBY3A+ADIAMgFTcD2AMgAyAXNwPQAyADQagDaiADQdADaiADQYADahB6IAQgAygAyQM2ACkgBEEsaiADQcwDaigAADYAACADKQOoAyESIAMpA7ADIREgAykDuAMhEyADKQPAAyEUIAMtAMgDIQEgBCAPOgAwIAQgAToAKCAEIBQ3AyAgBCATNwMYIAQgETcDECAEIBI3AwggBEEANgIADAILDAYLIAQgCiAGIAIQbAwECyACBEAgByACENMCCyAKQYQBSQ0DIAoQCAwDC0EBIQYgBy0AAEEuRg0BCyADQZACaiIBIApBgJbAABBPAkAgAygCkAJFBEAgA0HcAWogA0GwAmopAwAiEjcCACADQdQBaiADQagCaikDACIRNwIAIANBzAFqIANBoAJqKQMAIhM3AgAgAyADKQOYAiIUNwLEASADQegDaiASNwMAIANB4ANqIBE3AwAgA0HYA2ogEzcDACADIBQ3A9ADIANBADYCyAEgA0KAgICAEDcCwAEgA0EDOgCwAiADQSA2AqACIANBADYCrAIgA0GQlsAANgKoAiADQQA2ApgCIANBADYCkAIgAyADQcABajYCpAIgA0HQA2ogARCmAQ0BIANBsANqIANByAFqKAIANgIAIAMgAykCwAE3A6gDIAIEQCAHIAIQ0wILIANBuAFqIANBsANqKAIANgIAIAMgAykDqAM3A7ABQQAhBgwCCyADQdgBaiADQawCaigCACIBNgIAIANB0AFqIANBpAJqKQIAIhI3AwAgA0HIAWogA0GcAmopAgAiETcDACADIAMpApQCIhM3A8ABIARBHGogATYCACAEQRRqIBI3AgAgBEEMaiARNwIAIAQgEzcCBCAEQQE2AgAgAkUNAiAHIAIQ0wIMAgsMAgsgA0ECNgKUAiADQaCYwAA2ApACIANCAjcCnAIgAyADQa8Baq1CgICAgIAChDcDyAEgAyADQbABaq1CgICAgKADhDcDwAEgAyADQcABajYCmAIgA0HQA2ogA0GQAmoQkQEgAygC1AMiASADKALYAxAHIQIgAygC0AMiBQRAIAEgBRDTAgsgBCACQQEgAy0ArwEQbCADKAKwASIBBEAgAygCtAEgARDTAgsgCkGDAUsgBnFFDQAgChAICyADQZAEaiQADAELQbiWwABBNyADQY8EakGolsAAQbyXwAAQzwEACwJAAkAgBCgCACIFRQRAIARB5ABqIARBMGopAwA3AgAgBEHcAGogBEEoaikDADcCACAEQdQAaiAEQSBqKQMANwIAIARBzABqIARBGGopAwA3AgAgBEHEAGogBEEQaikDADcCACAEIAQpAwg3AjxBACEBQfGCwQAtAAAaQThBCBDCAiICRQ0CIAJBADYCACACIAQpAjg3AgQgAkEMaiAEQUBrKQIANwIAIAJBFGogBEHIAGopAgA3AgAgAkEcaiAEQdAAaikCADcCACACQSRqIARB2ABqKQIANwIAIAJBLGogBEHgAGopAgA3AgAgAkE0aiAEQegAaigCADYCAAwBCyAEQdAAaiAEQRxqKAIANgIAIARByABqIARBFGopAgA3AwAgBEFAayAEQQxqKQIANwMAIAQgBCkCBDcDOEEAIQIgBEE4ahCcASEBCyAAIAU2AgggACABNgIEIAAgAjYCACAEQfAAaiQADwtBCEE4EPYCAAvpAgEFfwJAQc3/e0EQIAAgAEEQTRsiAGsgAU0NACAAQRAgAUELakF4cSABQQtJGyIEakEMahBMIgJFDQAgAkEIayEBAkAgAEEBayIDIAJxRQRAIAEhAAwBCyACQQRrIgUoAgAiBkF4cSACIANqQQAgAGtxQQhrIgIgAEEAIAIgAWtBEE0baiIAIAFrIgJrIQMgBkEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCAFIAIgBSgCAEEBcXJBAnI2AgAgASACaiIDIAMoAgRBAXI2AgQgASACEIcBDAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAQgAUEBcXJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQhwELIABBCGohAwsgAwvJAwEEfyMAQTBrIgIkACAAKAIMIQMCQAJAAkACQAJAAkAgACgCBA4CAAECCyADDQFBASEAQQAhAwwCCyADDQAgACgCACIAKAIEIQMgACgCACEADAELIAJBFGogABCRAUH8gsEAKAIAQQJHBEAQ5QELIAJB9ILBACgCACACQRRqQcjIwABB+ILBACgCACgCFBEFACACKAIAIgMgASACKAIEIgEoAiARAQAgAkEoaiIEIAJBHGooAgA2AgBB8YLBAC0AABogAiACKQIUNwMgQRhBBBDCAiIABEAgACABNgIIIAAgAzYCBCAAQfTIwAA2AgAgACACKQMgNwIMIABBFGogBCgCADYCAAwCC0EEQRgQ9gIACyACIAM2AiQgAiAANgIgQfyCwQAoAgBBAkcEQBDlAQsgAkEIakH0gsEAKAIAIAJBIGpB8MfAAEH4gsEAKAIAKAIUEQUAIAIoAggiAyABIAIoAgwiASgCIBEBAEHxgsEALQAAGiACKAIkIQQgAigCICEFQRRBBBDCAiIARQ0BIAAgBDYCECAAIAU2AgwgACABNgIIIAAgAzYCBCAAQZzIwAA2AgALIAJBMGokACAADwtBBEEUEPYCAAuXAwIFfwF+IwBBQGoiBCQAIAQgAjYCFCAEIAE2AhBBASECIARBATYCJCAEQYjKwAA2AiAgBEIBNwIsIARCgICAgNAMIgkgBEEQaq2ENwM4IAQgBEE4ajYCKAJAIAMoAhQiBiADKAIYIgcgBEEgahB1DQAgAy0AHEEEcUUEQEEAIQIMAQsgCSAEQRhqrYQhCUEAIQIgBCgCFCEFIAQoAhAhAEEBIQMDQAJAIAJBAXEEQCAFIQEgACICDQFBACECDAMLIABFBEBBACECDAMLIANBAWshCEEAIQMgACECIAUhAQJAA0AgBEEIaiACIAEoAhgRAQAgBCgCDCEBIAQoAgghAiADIAhGDQEgA0EBaiEDIAINAAtBACECDAMLIAINAEEAIQIMAgsgBCACIAEoAhgRAQAgBCgCBCEFIAQoAgAhACAEIAE2AhwgBCACNgIYQQEhAiAEQQE2AiQgBEGUysAANgIgIARCATcCLCAEIAk3AzggBCAEQThqNgIoQQAhAyAGIAcgBEEgahB1RQ0ACwsgBEFAayQAIAIL/gIBB38jAEEQayIEJAACQAJAAkACQAJAIAEoAgQiAkUNACABKAIAIQcgAkEDcSEFAkAgAkEESQRAQQAhAgwBCyAHQRxqIQMgAkF8cSEIQQAhAgNAIAMoAgAgA0EIaygCACADQRBrKAIAIANBGGsoAgAgAmpqamohAiADQSBqIQMgCCAGQQRqIgZHDQALCyAFBEAgBkEDdCAHakEEaiEDA0AgAygCACACaiECIANBCGohAyAFQQFrIgUNAAsLIAEoAgwEQCACQQBIDQEgBygCBEUgAkEQSXENASACQQF0IQILIAINAQtBASEDQQAhAgwBC0EAIQUgAkEASA0BQfGCwQAtAAAaQQEhBSACQQEQwgIiA0UNAQsgBEEANgIIIAQgAzYCBCAEIAI2AgAgBEH84sAAIAEQdUUNAUHk48AAQdYAIARBD2pB1OPAAEHM5MAAEM8BAAsgBSACEK0CAAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACAEQRBqJAAL1AUCBn4GfyMAQTBrIgokAAJAIAJFBEBBACECDAELAkACQAJAAkAgAS0AAEEraw4DAAQBBAsgAkEBRg0BIAEsAAFBv39KDQEgASACQQEgAkHozMAAELoCAAtBASENIAJBAUYNASABLAABQb9/Sg0BIAEgAkEBIAJB+MzAABC6AgALIAFBAWohASACQQFrIQIMAQsgAUEBaiEBIAJBAWshAgsjAEFAaiIJJAAgCkEIaiILAn8CQCACRQ0AAkADQCABLQAAQTBrIgxB/wFxQQlLDQEgCUEwaiAGQgBCCkIAEM4BIAlBIGogBEIAQgpCABDOASAJQRBqIAVCAEIKQgAQzgEgCSADQgBCCkIAEM4BAkAgCUEIaikDACAJQRhqKQMAIAlBKGopAwAgCSkDICIDIAlBOGopAwB8IgQgA1StfCIDIAkpAxB8IgUgA1StfCIGIAkpAwB8IgMgBlStfFBFDQAgBSAJKQMwIgcgDK1C/wGDfCIGIAdUIg4gBEIBfCIIUHEiDK18IQcgDEUgBSAHWHJFBEAgA0IBfCIDUA0BCyABQQFqIQEgByAFIAwbIQUgCCAEIA4bIQQgAkEBayICRQ0DDAELCyALQQE6AAFBAQwCCyALQQA6AAFBAQwBCyALIAM3AyAgCyAFNwMYIAsgBDcDECALIAY3AwhBAAs6AAAgCUFAayQAIAACfwJAIAotAAhFBEAgCikDKCEDIAopAyAhBCAKKQMYIQUgCikDECEGAkAgDUUEQCADQgBZDQEMAwtCACAFfSIHUEIAIAZ9IgZCAFIiAkF/c3EiASAEQn+FIgQgAa18IgggBFRxrSADQn+FfCIDQgBZDQIgBUJ/hSAHIAIbIQUgCCAEIAEbIQQLIAAgAzcDICAAIAQ3AxggACAFNwMQIAAgBjcDCEEADAILIAAgCi0ACToAAUEBDAELIABBAToAAUEBCzoAACAKQTBqJAALqwIBAX8jAEHwAGsiBiQAIAYgATYCDCAGIAA2AgggBiADNgIUIAYgAjYCECAGQaDnwAA2AhggBkECNgIcAkAgBCgCAEUEQCAGQQM2AlwgBkHc58AANgJYIAZCAzcCZCAGIAZBEGqtQoCAgIDAGYQ3A0ggBiAGQQhqrUKAgICAwBmENwNADAELIAZBMGogBEEQaikCADcDACAGQShqIARBCGopAgA3AwAgBiAEKQIANwMgIAZBBDYCXCAGQZDowAA2AlggBkIENwJkIAYgBkEQaq1CgICAgMAZhDcDUCAGIAZBCGqtQoCAgIDAGYQ3A0ggBiAGQSBqrUKAgICA4BmENwNACyAGIAZBGGqtQoCAgIDQGYQ3AzggBiAGQThqNgJgIAZB2ABqIAUQ8AEAC9ICAQd/QQEhCQJAAkAgAkUNACABIAJBAXRqIQogAEGA/gNxQQh2IQsgAEH/AXEhDQNAIAFBAmohDCAHIAEtAAEiAmohCCALIAEtAAAiAUcEQCABIAtLDQIgCCEHIAwiASAKRg0CDAELAkACQCAHIAhNBEAgBCAISQ0BIAMgB2ohAQNAIAJFDQMgAkEBayECIAEtAAAgAUEBaiEBIA1HDQALQQAhCQwFCyAHIAhB9O/AABDaAQALIAggBEH078AAENkBAAsgCCEHIAwiASAKRw0ACwsgBkUNACAFIAZqIQMgAEH//wNxIQEDQCAFQQFqIQACQCAFLAAAIgJBAE4EQCAAIQUMAQsgACADRwRAIAUtAAEgAkH/AHFBCHRyIQIgBUECaiEFDAELQeTvwAAQ2QIACyABIAJrIgFBAEgNASAJQQFzIQkgAyAFRw0ACwsgCUEBcQvxAgEEfyAAKAIMIQICQAJAIAFBgAJPBEAgACgCGCEDAkACQCAAIAJGBEAgAEEUQRAgACgCFCICG2ooAgAiAQ0BQQAhAgwCCyAAKAIIIgEgAjYCDCACIAE2AggMAQsgAEEUaiAAQRBqIAIbIQQDQCAEIQUgASICQRRqIAJBEGogAigCFCIBGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAiAAIAAoAhxBAnRByIPBAGoiASgCAEcEQCADQRBBFCADKAIQIABGG2ogAjYCACACRQ0DDAILIAEgAjYCACACDQFB5IbBAEHkhsEAKAIAQX4gACgCHHdxNgIADAILIAAoAggiACACRwRAIAAgAjYCDCACIAA2AggPC0HghsEAQeCGwQAoAgBBfiABQQN2d3E2AgAPCyACIAM2AhggACgCECIBBEAgAiABNgIQIAEgAjYCGAsgACgCFCIARQ0AIAIgADYCFCAAIAI2AhgLC4YDAgV/AX4jAEFAaiIFJABBASEHAkAgAC0ABA0AIAAtAAUhCSAAKAIAIgYoAhwiCEEEcUUEQCAGKAIUQePowABB4OjAACAJQQFxIgkbQQJBAyAJGyAGKAIYKAIMEQIADQEgBigCFCABIAIgBigCGCgCDBECAA0BIAYoAhRBsOjAAEECIAYoAhgoAgwRAgANASADIAYgBCgCDBEAACEHDAELIAlBAXFFBEAgBigCFEHl6MAAQQMgBigCGCgCDBECAA0BIAYoAhwhCAsgBUEBOgAbIAUgBikCFDcCDCAFQcTowAA2AjQgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUgBUEMaiIINgIwIAggASACEHYNACAIQbDowABBAhB2DQAgAyAFQRxqIAQoAgwRAAANACAFKAIwQejowABBAiAFKAI0KAIMEQIAIQcLIABBAToABSAAIAc6AAQgBUFAayQAIAAL9QIBBH8jAEHgAGsiAyQAIAMgARATAkAgAygCACIFRQRAQYCAgIB4IQQMAQsgAygCBCEEIAMgBTYCECADIAQ2AhQLIAMgBDYCDCADIANBDGo2AhggA0EBNgI8IANB8LLAADYCOCADQgE3AkQgAyADQRhqrUKAgICA8AqENwMoIAMgA0EoaiIENgJAIANBHGogA0E4aiIFEJEBIANBADYCMCADQoCAgIAQNwIoIANBAzoAWCADQSA2AkggA0EANgJUIANB+LLAADYCUCADQQA2AkAgA0EANgI4IAMgBDYCTCACIAUQzQFFBEAgACADKQIoNwIQIABBGGogA0EwaigCADYCACAAQQxqIANBJGooAgA2AgAgACADKQIcNwIEIABBATYCACADKAIMIgBBgICAgHhGIABFckUEQCADKAIQIAAQ0wILIAFBhAFPBEAgARAICyADQeAAaiQADwtBoLPAAEE3IANB3wBqQZCzwABBpLTAABDPAQAL7QIBAn8jAEHgAGsiBCQAAkACQCABRQRAIABBAjYCACAAIAI2AgQMAQsgBCACNgIcIAQgBEEcajYCICAEQQE2AkAgBEHMq8AANgI8IARCATcCSCAEIARBIGqtQoCAgICgB4Q3AzAgBCAEQTBqIgE2AkQgBEEkaiAEQTxqIgUQkQEgBEEANgI4IARCgICAgBA3AjAgBEEDOgBcIARBIDYCTCAEQQA2AlggBEHUq8AANgJUIARBADYCRCAEQQA2AjwgBCABNgJQIAMgBRDNAQ0BIARBCGoiASAEQThqKAIANgIAIARBGGoiAyAEQSxqKAIANgIAIAQgBCkCMDcDACAEIAQpAiQ3AxAgAkGEAU8EQCACEAgLIABBATYCACAAIAQpAxA3AgQgACAEKQMANwIQIABBDGogAygCADYCACAAQRhqIAEoAgA2AgALIARB4ABqJAAPC0H8q8AAQTcgBEEQakHsq8AAQYCtwAAQzwEAC7YCAQd/AkAgAkEQSQRAIAAhAwwBCyAAQQAgAGtBA3EiBGohBSAEBEAgACEDIAEhBgNAIAMgBi0AADoAACAGQQFqIQYgA0EBaiIDIAVJDQALCyAFIAIgBGsiCEF8cSIHaiEDAkAgASAEaiIEQQNxBEAgB0EATA0BIARBA3QiAkEYcSEJIARBfHEiBkEEaiEBQQAgAmtBGHEhAiAGKAIAIQYDQCAFIAYgCXYgASgCACIGIAJ0cjYCACABQQRqIQEgBUEEaiIFIANJDQALDAELIAdBAEwNACAEIQEDQCAFIAEoAgA2AgAgAUEEaiEBIAVBBGoiBSADSQ0ACwsgCEEDcSECIAQgB2ohAQsgAgRAIAIgA2ohAgNAIAMgAS0AADoAACABQQFqIQEgA0EBaiIDIAJJDQALCyAAC8ECAQN/IwBBgAFrIgQkAAJ/AkACQCABKAIcIgJBEHFFBEAgAkEgcQ0BIAA1AgBBASABEJsBDAMLIAAoAgAhAEEAIQIDQCACIARqQf8AaiAAQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACwwBCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTByIANBN2ogA0EKSRs6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYEBTwRAIABBgAFBhOnAABDXAQALIAFBAUGU6cAAQQIgAiAEakGAAWpBACACaxBtDAELIAJBgAFqIgBBgQFPBEAgAEGAAUGE6cAAENcBAAsgAUEBQZTpwABBAiACIARqQYABakEAIAJrEG0LIARBgAFqJAALxAICBX8BfiMAQTBrIgUkAEEnIQMCQCAAQpDOAFQEQCAAIQgMAQsDQCAFQQlqIANqIgRBBGsgACAAQpDOAIAiCEKQzgB+faciBkH//wNxQeQAbiIHQQF0QZbpwABqLwAAOwAAIARBAmsgBiAHQeQAbGtB//8DcUEBdEGW6cAAai8AADsAACADQQRrIQMgAEL/wdcvViAIIQANAAsLAkAgCELjAFgEQCAIpyEEDAELIANBAmsiAyAFQQlqaiAIpyIEIARB//8DcUHkAG4iBEHkAGxrQf//A3FBAXRBlunAAGovAAA7AAALAkAgBEEKTwRAIANBAmsiAyAFQQlqaiAEQQF0QZbpwABqLwAAOwAADAELIANBAWsiAyAFQQlqaiAEQTByOgAACyACIAFBAUEAIAVBCWogA2pBJyADaxBtIAVBMGokAAvgAgEEfyMAQUBqIgEkAAJAAkAgACgCAEUEQCABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQfivwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKsBDQIgASgCDCECIAEoAhAiAyABKAIUEDUhBCACRQ0BIAMgAhDTAgwBCyABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQfivwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKsBRQRAIAEoAgwhAiABKAIQIgMgASgCFBAzIQQgAkUNASADIAIQ0wIMAQsMAQsgACgCBCICBEAgACgCCCACENMCCyAAKAIQIgIEQCAAKAIUIAIQ0wILIAFBQGskACAEDwtBoLDAAEE3IAFBP2pBkLDAAEGkscAAEM8BAAu5AgICfwN+IwBB4ABrIgIkACACQQhqIAEpAwBCAEIKQgAQzgEgASACKQMIIgU3AwAgAkEYaiABQQhqIgMpAwBCAEIKQgAQzgEgAyACKQMYIgYgAkEQaikDAHwiBDcDACACQShqIAFBEGoiAykDAEIAQgpCABDOASACQThqIAFBGGoiASkDAEIAQgpCABDOASAAIAU3AwAgAEEIaiAENwMAIAMgAikDKCIFIAJBIGopAwAgBCAGVK18fCIENwMAIABBEGogBDcDACABIAIpAzgiBiACQTBqKQMAIAQgBVStfHwiBDcDACAAQRhqIAQ3AwAgAkFAaykDACAEIAZUrXxQBEAgAkHgAGokAA8LIAJBADYCWCACQQE2AkwgAkGwz8AANgJIIAJCBDcCUCACQcgAakG4z8AAEPABAAvCAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBEnZB8AFyOgAMIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADUEEDAILIAAoAggiAyAAKAIARgRAIAAQugELIAAoAgQgA2ogAToAACAAIANBAWo2AggMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQuQEgACgCCCEDCyAAKAIEIANqIAJBDGogARCZARogACABIANqNgIICyACQRBqJABBAAvpAwEGfyMAQRBrIgMkAAJAAn8CQCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFyOgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBEnZB8AFyOgAMIAMgAUEGdkE/cUGAAXI6AA4gAyABQQx2QT9xQYABcjoADUEEDAILIAAoAggiByAAKAIARgRAIwBBIGsiAiQAIAAoAgAiBEF/RgRAQQBBABCtAgALQQggBEEBdCIFIARBAWoiBiAFIAZLGyIFIAVBCE0bIgVBf3NBH3YhBiACIAQEfyACIAQ2AhwgAiAAKAIENgIUQQEFQQALNgIYIAJBCGogBiAFIAJBFGoQxQEgAigCCEEBRgRAIAIoAgwgAigCEBCtAgALIAIoAgwhBCAAIAU2AgAgACAENgIEIAJBIGokAAsgACAHQQFqNgIIIAAoAgQgB2ogAToAAAwCCyADIAFBP3FBgAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCICa0sEQCAAIAIgARC7ASAAKAIIIQILIAAoAgQgAmogA0EMaiABEJkBGiAAIAEgAmo2AggLIANBEGokAEEAC8ICAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABC8AQsgACADQQFqNgIIIAAoAgQgA2ogAToAAAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARC9ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEJkBGiAAIAEgA2o2AggLIAJBEGokAEEAC8ICAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABC8AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARC9ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEJkBGiAAIAEgA2o2AggLIAJBEGokAEEAC8ICAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABC6AQsgACADQQFqNgIIIAAoAgQgA2ogAToAAAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARC5ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEJkBGiAAIAEgA2o2AggLIAJBEGokAEEAC7gCAgN/BH4jAEEwayIDJABBEiECAkACQAJAIAFB////B0YNAEIBIQUgASICQf8BcQ4CAgEACyACQf8BcSEBQgohBUIBIQcDQCADQRBqIAVCASABQQFxIgQbIAZCACAEGyAHIAgQzgEgA0EgaiAFIAYgBSAGEM4BIAFBA0sgA0EoaikDACEGIANBGGopAwAhCCADKQMgIQUgAykDECEHIAFBAXYhAQ0ACyADIAcgCCAFIAYQzgEgA0EIaikDACEGIAMpAwAhBSACIQEMAQtCCiEFC0HxgsEALQAAGkE4QQgQwgIiAkUEQEEIQTgQ9gIACyACQgA3AxggAiAGNwMQIAIgBTcDCCACQQA2AgAgAiABOgAwIAJBEjoAKCACQSBqQgA3AwAgAEIANwIEIAAgAjYCACADQTBqJAALkQgCB38BfiMAQUBqIgUkAAJAAkAgAQRAIAEoAgAiAkF/Rg0BQQEhByABIAJBAWo2AgAgBUEEaiEDIwBB0AFrIgIkACABQQhqIgYtACghBCACQaABakIANwMAIAJBqAFqQgA3AwAgAkIANwOYASACQgo3A5ABIAJByAFqQgA3AwAgAkHAAWpCADcDACACQgA3A7gBIAJBJCAEa61C/wGDNwOwASACQegAaiIEIAJBkAFqIAJBsAFqEEogAkESOgBgIAIgAikDgAE3A1ggAiACKQN4NwNQIAIgAikDcDcDSCACIAIpA2g3A0AgBCAGIAJBQGsQeiACQRRqIAQQdyACKAIYIQQCQAJAAkAgAigCFCIGQQJGBEAgAiAENgIQIAIgAkEQakEQEP0BIAIoAgQhBiACKAIARQRAIAIgBjYCDCAEQYQBTwRAIAQQCAsgAkHIiMAAQQIQBzYCaCADQQRqIAJB6ABqKAIAIAJBDGooAgAQNhDeASADQQI2AgAgAigCDCIDQYQBTwRAIAMQCAsgAigCaCIDQYQBSQ0CIAMQCAwCCyACIAY2ApABIAJBATYCbCACQZyBwAA2AmggAkIBNwJ0IAIgAkGQAWqtQoCAgIDAAIQ3A0AgAiACQUBrIgQ2AnAgAkGwAWogAkHoAGoiBhCRASACQQA2AkggAkKAgICAEDcCQCACQQM6AIgBIAJBIDYCeCACQQA2AoQBIAJB/IbAADYCgAEgAkEANgJwIAJBADYCaCACIAQ2AnxBzIjAACAGEM0BDQIgAkE4aiIEIAJByABqKAIANgIAIAIgAikCQDcDMCACKQK0ASEJIAIoArABIQYgAigCkAEiCEGEAU8EQCAIEAgLIAMgCTcCCCADIAY2AgQgA0EBNgIAIAMgAikDMDcCECADQRhqIAQoAgA2AgAgAigCECIDQYQBSQ0BIAMQCAwBCyADIAIpAhw3AgggA0EYaiACQSxqKAIANgIAIANBEGogAkEkaikCADcCACADIAQ2AgQgAyAGNgIACyACQdABaiQADAELQbSHwABBNyACQRRqQaSHwABBuIjAABDPAQALIAEgASgCAEEBazYCAAJ/IAUoAgRBAkcEQCAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyBBACECQQAhASAFQSBqEJwBDAELIAUoAgwhAwJAIAUoAggiBCAFKAIQIgFNBEAgAyECDAELIAFFBEBBASECIAMgBBDTAgwBCyADIARBASABEK8CIgJFDQQLQQAhB0EACyEDIAAgBzYCDCAAIAM2AgggACABNgIEIAAgAjYCACAFQUBrJAAPCxDvAgALEPACAAtBASABEK0CAAvEAgEEfyAAQgA3AhAgAAJ/QQAgAUGAAkkNABpBHyABQf///wdLDQAaIAFBBiABQQh2ZyIDa3ZBAXEgA0EBdGtBPmoLIgI2AhwgAkECdEHIg8EAaiEEQQEgAnQiA0HkhsEAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghB5IbBAEHkhsEAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWpBEGoiBCgCACICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBCAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC6wCAgF/BH4jAEFAaiICJAAgACkDACEEAn8CQAJAAkAgACkDGCIGQgBTBEAgACkDCCEDIAApAxAhBSACQgAgBH0iBDcDACACIANCf4VCACADfSIDIARCAFIiABs3AwggAiAFQn+FIgQgA1AgAEF/c3EiAK18IgMgBCAAGzcDECACIAAgAyAEVHGtIAZCf4V8NwMYQS0hAAwBCyAAKQMIIQMgACkDECEFIAIgBjcDGCACIAU3AxAgAiADNwMIIAIgBDcDAEErIQAgAS0AHEEBcUUNAQsgASAAELkCDQELIAJBATYCJCACQYjNwAA2AiAgAkIBNwIsIAIgAq1CgICAgIAMhDcDOCACIAJBOGo2AiggASgCFCABKAIYIAJBIGoQdQwBC0EBCyACQUBrJAALmgIBAX8jAEEQayICJAACfwJAIAEoAgBFBEAgASgCCEEBRw0BCyAAKAIAIQAgAkEANgIMIAEgAkEMagJ/AkACQCAAQYABTwRAIABBgBBJDQEgAEGAgARPDQIgAiAAQT9xQYABcjoADiACIABBDHZB4AFyOgAMIAIgAEEGdkE/cUGAAXI6AA1BAwwDCyACIAA6AAxBAQwCCyACIABBP3FBgAFyOgANIAIgAEEGdkHAAXI6AAxBAgwBCyACIABBP3FBgAFyOgAPIAIgAEESdkHwAXI6AAwgAiAAQQZ2QT9xQYABcjoADiACIABBDHZBP3FBgAFyOgANQQQLEGsMAQsgASgCFCAAKAIAIAEoAhgoAhARAAALIAJBEGokAAudAgEFfwJAAkACQAJAIAJBA2pBfHEiBCACRg0AIAQgAmsiBCADIAMgBEsbIgVFDQBBACEEIAFB/wFxIQZBASEHA0AgAiAEai0AACAGRg0EIAUgBEEBaiIERw0ACyAFIANBCGsiCEsNAgwBCyADQQhrIQhBACEFCyABQf8BcUGBgoQIbCEEA0BBgIKECCACIAVqIgcoAgAgBHMiBmsgBnJBgIKECCAHQQRqKAIAIARzIgZrIAZycUGAgYKEeHFBgIGChHhHDQEgBUEIaiIFIAhNDQALCyADIAVHBEAgAUH/AXEhBEEBIQcDQCAEIAIgBWotAABGBEAgBSEEDAMLIAMgBUEBaiIFRw0ACwtBACEHCyAAIAQ2AgQgACAHNgIAC6UCAgN/AX4jAEFAaiICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEkaiIEQQA2AgAgAkKAgICAEDcCHCACQThqIANBEGopAgA3AwAgAkEwaiADQQhqKQIANwMAIAIgAykCADcDKCACQRxqQcDdwAAgAkEoahB1GiACQRhqIAQoAgAiAzYCACACIAIpAhwiBTcDECABQQhqIAM2AgAgASAFNwIACyABKQIAIQUgAUKAgICAEDcCACACQQhqIgMgAUEIaiIBKAIANgIAIAFBADYCAEHxgsEALQAAGiACIAU3AwBBDEEEEMICIgEEQCABIAIpAwA3AgAgAUEIaiADKAIANgIAIABBlOLAADYCBCAAIAE2AgAgAkFAayQADwtBBEEMEPYCAAuBAgECfyMAQTBrIgIkAAJ/AkAgACgCACIAQQBIBEBB//MBIAB2QQFxRSAAQf////8HcSIDQQ9Pcg0BIAEgA0ECdCIAQdzYwABqKAIAIABBmNnAAGooAgAQtAIMAgsgAiAANgIsIAJBATYCDCACQczYwAA2AgggAkIBNwIUIAIgAkEsaq1CgICAgMAUhDcDICACIAJBIGo2AhAgASgCFCABKAIYIAJBCGoQdQwBCyACQQE2AgwgAkG42MAANgIIIAJCATcCFCACIAA2AiwgAiACQSxqrUKAgICAkAyENwMgIAIgAkEgajYCECABKAIUIAEoAhggAkEIahB1CyACQTBqJAALmgECA38CfiMAQUBqIgIkACAAQRBqIQMgAEEEaiEEQoCAgICACyEFQoCAgICQCyEGIAAoAgBFGiACIAM2AgwgAkECNgIUIAJBxLTAADYCECACQgI3AhwgAiAFIAJBDGqthDcDMCACIAYgAkE8aq2ENwMoIAIgBDYCPCACIAJBKGo2AhggASgCFCABKAIYIAJBEGoQdSACQUBrJAALigIBAn8jAEHQAGsiAyQAIAMgATYCCCADQQE2AiwgA0GgnMAANgIoIANCATcCNCADIANBCGqtQoCAgIAwhDcDGCADIANBGGoiATYCMCADQQxqIANBKGoiBBCRASADQQA2AiAgA0KAgICAEDcCGCADQQM6AEggA0EgNgI4IANBADYCRCADQaicwAA2AkAgA0EANgIwIANBADYCKCADIAE2AjwgAiAEEM0BRQRAIAAgAykCGDcCECAAQRhqIANBIGooAgA2AgAgAEEMaiADQRRqKAIANgIAIAAgAykCDDcCBCAAQQE2AgAgA0HQAGokAA8LQdCcwABBNyADQc8AakHAnMAAQdSdwAAQzwEAC+kFAgR/CH4jAEFAaiIFJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAVBBGohByABQQhqIQYjAEHgAGsiBCQAIARBCGogAiADQf///wdHIAMQbAJAIAQoAghFBEAgBC0AMCEDIAQpAyghCyAEKQMgIQwgBCkDGCEJIAQpAxAhDSAGKQMAIQgCQAJ/AkAgBikDGCIPQgBTBEAgC0IAUw0BQf8BIQIMAwsgC0IAUwRAQQEhAgwDCyAGKQMIIQogBikDECEOIAQgDzcDWCAEIA43A1AgBCAKNwNIIAQgCDcDQCAEIAs3AyAgBCAMNwMYIAQgCTcDECAEIA03AwggBEFAayAEQQhqENIBDAELIAYpAwghCiAGKQMQIQ4gBEIAIAh9Igg3A0AgBCAKQn+FQgAgCn0iCiAIQgBSIgIbNwNIIAQgDkJ/hSIIIApQIAJBf3NxIgKtfCIKIAggAhs3A1AgBCACIAggClZxrSAPQn+FfDcDWCAEQgAgDX0iDTcDCCAEIAlCf4VCACAJfSIIIA1CAFIiAhs3AxAgBCAMQn+FIgkgCFAgAkF/c3EiAq18IgwgCSACGzcDGCAEIAIgCSAMVnGtIAtCf4V8NwMgIARBCGogBEFAaxDSAQsiAkH/AXENAEF/IAMgBi0AICICRyACIANJGyECCyAHQQI2AgAgByACQf8BcUEBRjoABAwBCyAEKAIMIQIgBCkDECELIAQpAxghCSAHIAQpAyA3AhQgByAJNwIMIAcgCzcCBCAHIAI2AgALIARB4ABqJAAgASABKAIAQQFrNgIAAn8gBSgCBCIBQQJGBEBBACEDIAUtAAgMAQsgBUE4aiAFQRxqKAIANgIAIAVBMGogBUEUaikCADcDACAFQShqIAVBDGopAgA3AwAgBSAFKQIENwMgIAVBIGoQnAEhA0EACyECIAAgAUECRzYCCCAAIAM2AgQgACACNgIAIAVBQGskAA8LEO8CAAsQ8AIAC+kFAgR/CH4jAEFAaiIFJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAVBBGohByABQQhqIQYjAEHgAGsiBCQAIARBCGogAiADQf///wdHIAMQbAJAIAQoAghFBEAgBC0AMCEDIAQpAyghCyAEKQMgIQwgBCkDGCEJIAQpAxAhDSAGKQMAIQgCQAJ/AkAgBikDGCIPQgBTBEAgC0IAUw0BQf8BIQIMAwsgC0IAUwRAQQEhAgwDCyAGKQMIIQogBikDECEOIAQgDzcDWCAEIA43A1AgBCAKNwNIIAQgCDcDQCAEIAs3AyAgBCAMNwMYIAQgCTcDECAEIA03AwggBEFAayAEQQhqENIBDAELIAYpAwghCiAGKQMQIQ4gBEIAIAh9Igg3A0AgBCAKQn+FQgAgCn0iCiAIQgBSIgIbNwNIIAQgDkJ/hSIIIApQIAJBf3NxIgKtfCIKIAggAhs3A1AgBCACIAggClZxrSAPQn+FfDcDWCAEQgAgDX0iDTcDCCAEIAlCf4VCACAJfSIIIA1CAFIiAhs3AxAgBCAMQn+FIgkgCFAgAkF/c3EiAq18IgwgCSACGzcDGCAEIAIgCSAMVnGtIAtCf4V8NwMgIARBCGogBEFAaxDSAQsiAkH/AXENAEF/IAMgBi0AICICRyACIANJGyECCyAHQQI2AgAgByACQf8BcUECSToABAwBCyAEKAIMIQIgBCkDECELIAQpAxghCSAHIAQpAyA3AhQgByAJNwIMIAcgCzcCBCAHIAI2AgALIARB4ABqJAAgASABKAIAQQFrNgIAAn8gBSgCBCIBQQJGBEBBACEDIAUtAAgMAQsgBUE4aiAFQRxqKAIANgIAIAVBMGogBUEUaikCADcDACAFQShqIAVBDGopAgA3AwAgBSAFKQIENwMgIAVBIGoQnAEhA0EACyECIAAgAUECRzYCCCAAIAM2AgQgACACNgIAIAVBQGskAA8LEO8CAAsQ8AIAC9YFAgR/CH4jAEFAaiIFJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAVBBGohByABQQhqIQYjAEHgAGsiBCQAIARBCGogAiADQf///wdHIAMQbAJAIAQoAghFBEAgBC0AMCEDIAQpAyghCyAEKQMgIQwgBCkDGCEJIAQpAxAhDSAGKQMAIQgCfwJ/AkAgBikDGCIPQgBTBEAgC0IAUw0BQQEMAwtBACALQgBTDQIaIAYpAwghCiAGKQMQIQ4gBCAPNwNYIAQgDjcDUCAEIAo3A0ggBCAINwNAIAQgCzcDICAEIAw3AxggBCAJNwMQIAQgDTcDCCAEQUBrIARBCGoQ0gEMAQsgBikDCCEKIAYpAxAhDiAEQgAgCH0iCDcDQCAEIApCf4VCACAKfSIKIAhCAFIiAhs3A0ggBCAOQn+FIgggClAgAkF/c3EiAq18IgogCCACGzcDUCAEIAIgCCAKVnGtIA9Cf4V8NwNYIARCACANfSINNwMIIAQgCUJ/hUIAIAl9IgggDUIAUiICGzcDECAEIAxCf4UiCSAIUCACQX9zcSICrXwiDCAJIAIbNwMYIAQgAiAJIAxWca0gC0J/hXw3AyAgBEEIaiAEQUBrENIBC0H/AXEiAkH/AUYgBi0AICADSSACGwshAiAHQQI2AgAgByACOgAEDAELIAQoAgwhAiAEKQMQIQsgBCkDGCEJIAcgBCkDIDcCFCAHIAk3AgwgByALNwIEIAcgAjYCAAsgBEHgAGokACABIAEoAgBBAWs2AgACfyAFKAIEIgFBAkYEQEEAIQMgBS0ACAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahCcASEDQQALIQIgACABQQJHNgIIIAAgAzYCBCAAIAI2AgAgBUFAayQADwsQ7wIACxDwAgAL6QUCBH8IfiMAQUBqIgUkAAJAIAEEQCABKAIAIgRBf0YNASABIARBAWo2AgAgBUEEaiEHIAFBCGohBiMAQeAAayIEJAAgBEEIaiACIANB////B0cgAxBsAkAgBCgCCEUEQCAELQAwIQMgBCkDKCELIAQpAyAhDCAEKQMYIQkgBCkDECENIAYpAwAhCAJAAn8CQCAGKQMYIg9CAFMEQCALQgBTDQFB/wEhAgwDCyALQgBTBEBBASECDAMLIAYpAwghCiAGKQMQIQ4gBCAPNwNYIAQgDjcDUCAEIAo3A0ggBCAINwNAIAQgCzcDICAEIAw3AxggBCAJNwMQIAQgDTcDCCAEQUBrIARBCGoQ0gEMAQsgBikDCCEKIAYpAxAhDiAEQgAgCH0iCDcDQCAEIApCf4VCACAKfSIKIAhCAFIiAhs3A0ggBCAOQn+FIgggClAgAkF/c3EiAq18IgogCCACGzcDUCAEIAIgCCAKVnGtIA9Cf4V8NwNYIARCACANfSINNwMIIAQgCUJ/hUIAIAl9IgggDUIAUiICGzcDECAEIAxCf4UiCSAIUCACQX9zcSICrXwiDCAJIAIbNwMYIAQgAiAJIAxWca0gC0J/hXw3AyAgBEEIaiAEQUBrENIBCyICQf8BcQ0AQX8gAyAGLQAgIgJHIAIgA0kbIQILIAdBAjYCACAHIAJB/wFxQQFHOgAEDAELIAQoAgwhAiAEKQMQIQsgBCkDGCEJIAcgBCkDIDcCFCAHIAk3AgwgByALNwIEIAcgAjYCAAsgBEHgAGokACABIAEoAgBBAWs2AgACfyAFKAIEIgFBAkYEQEEAIQMgBS0ACAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahCcASEDQQALIQIgACABQQJHNgIIIAAgAzYCBCAAIAI2AgAgBUFAayQADwsQ7wIACxDwAgAL4A4BDX8jAEFAaiIGJAACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAZBBGohBCABQQhqIQsjAEGQAWsiAyQAIAJFBEAQJiECCyACEAAhCCACEAEhCSADQShqIAIQAiADKAIoIQwgAygCLCEFIANBIGogAhADIAMoAiAhDSADKAIkIQcgAhAEIQogA0ECIAlBAEcgCUH///8HRhs6AE4gAyAIOgBNIAMgCEH///8HRzoATCADIAc2AkggAyANNgJEIAMgB0GAgICAeCANGyIINgJAIAMgBTYCPCADIAw2AjggAyAFQYCAgIB4IAwbIgk2AjQgA0ECIApBAEcgCkH///8HRhs6AE8gA0EYaiACEAUCQAJAIAMoAhgiB0UNACADKAIcIgVBgICAgHhGDQAgBUUNASAHIAUQ0wIMAQsgAhAGIgVBACAFQf///wdHGw0AIAIQACEFIANBAToATCADIAstACggBSAFQf///wdGGzoATQsgA0HcAGoiCiALLQAoIANBNGoQaCADKAJkIQUgAygCYCEHAkACQAJAIAMoAlwiD0ECRgRAIAMgBzYCUCADIAU2AlQgA0EQaiACEAUCQAJAAkACQAJAIAMoAhAiB0UNACADKAIUIgVBgICAgHhGDQAgA0GkgcAAQQgQBzYCgAEgA0GsgcAAQQcQBzYChAEgCiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQEgAygChAEiCkGEAU8EQCAKEAgLIAMoAoABIgpBhAFPBEAgChAICyADQbOBwABBDhAHNgKAASADIAcgBRAHNgKEASAFBEAgByAFENMCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQIgAygChAEiBUGEAU8EQCAFEAgLIAMoAoABIgVBhAFJDQAgBRAICwJAIAIQBiIFRSAFQf///wdGcg0AIANBjILAAEEFEAc2AoABIANBkYLAAEEHEAc2AoQBIANB3ABqIANB1ABqIANBgAFqIANBhAFqEO0BIAMtAFwNAyADKAKEASIFQYQBTwRAIAUQCAsgAygCgAEiBUGEAUkNACAFEAgLIAMgA0HQAGogA0HUAGoQ1gI2AlggAyADQdgAahCAAzYCeCADQYEBNgJ8IANBhAFqIAsQdCADIAMoAogBIgUgAygCjAEQBzYCgAEgAygChAEiCwRAIAUgCxDTAgsgA0EIaiADQfgAaiADQfwAaiADQYABahD6ASADQdwAaiADKAIIIAMoAgxBmILAABCYASADKAJgIQUgAygCXCILQQJHDQMgBEECNgIAIAQgBTYCBCADKAJYIgRBhAFPBEAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFPBEAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQ0wILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDTAgsgAkGEAU8EQCACEAgLIAMoAoABIgJBhAFPBEAgAhAICyADKAJ8IgJBhAFPBEAgAhAICyADKAJ4IgJBhAFJDQcgAhAIDAcLIAQgAygCYEH8gcAAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsgBUUNBCAHIAUQ0wIMBAsgBCADKAJgQeyBwAAQlwEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQMgBBAIDAMLIAQgAygCYEGogsAAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0CIAQQCAwCCyAEIAMpAmQ3AgggBEEYaiADQfQAaigCADYCACAEQRBqIANB7ABqKQIANwIAIAQgBTYCBCAEIAs2AgAgAygCWCIEQYQBTwRAIAQQCAsgAygCVCIEQYQBTwRAIAQQCAsgAygCUCIEQYQBTwRAIAQQCAsgCUGAgICAeHJBgICAgHhHBEAgDCAJENMCCyAIQYCAgIB4ckGAgICAeEcEQCANIAgQ0wILIAJBhAFPBEAgAhAICyADKAKAASICQYQBTwRAIAIQCAsgAygCfCICQYQBTwRAIAIQCAsgAygCeCICQYQBSQ0DIAIQCAwDCyAEIAMpAmg3AgwgBEEUaiADQfAAaikCADcCACAEIAU2AgggBCAHNgIEIAQgDzYCAAwBCyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFJDQAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQ0wILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDTAgsgAkGEAUkNACACEAgLIANBkAFqJAAgASABKAIAQQFrNgIAAn8gBigCBCIBQQJGBEAgBigCCAwBCyAGQThqIAZBHGooAgA2AgAgBkEwaiAGQRRqKQIANwMAIAZBKGogBkEMaikCADcDACAGIAYpAgQ3AyAgBkEgahCcASEOQQALIQIgACABQQJHNgIIIAAgDjYCBCAAIAI2AgAgBkFAayQADwsQ7wIACxDwAgALphEBDX8jAEFAaiIHJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAdBBGohBSABQQhqIQ4jAEGQAWsiAyQAIAJFBEAQJiECCyACEAAhBCACEAEhBiADQShqIAIQAiADKAIoIQsgAygCLCEJIANBIGogAhADIAMoAiAhDCADKAIkIQogAhAEIQggA0ECIAZBAEcgBkH///8HRhs6AE4gAyAEOgBNIAMgBEH///8HRzoATCADIAo2AkggAyAMNgJEIAMgCkGAgICAeCAMGyIKNgJAIAMgCTYCPCADIAs2AjggAyAJQYCAgIB4IAsbIgk2AjQgA0ECIAhBAEcgCEH///8HRhs6AE8gA0HcAGoiCCAOLQAoIANBNGoQaCADKAJkIQQgAygCYCEGAkACQAJAAkACQAJAAkAgAygCXCIPQQJGBEAgAyAGNgJQIAMgBDYCVCADQYyCwABBBRAHNgKAASADQbiCwABBCBAHNgKEASAIIANB1ABqIANBgAFqIANBhAFqEO0BIAMtAFxFBEAgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQbiCwABBCBAHNgKAASADQRhqIAIQCUHxgsEALQAAGiADKAIcIQggAygCGCEEQQNBARDCAiIGRQ0CIAZBAmpBwoLAAC0AADoAACAGQcCCwAAvAAA7AAAgBEUgCEGAgICAeEZyDQMgBkEDENMCDAQLIAUgAygCYEGog8AAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0EIAQQCAwECyAFIAMpAmg3AgwgBUEUaiADQfAAaikCADcCACAFIAQ2AgggBSAGNgIEIAUgDzYCAAwFC0EBQQMQrQIAC0EDIQggBiEECyADIAQgCBAHNgKEASAIBEAgBCAIENMCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDtAQJAAkACQCADLQBcRQRAIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsCQCACEAoiBEUgBEH///8HRnINACADQaSBwABBCBAHNgKAASADQayBwABBBxAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQIgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQbOBwABBDhAHNgKAASADQcOCwABBBRAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQMgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQAgBBAICyADQRBqIAIQCwJAIAMoAhAiBkUNACADKAIUIgRBgICAgHhGDQAgA0HIgsAAQQ8QBzYCgAEgAyAGIAQQBzYChAEgBARAIAYgBBDTAgsgA0HcAGogA0HUAGogA0GAAWogA0GEAWoQ7QEgAy0AXA0EIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0AIAQQCAsgAyADQdAAaiADQdQAahDWAjYCWCADIANB2ABqEIADNgJ4IANBgQE2AnwgA0GEAWogDhB0IAMgAygCiAEiBCADKAKMARAHNgKAASADKAKEASIGBEAgBCAGENMCCyADQQhqIANB+ABqIANB/ABqIANBgAFqEPoBIANB3ABqIAMoAgggAygCDEHogsAAEJgBIAMoAmAhBCADKAJcIgZBAkcNBSAFQQI2AgAgBSAENgIEIAMoAlgiBEGEAU8EQCAEEAgLIAMoAlQiBEGEAU8EQCAEEAgLIAMoAlAiBEGEAU8EQCAEEAgLIAlBgICAgHhyQYCAgIB4RwRAIAsgCRDTAgsgCkGAgICAeHJBgICAgHhHBEAgDCAKENMCCyACQYQBTwRAIAIQCAsgAygCgAEiAkGEAU8EQCACEAgLIAMoAnwiAkGEAU8EQCACEAgLIAMoAngiAkGEAUkNByACEAgMBwsgBSADKAJgQZiDwAAQlwEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQMgBBAIDAMLIAUgAygCYEGIg8AAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0CIAQQCAwCCyAFIAMoAmBB+ILAABCXASADKAKEASIEQYQBTwRAIAQQCAsgAygCgAEiBEGEAUkNASAEEAgMAQsgBSADKAJgQdiCwAAQlwEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFJDQEgBBAIDAELIAUgAykCZDcCCCAFQRhqIANB9ABqKAIANgIAIAVBEGogA0HsAGopAgA3AgAgBSAENgIEIAUgBjYCACADKAJYIgRBhAFPBEAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFPBEAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCALIAkQ0wILIApBgICAgHhyQYCAgIB4RwRAIAwgChDTAgsgAkGEAU8EQCACEAgLIAMoAoABIgJBhAFPBEAgAhAICyADKAJ8IgJBhAFPBEAgAhAICyADKAJ4IgJBhAFJDQEgAhAIDAELIAlBgICAgHhyQYCAgIB4RwRAIAsgCRDTAgsgCkGAgICAeHJBgICAgHhHBEAgDCAKENMCCyACQYQBSQ0AIAIQCAsgA0GQAWokACABIAEoAgBBAWs2AgACfyAHKAIEIgFBAkYEQCAHKAIIDAELIAdBOGogB0EcaigCADYCACAHQTBqIAdBFGopAgA3AwAgB0EoaiAHQQxqKQIANwMAIAcgBykCBDcDICAHQSBqEJwBIQ1BAAshAiAAIAFBAkc2AgggACANNgIEIAAgAjYCACAHQUBrJAAPCxDvAgALEPACAAvjAQEBfyMAQRBrIgIkACACQQA2AgwgACACQQxqAn8CQAJAIAFBgAFPBEAgAUGAEEkNASABQYCABE8NAiACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAMLIAIgAToADEEBDAILIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBAsQeCACQRBqJAAL/gECBX8EfiMAQTBrIgIkACACQShqQgA3AwAgAkEgakIANwMAIAJBGGpCADcDACACQgA3AxAgAkEIaiACQRBqEOgBAkAgAigCCCIDRQRAIAIpAxAhByACKQMYIQggAikDICEJIAIpAyghCkG+rcAAEPMBIQMgAEHCrcAAEPMBNgIsIAAgAzYCKCAAQgA3AyAgACAKNwMYIAAgCTcDECAAIAg3AwggACAHNwMADAELIAIoAgwiBSgCACIEBEAgAyAEEQYACyAFKAIEIgRFDQAgBSgCCCEGIAMgBBDTAgsgAEEANgJAIAAgACkDMEKAAn03AzggACABEEkgAkEwaiQAC4QDAQN/IwBBIGsiAiQAIAEoAhRB9NLAAEEFIAEoAhgoAgwRAgAhBCACQQxqIgNBADoABSADIAQ6AAQgAyABNgIAAkACQCAAKAIAIgBBAEgEQEH/8wEgAHZBAXFFIABB/////wdxIgFBD09yDQEgAiABQQJ0IgFBmNnAAGooAgA2AhggAiABQdzYwABqKAIANgIUIAIgADYCHCADQdjXwABBDSACQRxqQcjXwAAQlgEaIANB+NfAAEELIAJBFGpB6NfAABCWARoMAgsgAiAANgIUIAJBDGpBoNjAAEEIIAJBFGpBkNjAABCWARoMAQsgAiAANgIUIAJBDGpBg9jAAEEMIAJBFGpByNfAABCWARoLIAJBDGoiAC0ABCEBIAAtAAUEQCAAAn9BASABQQFxDQAaIAAoAgAiAC0AHEEEcUUEQCAAKAIUQevowABBAiAAKAIYKAIMEQIADAELIAAoAhRB6ujAAEEBIAAoAhgoAgwRAgALIgE6AAQLIAFBAXEgAkEgaiQAC8QCAgR/A34jAEEgayIBJAAjAEEQayIAJAAgAUEINgIAIAFBIDYCBCAAQRBqJAAgASgCACECAkACQCABKAIEIgMEf0HxgsEALQAAGiADIAIQwgIFIAILIgAEQCAAQQI2AhAgAEKBgICAEDcDAEHAg8EAKQMAIQQDQCAEQn9RDQJBwIPBACAEQgF8IgVBwIPBACkDACIGIAQgBlEiAhs3AwAgBiEEIAJFDQALQZiHwQAgBTcDACAAIAU3AwhBoIfBACgCAEUNAiABQQA2AhggAUEBNgIMIAFB2NzAADYCCCABQgQ3AhAgAUEIakGw3cAAEPABAAsgAiADEPYCAAsjAEEgayIAJAAgAEEANgIYIABBATYCDCAAQbzgwAA2AgggAEIENwIQIABBCGpBxODAABDwAQALQaCHwQAgADYCACABQSBqJAALyQEBBn8jAEEgayIBJAAgACgCACICQX9GBEBBAEEAEK0CAAtBBCEFQQQgAkEBdCIDIAJBAWoiBCADIARLGyIDIANBBE0bIgRBAnQhBiADQYCAgIACSUECdCEDAkAgAkUEQEEAIQUMAQsgASACQQJ0NgIcIAEgACgCBDYCFAsgASAFNgIYIAFBCGogAyAGIAFBFGoQwgEgASgCCEEBRgRAIAEoAgwgASgCEBCtAgALIAEoAgwhAiAAIAQ2AgAgACACNgIEIAFBIGokAAv6AQECfyMAQSBrIgUkAEG8g8EAQbyDwQAoAgAiBkEBajYCAAJAAkAgBkEASA0AQZCHwQAtAAANAUGQh8EAQQE6AABBjIfBAEGMh8EAKAIAQQFqNgIAQbCDwQAoAgAiBkEASA0AQbCDwQAgBkEBajYCAEGwg8EAQbSDwQAoAgAEfyAFQQhqIAAgASgCFBEBACAFIAQ6AB0gBSADOgAcIAUgAjYCGCAFIAUpAwg3AhBBtIPBACgCACAFQRBqQbiDwQAoAgAoAhQRAQBBsIPBACgCAEEBawUgBgs2AgBBkIfBAEEAOgAAIANFDQAACwALIAUgACABKAIYEQEAAAuwAQECfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQrQIAC0EIIAAoAgAiAUEBdCIEIAIgAiAESRsiAiACQQhNGyICQX9zQR92IQQgAyABBH8gAyABNgIcIAMgACgCBDYCFEEBBUEACzYCGCADQQhqIAQgAiADQRRqEMIBIAMoAghBAUYEQCADKAIMIAMoAhAQrQIACyADKAIMIQEgACACNgIAIAAgATYCBCADQSBqJAALsAEBBH8jAEEgayIBJAAgACgCACICQX9GBEBBAEEAEK0CAAtBCCACQQF0IgMgAkEBaiIEIAMgBEsbIgMgA0EITRsiA0F/c0EfdiEEIAEgAgR/IAEgAjYCHCABIAAoAgQ2AhRBAQVBAAs2AhggAUEIaiAEIAMgAUEUahDCASABKAIIQQFGBEAgASgCDCABKAIQEK0CAAsgASgCDCECIAAgAzYCACAAIAI2AgQgAUEgaiQAC7ABAQJ/IwBBIGsiAyQAIAEgASACaiICSwRAQQBBABCtAgALQQggACgCACIBQQF0IgQgAiACIARJGyICIAJBCE0bIgJBf3NBH3YhBCADIAEEfyADIAE2AhwgAyAAKAIENgIUQQEFQQALNgIYIANBCGogBCACIANBFGoQxQEgAygCCEEBRgRAIAMoAgwgAygCEBCtAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAuwAQEEfyMAQSBrIgEkACAAKAIAIgJBf0YEQEEAQQAQrQIAC0EIIAJBAXQiAyACQQFqIgQgAyAESxsiAyADQQhNGyIDQX9zQR92IQQgASACBH8gASACNgIcIAEgACgCBDYCFEEBBUEACzYCGCABQQhqIAQgAyABQRRqEMABIAEoAghBAUYEQCABKAIMIAEoAhAQrQIACyABKAIMIQIgACADNgIAIAAgAjYCBCABQSBqJAALsAEBAn8jAEEgayIDJAAgASABIAJqIgJLBEBBAEEAEK0CAAtBCCAAKAIAIgFBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEIAMgAQR/IAMgATYCHCADIAAoAgQ2AhRBAQVBAAs2AhggA0EIaiAEIAIgA0EUahDAASADKAIIQQFGBEAgAygCDCADKAIQEK0CAAsgAygCDCEBIAAgAjYCACAAIAE2AgQgA0EgaiQAC6sBAQN/AkAgAkEQSQRAIAAhAwwBCyAAQQAgAGtBA3EiBGohBSAEBEAgACEDA0AgAyABOgAAIANBAWoiAyAFSQ0ACwsgBSACIARrIgJBfHEiBGohAyAEQQBKBEAgAUH/AXFBgYKECGwhBANAIAUgBDYCACAFQQRqIgUgA0kNAAsLIAJBA3EhAgsgAgRAIAIgA2ohAgNAIAMgAToAACADQQFqIgMgAkkNAAsLIAALtQEBBH8jAEEQayICJAACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAkEEaiABQQhqEHQgASABKAIAQQFrNgIAAkAgAigCBCIEIAIoAgwiAU0EQCACKAIIIQMMAQsgAigCCCEFIAFFBEBBASEDIAUgBBDTAgwBCyAFIARBASABEK8CIgNFDQMLIAAgATYCBCAAIAM2AgAgAkEQaiQADwsQ7wIACxDwAgALQQEgARCtAgALrgEBA39BASEEQQQhBiABRSACQQBIckUEQAJ/AkACQAJ/IAMoAgQEQCADKAIIIgFFBEAgAkUEQAwEC0HxgsEALQAAGiACQQEQwgIMAgsgAygCACABQQEgAhCvAgwBCyACRQRADAILQfGCwQAtAAAaIAJBARDCAgsiBEUNAQsgACAENgIEQQAMAQsgAEEBNgIEQQELIQRBCCEGIAIhBQsgACAGaiAFNgIAIAAgBDYCAAu8AQIDfwF+IwBBMGsiAiQAIAEoAgBBgICAgHhGBEAgASgCDCEDIAJBFGoiBEEANgIAIAJCgICAgBA3AgwgAkEoaiADQRBqKQIANwMAIAJBIGogA0EIaikCADcDACACIAMpAgA3AxggAkEMakHA3cAAIAJBGGoQdRogAkEIaiAEKAIAIgM2AgAgAiACKQIMIgU3AwAgAUEIaiADNgIAIAEgBTcCAAsgAEGU4sAANgIEIAAgATYCACACQTBqJAALmwEBAX8CQAJAIAEEQCACQQBIDQECfyADKAIEBEACQCADKAIIIgRFBEAMAQsgAygCACAEIAEgAhCvAgwCCwsgASACRQ0AGkHxgsEALQAAGiACIAEQwgILIgMEQCAAIAI2AgggACADNgIEIABBADYCAA8LIAAgAjYCCCAAIAE2AgQMAgsgAEEANgIEDAELIABBADYCBAsgAEEBNgIAC7wBAQF/IwBBEGsiByQAIAAoAhQgASACIAAoAhgoAgwRAgAhASAHQQA6AA0gByABOgAMIAcgADYCCCAHQQhqIAMgBCAFIAYQlgEhASAHLQANIgIgBy0ADCIDciEAAkAgA0EBcSACQQFHcg0AIAEoAgAiAC0AHEEEcUUEQCAAKAIUQevowABBAiAAKAIYKAIMEQIAIQAMAQsgACgCFEHq6MAAQQEgACgCGCgCDBECACEACyAHQRBqJAAgAEEBcQunAQEBfyMAQRBrIgYkAAJAIAEEQCAGQQRqIAEgAyAEIAUgAigCEBEJAAJAIAYoAgQiAiAGKAIMIgFNBEAgBigCCCEFDAELIAJBAnQhAiAGKAIIIQMgAUUEQEEEIQUgAyACENMCDAELIAMgAkEEIAFBAnQiAhCvAiIFRQ0CCyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQd/ZwABBMhDuAgALQQQgAhCtAgALpwEAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQCADKAIIIgFFBEBB8YLBAC0AABogAkEBEMICDAILIAMoAgAgAUEBIAIQrwIMAQtB8YLBAC0AABogAkEBEMICCyIBBEAgACACNgIIIAAgATYCBCAAQQA2AgAPCyAAIAI2AgggAEEBNgIEIABBATYCAA8LIABBADYCBCAAQQE2AgAPCyAAQQA2AgQgAEEBNgIAC5IKAgV/AX4jAEEwayIDJAAgA0EIaiABEIgCIANBFGohBCADKAIIIQUgAygCDCECIwBB4ABrIgEkAAJAAkACQCAFRQRAIARBAjYCACAEIAI2AgQMAQsgASACNgIcIAEgAUEcajYCICABQQE2AkAgAUG0scAANgI8IAFCATcCSCABIAFBIGqtQoCAgICgCoQ3AzAgASABQTBqIgU2AkQgAUEkaiABQTxqIgYQkQEgAUEANgI4IAFCgICAgBA3AjAgAUEDOgBcIAFBIDYCTCABQQA2AlggAUH4r8AANgJUIAFBADYCRCABQQA2AjwgASAFNgJQQZCywAAgBhDNAQ0BIAFBCGoiBSABQThqKAIANgIAIAFBGGoiBiABQSxqKAIANgIAIAEgASkCMDcDACABIAEpAiQ3AxAgAkGEAU8EQCACEAgLIARBATYCACAEIAEpAxA3AgQgBCABKQMANwIQIARBDGogBigCADYCACAEQRhqIAUoAgA2AgALIAFB4ABqJAAMAQtBoLDAAEE3IAFBEGpBkLDAAEGkscAAEM8BAAsgAygCGCEEAkAgAygCFCIBQQJGBEAgAyAENgIQIwBBoAFrIgEkACABIANBEGoiAjYCECABQQhqIAJBChD9ASABKAIMIQICQAJAAkAgAAJ/AkAgASgCCEUEQCABQRRqIAIQ3gEgAUEgaiABKAIYIgIgASgCHBCSASABLQAgDQEgACABKQMoNwMIIABBIGogAUFAaykDADcDACAAQRhqIAFBOGopAwA3AwAgAEEQaiABQTBqKQMANwMAQQAMAgsgASACNgJcIAFBAjYCJCABQdyxwAA2AiAgAUICNwIsIAEgAUHcAGqtQoCAgIDQCYQ3A4ABIAEgAUEQaq1CgICAgOAJhDcDeCABIAFB+ABqIgI2AiggAUHoAGogAUEgaiIFEJEBIAFBADYCgAEgAUKAgICAEDcCeCABQQM6AEAgAUEgNgIwIAFBADYCPCABQfivwAA2AjggAUEANgIoIAFBADYCICABIAI2AjRBoLLAACAFEM0BDQMgAUHQAGoiAiABQYABaigCADYCACABIAEpAng3A0ggASkCbCEHIAEoAmghBSABKAJcIgZBhAFPBEAgBhAICyAAIAc3AgwgACAFNgIIIABCATcDACAAIAEpA0g3AhQgAEEcaiACKAIANgIADAILIAEgAS0AIToAWyABQQI2AnwgAUHAssAANgJ4IAFCAjcChAEgASABQdsAaq1CgICAgPAJhDcDcCABIAFBEGqtQoCAgIDgCYQ3A2ggASABQegAaiIFNgKAASABQdwAaiABQfgAaiIGEJEBIAFBADYCcCABQoCAgIAQNwJoIAFBAzoAmAEgAUEgNgKIASABQQA2ApQBIAFB+K/AADYCkAEgAUEANgKAASABQQA2AnggASAFNgKMAUGgssAAIAYQzQENAiAAIAEpAmg3AhQgAEEcaiABQfAAaigCADYCACAAQRBqIAFB5ABqKAIANgIAIAAgASkCXDcCCCAAQQA2AgRBAQs2AgAgASgCFCIARQ0AIAIgABDTAgsgAUGgAWokAAwBC0GgsMAAQTcgAUGfAWpBkLDAAEGkscAAEM8BAAsgBEGEAUkNASAEEAgMAQsgACADKQIcNwIMIABBHGogA0EsaigCADYCACAAQRRqIANBJGopAgA3AgAgACAENgIIIAAgATYCBCAAQQE2AgALIANBMGokAAuQAQEDfyMAQYABayIEJAAgACgCACEAA0AgAiAEakH/AGogAEEPcSIDQTByIANB1wBqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsgAkGAAWoiAEGBAU8EQCAAQYABQYTpwAAQ1wEACyABQQFBlOnAAEECIAIgBGpBgAFqQQAgAmsQbSAEQYABaiQAC48BAQN/IwBBgAFrIgQkACAAKAIAIQADQCACIARqQf8AaiAAQQ9xIgNBMHIgA0E3aiADQQpJGzoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgQFPBEAgAEGAAUGE6cAAENcBAAsgAUEBQZTpwABBAiACIARqQYABakEAIAJrEG0gBEGAAWokAAvMAQEGfyMAQRBrIgIkACAAKAIAIQMgAkQAAAAAAAAAABAMIgA2AgQgAkEEaigCABAjIQQgAEGEAU8EQCAAEAgLIAMoAgAgBBAXIQUjAEEQayIAJAAgAEEIaiADKAIAQQoQMiAAKAIIIQYgAkEEaiIDIAAoAgwiBzYCCCADIAY2AgQgAyAHNgIAIABBEGokACABIAVBAUZBAUEAIAIoAggiACACKAIMEG0gAigCBCIDBEAgACADENMCCyAEQYQBTwRAIAQQCAsgAkEQaiQAC5IBAQR/IwBBEGsiAiQAQQEhBAJAIAEoAhQiA0EnIAEoAhgiBSgCECIBEQAADQAgAkEEaiAAKAIAQYECEHECQCACLQAEQYABRgRAIAMgAigCCCABEQAARQ0BDAILIAMgAi0ADiIAIAJBBGpqIAItAA8gAGsgBSgCDBECAA0BCyADQScgAREAACEECyACQRBqJAAgBAt1AgN/AXwjAEEQayIBJAACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAFBBGogAEEIahB0IAEoAggiAiABKAIMEC4gASgCBCIDBEAgAiADENMCCyAAIAAoAgBBAWs2AgAgAUEQaiQADwsQ7wIACxDwAgALdwEBfyMAQSBrIgIkAAJ/IAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQtAIMAQsgAkEYaiAAKAIMIgBBEGopAgA3AwAgAkEQaiAAQQhqKQIANwMAIAIgACkCADcDCCABKAIUIAEoAhggAkEIahB1CyACQSBqJAALeQIBfwF+IwBBMGsiAiQAIAJBAzYCBCACQcTmwAA2AgAgAkIDNwIMIAJCgICAgJAMIgMgAEEMaq2ENwMoIAIgAyAAQQhqrYQ3AyAgAiAArUKAgICA0BmENwMYIAIgAkEYajYCCCABKAIUIAEoAhggAhB1IAJBMGokAAtuAQZ+IAAgA0L/////D4MiBSABQv////8PgyIGfiIHIAYgA0IgiCIGfiIIIAUgAUIgiCIJfnwiBUIghnwiCjcDACAAIAcgClatIAYgCX4gBSAIVK1CIIYgBUIgiIR8fCABIAR+IAIgA358fDcDCAt8AQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQQI2AhwgBUG06MAANgIYIAVCAjcCJCAFIAVBEGqtQoCAgIDAGYQ3AzggBSAFQQhqrUKAgICA0BmENwMwIAUgBUEwajYCICAFQRhqIAQQ8AEAC3IBA38jAEEwayICJAAgAkEkaiIDIAAQUyACQQE2AgQgAkHciMAANgIAIAIgA61CgICAgBCENwMYIAJCATcCDCACIAJBGGo2AgggASgCFCABKAIYIAIQdSACKAIkIgEEQCACKAIoIAEQ0wILIAJBMGokAAtyAQN/IwBBMGsiAiQAIAJBJGoiAyAAEFMgAkECNgIEIAJB2JPAADYCACACIAOtQoCAgIAQhDcDGCACQgE3AgwgAiACQRhqNgIIIAEoAhQgASgCGCACEHUgAigCJCIBBEAgAigCKCABENMCCyACQTBqJAALdQICfgF/AkBBfyABKQMYIgIgACkDGCIDUiACIANWGyIEDQBBfyABKQMQIgIgACkDECIDUiACIANWGyIEDQBBfyABKQMIIgIgACkDCCIDUiACIANWGyIEDQBBfyABKQMAIgIgACkDACIDUiACIANWGyEECyAEC3kBA38jAEEQayICJAACfyAAKAIAIgAoAgQiA0UEQCACIAAgACgCACgCBBEBACACKAIAIAEgAigCBCgCDBEAAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAQAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALdAEDfyMAQRBrIgIkAAJ/IAAoAgQiA0UEQCACIAAgACgCACgCBBEBACACKAIAIAEgAigCBCgCDBEAAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAQAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALcwEEfyAAQQRqKAIAIQMgACgCAEEAOgAAAkAgAygCACIBKAIAIgBFDQAgAUEEaigCACIBKAIAIgIEQCAAIAIRBgALIAEoAgQiAkUNACABKAIIIQQgACACENMCCyADKAIAIgBBuMvAADYCBCAAQQE2AgBBAQtsAQF/IwBBIGsiAiQAIAFBAEgEQCACQQA2AhggAkEBNgIMIAJBiM7AADYCCCACQgQ3AhAgAkEIakG4z8AAEPABAAsgAEIANwMIIABBGGpCADcDACAAQRBqQgA3AwAgACABrTcDACACQSBqJAALagIBfwF+IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0ECNgIMIANB9OvAADYCCCADQgI3AhQgA0KAgICAkAwiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEPABAAtqAgF/AX4jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0GQ58AANgIIIANCAjcCFCADQoCAgICQDCIEIAOthDcDKCADIAQgA0EEaq2ENwMgIAMgA0EgajYCECADQQhqIAIQ8AEAC2oCAX8BfiMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBAjYCDCADQZTswAA2AgggA0ICNwIUIANCgICAgJAMIgQgA0EEaq2ENwMoIAMgBCADrYQ3AyAgAyADQSBqNgIQIANBCGogAhDwAQALagIBfwF+IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0ECNgIMIANByOzAADYCCCADQgI3AhQgA0KAgICAkAwiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEPABAAtnACMAQTBrIgAkAEHwgsEALQAABEAgAEECNgIMIABBhOHAADYCCCAAQgE3AhQgACABNgIsIAAgAEEsaq1CgICAgJAMhDcDICAAIABBIGo2AhAgAEEIakGk4cAAEPABAAsgAEEwaiQAC24BBH8gACgCAEEAOgAAAkAgACgCBCIDKAIAIgEoAgAiAEUNACABQQRqKAIAIgEoAgAiAgRAIAAgAhEGAAsgASgCBCICRQ0AIAEoAgghBCAAIAIQ0wILIAMoAgAiAEG4y8AANgIEIABBATYCAEEBC1YBAn4CQCACQcAAcUUEQCACRQ0BQgAgAkE/ca0iBIYgAUEAIAJrQT9xrYiEIQMgASAEhiEBDAELIAEgAkE/ca2GIQNCACEBCyAAIAE3AwAgACADNwMIC1wBA38jAEEQayICJAAgAkEIaiABEBMgAigCCCIEBEAgAigCDCEDIAAgBDYCBCAAIAM2AgggACADNgIAIAFBhAFPBEAgARAICyACQRBqJAAPC0GR2sAAQRUQ7gIAC2sBAX8jAEEQayIDJABB/ILBACgCAEECRwRAEOUBCyADQQhqQfSCwQAoAgAgAUGcnsAAQfiCwQAoAgAoAhQRBQAgAygCCCIBIAIgAygCDCICKAIgEQEAIAAgAjYCBCAAIAE2AgAgA0EQaiQAC1oBBX8CQCAAKAIEIgFFDQAgACgCCCIDKAIAIgIEQCABIAIRBgALIAMoAgQiAkUNACADKAIIIQQgASACENMCCyAAKAIMIgEEQCAAKAIQIAEQ0wILIABBGBDTAgtiAQF/IwBBMGsiACQAIABB3gA2AgwgAEGA38AANgIIIABBATYCFCAAQZDmwAA2AhAgAEIBNwIcIAAgAEEIaq1CgICAgNAZhDcDKCAAIABBKGo2AhggAEEQakH038AAEPABAAtUAQF/IwBBIGsiAiQAIAJBATYCBCACQbDSwAA2AgAgAkIBNwIMIAIgAK1CgICAgNAThDcDGCACIAJBGGo2AgggASgCFCABKAIYIAIQdSACQSBqJAALVQECfwJAIAAoAhBBAUcNACAAKAIUIgFBADoAACAAKAIYIgJFDQAgASACENMCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgENMCCwtTAQV/AkAgACgCBCIBRQ0AIAAoAggiAygCACICBEAgASACEQYACyADKAIEIgJFDQAgAygCCCEEIAEgAhDTAgsgACgCDCIBBEAgACgCECABENMCCwuiBwEKfyMAQSBrIgQkACAEQQE6AAsgBEH0gsEANgIMIAQgBEEfajYCGCAEIARBDGo2AhQgBCAEQQtqNgIQIARBEGohByMAQSBrIgIkAEH8gsEAKAIAIQECQAJAAkACQANAAkACQAJAAkAgAUEDcSIDQQFrDgMBBQIACyAHDQILEO4BIQVB/ILBACACQQhqIANyIghB/ILBACgCACIAIAAgAUYiBhs2AgAgAiAFNgIIIAIgASADazYCDCACQQA6ABACQAJAIAZFBEBBACADayEFA0AgACIBQQNxIANHDQICQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQ4wELEO4BIQZB/ILBACAIQfyCwQAoAgAiACAAIAFGIgkbNgIAIAJBADoAECACIAY2AgggAiABIAVqNgIMIAlFDQALCyACLQAQRQRAA0AjAEEQayIDJABBoIfBACgCACIBRQRAELYBQaCHwQAoAgAhAQsgASABKAIAIgBBAWo2AgACQAJAIABBAE4EQCABRQ0BIAEgASgCACIAQQFrNgIAIAMgATYCDCAAQQFGBEACQCADQQxqKAIAIgAoAhBBAUcNACAAKAIUIgFBADoAACAAKAIYIgVFDQAgASAFENMCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgENMCCwsgA0EQaiQADAILAAsQ4QEACyACLQAQRQ0ACwsgAigCCCIARQ0BIAAgACgCACIAQQFrNgIAIABBAUcNASACKAIIEOMBDAELIAIoAggiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgAigCCBDjAQtB/ILBACgCACEBDAILA0AMAAsAC0H8gsEAIAFBAWpB/ILBACgCACIAIAAgAUYbNgIAIAAgAUcgACEBDQALIAdBtMvAACgCABEDACEBQfyCwQAoAgAhAEH8gsEAQQJBACABGzYCACACIABBA3EiATYCBCABQQFHDQEgAEEBayIARQ0AA0AgACgCACEDIABBADYCACADRQ0DIAAoAgQgAEEBOgAIIAMgAygCACIAQQFrNgIAIABBAUYEQCADEOMBCyIADQALCyACQSBqJAAMAgsgAkEANgIIIwBBEGsiACQAIABBuNrAADYCDCAAIAJBBGo2AgggAEEIakGo2sAAIABBDGpBqNrAACACQQhqQbTbwAAQkwEAC0Gk28AAENkCAAsgBEEgaiQAC9IEAgZ/AX4jAEEQayIFJAACfyAAKAIAIgAoAgBBgICAgHhGBEAgAUHVssAAQQQQtAIMAQsgBSAANgIMIAVBDGohByMAQRBrIgIkACACIAEoAhRB7LLAAEEEIAEoAhgoAgwRAgA6AAwgAiABNgIIIAJBADoADSACQQA2AgQjAEFAaiIAJAAgAkEEaiIEKAIAIQMgBAJ/QQEgBC0ACA0AGiAEKAIEIgEoAhwiBkEEcUUEQEEBIAEoAhRB4+jAAEHt6MAAIAMbQQJBASADGyABKAIYKAIMEQIADQEaIAcgAUHossAAKAIAEQAADAELIANFBEBBASABKAIUQe7owABBAiABKAIYKAIMEQIADQEaIAEoAhwhBgsgAEEBOgAbIAAgASkCFDcCDCAAQcTowAA2AjQgACAAQRtqNgIUIAAgASkCCDcCJCABKQIAIQggACAGNgI4IAAgASgCEDYCLCAAIAEtACA6ADwgACAINwIcIAAgAEEMajYCMEEBIAcgAEEcakHossAAKAIAEQAADQAaIAAoAjBB6OjAAEECIAAoAjQoAgwRAgALOgAIIAQgA0EBajYCACAAQUBrJAAgAi0ADCIDIAQoAgAiAEEAR3IhAQJAIABFIANBAXFyDQACQCAAQQFHBEAgAigCCCEADAELIAIoAgghACACLQANRQ0AIAAtABxBBHENAEEBIQEgACgCFEHw6MAAQQEgACgCGCgCDBECAA0BCyAAKAIUQfzlwABBASAAKAIYKAIMEQIAIQELIAJBEGokACABQQFxCyAFQRBqJAALTgEBf0HxgsEALQAAGkEYQQQQwgIiAQRAIAEgACkCADcCACABQRBqIABBEGopAgA3AgAgAUEIaiAAQQhqKQIANwIAIAEPC0EEQRgQ9gIAC9IMAQt/IAEhCUEgIQcjAEEQayIKJAACQAJAAkACQEHkgsEAKAIAIgFBA0YEfyMAQSBrIgUkAEGEg8EAKAIARQRAECkhAUGQg8EAKAIAIQNBjIPBACgCACEEQYyDwQBCADcCAAJAAkACQCAEQQFHDQAQKiEBQZCDwQAoAgAhBEGMg8EAKAIAQYyDwQBCADcCACADQYQBTwRAIAMQCAtBAUcNABArIQFBkIPBACgCACEGQYyDwQAoAgBBjIPBAEIANwIAIARBhAFPBEAgBBAIC0EBRw0AECwhAUGQg8EAKAIAIQNBjIPBACgCAEGMg8EAQgA3AgAgBkGEAU8EQCAGEAgLQQEhBEEBRg0BCyABEC1BAUcNAUEAIQRBASECIAFBhAFPBEAgARAICyABIQMLQdTZwABBCxAkIgFBgAEQJSEMQZCDwQAoAgAhBkGMg8EAKAIAIQhBjIPBAEIANwIAIAhBAUcgBkGDAU1yRQRAIAYQCAsgAUGEAU8EQCABEAgLQYABIAwgCEEBRhshAQJAIAIEQCAEIANBgwFLcUUNAgwBCyADQYMBTQ0BCyADEAgLQYiDwQAoAgAhA0GIg8EAIAE2AgBBhIPBACgCAEGEg8EAQQE2AgBFIANBhAFJckUEQCADEAgLCyAFQYiDwQAoAgAQKCICNgIUAkACQCACEBgiAxAZQQFGBEAgAyEBDAELAkACQAJAAkAgAhAaIgEQGUEBRw0AIAEQGyIEEBlBAUYEQCAEEBwiBhAdIQggBkGEAU8EQCAGEAgLIARBhAFPBEAgBBAICyABQYMBTQ0CIAEQCAwCCyAEQYQBSQ0AIAQQCAsgAUGEAUkNASABEAgMAQsgCEEBRw0AEB4hAkGQg8EAKAIAIQZBjIPBACgCACEBQYyDwQBCADcCAAJAAkACQCABQQFGIggNACACEB9BAUcNACAFIAI2AhggBUHU2MAAQQYQByICNgIcIAVBCGogBUEYaiAFQRRqIAVBHGoQ+gEgBSgCDCEBIAUoAggiBkUEQEEAIQQMAwtBAiEEIAZBAXFFIAFBgwFNcg0BIAEQCCAFKAIcIQIMAQtBAiEEQY6AgIB4IQEgBiACIAgbIgJBhAFJDQMgAhAIDAMLQYyAgIB4IQELIAJBhAFPBEAgAhAICyAFKAIYIgJBhAFJDQEgAhAIDAELIAIQICIBEBlBAUYEQCADQYQBSQ0CIAMQCAwCC0ECIQQgAUGEAU8EQCABEAgLQYeAgIB4IQELIANBhAFPBEAgAxAICyAFKAIUIgJBhAFPBEAgAhAICwwBC0GAAhBAIQMgAkGEAU8EQCACEAgLQQEhBAtB7ILBACgCACECQeyCwQAgAzYCAEHogsEAKAIAIQNB6ILBACABNgIAQeSCwQAoAgAhAUHkgsEAIAQ2AgACQCABQX5xQQJGDQACQCABRQRAIAMiAkGDAUsNAQwCCyADQYQBTwRAIAMQCAsgAkGEAUkNAQsgAhAICyAFQSBqJABB5ILBACgCAAUgAQtBAWsOAgIAAQtB6ILBACgCACEBDAILQQAhAUHogsEAKAIAIQQDQCAHRQ0CEEciAxA8IgIgCUH/////ByAHIAdB/////wdPGyIFED0hBiADQYQBTwRAIAMQCAsgAkGEAU8EQCACEAgLIAQgBhAhQZCDwQAoAgAhA0GMg8EAKAIAQYyDwQBCADcCACAHIAVrIQcgBSAJaiEJQQFHDQALQY2AgIB4IQEgA0GEAUkNASADEAgMAQtB6ILBACgCACEEAkADQCAKQeyCwQAoAgBBAEGAAiAHIAdBgAJPGyIDEEEiATYCDCAEIAEQIkGQg8EAKAIAIQFBjIPBACgCAEGMg8EAQgA3AgBBAUYNASAHIANrIQcQRyICEDwiBRA+IQEgBUGEAU8EQCAFEAgLIAEgCkEMaigCACAJED8gAUGEAU8EQCABEAgLIAJBhAFPBEAgAhAICyAKKAIMIgFBhAFPBEAgARAICyADIAlqIQkgBw0AC0EAIQEMAQsgAUGEAU8EQCABEAgLIAooAgwiAUGEAU8EQCABEAgLQYiAgIB4IQELIApBEGokAAJAIAEEQEHxgsEALQAAGkEEQQQQwgIiC0UNASALIAE2AgALIABByNLAADYCBCAAIAs2AgAPC0EEQQQQ9gIAC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCAAQQFqIQAgAUEBaiEBIAJBAWsiAg0BDAILCyAEIAVrIQMLIAMLTAEEfwJAIABBBGooAgAiBEUNACAAQQhqKAIAIgUoAgAiAwRAIAQgAxEGAAsgBSgCBCIDRQ0AIAUoAgghBiAEIAMQ0wILIABBGBDTAgtMAQR/AkAgAEEEaigCACICRQ0AIABBCGooAgAiAygCACIBBEAgAiABEQYACyADKAIEIgFFDQAgAygCCCEEIAIgARDTAgsgAEEUENMCC0wBBH8CQCAAQQRqKAIAIgRFDQAgAEEIaigCACIFKAIAIgMEQCAEIAMRBgALIAUoAgQiA0UNACAFKAIIIQYgBCADENMCCyAAQRQQ0wILWAAgASgCACACKAIAIAMoAgAQRCEBQQEhAwJAQYyDwQAoAgBBAUYEQCAAQZCDwQAoAgA2AgQMAQsgACABQQBHOgABQQAhAwsgACADOgAAQYyDwQBCADcCAAtGAQJ/QaCHwQAoAgAiAEUEQBC2AUGgh8EAKAIAIQALIAAgACgCACIBQQFqNgIAAkAgAUEATgRAIABFDQEgAA8LAAsQ4QEAC1ABAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAQAgAiACKAIIIAIoAgwoAhgRAQAgAigCBCEBIAAgAigCADYCACAAIAE2AgQgAkEQaiQAC7YCAQN/IwBBIGsiAiQAIAJBEGoiAyAAQRBqKQIANwMAIAJBCGoiBCAAQQhqKQIANwMAIAJBATsBHCACIAE2AhggAiAAKQIANwMAIwBBIGsiACQAIAIoAhghASAAQRBqIAMpAgA3AwAgAEEIaiAEKQIANwMAIAAgAjYCHCAAIAE2AhggACACKQIANwMAQQAhAiMAQRBrIgEkACAAKAIMIQMCQAJAAkACQCAAKAIEDgIAAQILIAMNAUEBIQMMAgsgAw0AIAAoAgAiAygCBCECIAMoAgAhAwwBCyABQYCAgIB4NgIAIAEgADYCDCABQdDiwAAgACgCGCAAKAIcIgAtABwgAC0AHRC4AQALIAEgAjYCBCABIAM2AgAgAUG04sAAIAAoAhggACgCHCIALQAcIAAtAB0QuAEAC08BAn9B8YLBAC0AABogASgCBCECIAEoAgAhA0EIQQQQwgIiAQRAIAEgAjYCBCABIAM2AgAgAEGk4sAANgIEIAAgATYCAA8LQQRBCBD2AgALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAARQ0AIANB3OjAAEEEIAIoAgwRAgBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAsgAQF/IwBBIGsiASQAIAFBBDYCBCAAKAAAIAFBIGokAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACELkBIAAoAgghAwsgACgCBCADaiABIAIQmQEaIAAgAiADajYCCEEAC0gBAX8jAEEQayICJAAgAkEIaiABEP4BIAIgAigCCCACKAIMKAIYEQEAIAIoAgQhASAAIAIoAgA2AgAgACABNgIEIAJBEGokAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACELsBIAAoAgghAwsgACgCBCADaiABIAIQmQEaIAAgAiADajYCCEEAC0MBAX8gAiAAKAIAIAAoAggiA2tLBEAgACADIAIQvQEgACgCCCEDCyAAKAIEIANqIAEgAhCZARogACACIANqNgIIQQALswMBBn8jAEEQayICJABB8oLBAC0AAEEDRwRAIAJBAToACyACIAJBC2o2AgwgAkEMaiEAIwBBIGsiASQAAkACQAJAAkACQAJAAkBB8oLBAC0AAEEBaw4DAgQBAAtB8oLBAEECOgAAIAAoAgAiAC0AACAAQQA6AABFDQIjAEEgayIAJAACQAJAAkBBvIPBACgCAEH/////B3EEQEGMh8EAKAIADQELQbCDwQAoAgANAUG4g8EAKAIAIQNBuIPBAEGEo8AANgIAQbSDwQAoAgAhBEG0g8EAQQE2AgACQCAERQ0AIAMoAgAiBQRAIAQgBREGAAsgAygCBCIFRQ0AIAMoAggaIAQgBRDTAgsgAEEgaiQADAILIABBADYCGCAAQQE2AgwgAEHo4cAANgIIIABCBDcCECAAQQhqQYTiwAAQ8AELAAtB8oLBAEEDOgAACyABQSBqJAAMBAsgAUEANgIYIAFBATYCDCABQcijwAA2AggMAgtB3KTAABDZAgALIAFBADYCGCABQQE2AgwgAUGIpMAANgIICyABQgQ3AhAgAUEIakG4hcAAEPABAAsLIAJBEGokAAtNAQF/QfGCwQAtAAAaQQVBARDCAiIBRQRAQQFBBRCtAgALIAFBBGpBrJXAAC0AADoAACABQaiVwAAoAAA2AAAgACABNgIAIABBBTYCBAtLACABKAIAIAIoAgAgAygCABA0IQFBkIPBACgCACECQYyDwQAoAgAhA0GMg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALOAACQCABaUEBR0GAgICAeCABayAASXINACAABEBB8YLBAC0AABogACABEMICIgFFDQELIAEPCwALQgEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQ8AEAC0kBAX8gASgCACACQf8BcRAxIQFBkIPBACgCACECQYyDwQAoAgAhA0GMg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALPgEBfyMAQRBrIgIkACACQQhqIAEgASgCACgCBBEBACACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALPwEDfwJAIAAoAgQiAkUNACAAKAIIIgAoAgAiAQRAIAIgAREGAAsgACgCBCIBRQ0AIAAoAgghAyACIAEQ0wILC/EFAgZ+A38jAEEgayIKJAAgASEEQgAhASMAQSBrIgskAAJAAkACQCADUARAIAJQIAJQIAMgBFZxcg0BIAtBEGogA0HAACACeadrIgxB/wBxEN0BQgEgDEE/ca2GIQggC0EYaikDACEGIAspAxAhBwNAIAIgBn0gBCAHVK19IgFCAFkEQCAFIAiEIQUgAVAgBCAHfSIEIANUcQ0EIAEhAgsgBkI/hiAHQgGIhCEHIAhCAYghCCAGQgGIIQYMAAsACwJAIAJQRQRAIAIgA1oEQCACIANSBEAgAiACIAOAIgggA359IQEgA0L/////D1gEQCAEQiCIIgIgAUIghoQgA4AiAUIghiAEQv////8PgyACIAEgA359QiCGhCICIAOAIgSEIQUgAiADIAR+fSEEIAFCIIggCIQhCEIAIQEMBwsgAVAgAyAEVnENAyADQgGIIQYgA0I/hiEHQoCAgICAgICAgH8hAgNAAkAgASAGfSAEIAdUrX0iBUIAWQRAIAQgB30hBCACIAmEIQkgBVANASAFIQELIAZCP4YgB0IBiIQhByACQgGIIQIgBkIBiCEGDAELCyAEIAOAIgEgCYQhBSAEIAEgA359IQRCACEBDAYLIAQgBCACgCIFIAJ+fSEEQgEhCAwFCyALIANBPyADeSIBpyACeSIFp2tBQGsgASAFURsiDBDdAUIBIAxBP3GthiEBIAtBCGopAwAhBiALKQMAIQcDQAJAIAIgBn0gBCAHVK19IgVCAFkEQCAEIAd9IQQgASAJhCEJIAVQDQEgBSECCyAGQj+GIAdCAYiEIQcgAUIBiCEBIAZCAYghBgwBCwsgBCADgCIBIAmEIQUgBCABIAN+fSEEQgAhAQwDCyAEIAQgA4AiBSADfn0hBAwCCwwCCyACIQELQgAhCAsgCiAENwMQIAogBTcDACAKIAE3AxggCiAINwMIIAtBIGokACAKKQMAIQEgACAKQQhqKQMANwMIIAAgATcDACAKQSBqJAALOAEBfyMAQRBrIgIkACACQQhqIAAgACgCACgCBBEBACACKAIIIAEgAigCDCgCEBEAACACQRBqJAALOQEBfyAAKAIAIQAgASgCHCICQRBxRQRAIAJBIHFFBEAgACABENcCDwsgACABEMgBDwsgACABEMcBCzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFByKLAAEENQdWiwABBBCACQQxqQbiiwAAQwwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBuK3AAEEGQaWtwABBAyACQQxqQaitwAAQwwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBoK3AAEEFQaWtwABBAyACQQxqQZCtwAAQwwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFB1K/AAEEGQcGvwABBAyACQQxqQcSvwAAQwwEgAkEQaiQACzsBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBvK/AAEEFQcGvwABBAyACQQxqQayvwAAQwwEgAkEQaiQAC0MBAn8gASgCABAwIQFBkIPBACgCACECQYyDwQAoAgAhA0GMg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALOAACQCACQYCAxABGDQAgACACIAEoAhARAABFDQBBAQ8LIANFBEBBAA8LIAAgAyAEIAEoAgwRAgALOAEBfyMAQRBrIgIkACACIAA2AgwgAUGMgcAAQQpBloHAAEEDIAJBDGpB/IDAABDDASACQRBqJAALNgEBfgJAIAApAzgiAkIAVw0AIAAoAkBBAEgNACAAIAJCgAJ9NwM4IAAgARBJDwsgACABELQBCzgBAX8jAEEQayICJAAgAiAANgIMIAFB7K/AAEEKQcGvwABBAyACQQxqQdyvwAAQwwEgAkEQaiQACy4AAkAgA2lBAUdBgICAgHggA2sgAUlyDQAgACABIAMgAhCvAiIARQ0AIAAPCwALrQgCBH4FfyABKAIcIgdBEHFFBEAgB0EgcUUEQCAAKQMAIQMgAEEIaikDACECIwBBkAFrIgAkACAAQSc2AowBIABBEGoCfiACQoCAIFoEQCAAQTBqIANCAELzstjBnp69zJV/QgAQzgEgAEEgaiADQgBC0uGq2u2nyYf2AEIAEM4BIABB0ABqIAJCAELzstjBnp69zJV/QgAQzgEgAEFAayACQgBC0uGq2u2nyYf2AEIAEM4BIABByABqKQMAIABBKGopAwAgAEE4aikDACIEIAApAyB8IgIgBFStfCIFIAApA0B8IgQgBVStfCAEIABB2ABqKQMAIAIgACkDUHwgAlStfHwiAiAEVK18IgVCPoghBCAFQgKGIAJCPoiEDAELIAJCLYYgA0ITiIRCvaKCo46rBIALIgIgBEKAgOCwt5+3nPUAQgAQzgEgACkDECADfCAAQeUAaiIHIABBjAFqIggQbiABQQFBAUEAAn8gACgCjAEiASACIASEUA0AGiAAQfkAakEwIAFBFGsQvgEaIABBFDYCjAEgACAEQi2GIAJCE4iEIgNCvaKCo46rBIAiBCACQoCA4LC3n7ec9QBCABDOASAAKQMAIAJ8IAcgCBBuIAAoAowBIgEgA0K9ooKjjqsEVA0AGiAAQeYAakEwIAFBAWsQvgEaIAAgBKdBMHI6AGVBAAsiASAAQeUAampBJyABaxBtIABBkAFqJAAPCwJ/QQAhByMAQYABayIJJAAgAEEIaikDACECIAApAwAhA0GAASEAIAlBgAFqIQgCQAJAA0AgAEUNASAIQQFrIAOnQQ9xIgZBMHIgBkE3aiAGQQpJGzoAAAJAIAJQIgogA0IQVHEEQCAAQQFrIQAMAQsgCEECayIIIAJCPIYgA0IEiISnQQ9xIgZBMHIgBkE3aiAGQQpJGzoAACACQjiGIANCgAJUIQYgAEECayEAIAJCCIghAiADQgiIhCEDIAYgCnFFDQELCyAAQYEBTw0BIAAhBwsgAUEBQZTpwABBAiAHIAlqQYABIAdrEG0gCUGAAWokAAwBCyAAQYABQYTpwAAQ1wEACw8LAn9BACEHIwBBgAFrIgkkACAAQQhqKQMAIQIgACkDACEDQYABIQAgCUGAAWohCAJAAkADQCAARQ0BIAhBAWsgA6dBD3EiBkEwciAGQdcAaiAGQQpJGzoAAAJAIAJQIgogA0IQVHEEQCAAQQFrIQAMAQsgCEECayIIIAJCPIYgA0IEiISnQQ9xIgZBMHIgBkHXAGogBkEKSRs6AAAgAkI4hiADQoACVCEGIABBAmshACACQgiIIQIgA0IIiIQhAyAGIApxRQ0BCwsgAEGBAU8NASAAIQcLIAFBAUGU6cAAQQIgByAJakGAASAHaxBtIAlBgAFqJAAMAQsgAEGAAUGE6cAAENcBAAsLMAEBfyMAQRBrIgIkACACQQhqIAAQ/gEgAigCCCABIAIoAgwoAhARAAAgAkEQaiQACzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABEJYCDwsgACABEMgBDwsgACABEMcBCzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABENcCDwsgACABEMgBDwsgACABEMcBCzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQYD8wAA2AgggAUIENwIQIAFBCGogABDwAQALOwEBf0EBIQICQCAAIAEQmgENACABKAIUQf3lwABBAiABKAIYKAIMEQIADQAgAEEEaiABEJoBIQILIAILOAEBfyABKAIUIQIgASgCGCgCDCEBIAAtAABFBEAgAkHQxcAAQQEgARECAA8LIAJBAUEAIAERAgALOABB8YLBAC0AABpBBEEEEMICIgFFBEBBBEEEEPYCAAsgAUEANgIAIABBqMrAADYCBCAAIAE2AgALJAEBfyAAKAIAIgAgAEEfdSICcyACa60gAEF/c0EfdiABEJsBCyEAAkAgAARAIAAoAgANASAAQTgQ0wIPCxDvAgALEPACAAsiAAJAIAAEQCAAKAIAQX9GDQEgAC0AMA8LEO8CAAsQ8AIACx8AAkAgAARAIAAoAgBBf0YNAUEBDwsQ7wIACxDwAgALKAAgASAAKAIALQAAQQJ0IgBB8KLAAGooAgAgAEHcosAAaigCABC0AgslACAARQRAQd/ZwABBMhDuAgALIAAgAiADIAQgBSABKAIQEQsACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQEQUACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQERsACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQER0ACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQEQgACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQER8ACyYBAn8gACgCACIBQYCAgIB4ckGAgICAeEcEQCAAKAIEIAEQ0wILCyMAIAFBsZ/AAEGln8AAIAAoAgAtAAAiABtBD0EMIAAbELQCCygAIABBDGpBACACQrqzz+Xsl/+uZ1EbQQAgAULR4qGEvZLmhOoAURsLKQAgAEEMakEAIAJC7bqtts2F1PXjAFEbQQAgAUL4gpm9le7Gxbl/URsLJAAgAC0AAEUEQCABQZDNwABBHRC0Ag8LIAFBrc3AAEEmELQCCyEAIABFBEBB39nAAEEyEO4CAAsgACACIAMgASgCEBEEAAsbACAAKAIAIgBBBGooAgAgAEEIaigCACABEGQLHAAgACgCACIAQQRqKAIAIABBCGooAgAgARD4AgsbACAAKAIAIgBBFGooAgAgAEEYaigCACABEHULHwAgAEUEQEHf2cAAQTIQ7gIACyAAIAIgASgCEBEAAAsYAQJ/IAAoAgAiAQRAIAAoAgQgARDTAgsLGQAgACgCACIAKAIAIABBBGooAgAgARD4AgtGACAARQRAIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGo48AANgIIIABCBDcCECAAQQhqQcTjwAAQ8AEACyAAIAEQ9gIACxYAIABBnJ7AADYCBCAAIAFBDGo2AgAL4AYBBn8CfwJAAkACQAJAAkAgAEEEayIFKAIAIgZBeHEiBEEEQQggBkEDcSIHGyABak8EQCAHQQAgAUEnaiIJIARJGw0BAkACQCACQQlPBEAgAiADEI4BIggNAUEADAkLIANBzP97Sw0BQRAgA0ELakF4cSADQQtJGyEBAkAgB0UEQCABQYACSSAEIAFBBHJJciAEIAFrQYGACE9yDQEMCQsgAEEIayICIARqIQcCQAJAAkACQCABIARLBEAgB0H0hsEAKAIARg0EIAdB8IbBACgCAEYNAiAHKAIEIgZBAnENBSAGQXhxIgYgBGoiBCABSQ0FIAcgBhCVASAEIAFrIgNBEEkNASAFIAEgBSgCAEEBcXJBAnI2AgAgASACaiIBIANBA3I2AgQgAiAEaiICIAIoAgRBAXI2AgQgASADEIcBDA0LIAQgAWsiA0EPSw0CDAwLIAUgBCAFKAIAQQFxckECcjYCACACIARqIgEgASgCBEEBcjYCBAwLC0HohsEAKAIAIARqIgQgAUkNAgJAIAQgAWsiA0EPTQRAIAUgBkEBcSAEckECcjYCACACIARqIgEgASgCBEEBcjYCBEEAIQNBACEBDAELIAUgASAGQQFxckECcjYCACABIAJqIgEgA0EBcjYCBCACIARqIgIgAzYCACACIAIoAgRBfnE2AgQLQfCGwQAgATYCAEHohsEAIAM2AgAMCgsgBSABIAZBAXFyQQJyNgIAIAEgAmoiASADQQNyNgIEIAcgBygCBEEBcjYCBCABIAMQhwEMCQtB7IbBACgCACAEaiIEIAFLDQcLIAMQTCIBRQ0BIAEgAEF8QXggBSgCACIBQQNxGyABQXhxaiIBIAMgASADSRsQmQEgABBzDAgLIAggACABIAMgASADSRsQmQEaIAUoAgAiAkF4cSIDIAFBBEEIIAJBA3EiAhtqSQ0DIAJBACADIAlLGw0EIAAQcwsgCAwGC0GB3sAAQS5BsN7AABD8AQALQcDewABBLkHw3sAAEPwBAAtBgd7AAEEuQbDewAAQ/AEAC0HA3sAAQS5B8N7AABD8AQALIAUgASAGQQFxckECcjYCACABIAJqIgIgBCABayIBQQFyNgIEQeyGwQAgATYCAEH0hsEAIAI2AgAgAAwBCyAACwsWACAAQcjIwAA2AgQgACABQQxqNgIACxYAIABB8MfAADYCBCAAIAFBDGo2AgALEgAgACgCACABIAJBABA5QQBHCw4AIAEEQCAAIAEQ0wILCxYAIAAoAhQgASACIAAoAhgoAgwRAgALFAAgACgCACIAIAAoAgAoAgARBgALFAAgACgCACABIAAoAgQoAhARAAALEQAgACgCACABQQFBAUEAEDcLFAAgACgCACABIAAoAgQoAgwRAAALFAAgACgCFCABIAAoAhgoAhARAAALzwgBBX8jAEHwAGsiBSQAIAUgAzYCDCAFIAI2AggCQAJAAkACQAJAAkACfyAAAn8CQCABQYECTwRAQQMgACwAgAJBv39KDQIaIAAsAP8BQb9/TA0BQQIMAgsgBSABNgIUIAUgADYCEEEBDAILIAAsAP4BQb9/SgtB/QFqIgZqLAAAQb9/TA0BIAUgBjYCFCAFIAA2AhBBBSEHQcDtwAALIQYgBSAHNgIcIAUgBjYCGCABIAJJIgcgASADSXJFBEAgAiADSw0CIAJFIAEgAk1yRQRAIAVBDGogBUEIaiAAIAJqLAAAQb9/ShsoAgAhAwsgBSADNgIgIAMgASICSQRAIANBAWoiCCADQQNrIgJBACACIANNGyICSQ0EAkAgAiAIRg0AIAggAmshByAAIANqLAAAQb9/SgRAIAdBAWshBgwBCyACIANGDQAgACAIaiIDQQJrIgksAABBv39KBEAgB0ECayEGDAELIAkgACACaiIIRg0AIANBA2siCSwAAEG/f0oEQCAHQQNrIQYMAQsgCCAJRg0AIANBBGsiAywAAEG/f0oEQCAHQQRrIQYMAQsgAyAIRg0AIAdBBWshBgsgAiAGaiECCwJAIAJFDQAgASACSwRAIAAgAmosAABBv39KDQEMBwsgASACRw0GCyABIAJGDQQCfwJAAkAgACACaiIBLAAAIgBBAEgEQCABLQABQT9xIQYgAEEfcSEDIABBX0sNASADQQZ0IAZyIQAMAgsgBSAAQf8BcTYCJEEBDAILIAEtAAJBP3EgBkEGdHIhBiAAQXBJBEAgBiADQQx0ciEADAELIANBEnRBgIDwAHEgAS0AA0E/cSAGQQZ0cnIiAEGAgMQARg0GCyAFIAA2AiRBASAAQYABSQ0AGkECIABBgBBJDQAaQQNBBCAAQYCABEkbCyEAIAUgAjYCKCAFIAAgAmo2AiwgBUEFNgI0IAVByO7AADYCMCAFQgU3AjwgBSAFQRhqrUKAgICA0BmENwNoIAUgBUEQaq1CgICAgNAZhDcDYCAFIAVBKGqtQoCAgIDwGYQ3A1ggBSAFQSRqrUKAgICAgBqENwNQIAUgBUEgaq1CgICAgJAMhDcDSAwGCyAFIAIgAyAHGzYCKCAFQQM2AjQgBUGI78AANgIwIAVCAzcCPCAFIAVBGGqtQoCAgIDQGYQ3A1ggBSAFQRBqrUKAgICA0BmENwNQIAUgBUEoaq1CgICAgJAMhDcDSAwFCyAAIAFBACAGIAQQugIACyAFQQQ2AjQgBUHo7cAANgIwIAVCBDcCPCAFIAVBGGqtQoCAgIDQGYQ3A2AgBSAFQRBqrUKAgICA0BmENwNYIAUgBUEMaq1CgICAgJAMhDcDUCAFIAVBCGqtQoCAgICQDIQ3A0gMAwsgAiAIQbTvwAAQ2gEACyAEENkCAAsgACABIAIgASAEELoCAAsgBSAFQcgAajYCOCAFQTBqIAQQ8AEACxEAIAAoAgQgACgCCCABEPgCCxMAIABBKDYCBCAAQeSdwAA2AgALIQAgAELvm7LL36Tfkbh/NwMIIABCsqG01rWPnoY5NwMACyIAIABCxoXp3qDF+8PYADcDCCAAQoaK64myjqbysn83AwALEwAgAEHYnsAANgIEIAAgATYCAAsQACAAKAIEIAAoAgggARBkCxEAIAAoAgAgACgCBCABEPgCCxoAAn8gAUEJTwRAIAEgABCOAQwBCyAAEEwLCyEAIABCgf7686aW8+WVfzcDCCAAQpCHiZW6xreZFjcDAAshACAAQu3T4rnArYTxczcDCCAAQsSlu/6n1vH8v383AwALEwAgAEEoNgIEIABBoMfAADYCAAsTACAAQaDJwAA2AgQgACABNgIACxMAIABB3MnAADYCBCAAIAE2AgALIgAgAELJxb2qnKfj6Zp/NwMIIABCnYKq9+OE9qOlfzcDAAsQACAAKAIAIAAoAgQgARBkCxMAIABBKDYCBCAAQYjSwAA2AgALIAAgAEKS36zv+9f2vQ43AwggAEKunai71qaDvHQ3AwALFgBBkIPBACAANgIAQYyDwQBBATYCAAshACAAQrqzz+Xsl/+uZzcDCCAAQtHioYS9kuaE6gA3AwALIgAgAELtuq22zYXU9eMANwMIIABC+IKZvZXuxsW5fzcDAAsTACAAQaTiwAA2AgQgACABNgIACxEAIAEgACgCACAAKAIEELQCCxAAIAEgACgCACAAKAIEEGsLEAAgASgCFCABKAIYIAAQdQthAQJ/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEHMMAgtBgd7AAEEuQbDewAAQ/AEAC0HA3sAAQS5B8N7AABD8AQALCw4AIAAoAgAgASACELQCCw0AIAAoAgBBASABEDgLDgAgACgCACABKAIAEEILDgAgADUCAEEBIAEQmwELDgAgADEAAEEBIAEQmwELDwBBmebAAEErIAAQ/AEACwsAIAAjAGokACMACw4AIAFB9IDAAEEFELQCCw4AIAFBoJPAAEEFELQCCw4AIAFBkJXAAEEFELQCCwwAIAAoAgAgARDTAQsNACAAQaicwAAgARB1Cw4AIAFBoJ/AAEEFELQCCw4AIAFBiKLAAEEFELQCC6UBAQF/IAAoAgAjAEFAaiIAJAAoAgAhAiAAQgA3AzggAEE4aiACEEUgACAAKAI8IgI2AjQgACAAKAI4NgIwIAAgAjYCLCAAIABBLGqtQoCAgIDQFoQ3AyAgAEECNgIMIABB0NvAADYCCCAAQgE3AhQgACAAQSBqNgIQIAEoAhQgASgCGCAAQQhqEHUgACgCLCICBEAgACgCMCACENMCCyAAQUBrJAALDgAgAUGgrcAAQQUQtAILDQAgAEHMrcAAIAEQdQsOACABQcatwABBBRC0AgsNACAAQZSvwAAgARB1Cw4AIAFBvK/AAEEFELQCCw4AIAFB0LLAAEEFELQCCw4AIAFBuLbAAEESELQCCwwAIAAoAgAgARDNAQsNACAAQYzLwAAgARB1CwwAIAAoAgAgARC5AgsMACAAKAIAIAEQ1wILCQAgACABEEYACw0AQeDbwABBGxDuAgALDgBB+9vAAEHPABDuAgALDQAgAEHA3cAAIAEQdQsMACAAIAEpAgA3AwALDQAgAEH84sAAIAEQdQsOACABQeziwABBBRC0AgsOACABQfHiwABBCxC0AgsaACAAIAFBrIPBACgCACIAQbYBIAAbEQEAAAsNACAAQcTowAAgARB1CwoAIAIgACABEGsLCQAgAEEANgIACwkAIAAgARDUAQsJACAAIAE2AgALCQAgACABEKYBCwkAIAAgARCEAQsJACAAKAIAEC8LCQAgACgCABAnCwkAIAAoAgAQQwsHACAAELUCC+4FAgZ/AX4CQCMAQdAAayICJAAgAkEANgIoIAJCgICAgBA3AiAgAkEDOgBMIAJBIDYCPCACQQA2AkggAkHMrcAANgJEIAJBADYCNCACQQA2AiwgAiACQSBqNgJAIwBBIGsiAyQAQQEhAAJAIAJBLGoiBUHU4MAAQQwQtAINACABKAIIIAUQzQENACADQRBqIAEoAgAiBCABKAIEQQxqIgEoAgARAQACfyADKQMQQviCmb2V7sbFuX9RBEBBBCEAIAQgAykDGELtuq22zYXU9eMAUQ0BGgsgAyAEIAEoAgARAQBBACEAIAMpAwBC0eKhhL2S5oTqAFINASADKQMIQrqzz+Xsl/+uZ1INAUEIIQAgBEEEagsgACAEaigCACEEKAIAIQEgBUHg4MAAQQIQtAJFBEBBACEAIAUgASAEELQCRQ0BC0EBIQALIANBIGokACAARQRAIAJBGGogAkEoaigCACIDNgIAIAIgAikCICIINwMQIAinIgEgA2tBCU0EQCACQRBqIANBChC7ASACKAIYIQMgAigCECEBCyACKAIUIgAgA2oiBEHkrcAAKQAANwAAIARBCGpB7K3AAC8AADsAACACIANBCmoiAzYCGCACQQhqEBQiBRAVIAIoAgghBiACKAIMIgQgASADa0sEQCACQRBqIAMgBBC7ASACKAIQIQEgAigCGCEDIAIoAhQhAAsgACADaiAGIAQQmQEaIAIgAyAEaiIDNgIYIAEgA2tBAU0EQCACQRBqIANBAhC7ASACKAIYIQMgAigCFCEACyAAIANqQYoUOwAAIAIgA0ECaiIDNgIYAkACQCADIAIoAhAiB08EQCAAIQEMAQsgA0UEQEEBIQEgACAHENMCDAELIAAgB0EBIAMQrwIiAUUNAQsgASADEBYgBARAIAYgBBDTAgsgBUGEAU8EQCAFEAgLIAJB0ABqJAAMAgtBASADEK0CAAtBgK7AAEE3IAJBEGpB8K3AAEGEr8AAEM8BAAsLAgALC7GBARkAQYCAwAALoQdhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMAHAAQAEcAAACKAwAACQAAAEVycm9yAAAAAAAAAAQAAAAEAAAABQAAAFJhbmdlRXJyb3JvYmoAAAABAAAAAAAAAG5vdGF0aW9uY29tcGFjdGNvbXBhY3REaXNwbGF5Y3JhdGVzL2ZpeGVkLXBvaW50LXdhc20vc3JjL2Zvcm1hdHRpbmcucnMAAMEAEAApAAAAIgAAAA0AAADBABAAKQAAACEAAAANAAAAc3R5bGVwZXJjZW50wQAQACkAAAAtAAAADgAAAMEAEAApAAAAJQAAAA0AAABjdXJyZW5jeVVTRHNob3J0Y3VycmVuY3lEaXNwbGF5AMEAEAApAAAATgAAAA0AAADBABAAKQAAAFYAAAAOAAAAwQAQACkAAABLAAAADQAAAMEAEAApAAAASgAAAA0AAADBABAAKQAAAEQAAAAJAAAAwQAQACkAAABDAAAACQAAAG1heGltdW1GcmFjdGlvbkRpZ2l0cwAAAMEAEAApAAAAXwAAAA0AAABtaW5pbXVtRnJhY3Rpb25EaWdpdHNyb3VuZGluZ01vZGUAAADBABAAKQAAAG8AAAANAAAAdXNlR3JvdXBpbmcAwQAQACkAAABzAAAADQAAAGVuLVVTAAAAwQAQACkAAABnAAAADQAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jb25zb2xlX2Vycm9yX3BhbmljX2hvb2stMC4xLjcvc3JjL2xpYi5ycwBIAhAAbwAAAJUAAAAOAAAAL3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9jb3JlL3NyYy9jb252ZXJ0L21vZC5ycwDIAhAATwAAAB4DAAAJAAAAY3JhdGVzL2ZpeGVkLXBvaW50LXdhc20vc3JjL2xpYi5ycwAAKAMQACIAAACDAAAAEgAAACgDEAAiAAAAmwAAABIAAAAoAxAAIgAAACMBAAASAAAABgAAAAwAAAAEAAAABwAAAAgAAAAJAAAAKAMQACIAAACBAQAADABBrIfAAAvlAQEAAAAKAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAA6wMQAEsAAAAGCgAADgAAADB4AAAoAxAAIgAAAI8BAAA8AAAAAQAAAAAAAABJbnZhbGlkIEJpZ0ludDogZAQQABAAAAARAAAADAAAAAQAAAASAAAAEwAAAAkAQZyJwAAL6QMBAAAAFAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAANsEEABLAAAABgoAAA4AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzADgFEABnAAAAJgAAAAEAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5ycwAAsAUQAG4AAABLAAAATwAAABUAAAAEAAAABAAAABYAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlALAFEABuAAAAzQAAAEYAAAABAAAAAAAAAAEAQa+NwAALAYAAQc+NwAAL1giAEgAAAAAAAAD/////////////////////////////////////////fxIAAAAAAAAARml4ZWRQb2ludCAgaXMgdG9vIGxhcmdlIHRvIGNvbnZlcnQgdG8gSTI1Ni4ABxAACwAAAAsHEAAhAAAAsAUQAG4AAACpAAAADQAAAEZhaWxlZCB0byBjb252ZXJ0IEZpeGVkUG9pbnQgIHRvIEkyNTYuAABMBxAAHQAAAGkHEAAJAAAAsAUQAG4AAACsAAAAFAAAAEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvIHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHR5cGU6CiAgICB2YWx1ZTogCiAgICBVbmRlcmx5aW5nIHJhbmdlOiAgdG8gCgCUBxAARwAAANsHEAAXAAAA8gcQAAQAAAD2BxAAAQAAALAFEABuAAAAKQAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9tYXRoLnJzACgIEABnAAAAQgAAAE8AAAAoCBAAZwAAAEEAAAAsAAAAKAgQAGcAAABAAAAADgAAAENhbm5vdCBkaXZpZGUgYnkgemVyby4AAMAIEAAWAAAAKAgQAGcAAAA2AAAADQAAAEZpeGVkUG9pbnQgb3BlcmF0aW9uIG92ZXJmbG93ZWQ6ICAqICAvIADwCBAAIQAAABEJEAADAAAAFAkQAAMAAAAoCBAAZwAAAD8AAAAaAAAAKAgQAGcAAAAxAAAALAAAACgIEABnAAAAMAAAAAoAAAAoCBAAZwAAACYAAAANAAAAKAgQAGcAAAAvAAAAFgAAACgIEABnAAAAdQAAABUAAAAoCBAAZwAAAF0AAAARAAAARXJyb3Jhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAApQkQAB0AAABGaXhlZFBvaW50KCnMCRAACwAAANcJEAABAAAAYmlnaW50bnVtYmVyXywtKzB4MGIwbxJlAQAAAAAAAAD/CRAAAQAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAEAoQAE8AAADIBQAAFAAAABAKEABPAAAAyAUAACEAAAAQChAATwAAALwFAAAhAAAARXJyb3IAAAAQChAATwAAAEwEAAAkAAAAMC4wLjhlLi9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvY29udmVydC9tb2QucnMAAK8KEABPAAAAHgMAAAkAAAAbAAAADAAAAAQAAAAcAAAAHQAAAAkAQbCWwAALjQIBAAAAHgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAG8LEABLAAAABgoAAA4AAABjcmF0ZXMvZml4ZWQtcG9pbnQtd2FzbS9zcmMvdXRpbHMucnPMCxAAJAAAAFQAAAA9AAAAAQAAAAAAAAABAAAAAAAAAMwLEAAkAAAAWQAAAA4AAAABAAAAAAAAAK0KEAABAAAAzAsQACQAAACDAAAANgBB35jAAAveA4AfAAAABAAAAAQAAAAWAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzAJsMEABoAAAAjQAAAB4AAACbDBAAaAAAAIsAAAAiAAAARmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gVTI1NjogAAAkDRAANgAAAJsMEABoAAAAkAAAAAUAAAAAAAAA/////////////////////////////////////////39GYWlsZWQgdG8gY29udmVydCBVMjU2IHRvIHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHR5cGU6CiAgICBVMjU2IHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKAJgNEABLAAAA4w0QABcAAAD6DRAABAAAAP4NEAABAAAAAQAAAAAAAAAgAAAADAAAAAQAAAAhAAAAIgAAAAkAQcicwAALlQMBAAAAIwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAIcOEABLAAAABgoAAA4AAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5IAAAAAwAAAAEAAAAJAAAACAAAAAMAAAABAAAACUAAAAkAAAADA8QACYAAAAnAAAAKAAAACYAAAApAAAAKgAAABgAAAAEAAAAKwAAACoAAAAYAAAABAAAACwAAAArAAAASA8QAC0AAAAuAAAAKAAAAC8AAAApAAAAMAAAADEAAAAxAAAAMgAAADMAAAAzAAAANAAAAEVycm9ySW52YWxpZERpZ2l0SW50ZWdlck92ZXJmbG93AQAAAAAAAAA1AAAADAAAAAQAAAA2AAAANwAAAAkAQeifwAALmwMBAAAAOAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAACcQEABLAAAABgoAAA4AAABjYW5ub3Qgc2FtcGxlIGVtcHR5IHJhbmdlL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmQtMC44LjUvc3JjL3JuZy5yc50QEABbAAAAhgAAAAkAAABFcnJvckVtcHR5SW52YWxpZERpZ2l0UG9zT3ZlcmZsb3dOZWdPdmVyZmxvd1plcm8AAAAABAAAAAQAAAA5AAAAUGFyc2VJbnRFcnJvcmtpbmQAAAAFAAAADAAAAAsAAAALAAAABAAAAA0REAASERAAHhEQACkREAA0ERAAQYyjwAAL3QEBAAAAOwAAADwAAAA9AAAAT25jZSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAACcERAAKgAAAG9uZS10aW1lIGluaXRpYWxpemF0aW9uIG1heSBub3QgYmUgcGVyZm9ybWVkIHJlY3Vyc2l2ZWx50BEQADgAAAAvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L3N0ZC9zcmMvc3luYy9vbmNlLnJzEBIQAEwAAACeAAAAMgBBkKXAAAvZBi9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzRmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gdTEyODogAAD4EhAANgAAAJASEABoAAAAkAAAAAUAAABDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IABIExAAIwAAAJASEABoAAAAaQAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAIQTEABnAAAAJgAAAAEAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAPwTEAAdAAAAVW5pZm9ybUZpeGVkUG9pbnQ6Om5ld19pbmNsdXNpdmUgY2FsbGVkIHdpdGggaW52YWxpZCByYW5nZToKICAgIGxvdzogCiAgICBoaWdoOiAkFBAARQAAAGkUEAALAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvcm5nLnJzAACEFBAAZgAAACQAAAANAAAAAAAAAP////////////////////////////////////////9/EgAAAAAAAAA+AAAABAAAAAQAAAAWAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQCEFBAAZgAAAEkAAAA7AAAAhBQQAGYAAABNAAAAKgAAAFVuaWZvcm1GaXhlZFBvaW50OjpzYW1wbGUgY2FsbGVkIHdpdGggc2l6ZSB6ZXJvLoQVEAAwAAAAhBQQAGYAAABDAAAADQAAAAEAAAAAAAAAPwAAAAwAAAAEAAAAQAAAAEEAAAAJAEH0q8AAC/oBAQAAAEIAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAAAzFhAASwAAAAYKAAAOAAAAAAAAAAQAAAAEAAAAQwAAAEVycm9yb2JqAAAAAAQAAAAEAAAAOgAAAE9iamVjdAAAAAAAAAAARXJyb3IARAAAAAwAAAAEAAAARQAAAEYAAABHAAAACgpTdGFjazoKCgBB+K3AAAuVAgEAAABIAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAANxcQAEsAAAAGCgAADgAAAEkAAAAMAAAABAAAAEoAAABLAAAATAAAAAAAAAAEAAAABAAAAFAAAABFcnJvcm9iagAAAAAEAAAABAAAAFEAAABPYmplY3QAAAAAAAAEAAAABAAAAFIAAABSYW5nZUVycm9yAABTAAAADAAAAAQAAABUAAAAVQAAAEwAQZiwwAAL9QIBAAAAVgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAFcYEABLAAAABgoAAA4AAAABAAAAAAAAAEZhaWxlZCB0byBwYXJzZSBCaWdJbnQ6IAogICAgAAAAvBgQABgAAADUGBAABQAAAGNyYXRlcy9kZWx2LWNvcmUvc3JjL2NvbnZlcnNpb25zLnJzAOwYEAAjAAAAhAAAAA4AAADsGBAAIwAAAIQAAAAbAAAASW52YWxpZCBpbnQyNTY6IDAZEAAQAAAA1BgQAAUAAABFcnJvck5vbmUAAAAAAAAABAAAAAQAAABYAAAAU29tZQEAAAAAAAAAWgAAAAwAAAAEAAAAWwAAAFwAAABMAEGYs8AAC7ECAQAAAF0AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAADXGRAASwAAAAYKAAAOAAAACiAgICBMb2NhdGlvbjogAAEAAAAAAAAANBoQAA8AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAFQaEABnAAAAJgAAAAEAQe+1wAALAoACAEGQtsAAC40OYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAQGxAAHQAAAFRyeUZyb21CaWdJbnRFcnJvckV4cG9uZW50ICBpcyB0b28gc21hbGwgZm9yIFUyNTY6IABKGxAACQAAAFMbEAAYAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdXRpbHMucnN8GxAAaAAAADYAAAAJAAAAVW5leHBlY3RlZCBjaGFyYWN0ZXIgaW4gVTI1NjogAAD0GxAAHgAAAHwbEABoAAAALQAAAA0AAAAgaXMgdG9vIHNtYWxsIGZvciBJMjU2OiBKGxAACQAAACwcEAAYAAAAfBsQAGgAAABsAAAACQAAAFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGluIEkyNTY6IAAAZBwQAB4AAAB8GxAAaAAAAGQAAAANAAAAMTM1MzA1OTk5MzY4ODkzMjMxNTg5aW52YWxpZCBleHBvbmVudCAAALEcEAARAAAAfBsQAGgAAAB+AAAACQAAADUAAAB8GxAAaAAAAIQAAAAJAAAANTQ5MTY3Nzc0Njc3MDc0NzMzNTExNDE0NzExMjgAAAB8GxAAaAAAAIkAAAAOAAAAMjQzODUyNzI1MjE0NTQ4NDc5MDQ2NTkwNzY5ODU2OTMyNzYAfBsQAGgAAAC6AAAAEwAAADM4MjI4MzMwNzQ5NjMyMzY0NTMwNDI3MzgyNTg5MDIxNTgwMDMxNTU0MTY2MTU2NjcxOTVjAAAABAAAAAQAAAAWAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQB8GxAAaAAAAMgAAAASAAAAfBsQAGgAAADGAAAAHgAAAHwbEABoAAAAoAAAABcAAAB8GxAAaAAAAIoAAAAXAAAAfBsQAGgAAACJAAAAJAAAAHwbEABoAAAAhAAAAB4AAAB8GxAAaAAAAH0AAAANAAAAQ2Fubm90IGNhbGN1bGF0ZSBsbiBvZiBvZiBuZWdhdGl2ZSBudW1iZXIgb3IgemVyby4AADQeEAAyAAAAfBsQAGgAAADQAAAACQAAADk2MTU5MzI3MzI4NTQ1OTYzODUyMzg0ODYzMjI1NDA2NjI5NjI0ODI4MTU3MDgxODMzMTYzODkyNjU4MDg5NDQ1NTI0NDM0NTY0ODU3MjU3MzkwMzc5NTg3NDAzNzU3NDMzOTMxMTExMTUwOTEwOTQ0MDk2NzA1MjAyMzg1NTUyNjk2NzQ1MDIzNzA5NjY3MjU0MDYzNzYzMzM2NTM0NTE1ODU3MTQ3MDY3NzM0MTczNzg2MDg3ODY3MDQ2MzYxODQ1MjY3OTUxNjQyMzU2NTEzNTA0MjYyNTgyNDk3ODc0OTg1NTczMDM1MjMzNDQwNjczNDY2MzAwNDUxODEzOTM2NzE2OTQ4NzQ3OTkzMTc4ODM3NjQwOTA1NjE0NTQ5NTgyODM0NDcwMzYxNzI5MjQ1NzU3MjcxOTY0NTEzMDY5NTY0MDE2ODY2OTAzOTQwMjc2NjM2NTE2MjQyMDg3Njk1NTMyMDQwNDg0NTc1OTAzOTIwMTIzNjI0ODUwNjE4MTY2MjIzMTg1Mzg5OTY5ODUwMTU3MTQwMjY1MzM1OTQyNzEzODkwOTQyOTk3MTI0NDM4NzMwMDI3NzM3NjU1ODM3NQAAfBsQAGgAAAANAQAACwAAADE2NzcyMDIxMTA5OTY3MTg1ODgzNDI4MjA5NjcwNjc0NDM5NjM1MTYxNjYxNjU5NzU3NzU1MjY4NTYxNDIyMTQ4NzI4NTk1ODE5Mzk0NzQ2OTE5MzgyMDU1OTIxOTg3ODE3NzkwODA5MzQ5OTIwODM3MTYwMDkyMDE3OTgyOTczMTg2MTczNjcwMjc3OTMyMTYyMTQ1OTU5NTQ3MjI1ODA0OTA3NDEwMTU2NzM3Nzg4MzAyMDAxODMwOAAAfBsQAGgAAAAfAQAAGAAAAHwbEABoAAAAGwEAAAkAAAB8GxAAaAAAABgBAAAYAAAAfBsQAGgAAAALAQAAFwAAAHwbEABoAAAABwEAABcAAAB8GxAAaAAAAAMBAAAXAAAAfBsQAGgAAAD/AAAAFwAAAHwbEABoAAAA+wAAABcAAAB8GxAAaAAAAPcAAAAyAAAAfBsQAGgAAAD2AAAAIAAAAHwbEABoAAAA8gAAABcAAAB8GxAAaAAAAO8AAAA0AAAAfBsQAGgAAADuAAAANAAAAHwbEABoAAAA7QAAADQAAAB8GxAAaAAAAOwAAAA0AAAAfBsQAGgAAADrAAAANAAAAHwbEABoAAAA6gAAACAAQajEwAAL3QYBAAAAZAAAAHwbEABoAAAA5QAAADUAAAB8GxAAaAAAAOUAAAAYAAAAfBsQAGgAAADkAAAAHAAAAHwbEABoAAAA4QAAACEAAAB8GxAAaAAAAOAAAAAhAAAAfBsQAGgAAADfAAAAIQAAAHwbEABoAAAA3gAAACEAAAB8GxAAaAAAAN0AAAAhAAAAfBsQAGgAAADcAAAAIQAAAHwbEABoAAAA2gAAACEAAAAtL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5yc9EiEABnAAAAJgAAAAEAAABJbnRlZ2VyIG92ZXJmbG93IHdoZW4gY2FzdGluZyB0byB1c2l6ZQAASCMQACYAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAHgjEAAdAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQAAAAAUAAAABAAAAGcAAABoAAAAaQAAAAAAAAAIAAAABAAAAGoAAAAAAAAACAAAAAQAAABrAAAAagAAAOAjEABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcgAAAHMAAAB0AAAAdAAAAHUAAAB2AAAADAAAAAQAAAB3AAAAdgAAAAwAAAAEAAAAeAAAAHcAAAA4JBAAbAAAAHkAAABuAAAAegAAAHAAAAB7AAAAfAAAAHwAAAB9AAAAfgAAAH4AAAB/AAAAgAAAABQAAAAEAAAAgQAAAIAAAAAUAAAABAAAAIIAAACBAAAAkCQQAIMAAACEAAAAbgAAAIUAAABwAAAAhgAAABgAAAAEAAAAhwAAAIYAAAAYAAAABAAAAIgAAACHAAAAzCQQAIkAAACKAAAAbgAAAIsAAABwAAAAAQAAAAAAAAA6IAAAECUQAAIAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAACMAAAAHCUQABwlEACNAAAAjgAAAI8AAAAKCkNhdXNlZCBieToKICAgIAoKTG9jYXRpb246CgAAAAAAAAAEAAAABAAAAJEAAACSAAAAkwAAAAEAQZDLwAALJRQAAAAEAAAAZwAAAGgAAABpAAAAAAAAAAwAAAAEAAAAlAAAAJUAQcDLwAALlQQBAAAAlgAAAJcAAACYAAAAAQAAAAAAAAA6IAAAAQAAAAAAAADYJRAAAgAAACAgICAgIAAA7CUQAAYAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZXRoZXJzLWNvcmUtMi4wLjE0L3NyYy90eXBlcy9pMjU2LnJzAAD8JRAAagAAANMAAAAyAAAA/CUQAGoAAADUAAAAMgAAAAEAAAAAAAAAaW52YWxpZCBkaWdpdCBmb3VuZCBpbiBzdHJpbmdudW1iZXIgZG9lcyBub3QgZml0IGluIDI1Ni1iaXQgaW50ZWdlclVuc2lnbmVkIGludGVnZXIgY2FuJ3QgYmUgY3JlYXRlZCBmcm9tIG5lZ2F0aXZlIHZhbHVl0yYQADUAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwB3JxAAEAAAADBhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAkScQAB0AAAAQJxAAZwAAACYAAAABAAAAECcQAGcAAAArAAAAAQBB4M/AAAvRAmNvdWxkIG5vdCBpbml0aWFsaXplIHRocmVhZF9ybmc6IAAAAOAnEAAhAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmQtMC44LjUvc3JjL3JuZ3MvdGhyZWFkLnJzAAwoEABjAAAASAAAABEAAAAAAAAABAAAAAQAAACcAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmRfY2hhY2hhLTAuMy4xL3NyYy9ndXRzLnJzAAQAAACQKBAAYwAAAOYAAAAFAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQEAQbzSwAALlREEAAAABAAAAJ4AAAAAAAAABAAAAAQAAACfAAAAngAAADgpEACgAAAAoQAAAKIAAACgAAAAowAAAEVycm9yZ2V0cmFuZG9tOiB0aGlzIHRhcmdldCBpcyBub3Qgc3VwcG9ydGVkZXJybm86IGRpZCBub3QgcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWV1bmV4cGVjdGVkIHNpdHVhdGlvblNlY1JhbmRvbUNvcHlCeXRlczogaU9TIFNlY3VyaXR5IGZyYW1ld29yayBmYWlsdXJlUnRsR2VuUmFuZG9tOiBXaW5kb3dzIHN5c3RlbSBmdW5jdGlvbiBmYWlsdXJlUkRSQU5EOiBmYWlsZWQgbXVsdGlwbGUgdGltZXM6IENQVSBpc3N1ZSBsaWtlbHlSRFJBTkQ6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWRXZWIgQ3J5cHRvIEFQSSBpcyB1bmF2YWlsYWJsZUNhbGxpbmcgV2ViIEFQSSBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzIGZhaWxlZHJhbmRTZWN1cmU6IFZ4V29ya3MgUk5HIG1vZHVsZSBpcyBub3QgaW5pdGlhbGl6ZWROb2RlLmpzIGNyeXB0byBDb21tb25KUyBtb2R1bGUgaXMgdW5hdmFpbGFibGVDYWxsaW5nIE5vZGUuanMgQVBJIGNyeXB0by5yYW5kb21GaWxsU3luYyBmYWlsZWROb2RlLmpzIEVTIG1vZHVsZXMgYXJlIG5vdCBkaXJlY3RseSBzdXBwb3J0ZWQsIHNlZSBodHRwczovL2RvY3MucnMvZ2V0cmFuZG9tI25vZGVqcy1lcy1tb2R1bGUtc3VwcG9ydAAAAAAAAAQAAAAEAAAApQAAAGludGVybmFsX2NvZGUAAAAAAAAACAAAAAQAAACmAAAAZGVzY3JpcHRpb251bmtub3duX2NvZGUAAAAAAAQAAAAEAAAApwAAAG9zX2Vycm9yVW5rbm93biBFcnJvcjogACgsEAAPAAAAT1MgRXJyb3I6IAAAQCwQAAoAAABjcnlwdG8AAHkpEACgKRAAxikQANopEAAMKhAAOSoQAGgqEACJKhAApioQAHkpEAB5KRAA0yoQAAQrEAAxKxAAYSsQACcAAAAmAAAAFAAAADIAAAAtAAAALwAAACEAAAAdAAAALQAAACcAAAAnAAAAMQAAAC0AAAAwAAAAZQAAAHJldHVybiB0aGlzY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRgdW53cmFwX3Rocm93YCBmYWlsZWQAAAAAAAAEAAAABAAAALQAAAABAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnMAAAA8LRAAZQAAAKEAAAA2AAAAPC0QAGUAAACbAAAACQAAAEpzVmFsdWUoKQAAAMQtEAAIAAAAzC0QAAEAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0cmVlbnRyYW50IGluaXRKLhAADgAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAYC4QAE0AAAAjAQAAQgAAALcAAAAMAAAABAAAALgAAAC5AAAAugAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZADYLhAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA2C4QACkAAACuBAAADQAAAHVzZSBvZiBzdGQ6OnRocmVhZDo6Y3VycmVudCgpIGlzIG5vdCBwb3NzaWJsZSBhZnRlciB0aGUgdGhyZWFkJ3MgbG9jYWwgZGF0YSBoYXMgYmVlbiBkZXN0cm95ZWRzdGQvc3JjL3RocmVhZC9tb2QucnMA3i8QABUAAADzAgAAEwAAAGZhaWxlZCB0byBnZW5lcmF0ZSB1bmlxdWUgdGhyZWFkIElEOiBiaXRzcGFjZSBleGhhdXN0ZWQABDAQADcAAADeLxAAFQAAAMYEAAANAAAAcGFuaWNrZWQgYXQgOgptZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkYjAQABUAAAB3MBAADQAAAHN0ZC9zcmMvYWxsb2MucnOUMBAAEAAAAGMBAAAJAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZLQwEAA0AAAAc3RkL3NyYy9wYW5pY2tpbmcucnPwMBAAFAAAAIMAAAAJAAAAtwAAAAwAAAAEAAAAuwAAAAAAAAAIAAAABAAAALwAAAAAAAAACAAAAAQAAAC9AAAAvgAAAL8AAADAAAAAwQAAABAAAAAEAAAAwgAAAMMAAADEAAAAxQAAAEVycm9yTGF5b3V0RXJyb3LGAAAADAAAAAQAAADHAAAAyAAAAMkAAABjYXBhY2l0eSBvdmVyZmxvdwAAAJQxEAARAAAAYWxsb2Mvc3JjL3Jhd192ZWMucnOwMRAAFAAAABgAAAAFAEHc48AAC30BAAAAygAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90YWxsb2Mvc3JjL2ZtdC5ycwAAOjIQABAAAAB+AgAADgBB5OTAAAv+HQEAAADLAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZWFsbG9jL3NyYy9zeW5jLnJzlzIQABEAAABtAQAAMgAAAGZyb21fc3RyX3JhZGl4X2ludDogbXVzdCBsaWUgaW4gdGhlIHJhbmdlIGBbMiwgMzZdYCAtIGZvdW5kILgyEAA8AAAAKS4uMDEyMzQ1Njc4OWFiY2RlZgABAAAAAAAAADpjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAQAAAAAAAAAYMxAAAQAAABgzEAABAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAFwzEAAgAAAAfDMQABIAAAA9PSE9bWF0Y2hlc2Fzc2VydGlvbiBgbGVmdCAgcmlnaHRgIGZhaWxlZAogIGxlZnQ6IAogcmlnaHQ6IACrMxAAEAAAALszEAAXAAAA0jMQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAAqzMQABAAAAD0MxAAEAAAAAQ0EAAJAAAA0jMQAAkAAAA6IAAAAQAAAAAAAAAwNBAAAgAAAAAAAAAMAAAABAAAANEAAADSAAAA0wAAACAgICAgeyAsICB7CiwKfSB9KCgKLGNvcmUvc3JjL2ZtdC9udW0ucnNxNBAAEwAAAGYAAAAXAAAAMHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OWFzc2VydGlvbiBmYWlsZWQ6ICpjdXJyID4gMTkAAHE0EAATAAAADQIAAAUAAABjb3JlL3NyYy9mbXQvbW9kLnJzAIw1EAATAAAAlgkAACYAAACMNRAAEwAAAJ8JAAAaAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMA1EAASAAAA0jUQACIAAAByYW5nZSBlbmQgaW5kZXggBDYQABAAAADSNRAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgACQ2EAAWAAAAOjYQAA0AAABjb3JlL3NyYy9zdHIvcGF0dGVybi5ycwBYNhAAFwAAAFcFAAASAAAAWDYQABcAAABXBQAAKAAAAFg2EAAXAAAASgYAABUAAABYNhAAFwAAAHgGAAAVAAAAWDYQABcAAAB5BgAAFQAAAFsuLi5dYmVnaW4gPD0gZW5kICggPD0gKSB3aGVuIHNsaWNpbmcgYGDFNhAADgAAANM2EAAEAAAA1zYQABAAAADnNhAAAQAAAGJ5dGUgaW5kZXggIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSAgKGJ5dGVzICkgb2YgYAAINxAACwAAABM3EAAmAAAAOTcQAAgAAABBNxAABgAAAOc2EAABAAAAIGlzIG91dCBvZiBib3VuZHMgb2YgYAAACDcQAAsAAABwNxAAFgAAAOc2EAABAAAAY29yZS9zcmMvc3RyL21vZC5ycwCgNxAAEwAAAPAAAAAsAAAAY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAAADENxAAHQAAABoAAAA2AAAAxDcQAB0AAAAKAAAAKwAAAAAGAQEDAQQCBQcHAggICQIKBQsCDgQQARECEgUTERQBFQIXAhkNHAUdCB8BJAFqBGsCrwOxArwCzwLRAtQM1QnWAtcC2gHgBeEC5wToAu4g8AT4AvoD+wEMJzs+Tk+Pnp6fe4uTlqKyuoaxBgcJNj0+VvPQ0QQUGDY3Vld/qq6vvTXgEoeJjp4EDQ4REikxNDpFRklKTk9kZVy2txscBwgKCxQXNjk6qKnY2Qk3kJGoBwo7PmZpj5IRb1+/7u9aYvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/5+zv/8XGBCAjJSYoMzg6SEpMUFNVVlhaXF5gY2Vma3N4fX+KpKqvsMDQrq9ub76TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSSysIKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULQj4qBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkKRkUbSAhTDUkHCoD2RgodA0dJNwMOCAoGOQcKgTYZBzsDHFYBDzINg5tmdQuAxIpMYw2EMBAWj6qCR6G5gjkHKgRcBiYKRgooBROCsFtlSwQ5BxFABQsCDpf4CITWKgmi54EzDwEdBg4ECIGMiQRrBQ0DCQcQkmBHCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqC5oD3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AQRAw0DdwRfBgwEAQ8MBDgICgYoCCJOgVQMHQMJBzYIDgQJBwkHgMslCoQGAAEDBQUGBgIHBggHCREKHAsZDBoNEA4MDwQQAxISEwkWARcEGAEZAxoHGwEcAh8WIAMrAy0LLgEwBDECMgGnAqkCqgSrCPoC+wX9Av4D/wmteHmLjaIwV1iLjJAc3Q4PS0z7/C4vP1xdX+KEjY6RkqmxurvFxsnK3uTl/wAEERIpMTQ3Ojs9SUpdhI6SqbG0urvGys7P5OUABA0OERIpMTQ6O0VGSUpeZGWEkZudyc7PDREpOjtFSVdbXF5fZGWNkam0urvFyd/k5fANEUVJZGWAhLK8vr/V1/Dxg4WLpKa+v8XHz9rbSJi9zcbOz0lOT1dZXl+Jjo+xtre/wcbH1xEWF1tc9vf+/4Btcd7fDh9ubxwdX31+rq9/u7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHWWJi4vp6+3v8fP19+aAECXmDCPH9LUzv9OT1pbBwgPECcv7u9ubzc9P0JFkJFTZ3XIydDR2Nnn/v8AIF8igt8EgkQIGwQGEYGsDoCrBR8JgRsDGQgBBC8ENAQHAwEHBgcRClAPEgdVBwMEHAoJAwgDBwMCAwMDDAQFAwsGAQ4VBU4HGwdXBwIGFwxQBEMDLQMBBBEGDww6BB0lXyBtBGolgMgFgrADGgaC/QNZBxYJGAkUDBQMagYKBhoGWQcrBUYKLAQMBAEDMQssBBoGCwOArAYKBi8xTQOApAg8Aw8DPAc4CCsFgv8RGAgvES0DIQ8hD4CMBIKXGQsViJQFLwU7BwIOGAmAviJ0DIDWGoEQBYDfC/KeAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NY29yZS9zcmMvdW5pY29kZS91bmljb2RlX2RhdGEucnMAfz0QACAAAABQAAAAKAAAAH89EAAgAAAAXAAAABYAAABjb3JlL3NyYy9udW0vbW9kLnJzAMA9EAATAAAAAQYAAAEAAABhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAAAA5D0QABkAAAAAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLKArKjAgLG+m4CwCqGAtHvtgLgD+IDae/2A2/QHhNgEKITckDeE3qw5hOS8YoTkwHGFI8x6hTEA0YVDwaqFRT28hUp28oVIAz2FTZdGhUwDaIVQA4OFVruJhV+zkIVnQ6KFZIADuWfABf1oAcAAHAC0BAQECAQIBAUgLMBUQAWUHAgYCAgEEIwEeG1sLOgkJARgEAQkBAwEFKwM8CCoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAQIBAwEFAgcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLB0kCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAMdAh4CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwBwEBBQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsuAzABAgQCAicBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEAAJQA0YLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJCgQCAV8DAgEBAgYBAgGdAQMIFQI5AgEBAQEWAQ4HAwXDCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAgYBAWUDAgQBBQAJAQL1AQoCAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAQEBAAEGDwAFOwcAAT8EUQEAAgAuAhcAAQEDBAUICAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQVkAaAHAAE9BAAEAAdtBwBggPAAQeSCwQALAQMAgwEJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0YyUxLjgyLjAtbmlnaHRseSAoNDFkZDE0OWZkIDIwMjQtMDgtMTEpBndhbHJ1cwYwLjIwLjMMd2FzbS1iaW5kZ2VuEjAuMi45MiAoMmE0YTQ5MzYyKQBJD3RhcmdldF9mZWF0dXJlcwQrD211dGFibGUtZ2xvYmFscysIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==") const wasmModule = new WebAssembly.Module(input); const wasmInstance = new WebAssembly.Instance(wasmModule, imports); diff --git a/packages/fixed-point-wasm/fixed_point_wasm_bg.wasm b/packages/fixed-point-wasm/fixed_point_wasm_bg.wasm index 22166b4c2..a7e8f1632 100644 Binary files a/packages/fixed-point-wasm/fixed_point_wasm_bg.wasm and b/packages/fixed-point-wasm/fixed_point_wasm_bg.wasm differ diff --git a/packages/hyperdrive-artifacts/.gitignore b/packages/hyperdrive-artifacts/.gitignore index 90840e2c6..af35df2f9 100644 --- a/packages/hyperdrive-artifacts/.gitignore +++ b/packages/hyperdrive-artifacts/.gitignore @@ -1,10 +1,5 @@ +dist node_modules -# Ignore temporary clones of the hyperdrive repo used by the build script -hyperdrive-temp.* - -# Ignore the src directory which is generated by the build script -src - -# Don't ignore the dist directory which requires forge to build -!dist \ No newline at end of file +# Ignore temporary clones created by the build script +*_temp diff --git a/packages/hyperdrive-artifacts/README.md b/packages/hyperdrive-artifacts/README.md index 545e68803..700c6ee39 100644 --- a/packages/hyperdrive-artifacts/README.md +++ b/packages/hyperdrive-artifacts/README.md @@ -1,7 +1,7 @@ # @delvtech/hyperdrive-artifacts -Build artifacts, including ABIs and Bytecodes, for the [Hyperdrive -AMM](https://github.com/delvtech/hyperdrive) contracts. +Strongly typed build artifacts, including ABIs and Bytecodes, for the +[Hyperdrive AMM](https://github.com/delvtech/hyperdrive) contracts. ## Install @@ -22,25 +22,18 @@ const hyperdriveAbi = IHyperdrive.abi; const hyperdriveBytecode = IHyperdrive.bytecode; ``` -## Building +## Generating TypeScript Files -The build script takes the git ref to clone and compile as the first positional +The generate script takes the git ref to clone and compile as the first positional argument. This means you can change the version of the contract to generate artifacts for in the `package.json`: ```json - "build:src": "sh scripts/build_src.sh v0.9.0" + "generate": "sh scripts/generate.sh v1.0.20" ``` Then run: ```sh -yarn workspace @delvtech/hyperdrive-artifacts build:src -``` - -If the `src` directory already exists from a previous build, you can force a new -build by running: - -```sh -yarn workspace @delvtech/hyperdrive-artifacts build:new +yarn workspace @delvtech/hyperdrive-artifacts generate ``` diff --git a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts b/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts deleted file mode 100644 index 37062d420..000000000 --- a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=83e70ca879a76f0c763a400659cff4f0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map b/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map deleted file mode 100644 index 733e13bd9..000000000 --- a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"83e70ca879a76f0c763a400659cff4f0.d.ts","sourceRoot":"","sources":["../src/83e70ca879a76f0c763a400659cff4f0.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js b/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js deleted file mode 100644 index 9b2908707..000000000 --- a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js +++ /dev/null @@ -1,7 +0,0 @@ -export const ; -83e70; -ca879a76f0c763a400659cff4f0 = { - abi: null, - bytecode: 'null', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts b/packages/hyperdrive-artifacts/dist/AaveBase.d.ts deleted file mode 100644 index ead52ce7c..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const AaveBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map deleted file mode 100644 index b7cdf263d..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveBase.d.ts","sourceRoot":"","sources":["../src/AaveBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBD,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveBase.js b/packages/hyperdrive-artifacts/dist/AaveBase.js deleted file mode 100644 index 7394f4020..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveBase.js +++ /dev/null @@ -1,694 +0,0 @@ -export const AaveBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts b/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts deleted file mode 100644 index 9722b17c9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const AaveConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map deleted file mode 100644 index 7507e8ba4..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveConversions.d.ts","sourceRoot":"","sources":["../src/AaveConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveConversions.js b/packages/hyperdrive-artifacts/dist/AaveConversions.js deleted file mode 100644 index 719accdad..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const AaveConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220454a0173f65e56684d3cfc8516553c1e329a3c5810dff4de49204b8c435ac94064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts deleted file mode 100644 index e71ab2745..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts +++ /dev/null @@ -1,1350 +0,0 @@ -export declare const AaveHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=AaveHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map deleted file mode 100644 index fc9ddbfcc..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveHyperdrive.d.ts","sourceRoot":"","sources":["../src/AaveHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuoDiqb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bxsb,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.js b/packages/hyperdrive-artifacts/dist/AaveHyperdrive.js deleted file mode 100644 index 27a29374a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.js +++ /dev/null @@ -1,1703 +0,0 @@ -export const AaveHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f69fe16a45a80752f736685c85fd6f39fa34b276828295a1b91db6de70323e2364736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts deleted file mode 100644 index b6a880076..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const AaveHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=AaveHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index c8e199c19..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/AaveHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Ki3hB,KAAK,MAAM,EAAE;;;;CAIp6hB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js deleted file mode 100644 index 8430593d5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const AaveHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506121a58061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611b54806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f69fe16a45a80752f736685c85fd6f39fa34b276828295a1b91db6de70323e2364736f6c63430008160033a264697066735822122068cd208f1e5ec93eead7631da57e4b6900eb1efd333d8bf3186ac18ade1d8fd264736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 30f21dd31..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,636 +0,0 @@ -export declare const AaveHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index df6d1db79..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/AaveHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuxBw+rB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBlisB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js deleted file mode 100644 index 9fff1fa81..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,812 +0,0 @@ -export const AaveHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002c0138038062002c018339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127e76200041a5f395f81816102b80152610d6b01525f81816103360152610c3801525f818161039c0152610b0501525f818161030301526109d201525f818161036901526107c901525f818161042101526110c601525f81816103ee0152818161055d015281816106f2015281816107f901528181610a0201528181610b3501528181610c6801528181610d9b01528181610e9a01526110f701526127e75ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063ce34a8c314610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806337404017116100cd578063374040171461017c57806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe5780630550e6e41461012857806306fdde031461015557806316abfc7014610169575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611d04565b60405180910390f35b348015610133575f80fd5b50610147610142366004611d3a565b6104b0565b60405190815260200161011f565b348015610160575f80fd5b506101126104c6565b610147610177366004611e77565b610551565b348015610187575f80fd5b5061026b610196366004611f35565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611f4c565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612120565b6106e6565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014761045d366004611d3a565b610e82565b34801561046d575f80fd5b506102da61047c366004612189565b610e8e565b34801561048c575f80fd5b506005610147565b6040518060600160405280602181526020016127916021913981565b5f6104bc848484611201565b90505b9392505050565b5f80546104d290612223565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe90612223565b80156105495780601f1061052057610100808354040283529160200191610549565b820191905f5260205f20905b81548152906001019060200180831161052c57829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059b57604051634084351160e01b815260040160405180910390fd5b6105a3611224565b5f868152600160205260409020600301546001600160a01b0316806105db5760405163952b05cb60e01b815260040160405180910390fd5b5f6105e882888887611245565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161061b9392919061225b565b60206040518083038185885af1158015610637573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061065c91906122a0565b92505f61066982346122cb565b905080156106d9576040515f90339083908381818185875af1925050503d805f81146106b0576040519150601f19603f3d011682016040523d82523d5f602084013e6106b5565b606091505b50509050806106d7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073057604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e05780541561076557604051633be1b34d60e11b815260040160405180910390fd5b61076f86866113c0565b5f61077a87876115cd565b90505f8760405160200161078e91906122de565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107bb8a611650565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610835929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161086a9493929190612511565b6020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190612556565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106dd565b5f878152600160205260409020548061090c5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161091e91906122de565b60405160208183030381529060405280519060200120146109525760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461097c57604051631a3272d160e31b815260040160405180910390fd5b61098687876113c0565b5f61099088611650565b6002840154608082015290506001869003610ad05760058301546001600160a01b0316156109d05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a3793929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a6c9493929190612511565b6020604051808303815f875af1158015610a88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612556565b6005840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600203610c035760068301546001600160a01b031615610b035760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b6a93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b9f9493929190612511565b6020604051808303815f875af1158015610bbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdf9190612556565b6006840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600303610d365760078301546001600160a01b031615610c365760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c9d93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cd29493929190612511565b6020604051808303815f875af1158015610cee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d129190612556565b6007840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600403610e695760088301546001600160a01b031615610d695760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd093929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e059493929190612511565b6020604051808303815f875af1158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190612556565b6008840180546001600160a01b0319166001600160a01b03831617905593506106d9565b604051631d9f815960e11b815260040160405180910390fd5b5f6104bc84848461171e565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f8057604051632c95caeb60e01b815260040160405180910390fd5b8051610f9f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc4575060a08101516001600160a01b0316155b80610fda575060c08101516001600160a01b0316155b80610ff0575060e08101516001600160a01b0316155b8061100757506101008101516001600160a01b0316155b156110255760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110389087906020016122de565b604051602081830303815290604052805190602001201461106c5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109757604051631a3272d160e31b815260040160405180910390fd5b6110a185856113c0565b5f6110ab86611650565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114d929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111889a99989796959493929190612592565b6020604051808303815f875af11580156111a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c89190612556565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f6104bc6b033b2e3c9fd0803ce800000061121c8686611740565b8491906117ab565b341561124357604051631574f9f360e01b815260040160405180910390fd5b565b5f805f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a89190612556565b90508360200151156112bc5780915061138b565b866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131c9190612556565b915061138881836001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113829190612556565b87610e82565b94505b6113a06001600160a01b0383168730886117c6565b6113b46001600160a01b0383168887611833565b505f9695505050505050565b6113ca82826118c2565b60208201516001600160a01b03166113f55760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b031663b16a19de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114599190612556565b6001600160a01b0316825f01516001600160a01b03161461148d57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f29190612614565b6114fc9190612634565b61150790600a61272d565b8260800151101561152b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115909190612614565b61159a9190612634565b6115a590600a61272d565b8260a0015110156115c9576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611647835f015184602001516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611615573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116399190612556565b670de0b6b3a7640000610e82565b90505b92915050565b611658611be3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f6104bc61172c8585611740565b83906b033b2e3c9fd0803ce80000006117ab565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015611787573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061164791906122a0565b5f825f1904841183021582026117bf575f80fd5b5091020490565b6040516001600160a01b03848116602483015283811660448301526064820183905261182d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119d6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118848482611a41565b61182d576040516001600160a01b0384811660248301525f60448301526118b891869182169063095ea7b3906064016117fb565b61182d84826119d6565b6103e8826080015110156118e9576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361190e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061193857508161010001518260e00151611935919061273b565b15155b156119565760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119825750670de0b6b3a7640000826101c0015160200151115b8061199d5750670de0b6b3a7640000826101c0015160400151115b806119b85750670de0b6b3a7640000826101c0015160600151115b156115c9576040516322f72cc360e11b815260040160405180910390fd5b5f6119ea6001600160a01b03841683611ade565b905080515f14158015611a0e575080806020019051810190611a0c919061275a565b155b15611a3c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a5c9190612775565b5f604051808303815f865af19150503d805f8114611a95576040519150601f19603f3d011682016040523d82523d5f602084013e611a9a565b606091505b5091509150818015611ac4575080511580611ac4575080806020019051810190611ac4919061275a565b80156106dd5750505050506001600160a01b03163b151590565b606061164783835f845f80856001600160a01b03168486604051611b029190612775565b5f6040518083038185875af1925050503d805f8114611b3c576040519150601f19603f3d011682016040523d82523d5f602084013e611b41565b606091505b5091509150611b51868383611b5b565b9695505050505050565b606082611b7057611b6b82611bb7565b6104bf565b8151158015611b8757506001600160a01b0384163b155b15611bb057604051639996b31560e01b81526001600160a01b0385166004820152602401611a33565b50806104bf565b805115611bc75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cb260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cd1578181015183820152602001611cb9565b50505f910152565b5f8151808452611cf0816020860160208601611cb7565b601f01601f19169290920160200192915050565b602081525f6116476020830184611cd9565b6001600160a01b0381168114611be0575f80fd5b8035611d3581611d16565b919050565b5f805f60608486031215611d4c575f80fd5b8335611d5781611d16565b92506020840135611d6781611d16565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611daf57611daf611d78565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611daf57611daf611d78565b8015158114611be0575f80fd5b5f67ffffffffffffffff80841115611e0057611e00611d78565b604051601f8501601f19908116603f01168101908282118183101715611e2857611e28611d78565b81604052809350858152868686011115611e40575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611e68575f80fd5b61164783833560208501611de6565b5f805f805f60a08688031215611e8b575f80fd5b853594506020860135611e9d81611d16565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ec7575f80fd5b908701906060828a031215611eda575f80fd5b611ee2611d8c565b8235611eed81611d16565b81526020830135611efd81611dd9565b6020820152604083013582811115611f13575f80fd5b611f1f8b828601611e59565b6040830152508093505050509295509295909350565b5f60208284031215611f45575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611fd9575f80fd5b6040516080810181811067ffffffffffffffff82111715611ffc57611ffc611d78565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561203e575f80fd5b612046611db5565b905061205182611d2a565b815261205f60208301611d2a565b602082015261207060408301611d2a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406120cd818401611d2a565b908201526101606120df838201611d2a565b908201526101806120f1838201611d2a565b908201526101a0612103838201611d2a565b908201526101c061211684848301611fc9565b9082015292915050565b5f805f805f6102c08688031215612135575f80fd5b85359450612146876020880161202d565b935061026086013567ffffffffffffffff811115612162575f80fd5b61216e88828901611e59565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561219e575f80fd5b85359450602086013567ffffffffffffffff808211156121bc575f80fd5b818801915088601f8301126121cf575f80fd5b6121de89833560208501611de6565b95506121ed8960408a0161202d565b9450610280880135915080821115612203575f80fd5b5061221088828901611e59565b959894975092956102a001359392505050565b600181811c9082168061223757607f821691505b60208210810361225557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611b5160c0840182611cd9565b5f602082840312156122b0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561164a5761164a6122b7565b81516001600160a01b031681526102408101602083015161230a60208401826001600160a01b03169052565b50604083015161232560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161238b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611fc1565b80516001600160a01b03168252602081015161241b60208401826001600160a01b03169052565b50604081015161243660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124a8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261182d565b5f6102c061251f83886123f4565b6001600160a01b038616610260840152610280830181905261254381840186611cd9565b915050826102a083015295945050505050565b5f60208284031215612566575f80fd5b81516104bf81611d16565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125a58184018e611cd9565b90506125b4602084018d6123f4565b6001600160a01b038b81166102808501528382036102a08501526125d8828c611cd9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612624575f80fd5b815160ff811681146104bf575f80fd5b60ff828116828216039081111561164a5761164a6122b7565b600181815b8085111561268757815f190482111561266d5761266d6122b7565b8085161561267a57918102915b93841c9390800290612652565b509250929050565b5f8261269d5750600161164a565b816126a957505f61164a565b81600181146126bf57600281146126c9576126e5565b600191505061164a565b60ff8411156126da576126da6122b7565b50506001821b61164a565b5060208310610133831016604e8410600b8410161715612708575081810a61164a565b612712838361264d565b805f1904821115612725576127256122b7565b029392505050565b5f61164760ff84168361268f565b5f8261275557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561276a575f80fd5b81516104bf81611dd9565b5f8251612786818460208701611cb7565b919091019291505056fe41617665487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220d16610b0b5f25fff945da68c69ab3d4887ae2d8fa0c55d5d4e1719982413fbe464736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts deleted file mode 100644 index 60beb5b9e..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const AaveL2Base: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveL2Base.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map deleted file mode 100644 index 3c0cd42f5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Base.d.ts","sourceRoot":"","sources":["../src/AaveL2Base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBH,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Base.js b/packages/hyperdrive-artifacts/dist/AaveL2Base.js deleted file mode 100644 index 50ec62920..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Base.js +++ /dev/null @@ -1,694 +0,0 @@ -export const AaveL2Base = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts deleted file mode 100644 index c0012f6a5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const AaveL2Conversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveL2Conversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map deleted file mode 100644 index 6dfd7ef4d..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Conversions.d.ts","sourceRoot":"","sources":["../src/AaveL2Conversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.js b/packages/hyperdrive-artifacts/dist/AaveL2Conversions.js deleted file mode 100644 index 32af6eb07..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const AaveL2Conversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202797358b24bf2769066e16a169e734f1211e09f937e55343f9d72fa8d30a90dc64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts deleted file mode 100644 index 5f534b427..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts +++ /dev/null @@ -1,1350 +0,0 @@ -export declare const AaveL2Hyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=AaveL2Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map deleted file mode 100644 index 41c39b404..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Hyperdrive.d.ts","sourceRoot":"","sources":["../src/AaveL2Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuoD+pb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bxsb,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js b/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js deleted file mode 100644 index 986b407e6..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js +++ /dev/null @@ -1,1703 +0,0 @@ -export const AaveL2Hyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212203418deaffbc3eb9adfb17ca2314538b7df71c29ca94768dc67f74f6de494384764736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts deleted file mode 100644 index 1bc769f00..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const AaveL2HyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=AaveL2HyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 84c8a07fd..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2HyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/AaveL2HyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K+2hB,KAAK,MAAM,EAAE;;;;CAIp6hB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js deleted file mode 100644 index 2d05acb81..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const AaveL2HyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506121a58061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611b54806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212203418deaffbc3eb9adfb17ca2314538b7df71c29ca94768dc67f74f6de494384764736f6c63430008160033a2646970667358221220ebd0aa819e4ae14b08b9217df9dd7192c4fbc00e19e9a60dd6cd6bc021da1c4964736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index e3d321733..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,636 +0,0 @@ -export declare const AaveL2HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveL2HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index e133c656a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/AaveL2HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuxB0+rB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBtisB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js deleted file mode 100644 index 9631f928b..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,812 +0,0 @@ -export const AaveL2HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002c0338038062002c038339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127e96200041a5f395f81816102b80152610d6b01525f81816103360152610c3801525f818161039c0152610b0501525f818161030301526109d201525f818161036901526107c901525f818161042101526110c601525f81816103ee0152818161055d015281816106f2015281816107f901528181610a0201528181610b3501528181610c6801528181610d9b01528181610e9a01526110f701526127e95ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063ce34a8c314610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806337404017116100cd578063374040171461017c57806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe5780630550e6e41461012857806306fdde031461015557806316abfc7014610169575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611d04565b60405180910390f35b348015610133575f80fd5b50610147610142366004611d3a565b6104b0565b60405190815260200161011f565b348015610160575f80fd5b506101126104c6565b610147610177366004611e77565b610551565b348015610187575f80fd5b5061026b610196366004611f35565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611f4c565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612120565b6106e6565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014761045d366004611d3a565b610e82565b34801561046d575f80fd5b506102da61047c366004612189565b610e8e565b34801561048c575f80fd5b506005610147565b6040518060600160405280602381526020016127916023913981565b5f6104bc848484611201565b90505b9392505050565b5f80546104d290612223565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe90612223565b80156105495780601f1061052057610100808354040283529160200191610549565b820191905f5260205f20905b81548152906001019060200180831161052c57829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059b57604051634084351160e01b815260040160405180910390fd5b6105a3611224565b5f868152600160205260409020600301546001600160a01b0316806105db5760405163952b05cb60e01b815260040160405180910390fd5b5f6105e882888887611245565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161061b9392919061225b565b60206040518083038185885af1158015610637573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061065c91906122a0565b92505f61066982346122cb565b905080156106d9576040515f90339083908381818185875af1925050503d805f81146106b0576040519150601f19603f3d011682016040523d82523d5f602084013e6106b5565b606091505b50509050806106d7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073057604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e05780541561076557604051633be1b34d60e11b815260040160405180910390fd5b61076f86866113c0565b5f61077a87876115cd565b90505f8760405160200161078e91906122de565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107bb8a611650565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610835929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161086a9493929190612511565b6020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190612556565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106dd565b5f878152600160205260409020548061090c5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161091e91906122de565b60405160208183030381529060405280519060200120146109525760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461097c57604051631a3272d160e31b815260040160405180910390fd5b61098687876113c0565b5f61099088611650565b6002840154608082015290506001869003610ad05760058301546001600160a01b0316156109d05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a3793929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a6c9493929190612511565b6020604051808303815f875af1158015610a88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612556565b6005840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600203610c035760068301546001600160a01b031615610b035760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b6a93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b9f9493929190612511565b6020604051808303815f875af1158015610bbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdf9190612556565b6006840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600303610d365760078301546001600160a01b031615610c365760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c9d93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cd29493929190612511565b6020604051808303815f875af1158015610cee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d129190612556565b6007840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600403610e695760088301546001600160a01b031615610d695760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd093929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e059493929190612511565b6020604051808303815f875af1158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190612556565b6008840180546001600160a01b0319166001600160a01b03831617905593506106d9565b604051631d9f815960e11b815260040160405180910390fd5b5f6104bc84848461171e565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f8057604051632c95caeb60e01b815260040160405180910390fd5b8051610f9f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc4575060a08101516001600160a01b0316155b80610fda575060c08101516001600160a01b0316155b80610ff0575060e08101516001600160a01b0316155b8061100757506101008101516001600160a01b0316155b156110255760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110389087906020016122de565b604051602081830303815290604052805190602001201461106c5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109757604051631a3272d160e31b815260040160405180910390fd5b6110a185856113c0565b5f6110ab86611650565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114d929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111889a99989796959493929190612592565b6020604051808303815f875af11580156111a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c89190612556565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f6104bc6b033b2e3c9fd0803ce800000061121c8686611740565b8491906117ab565b341561124357604051631574f9f360e01b815260040160405180910390fd5b565b5f805f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a89190612556565b90508360200151156112bc5780915061138b565b866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131c9190612556565b915061138881836001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113829190612556565b87610e82565b94505b6113a06001600160a01b0383168730886117c6565b6113b46001600160a01b0383168887611833565b505f9695505050505050565b6113ca82826118c2565b60208201516001600160a01b03166113f55760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b031663b16a19de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114599190612556565b6001600160a01b0316825f01516001600160a01b03161461148d57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f29190612614565b6114fc9190612634565b61150790600a61272d565b8260800151101561152b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115909190612614565b61159a9190612634565b6115a590600a61272d565b8260a0015110156115c9576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611647835f015184602001516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611615573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116399190612556565b670de0b6b3a7640000610e82565b90505b92915050565b611658611be3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f6104bc61172c8585611740565b83906b033b2e3c9fd0803ce80000006117ab565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015611787573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061164791906122a0565b5f825f1904841183021582026117bf575f80fd5b5091020490565b6040516001600160a01b03848116602483015283811660448301526064820183905261182d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119d6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118848482611a41565b61182d576040516001600160a01b0384811660248301525f60448301526118b891869182169063095ea7b3906064016117fb565b61182d84826119d6565b6103e8826080015110156118e9576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361190e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061193857508161010001518260e00151611935919061273b565b15155b156119565760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119825750670de0b6b3a7640000826101c0015160200151115b8061199d5750670de0b6b3a7640000826101c0015160400151115b806119b85750670de0b6b3a7640000826101c0015160600151115b156115c9576040516322f72cc360e11b815260040160405180910390fd5b5f6119ea6001600160a01b03841683611ade565b905080515f14158015611a0e575080806020019051810190611a0c919061275a565b155b15611a3c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a5c9190612775565b5f604051808303815f865af19150503d805f8114611a95576040519150601f19603f3d011682016040523d82523d5f602084013e611a9a565b606091505b5091509150818015611ac4575080511580611ac4575080806020019051810190611ac4919061275a565b80156106dd5750505050506001600160a01b03163b151590565b606061164783835f845f80856001600160a01b03168486604051611b029190612775565b5f6040518083038185875af1925050503d805f8114611b3c576040519150601f19603f3d011682016040523d82523d5f602084013e611b41565b606091505b5091509150611b51868383611b5b565b9695505050505050565b606082611b7057611b6b82611bb7565b6104bf565b8151158015611b8757506001600160a01b0384163b155b15611bb057604051639996b31560e01b81526001600160a01b0385166004820152602401611a33565b50806104bf565b805115611bc75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cb260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cd1578181015183820152602001611cb9565b50505f910152565b5f8151808452611cf0816020860160208601611cb7565b601f01601f19169290920160200192915050565b602081525f6116476020830184611cd9565b6001600160a01b0381168114611be0575f80fd5b8035611d3581611d16565b919050565b5f805f60608486031215611d4c575f80fd5b8335611d5781611d16565b92506020840135611d6781611d16565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611daf57611daf611d78565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611daf57611daf611d78565b8015158114611be0575f80fd5b5f67ffffffffffffffff80841115611e0057611e00611d78565b604051601f8501601f19908116603f01168101908282118183101715611e2857611e28611d78565b81604052809350858152868686011115611e40575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611e68575f80fd5b61164783833560208501611de6565b5f805f805f60a08688031215611e8b575f80fd5b853594506020860135611e9d81611d16565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ec7575f80fd5b908701906060828a031215611eda575f80fd5b611ee2611d8c565b8235611eed81611d16565b81526020830135611efd81611dd9565b6020820152604083013582811115611f13575f80fd5b611f1f8b828601611e59565b6040830152508093505050509295509295909350565b5f60208284031215611f45575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611fd9575f80fd5b6040516080810181811067ffffffffffffffff82111715611ffc57611ffc611d78565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561203e575f80fd5b612046611db5565b905061205182611d2a565b815261205f60208301611d2a565b602082015261207060408301611d2a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406120cd818401611d2a565b908201526101606120df838201611d2a565b908201526101806120f1838201611d2a565b908201526101a0612103838201611d2a565b908201526101c061211684848301611fc9565b9082015292915050565b5f805f805f6102c08688031215612135575f80fd5b85359450612146876020880161202d565b935061026086013567ffffffffffffffff811115612162575f80fd5b61216e88828901611e59565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561219e575f80fd5b85359450602086013567ffffffffffffffff808211156121bc575f80fd5b818801915088601f8301126121cf575f80fd5b6121de89833560208501611de6565b95506121ed8960408a0161202d565b9450610280880135915080821115612203575f80fd5b5061221088828901611e59565b959894975092956102a001359392505050565b600181811c9082168061223757607f821691505b60208210810361225557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611b5160c0840182611cd9565b5f602082840312156122b0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561164a5761164a6122b7565b81516001600160a01b031681526102408101602083015161230a60208401826001600160a01b03169052565b50604083015161232560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161238b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611fc1565b80516001600160a01b03168252602081015161241b60208401826001600160a01b03169052565b50604081015161243660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124a8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261182d565b5f6102c061251f83886123f4565b6001600160a01b038616610260840152610280830181905261254381840186611cd9565b915050826102a083015295945050505050565b5f60208284031215612566575f80fd5b81516104bf81611d16565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125a58184018e611cd9565b90506125b4602084018d6123f4565b6001600160a01b038b81166102808501528382036102a08501526125d8828c611cd9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612624575f80fd5b815160ff811681146104bf575f80fd5b60ff828116828216039081111561164a5761164a6122b7565b600181815b8085111561268757815f190482111561266d5761266d6122b7565b8085161561267a57918102915b93841c9390800290612652565b509250929050565b5f8261269d5750600161164a565b816126a957505f61164a565b81600181146126bf57600281146126c9576126e5565b600191505061164a565b60ff8411156126da576126da6122b7565b50506001821b61164a565b5060208310610133831016604e8410600b8410161715612708575081810a61164a565b612712838361264d565b805f1904821115612725576127256122b7565b029392505050565b5f61164760ff84168361268f565b5f8261275557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561276a575f80fd5b81516104bf81611dd9565b5f8251612786818460208701611cb7565b919091019291505056fe416176654c32487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220221533949a87f7cc84d3a71967c7dbfdea08b62f748e6447af89f6e1d36f741d64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts deleted file mode 100644 index 2a27b1255..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts +++ /dev/null @@ -1,1534 +0,0 @@ -export declare const AaveL2Target0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveL2Target0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map deleted file mode 100644 index 1c4976bb7..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target0.d.ts","sourceRoot":"","sources":["../src/AaveL2Target0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy2D4pmC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClsmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0.js b/packages/hyperdrive-artifacts/dist/AaveL2Target0.js deleted file mode 100644 index 5915e0f3d..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0.js +++ /dev/null @@ -1,1940 +0,0 @@ -export const AaveL2Target0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620046513803806200465183398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613db66200089b5f395f81816115080152818161260d0152818161265901528181612aa00152612d1c01525f8181610d6c015261237401525f8181610d3d015261233701525f8181610c1901528181610e9c01528181610f2a01528181610fb8015281816110460152818161168e01528181611724015281816118e601528181611efe01528181611fd2015261212301525f610e0401525f8181610dde015261251901525f8181610db801526124f301525f8181610d9201526124cd01525f61115101525f61112b01525f61110501525f6110df01525f8181610e76015261253f01525f8181610e2a015281816112dc01526128fe01525f8181610e500152612c5d01525f818161061b01528181610d0e01528181611e730152612bb301525f818161074501528181610cdf01528181611279015281816125ec0152818161263801528181612a5a0152612b3b0152613db65ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612fbd565b61056c565b6040516102579190613021565b60405180910390f35b61027361026e366004613047565b6105a3565b005b61027361028336600461306f565b6105ac565b61024a6105b5565b61024a6105f6565b6102a061060d565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613098565b61064c565b6102736102d9366004613169565b610668565b6102736102ec3660046131f8565b61067e565b6103046102ff366004612fbd565b610691565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461323d565b6106fa565b604051908152602001610257565b61035f61073f565b60405160ff9091168152602001610257565b61034961037f36600461327c565b6107d7565b61034961080f565b61034961039a3660046132aa565b61082d565b6103b26103ad366004613047565b610837565b6040519015158152602001610257565b61024a6103d0366004612fbd565b610856565b6102736103e33660046132e1565b610864565b61024a6108b2565b6103f86108e7565b6040516102579190613328565b6102736104133660046133c9565b5050565b610349610425366004613047565b610be0565b6102a0610c0b565b6102736104403660046133f5565b610c4a565b6102736104533660046133c9565b610c5b565b610273610466366004613047565b50565b610471610cc6565b604051610257919061342a565b61034961048c366004612fbd565b611186565b61034961049f366004612fbd565b611193565b6104b76104b2366004613550565b6111b4565b604051610257919061358f565b6102a061126b565b6103496112aa565b6103496104e2366004612fbd565b6112c3565b6103496104f5366004612fbd565b6112d0565b610502611306565b60405161025791906135d2565b61027361051d3660046136e3565b611411565b6103b261053036600461373e565b611459565b61053d61149c565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114fa565b606061059e61057a83611539565b60405160200161058a9190613021565b60405160208183030381529060405261165f565b919050565b61046681611683565b610466816118e4565b60606105f36040518060400160405280601081526020016f416176654c324879706572647269766560801b81525060405160200161058a9190613021565b90565b60606105f3600160405160200161058a919061376a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b61065d8989898989898989896119fc565b505050505050505050565b610676868686868686611bee565b505050505050565b61068b8484848433611ca1565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610738910161058a565b9392505050565b5f6105f37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c39190613817565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610809910161058a565b92915050565b5f6105f361081b611e5c565b60405160200161058a91815260200190565b5f61080982611ee9565b5f61059e6108448361211f565b6040805191151560208301520161058a565b606061059e61057a836121fd565b8361086e816122f9565b6001600160a01b0316336001600160a01b03161461089f57604051632aab8bd360e01b815260040160405180910390fd5b6108ab858585856123b6565b5050505050565b60606105f360405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190613021565b610951604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095a612422565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c4919061385a565b6109ce919061386d565b90505f8215610add5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109fa85612434565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acd9190613880565b509050610ada81846125be565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bad57610ba884866125d2565b610baf565b5f5b81526003546001600160801b0316602091820152604051919250610bd99161058a91849101613328565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b610c56838383336123b6565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cce612ee9565b6105f36040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1a91906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa891906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611012573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103691906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c491906138ae565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061342a565b5f61059e61081b836125e6565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111d0576111d06138c9565b6040519080825280602002602001820160405280156111f9578160200160208202803683370190505b5090505f5b8381101561124f575f858583818110611219576112196138dd565b9050602002013590505f815490508084848151811061123a5761123a6138dd565b602090810291909101015250506001016111fe565b506112648160405160200161058a919061358f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b5f6105f360095460405160200161058a91815260200190565b5f61059e61081b83612632565b5f61059e61081b6113017f00000000000000000000000000000000000000000000000000000000000000008561385a565b61267e565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f3600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461141b816122f9565b6001600160a01b0316336001600160a01b03161461144c57604051632aab8bd360e01b815260040160405180910390fd5b6106768686868686611ca1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610809910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f39060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b606060f882901c6001600160f81b0383165f611554826126be565b90505f83600381111561156957611569613832565b0361159b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611657565b60018360038111156115af576115af613832565b036115db57806040516020016115c591906138f1565b6040516020818303038152906040529350611657565b60028360038111156115ef576115ef613832565b0361160557806040516020016115c59190613929565b600383600381111561161957611619613832565b03611657576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167a9190613021565b60405180910390fd5b61168b612770565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170c91906138ae565b9050336001600160a01b038216148015906117b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a291906138ae565b6001600160a01b0316336001600160a01b031614155b80156117ca57506117c83361211f565b155b156117e7576040516282b42960e81b815260040160405180910390fd5b5f6117f0611e5c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613962565b90506118716001600160a01b0385168483612798565b8161187a611e5c565b14611898576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611940573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196491906138ae565b6001600160a01b0316336001600160a01b03161415801561198b57506119893361211f565b155b156119a8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f190831515815260200190565b60405180910390a150565b83421115611a1d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a445760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0b57506001600160a01b038516155b15611c295760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c495760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9857611c90858583818110611c6857611c686138dd565b905060200201358888868686818110611c8357611c836138dd565b9050602002013533611ca1565b600101611c4b565b50505050505050565b6001600160a01b0384161580611cbe57506001600160a01b038316155b15611cdc5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9490849061386d565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcd90849061386d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0390849061385a565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee49190613962565b905090565b5f611ef2612770565b611efb826127ea565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906138ae565b90506001600160a01b038116611f956020850185613047565b6001600160a01b031614611fbc57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205091906138ae565b6001600160a01b0316336001600160a01b031614155b801561207857506120763361211f565b155b15612095576040516282b42960e81b815260040160405180910390fd5b5f61209e612422565b600980545f9091559091506120b481838761281f565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f360408a0160208b0161306f565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a391908101906139d4565b90505f5b81518110156121f457836001600160a01b03168282815181106121cc576121cc6138dd565b60200260200101516001600160a01b0316036121ec575060019392505050565b6001016121a7565b505f9392505050565b606060f882901c6001600160f81b0383165f612218826126be565b90505f83600381111561222d5761222d613832565b0361225f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611657565b600183600381111561227357612273613832565b0361228957806040516020016115c59190613a81565b600283600381111561229d5761229d613832565b036122b357806040516020016115c59190613ab8565b60038360038111156122c7576122c7613832565b0361165757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee4670de0b6b3a76400006125e6565b61248c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258491166128b5565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b6929004166128b5565b905292915050565b5f6107388383670de0b6b3a7640000612929565b5f61073883670de0b6b3a764000084612929565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612944565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296e565b5f6126a3600b5f612690600286612991565b81526020019081526020015f20546129c5565b6126b4600b5f612690600187612991565b6108099190613ae3565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612762576126f7600a86613b16565b61270290603061385a565b60f81b826001612712848761386d565b61271c919061386d565b8151811061272c5761272c6138dd565b60200101906001600160f81b03191690815f1a9053508061274c81613b29565b915061275b9050600a86613b41565b94506126e6565b918290030190815292915050565b60025f540361279257604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c569084906129f2565b5f6127f86020830183613047565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282b85856125be565b905061283681612632565b9450845f03612848575f915050610738565b84915061285b604084016020850161306f565b1561288a57612883856128716020860186613047565b61287e6040870187613b54565b612a53565b91506128ad565b6128ad8561289b6020860186613047565b6128a86040870187613b54565b612bb1565b509392505050565b5f80670de0b6b3a76400006128c8612c56565b6128d29190613b97565b90508083116128e1575f6128eb565b6128eb818461386d565b9150610738612922670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b97565b83906125d2565b5f825f19048411830215820261293d575f80fd5b5091020490565b5f6129666129528585612c81565b83906b033b2e3c9fd0803ce8000000612929565b949350505050565b5f6129666b033b2e3c9fd0803ce80000006129898686612c81565b849190612929565b5f6001600160f81b038211156129ba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a066001600160a01b03841683612cec565b905080515f14158015612a2a575080806020019051810190612a289190613bae565b155b15610c5657604051635274afe760e01b81526001600160a01b038416600482015260240161167a565b5f80612a877f0000000000000000000000000000000000000000000000000000000000000000612a82886125e6565b612cf9565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613962565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ba79190613bae565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612bea876125e6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612c32573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190613bae565b5f611ee4427f0000000000000000000000000000000000000000000000000000000000000000612db6565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107389190613962565b606061073883835f612dcb565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d869190613c44565b60e08101519091505f5f198514612d9d5784612da6565b6001600160801b035b60101b9190910195945050505050565b5f612dc18284613b16565b610738908461386d565b606081471015612df05760405163cd78605960e01b815230600482015260240161167a565b5f80856001600160a01b03168486604051612e0b9190613d65565b5f6040518083038185875af1925050503d805f8114612e45576040519150601f19603f3d011682016040523d82523d5f602084013e612e4a565b606091505b5091509150612e5a868383612e64565b9695505050505050565b606082612e7957612e7482612ec0565b610738565b8151158015612e9057506001600160a01b0384163b155b15612eb957604051639996b31560e01b81526001600160a01b038516600482015260240161167a565b5080610738565b805115612ed05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612fb860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612fcd575f80fd5b5035919050565b5f5b83811015612fee578181015183820152602001612fd6565b50505f910152565b5f815180845261300d816020860160208601612fd4565b601f01601f19169290920160200192915050565b602081525f6107386020830184612ff6565b6001600160a01b0381168114610466575f80fd5b5f60208284031215613057575f80fd5b813561073881613033565b8015158114610466575f80fd5b5f6020828403121561307f575f80fd5b813561073881613062565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c0312156130b1575f80fd5b8935985060208a0135975060408a01356130ca81613033565b965060608a01356130da81613033565b955060808a01356130ea81613062565b945060a08a0135935060c08a01356131018161308a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613131575f80fd5b50813567ffffffffffffffff811115613148575f80fd5b6020830191508360208260051b8501011115613162575f80fd5b9250929050565b5f805f805f806080878903121561317e575f80fd5b863561318981613033565b9550602087013561319981613033565b9450604087013567ffffffffffffffff808211156131b5575f80fd5b6131c18a838b01613121565b909650945060608901359150808211156131d9575f80fd5b506131e689828a01613121565b979a9699509497509295939492505050565b5f805f806080858703121561320b575f80fd5b84359350602085013561321d81613033565b9250604085013561322d81613033565b9396929550929360600135925050565b5f805f6060848603121561324f575f80fd5b83359250602084013561326181613033565b9150604084013561327181613033565b809150509250925092565b5f806040838503121561328d575f80fd5b82359150602083013561329f81613033565b809150509250929050565b5f602082840312156132ba575f80fd5b813567ffffffffffffffff8111156132d0575f80fd5b820160608185031215610738575f80fd5b5f805f80608085870312156132f4575f80fd5b84359350602085013561330681613033565b925060408501359150606085013561331d81613033565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156133da575f80fd5b82356133e581613033565b9150602083013561329f81613062565b5f805f60608486031215613407575f80fd5b83359250602084013561341981613033565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161345660208401826001600160a01b03169052565b50604083015161347160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516134e3828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613561575f80fd5b823567ffffffffffffffff811115613577575f80fd5b61358385828601613121565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156135c6578351835292840192918401916001016135aa565b50909695505050505050565b81516001600160801b03168152610180810160208301516135fe60208401826001600160801b03169052565b50604083015161361960408401826001600160801b03169052565b50606083015161363460608401826001600160801b03169052565b5060808301516136496080840182600f0b9052565b5060a083015161366460a08401826001600160801b03169052565b5060c083015161367f60c08401826001600160801b03169052565b5060e083015161369a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613548565b5f805f805f60a086880312156136f7575f80fd5b85359450602086013561370981613033565b9350604086013561371981613033565b925060608601359150608086013561373081613033565b809150509295509295909350565b5f806040838503121561374f575f80fd5b823561375a81613033565b9150602083013561329f81613033565b5f60208083525f84545f60018260011c9150600183168061378c57607f831692505b6020831081036137aa57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156137c957600181146137df57613808565b60ff198616825284151560051b82019650613808565b5f8b8152602090205f5b86811015613802578154848201529085019089016137e9565b83019750505b50949998505050505050505050565b5f60208284031215613827575f80fd5b81516107388161308a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080957610809613846565b8181038181111561080957610809613846565b5f8060408385031215613891575f80fd5b82519150602083015161329f81613062565b805161059e81613033565b5f602082840312156138be575f80fd5b815161073881613033565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161391c816011850160208701612fd4565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613955816012850160208701612fd4565b9190910160120192915050565b5f60208284031215613972575f80fd5b5051919050565b6040516101e0810167ffffffffffffffff8111828210171561399d5761399d6138c9565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156139cc576139cc6138c9565b604052919050565b5f60208083850312156139e5575f80fd5b825167ffffffffffffffff808211156139fc575f80fd5b818501915085601f830112613a0f575f80fd5b815181811115613a2157613a216138c9565b8060051b9150613a328483016139a3565b8181529183018401918481019088841115613a4b575f80fd5b938501935b83851015613a755784519250613a6583613033565b8282529385019390850190613a50565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613aab816010850160208701612fd4565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161391c816011850160208701612fd4565b8181035f83128015838313168383128216171561126457611264613846565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2457613b24613b02565b500690565b5f60018201613b3a57613b3a613846565b5060010190565b5f82613b4f57613b4f613b02565b500490565b5f808335601e19843603018112613b69575f80fd5b83018035915067ffffffffffffffff821115613b83575f80fd5b602001915036819003821315613162575f80fd5b808202811582820484141761080957610809613846565b5f60208284031215613bbe575f80fd5b815161073881613062565b5f60208284031215613bd9575f80fd5b6040516020810181811067ffffffffffffffff82111715613bfc57613bfc6138c9565b6040529151825250919050565b80516001600160801b038116811461059e575f80fd5b805164ffffffffff8116811461059e575f80fd5b805161ffff8116811461059e575f80fd5b5f6101e08284031215613c55575f80fd5b613c5d613979565b613c678484613bc9565b8152613c7560208401613c09565b6020820152613c8660408401613c09565b6040820152613c9760608401613c09565b6060820152613ca860808401613c09565b6080820152613cb960a08401613c09565b60a0820152613cca60c08401613c1f565b60c0820152613cdb60e08401613c33565b60e0820152610100613cee8185016138a3565b90820152610120613d008482016138a3565b90820152610140613d128482016138a3565b90820152610160613d248482016138a3565b90820152610180613d36848201613c09565b908201526101a0613d48848201613c09565b908201526101c0613d5a848201613c09565b908201529392505050565b5f8251613d76818460208701612fd4565b919091019291505056fea2646970667358221220fb314eaa35e42ba247109717bfab07ab00f87c656f28a474b0abac2aaa388e2564736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts deleted file mode 100644 index 88c4ddcdf..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map deleted file mode 100644 index 4ffe2d8bc..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target0Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IgvrC,KAAK,MAAM,EAAE;;;;CAI9xrC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js deleted file mode 100644 index 8b0ca8736..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b628061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61465180620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620046513803806200465183398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613db66200089b5f395f81816115080152818161260d0152818161265901528181612aa00152612d1c01525f8181610d6c015261237401525f8181610d3d015261233701525f8181610c1901528181610e9c01528181610f2a01528181610fb8015281816110460152818161168e01528181611724015281816118e601528181611efe01528181611fd2015261212301525f610e0401525f8181610dde015261251901525f8181610db801526124f301525f8181610d9201526124cd01525f61115101525f61112b01525f61110501525f6110df01525f8181610e76015261253f01525f8181610e2a015281816112dc01526128fe01525f8181610e500152612c5d01525f818161061b01528181610d0e01528181611e730152612bb301525f818161074501528181610cdf01528181611279015281816125ec0152818161263801528181612a5a0152612b3b0152613db65ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612fbd565b61056c565b6040516102579190613021565b60405180910390f35b61027361026e366004613047565b6105a3565b005b61027361028336600461306f565b6105ac565b61024a6105b5565b61024a6105f6565b6102a061060d565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613098565b61064c565b6102736102d9366004613169565b610668565b6102736102ec3660046131f8565b61067e565b6103046102ff366004612fbd565b610691565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461323d565b6106fa565b604051908152602001610257565b61035f61073f565b60405160ff9091168152602001610257565b61034961037f36600461327c565b6107d7565b61034961080f565b61034961039a3660046132aa565b61082d565b6103b26103ad366004613047565b610837565b6040519015158152602001610257565b61024a6103d0366004612fbd565b610856565b6102736103e33660046132e1565b610864565b61024a6108b2565b6103f86108e7565b6040516102579190613328565b6102736104133660046133c9565b5050565b610349610425366004613047565b610be0565b6102a0610c0b565b6102736104403660046133f5565b610c4a565b6102736104533660046133c9565b610c5b565b610273610466366004613047565b50565b610471610cc6565b604051610257919061342a565b61034961048c366004612fbd565b611186565b61034961049f366004612fbd565b611193565b6104b76104b2366004613550565b6111b4565b604051610257919061358f565b6102a061126b565b6103496112aa565b6103496104e2366004612fbd565b6112c3565b6103496104f5366004612fbd565b6112d0565b610502611306565b60405161025791906135d2565b61027361051d3660046136e3565b611411565b6103b261053036600461373e565b611459565b61053d61149c565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114fa565b606061059e61057a83611539565b60405160200161058a9190613021565b60405160208183030381529060405261165f565b919050565b61046681611683565b610466816118e4565b60606105f36040518060400160405280601081526020016f416176654c324879706572647269766560801b81525060405160200161058a9190613021565b90565b60606105f3600160405160200161058a919061376a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b61065d8989898989898989896119fc565b505050505050505050565b610676868686868686611bee565b505050505050565b61068b8484848433611ca1565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610738910161058a565b9392505050565b5f6105f37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c39190613817565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610809910161058a565b92915050565b5f6105f361081b611e5c565b60405160200161058a91815260200190565b5f61080982611ee9565b5f61059e6108448361211f565b6040805191151560208301520161058a565b606061059e61057a836121fd565b8361086e816122f9565b6001600160a01b0316336001600160a01b03161461089f57604051632aab8bd360e01b815260040160405180910390fd5b6108ab858585856123b6565b5050505050565b60606105f360405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190613021565b610951604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095a612422565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c4919061385a565b6109ce919061386d565b90505f8215610add5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109fa85612434565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acd9190613880565b509050610ada81846125be565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bad57610ba884866125d2565b610baf565b5f5b81526003546001600160801b0316602091820152604051919250610bd99161058a91849101613328565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b610c56838383336123b6565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cce612ee9565b6105f36040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1a91906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa891906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611012573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103691906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c491906138ae565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061342a565b5f61059e61081b836125e6565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111d0576111d06138c9565b6040519080825280602002602001820160405280156111f9578160200160208202803683370190505b5090505f5b8381101561124f575f858583818110611219576112196138dd565b9050602002013590505f815490508084848151811061123a5761123a6138dd565b602090810291909101015250506001016111fe565b506112648160405160200161058a919061358f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b5f6105f360095460405160200161058a91815260200190565b5f61059e61081b83612632565b5f61059e61081b6113017f00000000000000000000000000000000000000000000000000000000000000008561385a565b61267e565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f3600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461141b816122f9565b6001600160a01b0316336001600160a01b03161461144c57604051632aab8bd360e01b815260040160405180910390fd5b6106768686868686611ca1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610809910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f39060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b606060f882901c6001600160f81b0383165f611554826126be565b90505f83600381111561156957611569613832565b0361159b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611657565b60018360038111156115af576115af613832565b036115db57806040516020016115c591906138f1565b6040516020818303038152906040529350611657565b60028360038111156115ef576115ef613832565b0361160557806040516020016115c59190613929565b600383600381111561161957611619613832565b03611657576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167a9190613021565b60405180910390fd5b61168b612770565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170c91906138ae565b9050336001600160a01b038216148015906117b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a291906138ae565b6001600160a01b0316336001600160a01b031614155b80156117ca57506117c83361211f565b155b156117e7576040516282b42960e81b815260040160405180910390fd5b5f6117f0611e5c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613962565b90506118716001600160a01b0385168483612798565b8161187a611e5c565b14611898576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611940573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196491906138ae565b6001600160a01b0316336001600160a01b03161415801561198b57506119893361211f565b155b156119a8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f190831515815260200190565b60405180910390a150565b83421115611a1d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a445760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0b57506001600160a01b038516155b15611c295760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c495760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9857611c90858583818110611c6857611c686138dd565b905060200201358888868686818110611c8357611c836138dd565b9050602002013533611ca1565b600101611c4b565b50505050505050565b6001600160a01b0384161580611cbe57506001600160a01b038316155b15611cdc5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9490849061386d565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcd90849061386d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0390849061385a565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee49190613962565b905090565b5f611ef2612770565b611efb826127ea565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906138ae565b90506001600160a01b038116611f956020850185613047565b6001600160a01b031614611fbc57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205091906138ae565b6001600160a01b0316336001600160a01b031614155b801561207857506120763361211f565b155b15612095576040516282b42960e81b815260040160405180910390fd5b5f61209e612422565b600980545f9091559091506120b481838761281f565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f360408a0160208b0161306f565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a391908101906139d4565b90505f5b81518110156121f457836001600160a01b03168282815181106121cc576121cc6138dd565b60200260200101516001600160a01b0316036121ec575060019392505050565b6001016121a7565b505f9392505050565b606060f882901c6001600160f81b0383165f612218826126be565b90505f83600381111561222d5761222d613832565b0361225f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611657565b600183600381111561227357612273613832565b0361228957806040516020016115c59190613a81565b600283600381111561229d5761229d613832565b036122b357806040516020016115c59190613ab8565b60038360038111156122c7576122c7613832565b0361165757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee4670de0b6b3a76400006125e6565b61248c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258491166128b5565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b6929004166128b5565b905292915050565b5f6107388383670de0b6b3a7640000612929565b5f61073883670de0b6b3a764000084612929565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612944565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296e565b5f6126a3600b5f612690600286612991565b81526020019081526020015f20546129c5565b6126b4600b5f612690600187612991565b6108099190613ae3565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612762576126f7600a86613b16565b61270290603061385a565b60f81b826001612712848761386d565b61271c919061386d565b8151811061272c5761272c6138dd565b60200101906001600160f81b03191690815f1a9053508061274c81613b29565b915061275b9050600a86613b41565b94506126e6565b918290030190815292915050565b60025f540361279257604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c569084906129f2565b5f6127f86020830183613047565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282b85856125be565b905061283681612632565b9450845f03612848575f915050610738565b84915061285b604084016020850161306f565b1561288a57612883856128716020860186613047565b61287e6040870187613b54565b612a53565b91506128ad565b6128ad8561289b6020860186613047565b6128a86040870187613b54565b612bb1565b509392505050565b5f80670de0b6b3a76400006128c8612c56565b6128d29190613b97565b90508083116128e1575f6128eb565b6128eb818461386d565b9150610738612922670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b97565b83906125d2565b5f825f19048411830215820261293d575f80fd5b5091020490565b5f6129666129528585612c81565b83906b033b2e3c9fd0803ce8000000612929565b949350505050565b5f6129666b033b2e3c9fd0803ce80000006129898686612c81565b849190612929565b5f6001600160f81b038211156129ba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a066001600160a01b03841683612cec565b905080515f14158015612a2a575080806020019051810190612a289190613bae565b155b15610c5657604051635274afe760e01b81526001600160a01b038416600482015260240161167a565b5f80612a877f0000000000000000000000000000000000000000000000000000000000000000612a82886125e6565b612cf9565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613962565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ba79190613bae565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612bea876125e6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612c32573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190613bae565b5f611ee4427f0000000000000000000000000000000000000000000000000000000000000000612db6565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107389190613962565b606061073883835f612dcb565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d869190613c44565b60e08101519091505f5f198514612d9d5784612da6565b6001600160801b035b60101b9190910195945050505050565b5f612dc18284613b16565b610738908461386d565b606081471015612df05760405163cd78605960e01b815230600482015260240161167a565b5f80856001600160a01b03168486604051612e0b9190613d65565b5f6040518083038185875af1925050503d805f8114612e45576040519150601f19603f3d011682016040523d82523d5f602084013e612e4a565b606091505b5091509150612e5a868383612e64565b9695505050505050565b606082612e7957612e7482612ec0565b610738565b8151158015612e9057506001600160a01b0384163b155b15612eb957604051639996b31560e01b81526001600160a01b038516600482015260240161167a565b5080610738565b805115612ed05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612fb860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612fcd575f80fd5b5035919050565b5f5b83811015612fee578181015183820152602001612fd6565b50505f910152565b5f815180845261300d816020860160208601612fd4565b601f01601f19169290920160200192915050565b602081525f6107386020830184612ff6565b6001600160a01b0381168114610466575f80fd5b5f60208284031215613057575f80fd5b813561073881613033565b8015158114610466575f80fd5b5f6020828403121561307f575f80fd5b813561073881613062565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c0312156130b1575f80fd5b8935985060208a0135975060408a01356130ca81613033565b965060608a01356130da81613033565b955060808a01356130ea81613062565b945060a08a0135935060c08a01356131018161308a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613131575f80fd5b50813567ffffffffffffffff811115613148575f80fd5b6020830191508360208260051b8501011115613162575f80fd5b9250929050565b5f805f805f806080878903121561317e575f80fd5b863561318981613033565b9550602087013561319981613033565b9450604087013567ffffffffffffffff808211156131b5575f80fd5b6131c18a838b01613121565b909650945060608901359150808211156131d9575f80fd5b506131e689828a01613121565b979a9699509497509295939492505050565b5f805f806080858703121561320b575f80fd5b84359350602085013561321d81613033565b9250604085013561322d81613033565b9396929550929360600135925050565b5f805f6060848603121561324f575f80fd5b83359250602084013561326181613033565b9150604084013561327181613033565b809150509250925092565b5f806040838503121561328d575f80fd5b82359150602083013561329f81613033565b809150509250929050565b5f602082840312156132ba575f80fd5b813567ffffffffffffffff8111156132d0575f80fd5b820160608185031215610738575f80fd5b5f805f80608085870312156132f4575f80fd5b84359350602085013561330681613033565b925060408501359150606085013561331d81613033565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156133da575f80fd5b82356133e581613033565b9150602083013561329f81613062565b5f805f60608486031215613407575f80fd5b83359250602084013561341981613033565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161345660208401826001600160a01b03169052565b50604083015161347160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516134e3828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613561575f80fd5b823567ffffffffffffffff811115613577575f80fd5b61358385828601613121565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156135c6578351835292840192918401916001016135aa565b50909695505050505050565b81516001600160801b03168152610180810160208301516135fe60208401826001600160801b03169052565b50604083015161361960408401826001600160801b03169052565b50606083015161363460608401826001600160801b03169052565b5060808301516136496080840182600f0b9052565b5060a083015161366460a08401826001600160801b03169052565b5060c083015161367f60c08401826001600160801b03169052565b5060e083015161369a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613548565b5f805f805f60a086880312156136f7575f80fd5b85359450602086013561370981613033565b9350604086013561371981613033565b925060608601359150608086013561373081613033565b809150509295509295909350565b5f806040838503121561374f575f80fd5b823561375a81613033565b9150602083013561329f81613033565b5f60208083525f84545f60018260011c9150600183168061378c57607f831692505b6020831081036137aa57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156137c957600181146137df57613808565b60ff198616825284151560051b82019650613808565b5f8b8152602090205f5b86811015613802578154848201529085019089016137e9565b83019750505b50949998505050505050505050565b5f60208284031215613827575f80fd5b81516107388161308a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080957610809613846565b8181038181111561080957610809613846565b5f8060408385031215613891575f80fd5b82519150602083015161329f81613062565b805161059e81613033565b5f602082840312156138be575f80fd5b815161073881613033565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161391c816011850160208701612fd4565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613955816012850160208701612fd4565b9190910160120192915050565b5f60208284031215613972575f80fd5b5051919050565b6040516101e0810167ffffffffffffffff8111828210171561399d5761399d6138c9565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156139cc576139cc6138c9565b604052919050565b5f60208083850312156139e5575f80fd5b825167ffffffffffffffff808211156139fc575f80fd5b818501915085601f830112613a0f575f80fd5b815181811115613a2157613a216138c9565b8060051b9150613a328483016139a3565b8181529183018401918481019088841115613a4b575f80fd5b938501935b83851015613a755784519250613a6583613033565b8282529385019390850190613a50565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613aab816010850160208701612fd4565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161391c816011850160208701612fd4565b8181035f83128015838313168383128216171561126457611264613846565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2457613b24613b02565b500690565b5f60018201613b3a57613b3a613846565b5060010190565b5f82613b4f57613b4f613b02565b500490565b5f808335601e19843603018112613b69575f80fd5b83018035915067ffffffffffffffff821115613b83575f80fd5b602001915036819003821315613162575f80fd5b808202811582820484141761080957610809613846565b5f60208284031215613bbe575f80fd5b815161073881613062565b5f60208284031215613bd9575f80fd5b6040516020810181811067ffffffffffffffff82111715613bfc57613bfc6138c9565b6040529151825250919050565b80516001600160801b038116811461059e575f80fd5b805164ffffffffff8116811461059e575f80fd5b805161ffff8116811461059e575f80fd5b5f6101e08284031215613c55575f80fd5b613c5d613979565b613c678484613bc9565b8152613c7560208401613c09565b6020820152613c8660408401613c09565b6040820152613c9760608401613c09565b6060820152613ca860808401613c09565b6080820152613cb960a08401613c09565b60a0820152613cca60c08401613c1f565b60c0820152613cdb60e08401613c33565b60e0820152610100613cee8185016138a3565b90820152610120613d008482016138a3565b90820152610140613d128482016138a3565b90820152610160613d248482016138a3565b90820152610180613d36848201613c09565b908201526101a0613d48848201613c09565b908201526101c0613d5a848201613c09565b908201529392505050565b5f8251613d76818460208701612fd4565b919091019291505056fea2646970667358221220fb314eaa35e42ba247109717bfab07ab00f87c656f28a474b0abac2aaa388e2564736f6c63430008160033a26469706673582212201d64b3b20d134b1a648626a06df5b744d017d74f8e700714061db00519cb319264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts deleted file mode 100644 index 189b8d837..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const AaveL2Target1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=AaveL2Target1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map deleted file mode 100644 index a401ae4a9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target1.d.ts","sourceRoot":"","sources":["../src/AaveL2Target1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9BgmmC,KAAK,MAAM,EAAE;;;;;CAKtomC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1.js b/packages/hyperdrive-artifacts/dist/AaveL2Target1.js deleted file mode 100644 index fb6fb87d3..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1.js +++ /dev/null @@ -1,984 +0,0 @@ -export const AaveL2Target1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620046333803806200463383398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d6a620008c95f395f818161199101528181612546015281816125b80152612e4c01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d0701525f818161139301528181611791015281816117f4015281816128f00152818161292c01528181612b240152612ce101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cbb01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d2d01525f81816107e701528181610ec4015281816116ef015281816120fc015261339c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f6126cb01525f8181611970015281816125250152818161257201526126530152613d6a5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461362c565b610070565b60405190815260200160405180910390f35b61004b61006b36600461362c565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061369a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136ad565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136e0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613708565b6102bd8a6102b78d8f61369a565b90611584565b8d6102cb60408c018c613723565b6040516102df98979695949392919061378e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061369a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137d5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136e0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613708565b8a61050260408b018b613723565b60405161051597969594939291906137fc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136e0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61369a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361369a565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f828254610878919061369a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361369a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c4919061369a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361383c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136ad565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061389f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061383c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e96818461383c565b610ea0908961369a565b9750610eac828461369a565b610eb6908d61369a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061383c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a61383c565b9850670de0b6b3a7640000610ff0610f8b878761369a565b600254610fa9908f90600160801b90046001600160801b031661383c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661383c565b6110d191906138ba565b85670de0b6b3a76400006110e5878a61383c565b6110ef91906138ba565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138ba565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc90826138d1565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136ad565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b031661369a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b8491506115296040840160208501613708565b15611558576115518561153f60208601866136e0565b61154c6040870187613723565b61256b565b915061157b565b61157b8561156960208601866136e0565b6115766040870187613723565b6126c9565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612775565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae828461383c565b6116b8908961383c565b97506116c4818461369a565b6116ce908e61383c565b9c506116da8a8e61369a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061383c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361383c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136ad565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836127c8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138ba565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261383c565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ed565b5f6119c18284613932565b61157d908461383c565b6002546004545f916105a6916001600160801b0390911690600f0b6127c8565b5f61007d826119fb858888612504565b9061280f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a89838361383c565b9050611a986110fa828661287e565b60068054601090611aba908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361289290919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b32919061369a565b90915550611b429050818361383c565b9150611b4d82611a01565b600280545f90611b679084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b94826128a6565b600480545f90611ba8908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612892565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c52828261383c565b611c5c908461383c565b9250611c7a565b611c6d828261383c565b611c77908461369a565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612892565b9050611ccc888486612504565b611cd6908261369a565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b03169061383c565b9050805f03611d7757600191505061131b565b5f611d81856128cf565b9050805f03611d955760019250505061131b565b5f80611da283858961296a565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df29291906139c3565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e309190613a38565b91509150611e4e611e4082611321565b611e4990613a5a565b612ade565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612c72565b6040518263ffffffff1660e01b8152600401611f4c9190613a74565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613a83565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120049161369a565b61200e919061383c565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613ab1565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f4818461383c565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612892565b5f808061214061213888670de0b6b3a764000061383c565b899087612dac565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a764000061383c565b8989612dcf565b925061217f838261369a565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a764000061383c565b83906124f0565b61157d90670de0b6b3a764000061383c565b5f806121f4856121cc6119cb565b6121d6919061369a565b600254610fa9908790600160801b90046001600160801b031661383c565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a764000061383c565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612dac565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a764000061383c565b8a9088612dac565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b612303908461369a565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c91906136ad565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b61239991906136ad565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf848761369a565b6123d98587611584565b6123e3888a611584565b611cb9919061369a565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b612447612429848761383c565b61243385876124f0565b61243d888a611584565b611cb9919061383c565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612df1565b6124a4845f612df1565b6124ae91906136ad565b90505f8113156124c9576124c2818661369a565b94506124e7565b5f8112156124e7576124da81613a5a565b6124e4908661383c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dac565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612e06565b5f8061259f7f000000000000000000000000000000000000000000000000000000000000000061259a8861196a565b612e29565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612606573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061262a9190613ac5565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af115801561269b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126bf9190613adc565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846127028761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561274a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276e9190613adc565b5050505050565b5f808061279561278d88670de0b6b3a764000061383c565b899087612504565b90508615612182576127a78888611584565b91506121738a8a846127c18a670de0b6b3a764000061383c565b8989612ee6565b5f806127d48484612ef6565b9092509050806127e6576127e66113ec565b5092915050565b5f6100806127fb8585612f31565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036128265750670de0b6b3a764000061131b565b825f0361283457505f61131b565b5f61283e83611321565b90505f61285261284d86611321565b612f9c565b9050818102612869670de0b6b3a764000082613af7565b9050612874816131c1565b9695505050505050565b5f61157d83670de0b6b3a764000084612dac565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128e9906001600160801b03168461287e565b90506129157f00000000000000000000000000000000000000000000000000000000000000008261369a565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906129609083906001600160801b031661383c565b61157d919061383c565b61297261358d565b5f8061297d84612c72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129b79190613a74565b6040805180830381865af41580156129d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f59190613a83565b9350905082612a0957505f9150612ad69050565b5f612a2f612a2a84610160015185610140015161158490919063ffffffff16565b611321565b612a4f612a2a8561012001518661010001516124f090919063ffffffff16565b612a5991906136ad565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613b23565b935093509350935080612bd357505f98975050505050505050565b868414612c0457612be384611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c3557612c1483612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c6357612c4582611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c7a6135d7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d729116613353565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612da492900416613353565b905292915050565b5f825f190484118302158202612dc0575f80fd5b50910281810615159190040190565b5f80612ddf8888888888886133c7565b909250905080611ce657611ce66113ec565b5f818313612dff578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612e218686612f31565b849190612504565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb69190613c13565b60e08101519091505f5f198514612ecd5784612ed6565b6001600160801b035b60101b9190910195945050505050565b5f80612ddf8888888888886134a3565b5f805f83612f0386611321565b612f0d91906136ad565b90505f811215612f23575f809250925050612f2a565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612f78573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613ac5565b5f808213612fbd5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130409084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131da57505f919050565b680755bf798b4a1bf1e58212613203576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061287474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133666105ab565b61337091906138ba565b905080831161337f575f613389565b613389818461383c565b915061157d6133c0670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138ba565b8390612892565b5f805f6133d7898988888861355f565b9050868810156133ed575f809250925050613498565b96869003966133fc888761280f565b975087811015613412575f809250925050613498565b878103613420818688612dac565b9050670de0b6b3a764000081106134545761344d613446670de0b6b3a76400008961287e565b829061280f565b905061346c565b613469613446670de0b6b3a764000089612892565b90505b613476818661287e565b90508981101561348d575f80935093505050613498565b899003925060019150505b965096945050505050565b5f805f6134b3898988888861355f565b90506134c3866119fb898b61369a565b9750878110156134d9575f809250925050613498565b8781036134e7818688612dac565b9050670de0b6b3a764000081106135145761350d613446670de0b6b3a76400008961287e565b905061352c565b613529613446670de0b6b3a764000089612892565b90505b613536818661287e565b9050808a101561354d575f80935093505050613498565b90980398600198509650505050505050565b5f61356a858561280f565b61358361357b866119fb868b6124f0565b859085612dac565b612447919061369a565b6040518061012001604052806135a16135d7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561366a575f80fd5b85016060818803121561367b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613686565b8181035f8312801583831316838312821617156127e6576127e6613686565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136f0575f80fd5b813561157d816136cc565b8015158114610591575f80fd5b5f60208284031215613718575f80fd5b813561157d816136fb565b5f808335601e19843603018112613738575f80fd5b83018035915067ffffffffffffffff821115613752575f80fd5b602001915036819003821315612f2a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137c760e083018486613766565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137f4576137f4613686565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61382f60c083018486613766565b9998505050505050505050565b8181038181111561131b5761131b613686565b6001600160701b038181168382160190808211156127e6576127e6613686565b6001600160801b038181168382160190808211156127e6576127e6613686565b805161389a816136cc565b919050565b5f602082840312156138af575f80fd5b815161157d816136cc565b808202811582820484141761131b5761131b613686565b6001600160801b038281168282160390808211156127e6576127e6613686565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613686565b634e487b7160e01b5f52601260045260245ffd5b5f826139405761394061391e565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139d6828551613945565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a49575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6e57613a6e613686565b505f0390565b610180810161131b8284613945565b5f8060408385031215613a94575f80fd5b825191506020830151613aa6816136fb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613ad5575f80fd5b5051919050565b5f60208284031215613aec575f80fd5b815161157d816136fb565b5f82613b0557613b0561391e565b600160ff1b82145f1984141615613b1e57613b1e613686565b500590565b5f805f8060808587031215613b36575f80fd5b845193506020850151925060408501519150606085015161367b816136fb565b6040516101e0810167ffffffffffffffff81118282101715613b8657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613b9c575f80fd5b6040516020810181811067ffffffffffffffff82111715613bcb57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b038116811461389a575f80fd5b805164ffffffffff8116811461389a575f80fd5b805161ffff8116811461389a575f80fd5b5f6101e08284031215613c24575f80fd5b613c2c613b56565b613c368484613b8c565b8152613c4460208401613bd8565b6020820152613c5560408401613bd8565b6040820152613c6660608401613bd8565b6060820152613c7760808401613bd8565b6080820152613c8860a08401613bd8565b60a0820152613c9960c08401613bee565b60c0820152613caa60e08401613c02565b60e0820152610100613cbd81850161388f565b90820152610120613ccf84820161388f565b90820152610140613ce184820161388f565b90820152610160613cf384820161388f565b90820152610180613d05848201613bd8565b908201526101a0613d17848201613bd8565b908201526101c0613d29848201613bd8565b90820152939250505056fea26469706673582212201760476a5620c6f7b0b8050ced32ff71c5cef3353541f6d0eaf026c26ec7dfc764736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts deleted file mode 100644 index 50b234a5f..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map deleted file mode 100644 index ca5bcf931..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target1Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IorrC,KAAK,MAAM,EAAE;;;;CAIlurC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js deleted file mode 100644 index 5bbca68eb..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b448061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61463380620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620046333803806200463383398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d6a620008c95f395f818161199101528181612546015281816125b80152612e4c01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d0701525f818161139301528181611791015281816117f4015281816128f00152818161292c01528181612b240152612ce101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cbb01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d2d01525f81816107e701528181610ec4015281816116ef015281816120fc015261339c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f6126cb01525f8181611970015281816125250152818161257201526126530152613d6a5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461362c565b610070565b60405190815260200160405180910390f35b61004b61006b36600461362c565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061369a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136ad565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136e0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613708565b6102bd8a6102b78d8f61369a565b90611584565b8d6102cb60408c018c613723565b6040516102df98979695949392919061378e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061369a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137d5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136e0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613708565b8a61050260408b018b613723565b60405161051597969594939291906137fc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136e0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61369a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361369a565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f828254610878919061369a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361369a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c4919061369a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361383c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136ad565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061389f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061383c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e96818461383c565b610ea0908961369a565b9750610eac828461369a565b610eb6908d61369a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061383c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a61383c565b9850670de0b6b3a7640000610ff0610f8b878761369a565b600254610fa9908f90600160801b90046001600160801b031661383c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661383c565b6110d191906138ba565b85670de0b6b3a76400006110e5878a61383c565b6110ef91906138ba565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138ba565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc90826138d1565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136ad565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b031661369a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b8491506115296040840160208501613708565b15611558576115518561153f60208601866136e0565b61154c6040870187613723565b61256b565b915061157b565b61157b8561156960208601866136e0565b6115766040870187613723565b6126c9565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612775565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae828461383c565b6116b8908961383c565b97506116c4818461369a565b6116ce908e61383c565b9c506116da8a8e61369a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061383c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361383c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136ad565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836127c8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138ba565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261383c565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ed565b5f6119c18284613932565b61157d908461383c565b6002546004545f916105a6916001600160801b0390911690600f0b6127c8565b5f61007d826119fb858888612504565b9061280f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a89838361383c565b9050611a986110fa828661287e565b60068054601090611aba908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361289290919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b32919061369a565b90915550611b429050818361383c565b9150611b4d82611a01565b600280545f90611b679084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b94826128a6565b600480545f90611ba8908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612892565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c52828261383c565b611c5c908461383c565b9250611c7a565b611c6d828261383c565b611c77908461369a565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612892565b9050611ccc888486612504565b611cd6908261369a565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b03169061383c565b9050805f03611d7757600191505061131b565b5f611d81856128cf565b9050805f03611d955760019250505061131b565b5f80611da283858961296a565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df29291906139c3565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e309190613a38565b91509150611e4e611e4082611321565b611e4990613a5a565b612ade565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612c72565b6040518263ffffffff1660e01b8152600401611f4c9190613a74565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613a83565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120049161369a565b61200e919061383c565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613ab1565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f4818461383c565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612892565b5f808061214061213888670de0b6b3a764000061383c565b899087612dac565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a764000061383c565b8989612dcf565b925061217f838261369a565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a764000061383c565b83906124f0565b61157d90670de0b6b3a764000061383c565b5f806121f4856121cc6119cb565b6121d6919061369a565b600254610fa9908790600160801b90046001600160801b031661383c565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a764000061383c565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612dac565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a764000061383c565b8a9088612dac565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b612303908461369a565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c91906136ad565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b61239991906136ad565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf848761369a565b6123d98587611584565b6123e3888a611584565b611cb9919061369a565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b612447612429848761383c565b61243385876124f0565b61243d888a611584565b611cb9919061383c565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612df1565b6124a4845f612df1565b6124ae91906136ad565b90505f8113156124c9576124c2818661369a565b94506124e7565b5f8112156124e7576124da81613a5a565b6124e4908661383c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dac565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612e06565b5f8061259f7f000000000000000000000000000000000000000000000000000000000000000061259a8861196a565b612e29565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612606573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061262a9190613ac5565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af115801561269b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126bf9190613adc565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846127028761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561274a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276e9190613adc565b5050505050565b5f808061279561278d88670de0b6b3a764000061383c565b899087612504565b90508615612182576127a78888611584565b91506121738a8a846127c18a670de0b6b3a764000061383c565b8989612ee6565b5f806127d48484612ef6565b9092509050806127e6576127e66113ec565b5092915050565b5f6100806127fb8585612f31565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036128265750670de0b6b3a764000061131b565b825f0361283457505f61131b565b5f61283e83611321565b90505f61285261284d86611321565b612f9c565b9050818102612869670de0b6b3a764000082613af7565b9050612874816131c1565b9695505050505050565b5f61157d83670de0b6b3a764000084612dac565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128e9906001600160801b03168461287e565b90506129157f00000000000000000000000000000000000000000000000000000000000000008261369a565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906129609083906001600160801b031661383c565b61157d919061383c565b61297261358d565b5f8061297d84612c72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129b79190613a74565b6040805180830381865af41580156129d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f59190613a83565b9350905082612a0957505f9150612ad69050565b5f612a2f612a2a84610160015185610140015161158490919063ffffffff16565b611321565b612a4f612a2a8561012001518661010001516124f090919063ffffffff16565b612a5991906136ad565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613b23565b935093509350935080612bd357505f98975050505050505050565b868414612c0457612be384611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c3557612c1483612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c6357612c4582611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c7a6135d7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d729116613353565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612da492900416613353565b905292915050565b5f825f190484118302158202612dc0575f80fd5b50910281810615159190040190565b5f80612ddf8888888888886133c7565b909250905080611ce657611ce66113ec565b5f818313612dff578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612e218686612f31565b849190612504565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb69190613c13565b60e08101519091505f5f198514612ecd5784612ed6565b6001600160801b035b60101b9190910195945050505050565b5f80612ddf8888888888886134a3565b5f805f83612f0386611321565b612f0d91906136ad565b90505f811215612f23575f809250925050612f2a565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612f78573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613ac5565b5f808213612fbd5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130409084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131da57505f919050565b680755bf798b4a1bf1e58212613203576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061287474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133666105ab565b61337091906138ba565b905080831161337f575f613389565b613389818461383c565b915061157d6133c0670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138ba565b8390612892565b5f805f6133d7898988888861355f565b9050868810156133ed575f809250925050613498565b96869003966133fc888761280f565b975087811015613412575f809250925050613498565b878103613420818688612dac565b9050670de0b6b3a764000081106134545761344d613446670de0b6b3a76400008961287e565b829061280f565b905061346c565b613469613446670de0b6b3a764000089612892565b90505b613476818661287e565b90508981101561348d575f80935093505050613498565b899003925060019150505b965096945050505050565b5f805f6134b3898988888861355f565b90506134c3866119fb898b61369a565b9750878110156134d9575f809250925050613498565b8781036134e7818688612dac565b9050670de0b6b3a764000081106135145761350d613446670de0b6b3a76400008961287e565b905061352c565b613529613446670de0b6b3a764000089612892565b90505b613536818661287e565b9050808a101561354d575f80935093505050613498565b90980398600198509650505050505050565b5f61356a858561280f565b61358361357b866119fb868b6124f0565b859085612dac565b612447919061369a565b6040518061012001604052806135a16135d7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561366a575f80fd5b85016060818803121561367b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613686565b8181035f8312801583831316838312821617156127e6576127e6613686565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136f0575f80fd5b813561157d816136cc565b8015158114610591575f80fd5b5f60208284031215613718575f80fd5b813561157d816136fb565b5f808335601e19843603018112613738575f80fd5b83018035915067ffffffffffffffff821115613752575f80fd5b602001915036819003821315612f2a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137c760e083018486613766565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137f4576137f4613686565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61382f60c083018486613766565b9998505050505050505050565b8181038181111561131b5761131b613686565b6001600160701b038181168382160190808211156127e6576127e6613686565b6001600160801b038181168382160190808211156127e6576127e6613686565b805161389a816136cc565b919050565b5f602082840312156138af575f80fd5b815161157d816136cc565b808202811582820484141761131b5761131b613686565b6001600160801b038281168282160390808211156127e6576127e6613686565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613686565b634e487b7160e01b5f52601260045260245ffd5b5f826139405761394061391e565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139d6828551613945565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a49575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6e57613a6e613686565b505f0390565b610180810161131b8284613945565b5f8060408385031215613a94575f80fd5b825191506020830151613aa6816136fb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613ad5575f80fd5b5051919050565b5f60208284031215613aec575f80fd5b815161157d816136fb565b5f82613b0557613b0561391e565b600160ff1b82145f1984141615613b1e57613b1e613686565b500590565b5f805f8060808587031215613b36575f80fd5b845193506020850151925060408501519150606085015161367b816136fb565b6040516101e0810167ffffffffffffffff81118282101715613b8657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613b9c575f80fd5b6040516020810181811067ffffffffffffffff82111715613bcb57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b038116811461389a575f80fd5b805164ffffffffff8116811461389a575f80fd5b805161ffff8116811461389a575f80fd5b5f6101e08284031215613c24575f80fd5b613c2c613b56565b613c368484613b8c565b8152613c4460208401613bd8565b6020820152613c5560408401613bd8565b6040820152613c6660608401613bd8565b6060820152613c7760808401613bd8565b6080820152613c8860a08401613bd8565b60a0820152613c9960c08401613bee565b60c0820152613caa60e08401613c02565b60e0820152610100613cbd81850161388f565b90820152610120613ccf84820161388f565b90820152610140613ce184820161388f565b90820152610160613cf384820161388f565b90820152610180613d05848201613bd8565b908201526101a0613d17848201613bd8565b908201526101c0613d29848201613bd8565b90820152939250505056fea26469706673582212201760476a5620c6f7b0b8050ced32ff71c5cef3353541f6d0eaf026c26ec7dfc764736f6c63430008160033a264697066735822122097144c2f7f68ced962e496665d664e1bba881c4f35565b59c39b5030e928043b64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts deleted file mode 100644 index 87c599fb1..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const AaveL2Target2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=AaveL2Target2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map deleted file mode 100644 index e4ff19ae0..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target2.d.ts","sourceRoot":"","sources":["../src/AaveL2Target2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+BwxqC,KAAK,MAAM,EAAE;;;;;CAK9zqC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2.js b/packages/hyperdrive-artifacts/dist/AaveL2Target2.js deleted file mode 100644 index 95f533bb3..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const AaveL2Target2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004a8f38038062004a8f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516141a3620008ec5f395f818161148b015281816116d0015281816117700152818161293a01526129f201525f50505f50505f610c2801525f50505f818160f9015281816103020152612f7301525f818161150701528181611ddf01528181611e42015281816125c901528181612b6301528181612b9f01528181612d900152612f4d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f2701525f611a0901525f8181611b2a015281816126ba01528181612732015261308b01525f81816109a301528181610e370152818161141501528181611afe015261270601525f8181610e1601528181612686015261304701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612f9901525f81816101d301528181610396015281816108e101526136a501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117e901525f818161146a015281816116a3015281816117040152818161173101526129d101526141a35ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a39565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a39565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613aa7565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613aa7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ace565b8b611217565b8d8a8a898e8561023e6020830183613ace565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613af6565b8961028960408a018a613b11565b60405161029c9796959493929190613b7c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613aa7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613aa7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613aa7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613ace565b85611217565b858b868461049b6020860186613ace565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613af6565b6104ec896104e68a8d613bbc565b90610683565b8d6104fa60408e018e613b11565b60405161050e989796959493929190613bcf565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ace565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613af6565b156105ea576105e0856105db6040870187613b11565b611694565b9093509050610602565b5034610602856105fd6040870187613b11565b6117e7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061189c565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118b7565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613aa7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118cc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b92505b506108388361190b565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613bbc565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613aa7565b4290611938565b84610f13565b6108d58861194c565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613bbc565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611ae9565b915091508060095f8282546109729190613aa7565b9091555061098d9050865f8461098781611bb6565b88611bdf565b6109978183613aa7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d56565b91506109db6109d68385610683565b611d9f565b600680546002906109fc9084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190b565b60068054601090610a4b908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611ae9565b915091508060095f828254610abe9190613aa7565b90915550610ad99050835f84610ad381611bb6565b8a611dc8565b610ae38183613bbc565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190b565b60068054601090610b62908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bb6565b610ba483611bb6565b610bae9190613c56565b5f611fb8565b8e610bbf8482611ff7565b50505b5f610bcc846121e6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c85565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612328565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118cc565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123ae565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123d9565b61243d565b15610e6d57610e6d61247e565b610e7987858885612497565b91965094509250670de0b6b3a7640000610efb610e968784613aa7565b600254610eb4908890600160801b90046001600160801b0316613bbc565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b1115610f0957610f0961247e565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613bbc565b610fb99190613ca0565b85670de0b6b3a7640000610fcd878a613bbc565b610fd79190613ca0565b8592919060016124df565b61190b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613ca0565b6005546001600160801b031691908860016124df565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190b565b600280545f906110d19084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190b565b60028054601090611120908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190b565b6111579082613c36565b600380546001600160801b03808416600160801b02911617905590505f61117d83612583565b905061119b8161118c87611bb6565b6111969084613cd7565b611fb8565b6111a4846125c3565b6111b0576111b061247e565b5f6111ba85612622565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613aa7565b90915550505f838152600b60205260408120805483929061126a908490613aa7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118cc565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061262e565b93508761134d858961264e565b111561135b5761135b61247e565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b93506113d58a670de0b6b3a7640000868c612662565b509193509091506113e890508183613bbc565b6113f29087613bbc565b95508861143f816114398d611407868c613bbc565b8d611412878261276e565b877f0000000000000000000000000000000000000000000000000000000000000000612783565b9061264e565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a3565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127c6565b5f6114c16040830160208401613af6565b156114cd5750826114da565b6114d784846127e8565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd61247e565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b6127fc565b10156115435761154361247e565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908960016124df565b600580546001600160801b03928316600160801b0292169190911790556115b38161190b565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190b565b600280546010906115fe908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190b565b6004805460109061164d908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612583565b905061119b8161168a88611bb6565b6111969084613c56565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612821565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa876001613aa7565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612888565b5f6117577f0000000000000000000000000000000000000000000000000000000000000000875f612917565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b1580156117b9575f80fd5b505af11580156117cb573d5f803e3d5ffd5b505050506117d8866129cb565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182187611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611872573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118969190613cfe565b50505050565b5f825f1904841183021582026118b0575f80fd5b5091020490565b5f6118c28284613d2d565b6106979084613bbc565b6002546004545f916106cb916001600160801b0390911690600f0b6127fc565b5f611902826118fc85888861189c565b90612a17565b95945050505050565b5f6001600160801b0382111561193457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116119465782610697565b50919050565b6006545f90819061196e908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae4575f6119978383613bbc565b90506119a6610fe28286611450565b600680546010906119c8908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0085836127e890919063ffffffff16565b90505f611a2d827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a409190613aa7565b90915550611a5090508183613bbc565b9150611a5b8261190b565b600280545f90611a759084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa282612a7c565b600480545f90611ab6908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af587856127e8565b91505f611b22837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b4e817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7157611b608282613bbc565b611b6a9084613bbc565b9250611b88565b611b7b8282613bbc565b611b859084613aa7565b92505b86861015611bab57611b9b83878961189c565b9250611ba882878961189c565b91505b509550959350505050565b5f6001600160ff1b038211156119345760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c27610fe282611c0b670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908a5f6124df565b600580546001600160801b03928316600160801b029216919091179055611c4d8661190b565b611c579082613cb7565b600480546001600160801b03928316600160801b029216919091179055611c7d8461190b565b600280545f90611c979084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc483612aa5565b600480545f90611cd8908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d088561190b565b60028054601090611d2a908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d6d84611d678a888a61189c565b906127e8565b9050611d7a88848661189c565b611d849082613aa7565b905086811115611d945786810391505b509695505050505050565b5f6001600160701b038211156119345760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0a57507f0000000000000000000000000000000000000000000000000000000000000000611e088583613bbc565b105b15611e1757611e1761247e565b6004549084900390600f0b611e2c8482613c56565b905083611e3886611bb6565b138015611e6d57507f0000000000000000000000000000000000000000000000000000000000000000611e6b83836127fc565b105b15611e7a57611e7a61247e565b600354600160801b90046001600160801b0316611ebb610fe282611ea6670de0b6b3a764000088613ca0565b6005546001600160801b031691908c5f6124df565b600580546001600160801b0319166001600160801b0392909216919091179055611ee58882613bbc565b9050611ef08161190b565b600380546001600160801b03928316600160801b029216919091179055611f168361190b565b600280546001600160801b0319166001600160801b0392909216919091179055611f3f82612aa5565b600480546001600160801b0319166001600160801b0392909216919091179055611f688761190b565b60028054601090611f8a908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd390610fe2906001600160801b03168484612ae0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612041916001600160801b031690613bbc565b9050805f0361205457600191505061069a565b5f61205e85612b42565b9050805f036120725760019250505061069a565b5f8061207f838589612bdd565b9150915080612094575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120cf929190613deb565b6040805180830381865af41580156120e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210d9190613e60565b9150915061212b61211d82611bb6565b61212690613e82565b612d4a565b925082612140575f965050505050505061069a565b6121498261190b565b600780545f906121639084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121908161190b565b600780546010906121b2908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61220d87612ede565b6040518263ffffffff1660e01b81526004016122299190613e9c565b6040805180830381865af4158015612243573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122679190613eab565b915091508061227c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e191613aa7565b6122eb9190613bbc565b9050805f0361230157505f958695509350505050565b5f80871161230f575f61231a565b61231a84888461189c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234b5761234b613ed9565b6040519080825280601f01601f191660200182016040528015612375576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612395578692505b828152825f602083013e90999098509650505050505050565b5f6123ce8787876123c788670de0b6b3a7640000613bbc565b8787613018565b979650505050505050565b5f6114d76124196123f284670de0b6b3a7640000613bbc565b611439670de0b6b3a7640000612408818a611450565b6124129190613bbc565b879061264e565b61242b90670de0b6b3a7640000613aa7565b611d6784670de0b6b3a7640000613bbc565b5f806124738561244b6118cc565b6124559190613aa7565b600254610eb4908790600160801b90046001600160801b0316613bbc565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124a789878961303a565b90925090506124b68289613bbc565b97505f6124c482888a61189c565b90506124d0818b613bbc565b9a989950979650505050505050565b5f825f036124ee575084611902565b81156125405761251f6125018487613aa7565b61250b8587610683565b612515888a610683565b611d679190613aa7565b90505f61252c8588611938565b90508082101561253a578091505b50611902565b82850361254e57505f611902565b61257961255b8487613bbc565b612565858761264e565b61256f888a610683565b611d679190613bbc565b9695505050505050565b5f6125a8600b5f6125956002866111e3565b81526020019081526020015f2054611bb6565b6125b9600b5f6125956001876111e3565b61069a9190613c56565b5f6125ee7f00000000000000000000000000000000000000000000000000000000000000008361264e565b60035461260491906001600160801b0316613aa7565b60025461261a906001600160801b031684610683565b101592915050565b5f61069a826004611ff7565b5f6123ce87878761264788670de0b6b3a7640000613bbc565b87876130b9565b5f6106978383670de0b6b3a76400006127a3565b5f8080806126b287866126ab8b6114396126848c670de0b6b3a7640000613bbc565b7f00000000000000000000000000000000000000000000000000000000000000009061264e565b91906127a3565b93506126de847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6126fe6126f689670de0b6b3a7640000613bbc565b8a90886127a3565b905061272a817f000000000000000000000000000000000000000000000000000000000000000061264e565b9350612756847f0000000000000000000000000000000000000000000000000000000000000000610683565b6127609084613aa7565b915050945094509450949050565b5f81831161277c5781610697565b5090919050565b5f8061279a846127948a888a6127a3565b90611450565b9050611d7a8884865b5f825f1904841183021582026127b7575f80fd5b50910281810615159190040190565b5f6114d76127d485856130c9565b83906b033b2e3c9fd0803ce800000061189c565b5f61069783670de0b6b3a76400008461189c565b5f806128088484613134565b90925090508061281a5761281a61247e565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526118969186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061316c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128d984826131d7565b611896576040516001600160a01b0384811660248301525f604483015261290d91869182169063095ea7b390606401612856565b611896848261316c565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612980573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a49190613faa565b60e0015190505f6129b48561190b565b60101b609085901b01919091019150509392505050565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613274565b5f815f03612a2e5750670de0b6b3a764000061069a565b825f03612a3c57505f61069a565b5f612a4683611bb6565b90505f612a5a612a5586611bb6565b613297565b9050818102612a71670de0b6b3a7640000826140cb565b9050612579816134bc565b5f60016001607f1b038211156119345760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ac2575060016001607f1b0382135b156119345760405163a5353be560e01b815260040160405180910390fd5b5f80612aec845f61364e565b612af6845f61364e565b612b009190613c56565b90505f811315612b1b57612b148186613aa7565b9450612b39565b5f811215612b3957612b2c81613e82565b612b369086613bbc565b94505b50929392505050565b6003545f908190612b5c906001600160801b031684611450565b9050612b887f000000000000000000000000000000000000000000000000000000000000000082613aa7565b6002546001600160801b03161115611946576002547f000000000000000000000000000000000000000000000000000000000000000090612bd39083906001600160801b0316613bbc565b6114da9190613bbc565b612be561399a565b5f80612bf084612ede565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612c2a9190613e9c565b6040805180830381865af4158015612c44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c689190613eab565b9350905082612c7c57505f91506117df9050565b5f612ca2612c9d84610160015185610140015161068390919063ffffffff16565b611bb6565b612cc2612c9d85610120015186610100015161264e90919063ffffffff16565b612ccc9190613c56565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e2491906140f7565b935093509350935080612e3f57505f98975050505050505050565b868414612e7057612e4f8461190b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ea157612e8083612aa5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ecf57612eb18261190b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ee66139e4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fde911661365c565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926130109290041661365c565b905292915050565b5f806130288888888888886136d0565b909250905080611d9457611d9461247e565b5f806130838561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613079818c611450565b6114399190613bbc565b91506130af827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80613028888888888888613794565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613110573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610697919061412a565b5f805f8361314186611bb6565b61314b9190613c56565b90505f811215613161575f80925092505061067c565b946001945092505050565b5f6131806001600160a01b03841683613850565b905080515f141580156131a45750808060200190518101906131a29190613cfe565b155b156131d257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131f29190614141565b5f604051808303815f865af19150503d805f811461322b576040519150601f19603f3d011682016040523d82523d5f602084013e613230565b606091505b509150915081801561325a57508051158061325a57508080602001905181019061325a9190613cfe565b80156119025750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce800000061328f86866130c9565b84919061189c565b5f8082136132b85760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061333b9084901c611bb6565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134d557505f919050565b680755bf798b4a1bf1e582126134fe576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bb6565b5f81831361277c5781610697565b5f80670de0b6b3a764000061366f6106a0565b6136799190613ca0565b9050808311613688575f613692565b6136928184613bbc565b91506114da6136c9670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613ca0565b83906127e8565b5f805f6136e0898988888861385d565b90506136fa866118fc6136f38a8d613aa7565b8790610683565b9850613707858a8661189c565b98508881101561371d575f809250925050613789565b888103670de0b6b3a764000081106137525761374b613744670de0b6b3a764000089611450565b8290612a17565b905061376a565b613767613744670de0b6b3a7640000896127e8565b90505b8089101561377f575f80935093505050613789565b8803925060019150505b965096945050505050565b5f805f6137a4898988888861385d565b90506137b4866118fc898b613aa7565b9750878110156137ca575f809250925050613789565b8781036137d88186886127a3565b9050670de0b6b3a76400008110613805576137fe613744670de0b6b3a764000089611450565b905061381d565b61381a613744670de0b6b3a7640000896127e8565b90505b6138278186611450565b9050808a101561383e575f80935093505050613789565b90980398600198509650505050505050565b606061069783835f61388b565b5f6138688585612a17565b613881613879866118fc868b61264e565b8590856127a3565b6125799190613aa7565b6060814710156138b05760405163cd78605960e01b81523060048201526024016131c9565b5f80856001600160a01b031684866040516138cb9190614141565b5f6040518083038185875af1925050503d805f8114613905576040519150601f19603f3d011682016040523d82523d5f602084013e61390a565b606091505b509150915061257986838360608261392a5761392582613971565b6114da565b815115801561394157506001600160a01b0384163b155b1561396a57604051639996b31560e01b81526001600160a01b03851660048201526024016131c9565b50806114da565b8051156139815780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139ae6139e4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a4c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a77575f80fd5b850160608188031215613a88575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a93565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ade575f80fd5b81356114da81613aba565b80151581146105af575f80fd5b5f60208284031215613b06575f80fd5b81356114da81613ae9565b5f808335601e19843603018112613b26575f80fd5b83018035915067ffffffffffffffff821115613b40575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613baf60c083018486613b54565b9998505050505050505050565b8181038181111561069a5761069a613a93565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613c0860e083018486613b54565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281a5761281a613a93565b6001600160801b0381811683821601908082111561281a5761281a613a93565b8181035f83128015838313168383128216171561281a5761281a613a93565b8051613c8081613aba565b919050565b5f60208284031215613c95575f80fd5b81516114da81613aba565b808202811582820484141761069a5761069a613a93565b6001600160801b0382811682821603908082111561281a5761281a613a93565b8082018281125f831280158216821582161715613cf657613cf6613a93565b505092915050565b5f60208284031215613d0e575f80fd5b81516114da81613ae9565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3b57613d3b613d19565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a93565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613dfe828551613d6d565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e71575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e9657613e96613a93565b505f0390565b610180810161069a8284613d6d565b5f8060408385031215613ebc575f80fd5b825191506020830151613ece81613ae9565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715613f1d57634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f33575f80fd5b6040516020810181811067ffffffffffffffff82111715613f6257634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613c80575f80fd5b805164ffffffffff81168114613c80575f80fd5b805161ffff81168114613c80575f80fd5b5f6101e08284031215613fbb575f80fd5b613fc3613eed565b613fcd8484613f23565b8152613fdb60208401613f6f565b6020820152613fec60408401613f6f565b6040820152613ffd60608401613f6f565b606082015261400e60808401613f6f565b608082015261401f60a08401613f6f565b60a082015261403060c08401613f85565b60c082015261404160e08401613f99565b60e0820152610100614054818501613c75565b90820152610120614066848201613c75565b90820152610140614078848201613c75565b9082015261016061408a848201613c75565b9082015261018061409c848201613f6f565b908201526101a06140ae848201613f6f565b908201526101c06140c0848201613f6f565b908201529392505050565b5f826140d9576140d9613d19565b600160ff1b82145f19841416156140f2576140f2613a93565b500590565b5f805f806080858703121561410a575f80fd5b8451935060208501519250604085015191506060850151613a8881613ae9565b5f6020828403121561413a575f80fd5b5051919050565b5f82515f5b818110156141605760208186018101518583015201614146565b505f92019182525091905056fea2646970667358221220167400bc588532cc8df7943a9e082f55da37916aff9e4d400878aedacb4cbc9b64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts deleted file mode 100644 index 531e4d501..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map deleted file mode 100644 index bbc7a2bc7..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target2Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I42vC,KAAK,MAAM,EAAE;;;;CAI15vC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js deleted file mode 100644 index 25836b033..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614fa08061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b614a8f80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b5060405162004a8f38038062004a8f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516141a3620008ec5f395f818161148b015281816116d0015281816117700152818161293a01526129f201525f50505f50505f610c2801525f50505f818160f9015281816103020152612f7301525f818161150701528181611ddf01528181611e42015281816125c901528181612b6301528181612b9f01528181612d900152612f4d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f2701525f611a0901525f8181611b2a015281816126ba01528181612732015261308b01525f81816109a301528181610e370152818161141501528181611afe015261270601525f8181610e1601528181612686015261304701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612f9901525f81816101d301528181610396015281816108e101526136a501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117e901525f818161146a015281816116a3015281816117040152818161173101526129d101526141a35ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a39565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a39565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613aa7565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613aa7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ace565b8b611217565b8d8a8a898e8561023e6020830183613ace565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613af6565b8961028960408a018a613b11565b60405161029c9796959493929190613b7c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613aa7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613aa7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613aa7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613ace565b85611217565b858b868461049b6020860186613ace565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613af6565b6104ec896104e68a8d613bbc565b90610683565b8d6104fa60408e018e613b11565b60405161050e989796959493929190613bcf565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ace565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613af6565b156105ea576105e0856105db6040870187613b11565b611694565b9093509050610602565b5034610602856105fd6040870187613b11565b6117e7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061189c565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118b7565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613aa7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118cc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b92505b506108388361190b565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613bbc565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613aa7565b4290611938565b84610f13565b6108d58861194c565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613bbc565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611ae9565b915091508060095f8282546109729190613aa7565b9091555061098d9050865f8461098781611bb6565b88611bdf565b6109978183613aa7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d56565b91506109db6109d68385610683565b611d9f565b600680546002906109fc9084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190b565b60068054601090610a4b908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611ae9565b915091508060095f828254610abe9190613aa7565b90915550610ad99050835f84610ad381611bb6565b8a611dc8565b610ae38183613bbc565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190b565b60068054601090610b62908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bb6565b610ba483611bb6565b610bae9190613c56565b5f611fb8565b8e610bbf8482611ff7565b50505b5f610bcc846121e6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c85565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612328565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118cc565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123ae565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123d9565b61243d565b15610e6d57610e6d61247e565b610e7987858885612497565b91965094509250670de0b6b3a7640000610efb610e968784613aa7565b600254610eb4908890600160801b90046001600160801b0316613bbc565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b1115610f0957610f0961247e565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613bbc565b610fb99190613ca0565b85670de0b6b3a7640000610fcd878a613bbc565b610fd79190613ca0565b8592919060016124df565b61190b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613ca0565b6005546001600160801b031691908860016124df565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190b565b600280545f906110d19084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190b565b60028054601090611120908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190b565b6111579082613c36565b600380546001600160801b03808416600160801b02911617905590505f61117d83612583565b905061119b8161118c87611bb6565b6111969084613cd7565b611fb8565b6111a4846125c3565b6111b0576111b061247e565b5f6111ba85612622565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613aa7565b90915550505f838152600b60205260408120805483929061126a908490613aa7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118cc565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061262e565b93508761134d858961264e565b111561135b5761135b61247e565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b93506113d58a670de0b6b3a7640000868c612662565b509193509091506113e890508183613bbc565b6113f29087613bbc565b95508861143f816114398d611407868c613bbc565b8d611412878261276e565b877f0000000000000000000000000000000000000000000000000000000000000000612783565b9061264e565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a3565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127c6565b5f6114c16040830160208401613af6565b156114cd5750826114da565b6114d784846127e8565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd61247e565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b6127fc565b10156115435761154361247e565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908960016124df565b600580546001600160801b03928316600160801b0292169190911790556115b38161190b565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190b565b600280546010906115fe908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190b565b6004805460109061164d908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612583565b905061119b8161168a88611bb6565b6111969084613c56565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612821565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa876001613aa7565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612888565b5f6117577f0000000000000000000000000000000000000000000000000000000000000000875f612917565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b1580156117b9575f80fd5b505af11580156117cb573d5f803e3d5ffd5b505050506117d8866129cb565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182187611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611872573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118969190613cfe565b50505050565b5f825f1904841183021582026118b0575f80fd5b5091020490565b5f6118c28284613d2d565b6106979084613bbc565b6002546004545f916106cb916001600160801b0390911690600f0b6127fc565b5f611902826118fc85888861189c565b90612a17565b95945050505050565b5f6001600160801b0382111561193457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116119465782610697565b50919050565b6006545f90819061196e908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae4575f6119978383613bbc565b90506119a6610fe28286611450565b600680546010906119c8908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0085836127e890919063ffffffff16565b90505f611a2d827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a409190613aa7565b90915550611a5090508183613bbc565b9150611a5b8261190b565b600280545f90611a759084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa282612a7c565b600480545f90611ab6908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af587856127e8565b91505f611b22837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b4e817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7157611b608282613bbc565b611b6a9084613bbc565b9250611b88565b611b7b8282613bbc565b611b859084613aa7565b92505b86861015611bab57611b9b83878961189c565b9250611ba882878961189c565b91505b509550959350505050565b5f6001600160ff1b038211156119345760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c27610fe282611c0b670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908a5f6124df565b600580546001600160801b03928316600160801b029216919091179055611c4d8661190b565b611c579082613cb7565b600480546001600160801b03928316600160801b029216919091179055611c7d8461190b565b600280545f90611c979084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc483612aa5565b600480545f90611cd8908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d088561190b565b60028054601090611d2a908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d6d84611d678a888a61189c565b906127e8565b9050611d7a88848661189c565b611d849082613aa7565b905086811115611d945786810391505b509695505050505050565b5f6001600160701b038211156119345760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0a57507f0000000000000000000000000000000000000000000000000000000000000000611e088583613bbc565b105b15611e1757611e1761247e565b6004549084900390600f0b611e2c8482613c56565b905083611e3886611bb6565b138015611e6d57507f0000000000000000000000000000000000000000000000000000000000000000611e6b83836127fc565b105b15611e7a57611e7a61247e565b600354600160801b90046001600160801b0316611ebb610fe282611ea6670de0b6b3a764000088613ca0565b6005546001600160801b031691908c5f6124df565b600580546001600160801b0319166001600160801b0392909216919091179055611ee58882613bbc565b9050611ef08161190b565b600380546001600160801b03928316600160801b029216919091179055611f168361190b565b600280546001600160801b0319166001600160801b0392909216919091179055611f3f82612aa5565b600480546001600160801b0319166001600160801b0392909216919091179055611f688761190b565b60028054601090611f8a908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd390610fe2906001600160801b03168484612ae0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612041916001600160801b031690613bbc565b9050805f0361205457600191505061069a565b5f61205e85612b42565b9050805f036120725760019250505061069a565b5f8061207f838589612bdd565b9150915080612094575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120cf929190613deb565b6040805180830381865af41580156120e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210d9190613e60565b9150915061212b61211d82611bb6565b61212690613e82565b612d4a565b925082612140575f965050505050505061069a565b6121498261190b565b600780545f906121639084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121908161190b565b600780546010906121b2908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61220d87612ede565b6040518263ffffffff1660e01b81526004016122299190613e9c565b6040805180830381865af4158015612243573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122679190613eab565b915091508061227c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e191613aa7565b6122eb9190613bbc565b9050805f0361230157505f958695509350505050565b5f80871161230f575f61231a565b61231a84888461189c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234b5761234b613ed9565b6040519080825280601f01601f191660200182016040528015612375576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612395578692505b828152825f602083013e90999098509650505050505050565b5f6123ce8787876123c788670de0b6b3a7640000613bbc565b8787613018565b979650505050505050565b5f6114d76124196123f284670de0b6b3a7640000613bbc565b611439670de0b6b3a7640000612408818a611450565b6124129190613bbc565b879061264e565b61242b90670de0b6b3a7640000613aa7565b611d6784670de0b6b3a7640000613bbc565b5f806124738561244b6118cc565b6124559190613aa7565b600254610eb4908790600160801b90046001600160801b0316613bbc565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124a789878961303a565b90925090506124b68289613bbc565b97505f6124c482888a61189c565b90506124d0818b613bbc565b9a989950979650505050505050565b5f825f036124ee575084611902565b81156125405761251f6125018487613aa7565b61250b8587610683565b612515888a610683565b611d679190613aa7565b90505f61252c8588611938565b90508082101561253a578091505b50611902565b82850361254e57505f611902565b61257961255b8487613bbc565b612565858761264e565b61256f888a610683565b611d679190613bbc565b9695505050505050565b5f6125a8600b5f6125956002866111e3565b81526020019081526020015f2054611bb6565b6125b9600b5f6125956001876111e3565b61069a9190613c56565b5f6125ee7f00000000000000000000000000000000000000000000000000000000000000008361264e565b60035461260491906001600160801b0316613aa7565b60025461261a906001600160801b031684610683565b101592915050565b5f61069a826004611ff7565b5f6123ce87878761264788670de0b6b3a7640000613bbc565b87876130b9565b5f6106978383670de0b6b3a76400006127a3565b5f8080806126b287866126ab8b6114396126848c670de0b6b3a7640000613bbc565b7f00000000000000000000000000000000000000000000000000000000000000009061264e565b91906127a3565b93506126de847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6126fe6126f689670de0b6b3a7640000613bbc565b8a90886127a3565b905061272a817f000000000000000000000000000000000000000000000000000000000000000061264e565b9350612756847f0000000000000000000000000000000000000000000000000000000000000000610683565b6127609084613aa7565b915050945094509450949050565b5f81831161277c5781610697565b5090919050565b5f8061279a846127948a888a6127a3565b90611450565b9050611d7a8884865b5f825f1904841183021582026127b7575f80fd5b50910281810615159190040190565b5f6114d76127d485856130c9565b83906b033b2e3c9fd0803ce800000061189c565b5f61069783670de0b6b3a76400008461189c565b5f806128088484613134565b90925090508061281a5761281a61247e565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526118969186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061316c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128d984826131d7565b611896576040516001600160a01b0384811660248301525f604483015261290d91869182169063095ea7b390606401612856565b611896848261316c565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612980573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a49190613faa565b60e0015190505f6129b48561190b565b60101b609085901b01919091019150509392505050565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613274565b5f815f03612a2e5750670de0b6b3a764000061069a565b825f03612a3c57505f61069a565b5f612a4683611bb6565b90505f612a5a612a5586611bb6565b613297565b9050818102612a71670de0b6b3a7640000826140cb565b9050612579816134bc565b5f60016001607f1b038211156119345760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ac2575060016001607f1b0382135b156119345760405163a5353be560e01b815260040160405180910390fd5b5f80612aec845f61364e565b612af6845f61364e565b612b009190613c56565b90505f811315612b1b57612b148186613aa7565b9450612b39565b5f811215612b3957612b2c81613e82565b612b369086613bbc565b94505b50929392505050565b6003545f908190612b5c906001600160801b031684611450565b9050612b887f000000000000000000000000000000000000000000000000000000000000000082613aa7565b6002546001600160801b03161115611946576002547f000000000000000000000000000000000000000000000000000000000000000090612bd39083906001600160801b0316613bbc565b6114da9190613bbc565b612be561399a565b5f80612bf084612ede565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612c2a9190613e9c565b6040805180830381865af4158015612c44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c689190613eab565b9350905082612c7c57505f91506117df9050565b5f612ca2612c9d84610160015185610140015161068390919063ffffffff16565b611bb6565b612cc2612c9d85610120015186610100015161264e90919063ffffffff16565b612ccc9190613c56565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e2491906140f7565b935093509350935080612e3f57505f98975050505050505050565b868414612e7057612e4f8461190b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ea157612e8083612aa5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ecf57612eb18261190b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ee66139e4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fde911661365c565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926130109290041661365c565b905292915050565b5f806130288888888888886136d0565b909250905080611d9457611d9461247e565b5f806130838561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613079818c611450565b6114399190613bbc565b91506130af827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80613028888888888888613794565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613110573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610697919061412a565b5f805f8361314186611bb6565b61314b9190613c56565b90505f811215613161575f80925092505061067c565b946001945092505050565b5f6131806001600160a01b03841683613850565b905080515f141580156131a45750808060200190518101906131a29190613cfe565b155b156131d257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131f29190614141565b5f604051808303815f865af19150503d805f811461322b576040519150601f19603f3d011682016040523d82523d5f602084013e613230565b606091505b509150915081801561325a57508051158061325a57508080602001905181019061325a9190613cfe565b80156119025750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce800000061328f86866130c9565b84919061189c565b5f8082136132b85760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061333b9084901c611bb6565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134d557505f919050565b680755bf798b4a1bf1e582126134fe576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bb6565b5f81831361277c5781610697565b5f80670de0b6b3a764000061366f6106a0565b6136799190613ca0565b9050808311613688575f613692565b6136928184613bbc565b91506114da6136c9670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613ca0565b83906127e8565b5f805f6136e0898988888861385d565b90506136fa866118fc6136f38a8d613aa7565b8790610683565b9850613707858a8661189c565b98508881101561371d575f809250925050613789565b888103670de0b6b3a764000081106137525761374b613744670de0b6b3a764000089611450565b8290612a17565b905061376a565b613767613744670de0b6b3a7640000896127e8565b90505b8089101561377f575f80935093505050613789565b8803925060019150505b965096945050505050565b5f805f6137a4898988888861385d565b90506137b4866118fc898b613aa7565b9750878110156137ca575f809250925050613789565b8781036137d88186886127a3565b9050670de0b6b3a76400008110613805576137fe613744670de0b6b3a764000089611450565b905061381d565b61381a613744670de0b6b3a7640000896127e8565b90505b6138278186611450565b9050808a101561383e575f80935093505050613789565b90980398600198509650505050505050565b606061069783835f61388b565b5f6138688585612a17565b613881613879866118fc868b61264e565b8590856127a3565b6125799190613aa7565b6060814710156138b05760405163cd78605960e01b81523060048201526024016131c9565b5f80856001600160a01b031684866040516138cb9190614141565b5f6040518083038185875af1925050503d805f8114613905576040519150601f19603f3d011682016040523d82523d5f602084013e61390a565b606091505b509150915061257986838360608261392a5761392582613971565b6114da565b815115801561394157506001600160a01b0384163b155b1561396a57604051639996b31560e01b81526001600160a01b03851660048201526024016131c9565b50806114da565b8051156139815780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139ae6139e4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a4c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a77575f80fd5b850160608188031215613a88575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a93565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ade575f80fd5b81356114da81613aba565b80151581146105af575f80fd5b5f60208284031215613b06575f80fd5b81356114da81613ae9565b5f808335601e19843603018112613b26575f80fd5b83018035915067ffffffffffffffff821115613b40575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613baf60c083018486613b54565b9998505050505050505050565b8181038181111561069a5761069a613a93565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613c0860e083018486613b54565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281a5761281a613a93565b6001600160801b0381811683821601908082111561281a5761281a613a93565b8181035f83128015838313168383128216171561281a5761281a613a93565b8051613c8081613aba565b919050565b5f60208284031215613c95575f80fd5b81516114da81613aba565b808202811582820484141761069a5761069a613a93565b6001600160801b0382811682821603908082111561281a5761281a613a93565b8082018281125f831280158216821582161715613cf657613cf6613a93565b505092915050565b5f60208284031215613d0e575f80fd5b81516114da81613ae9565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3b57613d3b613d19565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a93565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613dfe828551613d6d565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e71575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e9657613e96613a93565b505f0390565b610180810161069a8284613d6d565b5f8060408385031215613ebc575f80fd5b825191506020830151613ece81613ae9565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715613f1d57634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f33575f80fd5b6040516020810181811067ffffffffffffffff82111715613f6257634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613c80575f80fd5b805164ffffffffff81168114613c80575f80fd5b805161ffff81168114613c80575f80fd5b5f6101e08284031215613fbb575f80fd5b613fc3613eed565b613fcd8484613f23565b8152613fdb60208401613f6f565b6020820152613fec60408401613f6f565b6040820152613ffd60608401613f6f565b606082015261400e60808401613f6f565b608082015261401f60a08401613f6f565b60a082015261403060c08401613f85565b60c082015261404160e08401613f99565b60e0820152610100614054818501613c75565b90820152610120614066848201613c75565b90820152610140614078848201613c75565b9082015261016061408a848201613c75565b9082015261018061409c848201613f6f565b908201526101a06140ae848201613f6f565b908201526101c06140c0848201613f6f565b908201529392505050565b5f826140d9576140d9613d19565b600160ff1b82145f19841416156140f2576140f2613a93565b500590565b5f805f806080858703121561410a575f80fd5b8451935060208501519250604085015191506060850151613a8881613ae9565b5f6020828403121561413a575f80fd5b5051919050565b5f82515f5b818110156141605760208186018101518583015201614146565b505f92019182525091905056fea2646970667358221220167400bc588532cc8df7943a9e082f55da37916aff9e4d400878aedacb4cbc9b64736f6c63430008160033a2646970667358221220ee1ae53e781635186ba5e671d2349827f3813e8cbe49172e4666df08d21066ef64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts deleted file mode 100644 index 13f1f9ee9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const AaveL2Target3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=AaveL2Target3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map deleted file mode 100644 index 917e52103..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target3.d.ts","sourceRoot":"","sources":["../src/AaveL2Target3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/BkkqC,KAAK,MAAM,EAAE;;;;;CAKxmqC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3.js b/packages/hyperdrive-artifacts/dist/AaveL2Target3.js deleted file mode 100644 index 5d9810fe6..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const AaveL2Target3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004a2438038062004a2483398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051614127620008fd5f395f818161198801528181611a2801528181612d6901528181612e210152612e6d01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161216e015281816121d101528181612a7a01528181612f8a0152612fc601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d7f01525f8181611ed4015261321501525f81816110260152611ea801525f6131cb01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1001525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa101525f818161195b015281816119bc015281816119e901528181612e000152612e4c01526141275ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613992565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139f1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a51565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a64565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a51565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a64565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a64565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a51565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613af5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613b04565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613af5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613b04565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a64565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613b2f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a51565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613b2f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b57565b866107a960408c018c613b72565b6040516107bc9796959493929190613bb5565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613c08565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613c1f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613b2f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613b2f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b57565b87610b5e6040890189613b72565b604051610b719796959493929190613bb5565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613b2f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b57565b15610c8f57610c8585610c806040870187613b72565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b72565b611a9f565b610caf611b54565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b66565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a51565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a64565b8a84611b7b565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a51565b4290611cb4565b84611b7b565b610f5888611cc2565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a64565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e5f565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e93565b915091508060095f828254610ff59190613a51565b909155506110109050865f8461100a81611766565b88611f60565b61101a8183613a51565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120d7565b915061105e611059838561211a565b61212e565b6006805460029061107f9084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e5f565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e93565b915091508060095f8282546111419190613a51565b9091555061115c9050835f8461115681611766565b8a612157565b6111668183613a64565b9150611175611059838761211a565b600680546002906111969084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c8a565b5f612347565b8e6112428482612386565b50505b5f61124f84612575565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613cb9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126b7565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e5f565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e5f565b6113f79190613c8a565b92915050565b5f805f8061140b8a8a61273f565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8b7f0000000000000000000000000000000000000000000000000000000000000000612777565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8d7f0000000000000000000000000000000000000000000000000000000000000000612830565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ea565b509093505f9050611568848f613a51565b90505f6115888b8b61157987611766565b611583908e613cd4565b612932565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612994565b611766565b6115c683611766565b6115d36115b8868561211a565b6115dd9190613c8a565b6115e79190613c8a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a4565b61162685670de0b6b3a7640000613a64565b906117d4565b6116346138e3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129c7565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129c7565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a34565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a51565b90915550505f838152600b60205260408120805483929061183b908490613a51565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612386565b5f8183136118a7578261008d565b50919050565b5f806118b9848461273f565b9092509050806118cb576118cb612bc8565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be1565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c50565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a51565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cb7565b5f611a0f7f0000000000000000000000000000000000000000000000000000000000000000875f612d46565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b158015611a71575f80fd5b505af1158015611a83573d5f803e3d5ffd5b50505050611a9086612dfa565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611ad987612e46565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4e9190613cfb565b50505050565b5f610c2d670de0b6b3a7640000612e46565b5f611b718284613d2a565b61008d9084613a64565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ba65750505050565b5f848152600860205260408120546001600160801b031690819003611bfe57611bce836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7b565b611c4f611c4a670de0b6b3a7640000611c178886613a64565b611c219190613c08565b85670de0b6b3a7640000611c35878a613a64565b611c3f9190613c08565b859291906001612e92565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c84846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce4908490600160801b90046001600160801b031661211a565b6006546201000090046001600160701b03169250905081811115611e5a575f611d0d8383613a64565b9050611d1c611c4a8286612f2c565b60068054601090611d3e908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7685836117d490919063ffffffff16565b90505f611da3827f000000000000000000000000000000000000000000000000000000000000000061211a565b90508060095f828254611db69190613a51565b90915550611dc690508183613a64565b9150611dd1826118d2565b600280545f90611deb9084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1882612f40565b600480545f90611e2c908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e885760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e9f87856117d4565b91505f611ecc837f000000000000000000000000000000000000000000000000000000000000000061211a565b9050611ef8817f000000000000000000000000000000000000000000000000000000000000000061211a565b91508315611f1b57611f0a8282613a64565b611f149084613a64565b9250611f32565b611f258282613a64565b611f2f9084613a51565b92505b86861015611f5557611f458387896117b9565b9250611f528287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fa8611c4a82611f8c670de0b6b3a764000086613c08565b600554600160801b90046001600160801b031691908a5f612e92565b600580546001600160801b03928316600160801b029216919091179055611fce866118d2565b611fd89082613d3d565b600480546001600160801b03928316600160801b029216919091179055611ffe846118d2565b600280545f906120189084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612045836118fb565b600480545f90612059908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612089856118d2565b600280546010906120ab908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120e8846116268a888a6117b9565b90506120f58884866117b9565b6120ff9082613a51565b90508681111561210f5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219957507f00000000000000000000000000000000000000000000000000000000000000006121978583613a64565b105b156121a6576121a6612bc8565b6004549084900390600f0b6121bb8482613c8a565b9050836121c786611766565b1380156121fc57507f00000000000000000000000000000000000000000000000000000000000000006121fa83836118ad565b105b1561220957612209612bc8565b600354600160801b90046001600160801b031661224a611c4a82612235670de0b6b3a764000088613c08565b6005546001600160801b031691908c5f612e92565b600580546001600160801b0319166001600160801b03929092169190911790556122748882613a64565b905061227f816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a5836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122ce826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122f7876118d2565b60028054601090612319908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236290611c4a906001600160801b03168484612932565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d0916001600160801b031690613a64565b9050805f036123e35760019150506113f7565b5f6123ed85612f69565b9050805f03612401576001925050506113f7565b5f8061240e838589613004565b9150915080612423575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161245e929190613d8a565b6040805180830381865af4158015612478573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249c9190613dff565b915091506124ba6124ac82611766565b6124b590613e21565b612a34565b9250826124cf575f96505050505050506113f7565b6124d8826118d2565b600780545f906124f29084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061251f816118d2565b60078054601090612541908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61259c8761162c565b6040518263ffffffff1660e01b81526004016125b89190613af5565b6040805180830381865af41580156125d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125f69190613e3b565b915091508061260b57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161267091613a51565b61267a9190613a64565b9050805f0361269057505f958695509350505050565b5f80871161269e575f6126a9565b6126a98488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126da576126da613e69565b6040519080825280601f01601f191660200182016040528015612704576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612724578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361274c86611766565b6127569190613c8a565b90505f81121561276c575f809250925050610d21565b946001945092505050565b5f805f612787888888888861316c565b90505f6127b1670de0b6b3a76400006127a08888612f2c565b6127aa9190613a51565b83906117d4565b9050670de0b6b3a764000081106127e5576127de6127d7670de0b6b3a7640000896117d4565b8290612be1565b90506127fd565b6127fa6127d7670de0b6b3a764000089612f2c565b90505b61280781866117d4565b90508881101561281e575f80935093505050612735565b97909703976001975095505050505050565b5f805f612840898988888861319a565b905061285a866119466128538a8d613a51565b879061211a565b9850612867858a866117b9565b98508881101561287d575f8092509250506115f6565b888103670de0b6b3a764000081106128ab576128a46127d7670de0b6b3a764000089612f2c565b90506128c3565b6128c06127d7670de0b6b3a7640000896117d4565b90505b808910156128d8575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fa8987896131be565b90925090506129098289613a64565b97505f61291782888a6117b9565b9050612923818b613a64565b9a989950979650505050505050565b5f8061293e845f613243565b612948845f613243565b6129529190613c8a565b90505f81131561296d576129668186613a51565b945061298b565b5f81121561298b5761297e81613e21565b6129889086613a64565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129b8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129da610d28565b6129e49190613c08565b90508083116129f3575f6129fd565b6129fd8184613a64565b915061008d6127aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c08565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b0e9190613e7d565b935093509350935080612b2957505f98975050505050505050565b868414612b5a57612b39846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8b57612b6a836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb957612b9b826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bf85750670de0b6b3a76400006113f7565b825f03612c0657505f6113f7565b5f612c1083611766565b90505f612c24612c1f86611766565b613258565b9050818102612c3b670de0b6b3a764000082613ebb565b9050612c468161347d565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b4e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061360f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d08848261367a565b611b4e576040516001600160a01b0384811660248301525f6044830152612d3c91869182169063095ea7b390606401612c85565b611b4e848261360f565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd39190613fa4565b60e0015190505f612de3856118d2565b60101b609085901b01919091019150509392505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613717565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461373a565b5f825f03612ea1575084610075565b8115612ef357612ed2612eb48487613a51565b612ebe858761211a565b612ec8888a61211a565b6116269190613a51565b90505f612edf8588611cb4565b905080821015612eed578091505b50610075565b828503612f0157505f610075565b610072612f0e8487613a64565b612f188587612994565b612f22888a61211a565b6116269190613a64565b5f61008d83670de0b6b3a7640000846129a4565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612f83906001600160801b031684612f2c565b9050612faf7f000000000000000000000000000000000000000000000000000000000000000082613a51565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612ffa9083906001600160801b0316613a64565b61008d9190613a64565b61300c613938565b5f806130178461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130519190613af5565b6040805180830381865af415801561306b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061308f9190613e3b565b93509050826130a357505f9150611a979050565b5f6130c46115b884610160015185610140015161211a90919063ffffffff16565b6130e46115b885610120015186610100015161299490919063ffffffff16565b6130ee9190613c8a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6131778585612be1565b61319061318886611946868b61211a565b8590856117b9565b6100729190613a51565b5f6131a58585612be1565b6131906131b686611946868b612994565b8590856129a4565b5f8061320d8561320785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006131fd818c612f2c565b6132079190613a64565b90612994565b9150613239827f000000000000000000000000000000000000000000000000000000000000000061211a565b9050935093915050565b5f818313613251578161008d565b5090919050565b5f8082136132795760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906132fc9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361349657505f919050565b680755bf798b4a1bf1e582126134bf576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136236001600160a01b0384168361375c565b905080515f141580156136475750808060200190518101906136459190613cfb565b155b1561367557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161369591906140c5565b5f604051808303815f865af19150503d805f81146136ce576040519150601f19603f3d011682016040523d82523d5f602084013e6136d3565b606091505b50915091508180156136fd5750805115806136fd5750808060200190518101906136fd9190613cfb565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce80000006137328686613769565b8491906117b9565b5f61008a6137488585613769565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f6137d4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156137b0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613b04565b6060814710156137f95760405163cd78605960e01b815230600482015260240161366c565b5f80856001600160a01b0316848660405161381491906140c5565b5f6040518083038185875af1925050503d805f811461384e576040519150601f19603f3d011682016040523d82523d5f602084013e613853565b606091505b5091509150612c468683836060826138735761386e826138ba565b61008d565b815115801561388a57506001600160a01b0384163b155b156138b357604051639996b31560e01b81526001600160a01b038516600482015260240161366c565b508061008d565b8051156138ca5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061394c6138e3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156139a6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156139d8575f80fd5b6139e488828901613982565b9150509295509295909350565b5f805f60608486031215613a03575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613a27575f80fd5b613a3386828701613982565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613a3d565b818103818111156113f7576113f7613a3d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a77565b5f60208284031215613b14575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b3f575f80fd5b813561008d81613b1b565b8015158114610c0a575f80fd5b5f60208284031215613b67575f80fd5b813561008d81613b4a565b5f808335601e19843603018112613b87575f80fd5b83018035915067ffffffffffffffff821115613ba1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613a3d565b5f805f60608486031215613c31575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613a3d565b6001600160801b038181168382160190808211156118cb576118cb613a3d565b8181035f8312801583831316838312821617156118cb576118cb613a3d565b8051613cb481613b1b565b919050565b5f60208284031215613cc9575f80fd5b815161008d81613b1b565b8082018281125f831280158216821582161715613cf357613cf3613a3d565b505092915050565b5f60208284031215613d0b575f80fd5b815161008d81613b4a565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3857613d38613d16565b500690565b6001600160801b038281168282160390808211156118cb576118cb613a3d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613a3d565b5f6102a082019050613d9d828551613a77565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e10575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e3557613e35613a3d565b505f0390565b5f8060408385031215613e4c575f80fd5b825191506020830151613e5e81613b4a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613e90575f80fd5b8451935060208501519250604085015191506060850151613eb081613b4a565b939692955090935050565b5f82613ec957613ec9613d16565b600160ff1b82145f1984141615613ee257613ee2613a3d565b500590565b6040516101e0810167ffffffffffffffff81118282101715613f1757634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f2d575f80fd5b6040516020810181811067ffffffffffffffff82111715613f5c57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613cb4575f80fd5b805164ffffffffff81168114613cb4575f80fd5b805161ffff81168114613cb4575f80fd5b5f6101e08284031215613fb5575f80fd5b613fbd613ee7565b613fc78484613f1d565b8152613fd560208401613f69565b6020820152613fe660408401613f69565b6040820152613ff760608401613f69565b606082015261400860808401613f69565b608082015261401960a08401613f69565b60a082015261402a60c08401613f7f565b60c082015261403b60e08401613f93565b60e082015261010061404e818501613ca9565b90820152610120614060848201613ca9565b90820152610140614072848201613ca9565b90820152610160614084848201613ca9565b90820152610180614096848201613f69565b908201526101a06140a8848201613f69565b908201526101c06140ba848201613f69565b908201529392505050565b5f82515f5b818110156140e457602081860181015185830152016140ca565b505f92019182525091905056fea2646970667358221220240c2ea458335572db19ff928f12ef3e08e3b8d82eff8e0d6d0dd98fcb62d0e964736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts deleted file mode 100644 index 329c1b2ac..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map deleted file mode 100644 index ca588f738..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target3Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IspvC,KAAK,MAAM,EAAE;;;;CAIpsvC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js deleted file mode 100644 index 531417434..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614f358061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b614a2480620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b5060405162004a2438038062004a2483398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051614127620008fd5f395f818161198801528181611a2801528181612d6901528181612e210152612e6d01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161216e015281816121d101528181612a7a01528181612f8a0152612fc601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d7f01525f8181611ed4015261321501525f81816110260152611ea801525f6131cb01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1001525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa101525f818161195b015281816119bc015281816119e901528181612e000152612e4c01526141275ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613992565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139f1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a51565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a64565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a51565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a64565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a64565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a51565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613af5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613b04565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613af5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613b04565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a64565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613b2f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a51565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613b2f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b57565b866107a960408c018c613b72565b6040516107bc9796959493929190613bb5565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613c08565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613c1f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613b2f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613b2f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b57565b87610b5e6040890189613b72565b604051610b719796959493929190613bb5565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613b2f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b57565b15610c8f57610c8585610c806040870187613b72565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b72565b611a9f565b610caf611b54565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b66565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a51565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a64565b8a84611b7b565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a51565b4290611cb4565b84611b7b565b610f5888611cc2565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a64565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e5f565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e93565b915091508060095f828254610ff59190613a51565b909155506110109050865f8461100a81611766565b88611f60565b61101a8183613a51565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120d7565b915061105e611059838561211a565b61212e565b6006805460029061107f9084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e5f565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e93565b915091508060095f8282546111419190613a51565b9091555061115c9050835f8461115681611766565b8a612157565b6111668183613a64565b9150611175611059838761211a565b600680546002906111969084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c8a565b5f612347565b8e6112428482612386565b50505b5f61124f84612575565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613cb9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126b7565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e5f565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e5f565b6113f79190613c8a565b92915050565b5f805f8061140b8a8a61273f565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8b7f0000000000000000000000000000000000000000000000000000000000000000612777565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8d7f0000000000000000000000000000000000000000000000000000000000000000612830565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ea565b509093505f9050611568848f613a51565b90505f6115888b8b61157987611766565b611583908e613cd4565b612932565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612994565b611766565b6115c683611766565b6115d36115b8868561211a565b6115dd9190613c8a565b6115e79190613c8a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a4565b61162685670de0b6b3a7640000613a64565b906117d4565b6116346138e3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129c7565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129c7565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a34565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a51565b90915550505f838152600b60205260408120805483929061183b908490613a51565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612386565b5f8183136118a7578261008d565b50919050565b5f806118b9848461273f565b9092509050806118cb576118cb612bc8565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be1565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c50565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a51565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cb7565b5f611a0f7f0000000000000000000000000000000000000000000000000000000000000000875f612d46565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b158015611a71575f80fd5b505af1158015611a83573d5f803e3d5ffd5b50505050611a9086612dfa565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611ad987612e46565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4e9190613cfb565b50505050565b5f610c2d670de0b6b3a7640000612e46565b5f611b718284613d2a565b61008d9084613a64565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ba65750505050565b5f848152600860205260408120546001600160801b031690819003611bfe57611bce836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7b565b611c4f611c4a670de0b6b3a7640000611c178886613a64565b611c219190613c08565b85670de0b6b3a7640000611c35878a613a64565b611c3f9190613c08565b859291906001612e92565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c84846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce4908490600160801b90046001600160801b031661211a565b6006546201000090046001600160701b03169250905081811115611e5a575f611d0d8383613a64565b9050611d1c611c4a8286612f2c565b60068054601090611d3e908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7685836117d490919063ffffffff16565b90505f611da3827f000000000000000000000000000000000000000000000000000000000000000061211a565b90508060095f828254611db69190613a51565b90915550611dc690508183613a64565b9150611dd1826118d2565b600280545f90611deb9084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1882612f40565b600480545f90611e2c908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e885760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e9f87856117d4565b91505f611ecc837f000000000000000000000000000000000000000000000000000000000000000061211a565b9050611ef8817f000000000000000000000000000000000000000000000000000000000000000061211a565b91508315611f1b57611f0a8282613a64565b611f149084613a64565b9250611f32565b611f258282613a64565b611f2f9084613a51565b92505b86861015611f5557611f458387896117b9565b9250611f528287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fa8611c4a82611f8c670de0b6b3a764000086613c08565b600554600160801b90046001600160801b031691908a5f612e92565b600580546001600160801b03928316600160801b029216919091179055611fce866118d2565b611fd89082613d3d565b600480546001600160801b03928316600160801b029216919091179055611ffe846118d2565b600280545f906120189084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612045836118fb565b600480545f90612059908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612089856118d2565b600280546010906120ab908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120e8846116268a888a6117b9565b90506120f58884866117b9565b6120ff9082613a51565b90508681111561210f5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219957507f00000000000000000000000000000000000000000000000000000000000000006121978583613a64565b105b156121a6576121a6612bc8565b6004549084900390600f0b6121bb8482613c8a565b9050836121c786611766565b1380156121fc57507f00000000000000000000000000000000000000000000000000000000000000006121fa83836118ad565b105b1561220957612209612bc8565b600354600160801b90046001600160801b031661224a611c4a82612235670de0b6b3a764000088613c08565b6005546001600160801b031691908c5f612e92565b600580546001600160801b0319166001600160801b03929092169190911790556122748882613a64565b905061227f816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a5836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122ce826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122f7876118d2565b60028054601090612319908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236290611c4a906001600160801b03168484612932565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d0916001600160801b031690613a64565b9050805f036123e35760019150506113f7565b5f6123ed85612f69565b9050805f03612401576001925050506113f7565b5f8061240e838589613004565b9150915080612423575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161245e929190613d8a565b6040805180830381865af4158015612478573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249c9190613dff565b915091506124ba6124ac82611766565b6124b590613e21565b612a34565b9250826124cf575f96505050505050506113f7565b6124d8826118d2565b600780545f906124f29084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061251f816118d2565b60078054601090612541908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61259c8761162c565b6040518263ffffffff1660e01b81526004016125b89190613af5565b6040805180830381865af41580156125d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125f69190613e3b565b915091508061260b57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161267091613a51565b61267a9190613a64565b9050805f0361269057505f958695509350505050565b5f80871161269e575f6126a9565b6126a98488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126da576126da613e69565b6040519080825280601f01601f191660200182016040528015612704576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612724578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361274c86611766565b6127569190613c8a565b90505f81121561276c575f809250925050610d21565b946001945092505050565b5f805f612787888888888861316c565b90505f6127b1670de0b6b3a76400006127a08888612f2c565b6127aa9190613a51565b83906117d4565b9050670de0b6b3a764000081106127e5576127de6127d7670de0b6b3a7640000896117d4565b8290612be1565b90506127fd565b6127fa6127d7670de0b6b3a764000089612f2c565b90505b61280781866117d4565b90508881101561281e575f80935093505050612735565b97909703976001975095505050505050565b5f805f612840898988888861319a565b905061285a866119466128538a8d613a51565b879061211a565b9850612867858a866117b9565b98508881101561287d575f8092509250506115f6565b888103670de0b6b3a764000081106128ab576128a46127d7670de0b6b3a764000089612f2c565b90506128c3565b6128c06127d7670de0b6b3a7640000896117d4565b90505b808910156128d8575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fa8987896131be565b90925090506129098289613a64565b97505f61291782888a6117b9565b9050612923818b613a64565b9a989950979650505050505050565b5f8061293e845f613243565b612948845f613243565b6129529190613c8a565b90505f81131561296d576129668186613a51565b945061298b565b5f81121561298b5761297e81613e21565b6129889086613a64565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129b8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129da610d28565b6129e49190613c08565b90508083116129f3575f6129fd565b6129fd8184613a64565b915061008d6127aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c08565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b0e9190613e7d565b935093509350935080612b2957505f98975050505050505050565b868414612b5a57612b39846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8b57612b6a836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb957612b9b826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bf85750670de0b6b3a76400006113f7565b825f03612c0657505f6113f7565b5f612c1083611766565b90505f612c24612c1f86611766565b613258565b9050818102612c3b670de0b6b3a764000082613ebb565b9050612c468161347d565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b4e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061360f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d08848261367a565b611b4e576040516001600160a01b0384811660248301525f6044830152612d3c91869182169063095ea7b390606401612c85565b611b4e848261360f565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd39190613fa4565b60e0015190505f612de3856118d2565b60101b609085901b01919091019150509392505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613717565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461373a565b5f825f03612ea1575084610075565b8115612ef357612ed2612eb48487613a51565b612ebe858761211a565b612ec8888a61211a565b6116269190613a51565b90505f612edf8588611cb4565b905080821015612eed578091505b50610075565b828503612f0157505f610075565b610072612f0e8487613a64565b612f188587612994565b612f22888a61211a565b6116269190613a64565b5f61008d83670de0b6b3a7640000846129a4565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612f83906001600160801b031684612f2c565b9050612faf7f000000000000000000000000000000000000000000000000000000000000000082613a51565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612ffa9083906001600160801b0316613a64565b61008d9190613a64565b61300c613938565b5f806130178461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130519190613af5565b6040805180830381865af415801561306b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061308f9190613e3b565b93509050826130a357505f9150611a979050565b5f6130c46115b884610160015185610140015161211a90919063ffffffff16565b6130e46115b885610120015186610100015161299490919063ffffffff16565b6130ee9190613c8a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6131778585612be1565b61319061318886611946868b61211a565b8590856117b9565b6100729190613a51565b5f6131a58585612be1565b6131906131b686611946868b612994565b8590856129a4565b5f8061320d8561320785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006131fd818c612f2c565b6132079190613a64565b90612994565b9150613239827f000000000000000000000000000000000000000000000000000000000000000061211a565b9050935093915050565b5f818313613251578161008d565b5090919050565b5f8082136132795760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906132fc9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361349657505f919050565b680755bf798b4a1bf1e582126134bf576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136236001600160a01b0384168361375c565b905080515f141580156136475750808060200190518101906136459190613cfb565b155b1561367557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161369591906140c5565b5f604051808303815f865af19150503d805f81146136ce576040519150601f19603f3d011682016040523d82523d5f602084013e6136d3565b606091505b50915091508180156136fd5750805115806136fd5750808060200190518101906136fd9190613cfb565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce80000006137328686613769565b8491906117b9565b5f61008a6137488585613769565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f6137d4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156137b0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613b04565b6060814710156137f95760405163cd78605960e01b815230600482015260240161366c565b5f80856001600160a01b0316848660405161381491906140c5565b5f6040518083038185875af1925050503d805f811461384e576040519150601f19603f3d011682016040523d82523d5f602084013e613853565b606091505b5091509150612c468683836060826138735761386e826138ba565b61008d565b815115801561388a57506001600160a01b0384163b155b156138b357604051639996b31560e01b81526001600160a01b038516600482015260240161366c565b508061008d565b8051156138ca5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061394c6138e3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156139a6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156139d8575f80fd5b6139e488828901613982565b9150509295509295909350565b5f805f60608486031215613a03575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613a27575f80fd5b613a3386828701613982565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613a3d565b818103818111156113f7576113f7613a3d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a77565b5f60208284031215613b14575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b3f575f80fd5b813561008d81613b1b565b8015158114610c0a575f80fd5b5f60208284031215613b67575f80fd5b813561008d81613b4a565b5f808335601e19843603018112613b87575f80fd5b83018035915067ffffffffffffffff821115613ba1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613a3d565b5f805f60608486031215613c31575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613a3d565b6001600160801b038181168382160190808211156118cb576118cb613a3d565b8181035f8312801583831316838312821617156118cb576118cb613a3d565b8051613cb481613b1b565b919050565b5f60208284031215613cc9575f80fd5b815161008d81613b1b565b8082018281125f831280158216821582161715613cf357613cf3613a3d565b505092915050565b5f60208284031215613d0b575f80fd5b815161008d81613b4a565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3857613d38613d16565b500690565b6001600160801b038281168282160390808211156118cb576118cb613a3d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613a3d565b5f6102a082019050613d9d828551613a77565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e10575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e3557613e35613a3d565b505f0390565b5f8060408385031215613e4c575f80fd5b825191506020830151613e5e81613b4a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613e90575f80fd5b8451935060208501519250604085015191506060850151613eb081613b4a565b939692955090935050565b5f82613ec957613ec9613d16565b600160ff1b82145f1984141615613ee257613ee2613a3d565b500590565b6040516101e0810167ffffffffffffffff81118282101715613f1757634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f2d575f80fd5b6040516020810181811067ffffffffffffffff82111715613f5c57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613cb4575f80fd5b805164ffffffffff81168114613cb4575f80fd5b805161ffff81168114613cb4575f80fd5b5f6101e08284031215613fb5575f80fd5b613fbd613ee7565b613fc78484613f1d565b8152613fd560208401613f69565b6020820152613fe660408401613f69565b6040820152613ff760608401613f69565b606082015261400860808401613f69565b608082015261401960a08401613f69565b60a082015261402a60c08401613f7f565b60c082015261403b60e08401613f93565b60e082015261010061404e818501613ca9565b90820152610120614060848201613ca9565b90820152610140614072848201613ca9565b90820152610160614084848201613ca9565b90820152610180614096848201613f69565b908201526101a06140a8848201613f69565b908201526101c06140ba848201613f69565b908201529392505050565b5f82515f5b818110156140e457602081860181015185830152016140ca565b505f92019182525091905056fea2646970667358221220240c2ea458335572db19ff928f12ef3e08e3b8d82eff8e0d6d0dd98fcb62d0e964736f6c63430008160033a264697066735822122097a9b7ce2eca9587951b9811965eade12c59e2af59b8ccf74f7701a5e15577ee64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts deleted file mode 100644 index 46930bbe1..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts +++ /dev/null @@ -1,805 +0,0 @@ -export declare const AaveL2Target4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=AaveL2Target4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map deleted file mode 100644 index d0a7fa460..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target4.d.ts","sourceRoot":"","sources":["../src/AaveL2Target4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo+Bst6B,KAAK,MAAM,EAAE;;;;;;CAM5v6B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4.js b/packages/hyperdrive-artifacts/dist/AaveL2Target4.js deleted file mode 100644 index ea1999382..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4.js +++ /dev/null @@ -1,1003 +0,0 @@ -export const AaveL2Target4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003a6e38038062003a6e83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516102805161322c620008425f395f81816110aa01528181612242015281816122b401526129c001525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b01526124dd01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6123c701525f8181611089015281816122210152818161226e015261234f015261322c5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612af9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b4b565b6100b1565b005b610056610092366004612af9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b7f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ba7565b61016a60408c018c612bc2565b60405161017c96959493929190612c2d565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c7a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b7f565b88610ea4565b5f6102f56102ec6020870187612b7f565b88848989610a9e565b90945090506103048188612ca1565b92505f61031083610f41565b5090506103206020870187612b7f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ba7565b8a888e80604001906103709190612bc2565b604051610384989796959493929190612cb4565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b7f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612cfb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ca1565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612cfb565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ca1565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612cfb565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612cfb565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612cfb565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612ca1565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612d4e565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d7d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ca1565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e36565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612eab565b91509150610d11610d0382611542565b610d0c90612ecd565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ca1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612cfb565b90915550505f838152600b602052604081208054839290610ef7908490612cfb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612ee7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ef6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612cfb565b6110469190612ca1565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612c7a565b6110e49084612ca1565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612ca1565b6111fd9190612f24565b85670de0b6b3a7640000611211878a612ca1565b61121b9190612f24565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612ca1565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612cfb565b909155506113a890508183612ca1565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612ca1565b6114f69084612ca1565b9250611514565b6115078282612ca1565b6115119084612cfb565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612f24565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612d98565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612cfb565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612ca1565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612d4e565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612f24565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612ca1565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612f68565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612ba7565b15611aaf57611aa885611a966020860186612b7f565b611aa36040870187612bc2565b612267565b9150611ad2565b611ad285611ac06020860186612b7f565b611acd6040870187612bc2565b6123c5565b509392505050565b5f6110e48383670de0b6b3a7640000612471565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612cfb565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612ca1565b6110e49190612ca1565b611b91612a5a565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612ee7565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612ef6565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612d4e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612f7c565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e92612aa4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612494565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612494565b905292915050565b5f610a96611fd28585612508565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff28484612573565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b6125ae565b9050818102612065670de0b6b3a764000082612fba565b9050612070816127d3565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612cfb565b6120a6858761172b565b6120b0888a61172b565b6116f39190612cfb565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612ca1565b6121008587611ada565b61210a888a61172b565b6116f39190612ca1565b5f6110e483670de0b6b3a764000084612471565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f612965565b6121cf845f612965565b6121d99190612d4e565b90505f8113156121f4576121ed8186612cfb565b9450612212565b5f8112156122125761220581612ecd565b61220f9086612ca1565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461297a565b5f8061229b7f000000000000000000000000000000000000000000000000000000000000000061229688611083565b61299d565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612302573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123269190612fe6565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123bb9190612ffd565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846123fe87611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612446573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246a9190612ffd565b5050505050565b5f825f190484118302158202612485575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124a761040f565b6124b19190612f24565b90508083116124c0575f6124ca565b6124ca8184612ca1565b91506110e4612501670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f24565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa15801561254f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612fe6565b5f805f8361258086611542565b61258a9190612d4e565b90505f8112156125a0575f8092509250506125a7565b9150600190505b9250929050565b5f8082136125cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906126529084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136127ec57505f919050565b680755bf798b4a1bf1e58212612815576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f81831361297357816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce80000006129958686612508565b849190611a29565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612a06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2a91906130d5565b60e08101519091505f5f198514612a415784612a4a565b6001600160801b035b60101b9190910195945050505050565b604051806101200160405280612a6e612aa4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b0b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b2f575f80fd5b840160608187031215612b40575f80fd5b809150509250925092565b5f8060408385031215612b5c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b8f575f80fd5b81356110e481612b6b565b80151581146103f5575f80fd5b5f60208284031215612bb7575f80fd5b81356110e481612b9a565b5f808335601e19843603018112612bd7575f80fd5b83018035915067ffffffffffffffff821115612bf1575f80fd5b6020019150368190038213156125a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c5a60a083018486612c05565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c8857612c88612c66565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c8d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ced60e083018486612c05565b9a9950505050505050505050565b80820180821115610dc757610dc7612c8d565b6001600160701b0381811683821601908082111561200457612004612c8d565b6001600160801b0381811683821601908082111561200457612004612c8d565b8181035f83128015838313168383128216171561200457612004612c8d565b8051612d7881612b6b565b919050565b5f60208284031215612d8d575f80fd5b81516110e481612b6b565b6001600160801b0382811682821603908082111561200457612004612c8d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c8d565b505f0390565b6101808101610dc78284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612b9a565b809150509250929050565b8082028115828204841417610dc757610dc7612c8d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c8d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f8f575f80fd5b8451935060208501519250604085015191506060850151612faf81612b9a565b939692955090935050565b5f82612fc857612fc8612c66565b600160ff1b82145f1984141615612fe157612fe1612c8d565b500590565b5f60208284031215612ff6575f80fd5b5051919050565b5f6020828403121561300d575f80fd5b81516110e481612b9a565b6040516101e0810167ffffffffffffffff8111828210171561304857634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6020828403121561305e575f80fd5b6040516020810181811067ffffffffffffffff8211171561308d57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114612d78575f80fd5b805164ffffffffff81168114612d78575f80fd5b805161ffff81168114612d78575f80fd5b5f6101e082840312156130e6575f80fd5b6130ee613018565b6130f8848461304e565b81526131066020840161309a565b60208201526131176040840161309a565b60408201526131286060840161309a565b60608201526131396080840161309a565b608082015261314a60a0840161309a565b60a082015261315b60c084016130b0565b60c082015261316c60e084016130c4565b60e082015261010061317f818501612d6d565b90820152610120613191848201612d6d565b908201526101406131a3848201612d6d565b908201526101606131b5848201612d6d565b908201526101806131c784820161309a565b908201526101a06131d984820161309a565b908201526101c06131eb84820161309a565b90820152939250505056fea2646970667358221220173c1d6628f106d9671541f080af69e51f8a356bed447913f2d707c21468971864736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts deleted file mode 100644 index 06b3e29da..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map deleted file mode 100644 index 53078ca55..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target4Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0y/B,KAAK,MAAM,EAAE;;;;CAIx1/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js deleted file mode 100644 index 0c1a022ac..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613f7f8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b613a6e80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b5060405162003a6e38038062003a6e83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516102805161322c620008425f395f81816110aa01528181612242015281816122b401526129c001525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b01526124dd01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6123c701525f8181611089015281816122210152818161226e015261234f015261322c5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612af9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b4b565b6100b1565b005b610056610092366004612af9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b7f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ba7565b61016a60408c018c612bc2565b60405161017c96959493929190612c2d565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c7a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b7f565b88610ea4565b5f6102f56102ec6020870187612b7f565b88848989610a9e565b90945090506103048188612ca1565b92505f61031083610f41565b5090506103206020870187612b7f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ba7565b8a888e80604001906103709190612bc2565b604051610384989796959493929190612cb4565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b7f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612cfb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ca1565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612cfb565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ca1565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612cfb565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612cfb565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612cfb565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612ca1565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612d4e565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d7d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ca1565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e36565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612eab565b91509150610d11610d0382611542565b610d0c90612ecd565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ca1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612cfb565b90915550505f838152600b602052604081208054839290610ef7908490612cfb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612ee7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ef6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612cfb565b6110469190612ca1565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612c7a565b6110e49084612ca1565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612ca1565b6111fd9190612f24565b85670de0b6b3a7640000611211878a612ca1565b61121b9190612f24565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612ca1565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612cfb565b909155506113a890508183612ca1565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612ca1565b6114f69084612ca1565b9250611514565b6115078282612ca1565b6115119084612cfb565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612f24565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612d98565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612cfb565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612ca1565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612d4e565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612f24565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612ca1565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612f68565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612ba7565b15611aaf57611aa885611a966020860186612b7f565b611aa36040870187612bc2565b612267565b9150611ad2565b611ad285611ac06020860186612b7f565b611acd6040870187612bc2565b6123c5565b509392505050565b5f6110e48383670de0b6b3a7640000612471565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612cfb565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612ca1565b6110e49190612ca1565b611b91612a5a565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612ee7565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612ef6565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612d4e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612f7c565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e92612aa4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612494565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612494565b905292915050565b5f610a96611fd28585612508565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff28484612573565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b6125ae565b9050818102612065670de0b6b3a764000082612fba565b9050612070816127d3565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612cfb565b6120a6858761172b565b6120b0888a61172b565b6116f39190612cfb565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612ca1565b6121008587611ada565b61210a888a61172b565b6116f39190612ca1565b5f6110e483670de0b6b3a764000084612471565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f612965565b6121cf845f612965565b6121d99190612d4e565b90505f8113156121f4576121ed8186612cfb565b9450612212565b5f8112156122125761220581612ecd565b61220f9086612ca1565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461297a565b5f8061229b7f000000000000000000000000000000000000000000000000000000000000000061229688611083565b61299d565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612302573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123269190612fe6565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123bb9190612ffd565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846123fe87611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612446573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246a9190612ffd565b5050505050565b5f825f190484118302158202612485575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124a761040f565b6124b19190612f24565b90508083116124c0575f6124ca565b6124ca8184612ca1565b91506110e4612501670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f24565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa15801561254f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612fe6565b5f805f8361258086611542565b61258a9190612d4e565b90505f8112156125a0575f8092509250506125a7565b9150600190505b9250929050565b5f8082136125cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906126529084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136127ec57505f919050565b680755bf798b4a1bf1e58212612815576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f81831361297357816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce80000006129958686612508565b849190611a29565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612a06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2a91906130d5565b60e08101519091505f5f198514612a415784612a4a565b6001600160801b035b60101b9190910195945050505050565b604051806101200160405280612a6e612aa4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b0b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b2f575f80fd5b840160608187031215612b40575f80fd5b809150509250925092565b5f8060408385031215612b5c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b8f575f80fd5b81356110e481612b6b565b80151581146103f5575f80fd5b5f60208284031215612bb7575f80fd5b81356110e481612b9a565b5f808335601e19843603018112612bd7575f80fd5b83018035915067ffffffffffffffff821115612bf1575f80fd5b6020019150368190038213156125a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c5a60a083018486612c05565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c8857612c88612c66565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c8d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ced60e083018486612c05565b9a9950505050505050505050565b80820180821115610dc757610dc7612c8d565b6001600160701b0381811683821601908082111561200457612004612c8d565b6001600160801b0381811683821601908082111561200457612004612c8d565b8181035f83128015838313168383128216171561200457612004612c8d565b8051612d7881612b6b565b919050565b5f60208284031215612d8d575f80fd5b81516110e481612b6b565b6001600160801b0382811682821603908082111561200457612004612c8d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c8d565b505f0390565b6101808101610dc78284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612b9a565b809150509250929050565b8082028115828204841417610dc757610dc7612c8d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c8d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f8f575f80fd5b8451935060208501519250604085015191506060850151612faf81612b9a565b939692955090935050565b5f82612fc857612fc8612c66565b600160ff1b82145f1984141615612fe157612fe1612c8d565b500590565b5f60208284031215612ff6575f80fd5b5051919050565b5f6020828403121561300d575f80fd5b81516110e481612b9a565b6040516101e0810167ffffffffffffffff8111828210171561304857634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6020828403121561305e575f80fd5b6040516020810181811067ffffffffffffffff8211171561308d57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114612d78575f80fd5b805164ffffffffff81168114612d78575f80fd5b805161ffff81168114612d78575f80fd5b5f6101e082840312156130e6575f80fd5b6130ee613018565b6130f8848461304e565b81526131066020840161309a565b60208201526131176040840161309a565b60408201526131286060840161309a565b60608201526131396080840161309a565b608082015261314a60a0840161309a565b60a082015261315b60c084016130b0565b60c082015261316c60e084016130c4565b60e082015261010061317f818501612d6d565b90820152610120613191848201612d6d565b908201526101406131a3848201612d6d565b908201526101606131b5848201612d6d565b908201526101806131c784820161309a565b908201526101a06131d984820161309a565b908201526101c06131eb84820161309a565b90820152939250505056fea2646970667358221220173c1d6628f106d9671541f080af69e51f8a356bed447913f2d707c21468971864736f6c63430008160033a2646970667358221220f6fb537c820fb6588d94c72c397156a8025eba45954b7a0b4848e236a1ab2d1964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts deleted file mode 100644 index 2c46b6dfc..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts +++ /dev/null @@ -1,1534 +0,0 @@ -export declare const AaveTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map deleted file mode 100644 index 03451dfb9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget0.d.ts","sourceRoot":"","sources":["../src/AaveTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy2DojjC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CxljC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0.js b/packages/hyperdrive-artifacts/dist/AaveTarget0.js deleted file mode 100644 index 176f18cdd..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0.js +++ /dev/null @@ -1,1940 +0,0 @@ -export const AaveTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b506040516200431c3803806200431c83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a8f6200088d5f395f81816115060152818161260b015281816126570152612a5401525f8181610d6a015261237201525f8181610d3b015261233501525f8181610c1701528181610e9a01528181610f2801528181610fb6015281816110440152818161168c01528181611722015281816118e401528181611efc01528181611fd0015261212101525f610e0201525f8181610ddc015261251701525f8181610db601526124f101525f8181610d9001526124cb01525f61114f01525f61112901525f61110301525f6110dd01525f8181610e74015261253d01525f8181610e28015281816112da01526128fc01525f8181610e4e0152612bd701525f818161061901528181610d0c01528181611e710152612b2d01525f818161074301528181610cdd01528181611277015281816125ea015281816126360152612a830152613a8f5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612e7a565b61056c565b6040516102579190612ede565b60405180910390f35b61027361026e366004612f04565b6105a3565b005b610273610283366004612f2c565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612f55565b61064a565b6102736102d9366004613026565b610666565b6102736102ec3660046130b5565b61067c565b6103046102ff366004612e7a565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046130fa565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f366004613139565b6107d5565b61034961080d565b61034961039a366004613167565b61082b565b6103b26103ad366004612f04565b610835565b6040519015158152602001610257565b61024a6103d0366004612e7a565b610854565b6102736103e336600461319e565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906131e5565b610273610413366004613286565b5050565b610349610425366004612f04565b610bde565b6102a0610c09565b6102736104403660046132b2565b610c48565b610273610453366004613286565b610c59565b610273610466366004612f04565b50565b610471610cc4565b60405161025791906132e7565b61034961048c366004612e7a565b611184565b61034961049f366004612e7a565b611191565b6104b76104b236600461340d565b6111b2565b604051610257919061344c565b6102a0611269565b6103496112a8565b6103496104e2366004612e7a565b6112c1565b6103496104f5366004612e7a565b6112ce565b610502611304565b604051610257919061348f565b61027361051d3660046135a0565b61140f565b6103b26105303660046135fb565b611457565b61053d61149a565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114f8565b606061059e61057a83611537565b60405160200161058a9190612ede565b60405160208183030381529060405261165d565b919050565b61046681611681565b610466816118e2565b60606105f16040518060400160405280600e81526020016d416176654879706572647269766560901b81525060405160200161058a9190612ede565b90565b60606105f1600160405160200161058a9190613627565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906136d4565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611ee7565b5f61059e6108428361211d565b6040805191151560208301520161058a565b606061059e61057a836121fb565b8361086c816122f7565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123b4565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612ede565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610958612420565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c29190613717565b6109cc919061372a565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f885612432565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb919061373d565b509050610ad881846125bc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125d0565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016131e5565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c54838383336123b4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ccc612da6565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f18919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa6919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611010573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611034919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c2919061376b565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906132e7565b5f61059e610819836125e4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111ce576111ce613786565b6040519080825280602002602001820160405280156111f7578160200160208202803683370190505b5090505f5b8381101561124d575f8585838181106112175761121761379a565b9050602002013590505f81549050808484815181106112385761123861379a565b602090810291909101015250506001016111fc565b506112628160405160200161058a919061344c565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612630565b5f61059e6108196112ff7f000000000000000000000000000000000000000000000000000000000000000085613717565b61267c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611419816122f7565b6001600160a01b0316336001600160a01b03161461144a57604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b606060f882901c6001600160f81b0383165f611552826126bc565b90505f836003811115611567576115676136ef565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad6136ef565b036115d957806040516020016115c391906137ae565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed6136ef565b0361160357806040516020016115c391906137e6565b6003836003811115611617576116176136ef565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612ede565b60405180910390fd5b61168961276e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a919061376b565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a0919061376b565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c63361211d565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611859919061381f565b905061186f6001600160a01b0385168483612796565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611962919061376b565b6001600160a01b0316336001600160a01b03161415801561198957506119873361211d565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c6661379a565b905060200201358888868686818110611c8157611c8161379a565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061372a565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061372a565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e01908490613717565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ebe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee2919061381f565b905090565b5f611ef061276e565b611ef9826127e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7a919061376b565b90506001600160a01b038116611f936020850185612f04565b6001600160a01b031614611fba57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204e919061376b565b6001600160a01b0316336001600160a01b031614155b801561207657506120743361211d565b155b15612093576040516282b42960e81b815260040160405180910390fd5b5f61209c612420565b600980545f9091559091506120b281838761281d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f160408a0160208b01612f2c565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a19190810190613836565b90505f5b81518110156121f257836001600160a01b03168282815181106121ca576121ca61379a565b60200260200101516001600160a01b0316036121ea575060019392505050565b6001016121a5565b505f9392505050565b606060f882901c6001600160f81b0383165f612216826126bc565b90505f83600381111561222b5761222b6136ef565b0361225d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b6001836003811115612271576122716136ef565b0361228757806040516020016115c391906138f6565b600283600381111561229b5761229b6136ef565b036122b157806040516020016115c3919061392d565b60038360038111156122c5576122c56136ef565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee2670de0b6b3a76400006125e4565b61248a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258291166128b3565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b4929004166128b3565b905292915050565b5f6107368383670de0b6b3a7640000612927565b5f61073683670de0b6b3a764000084612927565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612942565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296c565b5f6126a1600b5f61268e60028661298f565b81526020019081526020015f20546129c3565b6126b2600b5f61268e60018761298f565b6108079190613958565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612760576126f5600a8661398b565b612700906030613717565b60f81b826001612710848761372a565b61271a919061372a565b8151811061272a5761272a61379a565b60200101906001600160f81b03191690815f1a9053508061274a8161399e565b91506127599050600a866139b6565b94506126e4565b918290030190815292915050565b60025f540361279057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c549084906129f0565b5f6127f66020830183612f04565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282985856125bc565b905061283481612630565b9450845f03612846575f915050610736565b8491506128596040840160208501612f2c565b15612888576128818561286f6020860186612f04565b61287c60408701876139c9565b612a51565b91506128ab565b6128ab856128996020860186612f04565b6128a660408701876139c9565b612b2b565b509392505050565b5f80670de0b6b3a76400006128c6612bd0565b6128d09190613a0c565b90508083116128df575f6128e9565b6128e9818461372a565b9150610736612920670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a0c565b83906125d0565b5f825f19048411830215820261293b575f80fd5b5091020490565b5f6129646129508585612bfb565b83906b033b2e3c9fd0803ce8000000612927565b949350505050565b5f6129646b033b2e3c9fd0803ce80000006129878686612bfb565b849190612927565b5f6001600160f81b038211156129b85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a046001600160a01b03841683612c66565b905080515f14158015612a28575080806020019051810190612a269190613a23565b155b15610c5457604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f0000000000000000000000000000000000000000000000000000000000000000612aab886125e4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b22919061381f565b95945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612b64876125e4565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a99190613a23565b5f611ee2427f0000000000000000000000000000000000000000000000000000000000000000612c73565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612c42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610736919061381f565b606061073683835f612c88565b5f612c7e828461398b565b610736908461372a565b606081471015612cad5760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612cc89190613a3e565b5f6040518083038185875af1925050503d805f8114612d02576040519150601f19603f3d011682016040523d82523d5f602084013e612d07565b606091505b5091509150612d17868383612d21565b9695505050505050565b606082612d3657612d3182612d7d565b610736565b8151158015612d4d57506001600160a01b0384163b155b15612d7657604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612d8d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e7560405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e8a575f80fd5b5035919050565b5f5b83811015612eab578181015183820152602001612e93565b50505f910152565b5f8151808452612eca816020860160208601612e91565b601f01601f19169290920160200192915050565b602081525f6107366020830184612eb3565b6001600160a01b0381168114610466575f80fd5b5f60208284031215612f14575f80fd5b813561073681612ef0565b8015158114610466575f80fd5b5f60208284031215612f3c575f80fd5b813561073681612f1f565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c031215612f6e575f80fd5b8935985060208a0135975060408a0135612f8781612ef0565b965060608a0135612f9781612ef0565b955060808a0135612fa781612f1f565b945060a08a0135935060c08a0135612fbe81612f47565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fee575f80fd5b50813567ffffffffffffffff811115613005575f80fd5b6020830191508360208260051b850101111561301f575f80fd5b9250929050565b5f805f805f806080878903121561303b575f80fd5b863561304681612ef0565b9550602087013561305681612ef0565b9450604087013567ffffffffffffffff80821115613072575f80fd5b61307e8a838b01612fde565b90965094506060890135915080821115613096575f80fd5b506130a389828a01612fde565b979a9699509497509295939492505050565b5f805f80608085870312156130c8575f80fd5b8435935060208501356130da81612ef0565b925060408501356130ea81612ef0565b9396929550929360600135925050565b5f805f6060848603121561310c575f80fd5b83359250602084013561311e81612ef0565b9150604084013561312e81612ef0565b809150509250925092565b5f806040838503121561314a575f80fd5b82359150602083013561315c81612ef0565b809150509250929050565b5f60208284031215613177575f80fd5b813567ffffffffffffffff81111561318d575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156131b1575f80fd5b8435935060208501356131c381612ef0565b92506040850135915060608501356131da81612ef0565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613297575f80fd5b82356132a281612ef0565b9150602083013561315c81612f1f565b5f805f606084860312156132c4575f80fd5b8335925060208401356132d681612ef0565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161331360208401826001600160a01b03169052565b50604083015161332e60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516133a0828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f806020838503121561341e575f80fd5b823567ffffffffffffffff811115613434575f80fd5b61344085828601612fde565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561348357835183529284019291840191600101613467565b50909695505050505050565b81516001600160801b03168152610180810160208301516134bb60208401826001600160801b03169052565b5060408301516134d660408401826001600160801b03169052565b5060608301516134f160608401826001600160801b03169052565b5060808301516135066080840182600f0b9052565b5060a083015161352160a08401826001600160801b03169052565b5060c083015161353c60c08401826001600160801b03169052565b5060e083015161355760e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613405565b5f805f805f60a086880312156135b4575f80fd5b8535945060208601356135c681612ef0565b935060408601356135d681612ef0565b92506060860135915060808601356135ed81612ef0565b809150509295509295909350565b5f806040838503121561360c575f80fd5b823561361781612ef0565b9150602083013561315c81612ef0565b5f60208083525f84545f60018260011c9150600183168061364957607f831692505b60208310810361366757634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613686576001811461369c576136c5565b60ff198616825284151560051b820196506136c5565b5f8b8152602090205f5b868110156136bf578154848201529085019089016136a6565b83019750505b50949998505050505050505050565b5f602082840312156136e4575f80fd5b815161073681612f47565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613703565b8181038181111561080757610807613703565b5f806040838503121561374e575f80fd5b82519150602083015161315c81612f1f565b805161059e81612ef0565b5f6020828403121561377b575f80fd5b815161073681612ef0565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137d9816011850160208701612e91565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613812816012850160208701612e91565b9190910160120192915050565b5f6020828403121561382f575f80fd5b5051919050565b5f6020808385031215613847575f80fd5b825167ffffffffffffffff8082111561385e575f80fd5b818501915085601f830112613871575f80fd5b81518181111561388357613883613786565b8060051b604051601f19603f830116810181811085821117156138a8576138a8613786565b6040529182528482019250838101850191888311156138c5575f80fd5b938501935b828510156138ea576138db85613760565b845293850193928501926138ca565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613920816010850160208701612e91565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137d9816011850160208701612e91565b8181035f83128015838313168383128216171561126257611262613703565b634e487b7160e01b5f52601260045260245ffd5b5f8261399957613999613977565b500690565b5f600182016139af576139af613703565b5060010190565b5f826139c4576139c4613977565b500490565b5f808335601e198436030181126139de575f80fd5b83018035915067ffffffffffffffff8211156139f8575f80fd5b60200191503681900382131561301f575f80fd5b808202811582820484141761080757610807613703565b5f60208284031215613a33575f80fd5b815161073681612f1f565b5f8251613a4f818460208701612e91565b919091019291505056fea264697066735822122064870db4cdf96a2311a224b2012e527bf5e40a9ecc102be5afb02ed7cf8fdb8a64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts deleted file mode 100644 index 848d99661..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map deleted file mode 100644 index 9ec921ce6..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IwooC,KAAK,MAAM,EAAE;;;;CAIproC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js deleted file mode 100644 index 75bd5139b..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061482d8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61431c80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b506040516200431c3803806200431c83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a8f6200088d5f395f81816115060152818161260b015281816126570152612a5401525f8181610d6a015261237201525f8181610d3b015261233501525f8181610c1701528181610e9a01528181610f2801528181610fb6015281816110440152818161168c01528181611722015281816118e401528181611efc01528181611fd0015261212101525f610e0201525f8181610ddc015261251701525f8181610db601526124f101525f8181610d9001526124cb01525f61114f01525f61112901525f61110301525f6110dd01525f8181610e74015261253d01525f8181610e28015281816112da01526128fc01525f8181610e4e0152612bd701525f818161061901528181610d0c01528181611e710152612b2d01525f818161074301528181610cdd01528181611277015281816125ea015281816126360152612a830152613a8f5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612e7a565b61056c565b6040516102579190612ede565b60405180910390f35b61027361026e366004612f04565b6105a3565b005b610273610283366004612f2c565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612f55565b61064a565b6102736102d9366004613026565b610666565b6102736102ec3660046130b5565b61067c565b6103046102ff366004612e7a565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046130fa565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f366004613139565b6107d5565b61034961080d565b61034961039a366004613167565b61082b565b6103b26103ad366004612f04565b610835565b6040519015158152602001610257565b61024a6103d0366004612e7a565b610854565b6102736103e336600461319e565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906131e5565b610273610413366004613286565b5050565b610349610425366004612f04565b610bde565b6102a0610c09565b6102736104403660046132b2565b610c48565b610273610453366004613286565b610c59565b610273610466366004612f04565b50565b610471610cc4565b60405161025791906132e7565b61034961048c366004612e7a565b611184565b61034961049f366004612e7a565b611191565b6104b76104b236600461340d565b6111b2565b604051610257919061344c565b6102a0611269565b6103496112a8565b6103496104e2366004612e7a565b6112c1565b6103496104f5366004612e7a565b6112ce565b610502611304565b604051610257919061348f565b61027361051d3660046135a0565b61140f565b6103b26105303660046135fb565b611457565b61053d61149a565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114f8565b606061059e61057a83611537565b60405160200161058a9190612ede565b60405160208183030381529060405261165d565b919050565b61046681611681565b610466816118e2565b60606105f16040518060400160405280600e81526020016d416176654879706572647269766560901b81525060405160200161058a9190612ede565b90565b60606105f1600160405160200161058a9190613627565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906136d4565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611ee7565b5f61059e6108428361211d565b6040805191151560208301520161058a565b606061059e61057a836121fb565b8361086c816122f7565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123b4565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612ede565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610958612420565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c29190613717565b6109cc919061372a565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f885612432565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb919061373d565b509050610ad881846125bc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125d0565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016131e5565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c54838383336123b4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ccc612da6565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f18919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa6919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611010573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611034919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c2919061376b565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906132e7565b5f61059e610819836125e4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111ce576111ce613786565b6040519080825280602002602001820160405280156111f7578160200160208202803683370190505b5090505f5b8381101561124d575f8585838181106112175761121761379a565b9050602002013590505f81549050808484815181106112385761123861379a565b602090810291909101015250506001016111fc565b506112628160405160200161058a919061344c565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612630565b5f61059e6108196112ff7f000000000000000000000000000000000000000000000000000000000000000085613717565b61267c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611419816122f7565b6001600160a01b0316336001600160a01b03161461144a57604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b606060f882901c6001600160f81b0383165f611552826126bc565b90505f836003811115611567576115676136ef565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad6136ef565b036115d957806040516020016115c391906137ae565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed6136ef565b0361160357806040516020016115c391906137e6565b6003836003811115611617576116176136ef565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612ede565b60405180910390fd5b61168961276e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a919061376b565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a0919061376b565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c63361211d565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611859919061381f565b905061186f6001600160a01b0385168483612796565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611962919061376b565b6001600160a01b0316336001600160a01b03161415801561198957506119873361211d565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c6661379a565b905060200201358888868686818110611c8157611c8161379a565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061372a565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061372a565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e01908490613717565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ebe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee2919061381f565b905090565b5f611ef061276e565b611ef9826127e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7a919061376b565b90506001600160a01b038116611f936020850185612f04565b6001600160a01b031614611fba57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204e919061376b565b6001600160a01b0316336001600160a01b031614155b801561207657506120743361211d565b155b15612093576040516282b42960e81b815260040160405180910390fd5b5f61209c612420565b600980545f9091559091506120b281838761281d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f160408a0160208b01612f2c565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a19190810190613836565b90505f5b81518110156121f257836001600160a01b03168282815181106121ca576121ca61379a565b60200260200101516001600160a01b0316036121ea575060019392505050565b6001016121a5565b505f9392505050565b606060f882901c6001600160f81b0383165f612216826126bc565b90505f83600381111561222b5761222b6136ef565b0361225d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b6001836003811115612271576122716136ef565b0361228757806040516020016115c391906138f6565b600283600381111561229b5761229b6136ef565b036122b157806040516020016115c3919061392d565b60038360038111156122c5576122c56136ef565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee2670de0b6b3a76400006125e4565b61248a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258291166128b3565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b4929004166128b3565b905292915050565b5f6107368383670de0b6b3a7640000612927565b5f61073683670de0b6b3a764000084612927565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612942565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296c565b5f6126a1600b5f61268e60028661298f565b81526020019081526020015f20546129c3565b6126b2600b5f61268e60018761298f565b6108079190613958565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612760576126f5600a8661398b565b612700906030613717565b60f81b826001612710848761372a565b61271a919061372a565b8151811061272a5761272a61379a565b60200101906001600160f81b03191690815f1a9053508061274a8161399e565b91506127599050600a866139b6565b94506126e4565b918290030190815292915050565b60025f540361279057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c549084906129f0565b5f6127f66020830183612f04565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282985856125bc565b905061283481612630565b9450845f03612846575f915050610736565b8491506128596040840160208501612f2c565b15612888576128818561286f6020860186612f04565b61287c60408701876139c9565b612a51565b91506128ab565b6128ab856128996020860186612f04565b6128a660408701876139c9565b612b2b565b509392505050565b5f80670de0b6b3a76400006128c6612bd0565b6128d09190613a0c565b90508083116128df575f6128e9565b6128e9818461372a565b9150610736612920670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a0c565b83906125d0565b5f825f19048411830215820261293b575f80fd5b5091020490565b5f6129646129508585612bfb565b83906b033b2e3c9fd0803ce8000000612927565b949350505050565b5f6129646b033b2e3c9fd0803ce80000006129878686612bfb565b849190612927565b5f6001600160f81b038211156129b85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a046001600160a01b03841683612c66565b905080515f14158015612a28575080806020019051810190612a269190613a23565b155b15610c5457604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f0000000000000000000000000000000000000000000000000000000000000000612aab886125e4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b22919061381f565b95945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612b64876125e4565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a99190613a23565b5f611ee2427f0000000000000000000000000000000000000000000000000000000000000000612c73565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612c42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610736919061381f565b606061073683835f612c88565b5f612c7e828461398b565b610736908461372a565b606081471015612cad5760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612cc89190613a3e565b5f6040518083038185875af1925050503d805f8114612d02576040519150601f19603f3d011682016040523d82523d5f602084013e612d07565b606091505b5091509150612d17868383612d21565b9695505050505050565b606082612d3657612d3182612d7d565b610736565b8151158015612d4d57506001600160a01b0384163b155b15612d7657604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612d8d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e7560405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e8a575f80fd5b5035919050565b5f5b83811015612eab578181015183820152602001612e93565b50505f910152565b5f8151808452612eca816020860160208601612e91565b601f01601f19169290920160200192915050565b602081525f6107366020830184612eb3565b6001600160a01b0381168114610466575f80fd5b5f60208284031215612f14575f80fd5b813561073681612ef0565b8015158114610466575f80fd5b5f60208284031215612f3c575f80fd5b813561073681612f1f565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c031215612f6e575f80fd5b8935985060208a0135975060408a0135612f8781612ef0565b965060608a0135612f9781612ef0565b955060808a0135612fa781612f1f565b945060a08a0135935060c08a0135612fbe81612f47565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fee575f80fd5b50813567ffffffffffffffff811115613005575f80fd5b6020830191508360208260051b850101111561301f575f80fd5b9250929050565b5f805f805f806080878903121561303b575f80fd5b863561304681612ef0565b9550602087013561305681612ef0565b9450604087013567ffffffffffffffff80821115613072575f80fd5b61307e8a838b01612fde565b90965094506060890135915080821115613096575f80fd5b506130a389828a01612fde565b979a9699509497509295939492505050565b5f805f80608085870312156130c8575f80fd5b8435935060208501356130da81612ef0565b925060408501356130ea81612ef0565b9396929550929360600135925050565b5f805f6060848603121561310c575f80fd5b83359250602084013561311e81612ef0565b9150604084013561312e81612ef0565b809150509250925092565b5f806040838503121561314a575f80fd5b82359150602083013561315c81612ef0565b809150509250929050565b5f60208284031215613177575f80fd5b813567ffffffffffffffff81111561318d575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156131b1575f80fd5b8435935060208501356131c381612ef0565b92506040850135915060608501356131da81612ef0565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613297575f80fd5b82356132a281612ef0565b9150602083013561315c81612f1f565b5f805f606084860312156132c4575f80fd5b8335925060208401356132d681612ef0565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161331360208401826001600160a01b03169052565b50604083015161332e60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516133a0828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f806020838503121561341e575f80fd5b823567ffffffffffffffff811115613434575f80fd5b61344085828601612fde565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561348357835183529284019291840191600101613467565b50909695505050505050565b81516001600160801b03168152610180810160208301516134bb60208401826001600160801b03169052565b5060408301516134d660408401826001600160801b03169052565b5060608301516134f160608401826001600160801b03169052565b5060808301516135066080840182600f0b9052565b5060a083015161352160a08401826001600160801b03169052565b5060c083015161353c60c08401826001600160801b03169052565b5060e083015161355760e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613405565b5f805f805f60a086880312156135b4575f80fd5b8535945060208601356135c681612ef0565b935060408601356135d681612ef0565b92506060860135915060808601356135ed81612ef0565b809150509295509295909350565b5f806040838503121561360c575f80fd5b823561361781612ef0565b9150602083013561315c81612ef0565b5f60208083525f84545f60018260011c9150600183168061364957607f831692505b60208310810361366757634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613686576001811461369c576136c5565b60ff198616825284151560051b820196506136c5565b5f8b8152602090205f5b868110156136bf578154848201529085019089016136a6565b83019750505b50949998505050505050505050565b5f602082840312156136e4575f80fd5b815161073681612f47565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613703565b8181038181111561080757610807613703565b5f806040838503121561374e575f80fd5b82519150602083015161315c81612f1f565b805161059e81612ef0565b5f6020828403121561377b575f80fd5b815161073681612ef0565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137d9816011850160208701612e91565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613812816012850160208701612e91565b9190910160120192915050565b5f6020828403121561382f575f80fd5b5051919050565b5f6020808385031215613847575f80fd5b825167ffffffffffffffff8082111561385e575f80fd5b818501915085601f830112613871575f80fd5b81518181111561388357613883613786565b8060051b604051601f19603f830116810181811085821117156138a8576138a8613786565b6040529182528482019250838101850191888311156138c5575f80fd5b938501935b828510156138ea576138db85613760565b845293850193928501926138ca565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613920816010850160208701612e91565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137d9816011850160208701612e91565b8181035f83128015838313168383128216171561126257611262613703565b634e487b7160e01b5f52601260045260245ffd5b5f8261399957613999613977565b500690565b5f600182016139af576139af613703565b5060010190565b5f826139c4576139c4613977565b500490565b5f808335601e198436030181126139de575f80fd5b83018035915067ffffffffffffffff8211156139f8575f80fd5b60200191503681900382131561301f575f80fd5b808202811582820484141761080757610807613703565b5f60208284031215613a33575f80fd5b815161073681612f1f565b5f8251613a4f818460208701612e91565b919091019291505056fea264697066735822122064870db4cdf96a2311a224b2012e527bf5e40a9ecc102be5afb02ed7cf8fdb8a64736f6c63430008160033a2646970667358221220e5fd97c0b402720a18e231d4ece27c817cdc4fd43eed25e22fcf78a3fbf9d5d164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts deleted file mode 100644 index 06382c431..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const AaveTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=AaveTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map deleted file mode 100644 index cd0408d4e..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget1.d.ts","sourceRoot":"","sources":["../src/AaveTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9Bs9iC,KAAK,MAAM,EAAE;;;;;CAK1/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1.js b/packages/hyperdrive-artifacts/dist/AaveTarget1.js deleted file mode 100644 index 44aba2f5f..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1.js +++ /dev/null @@ -1,984 +0,0 @@ -export const AaveTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620042ed380380620042ed83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a32620008bb5f395f818161199101528181612546015261256e01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612c7a01525f818161139301528181611791015281816117f4015281816128630152818161289f01528181612a970152612c5401525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612c2e01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ca001525f81816107e701528181610ec4015281816116ef015281816120fc015261325201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61263e01525f818161197001528181612525015261259d0152613a325ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046134e2565b610070565b60405190815260200160405180910390f35b61004b61006b3660046134e2565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613550565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613563565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613596565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135be565b6102bd8a6102b78d8f613550565b90611584565b8d6102cb60408c018c6135d9565b6040516102df989796959493929190613644565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613550565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361368b565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613596565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135be565b8a61050260408b018b6135d9565b60405161051597969594939291906136b2565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613596565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613550565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6136f2565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613550565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6136f2565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f8282546108789190613550565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613550565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c49190613550565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836136f2565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613563565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613745565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906136f2565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e9681846136f2565b610ea09089613550565b9750610eac8284613550565b610eb6908d613550565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906136f2565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a6136f2565b9850670de0b6b3a7640000610ff0610f8b8787613550565b600254610fa9908f90600160801b90046001600160801b03166136f2565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866136f2565b6110d19190613760565b85670de0b6b3a76400006110e5878a6136f2565b6110ef9190613760565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613760565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc9082613777565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613563565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b0316613550565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b84915061152960408401602085016135be565b15611558576115518561153f6020860186613596565b61154c60408701876135d9565b61256b565b915061157b565b61157b856115696020860186613596565b61157660408701876135d9565b61263c565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006126e8565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae82846136f2565b6116b890896136f2565b97506116c48184613550565b6116ce908e6136f2565b9c506116da8a8e613550565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906136f2565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836136f2565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613563565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361273b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613760565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b039290921691909117905561189788826136f2565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612760565b5f6119c182846137d8565b61157d90846136f2565b6002546004545f916105a6916001600160801b0390911690600f0b61273b565b5f61007d826119fb858888612504565b90612782565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a8983836136f2565b9050611a986110fa82866127f1565b60068054601090611aba908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361280590919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b329190613550565b90915550611b42905081836136f2565b9150611b4d82611a01565b600280545f90611b679084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b9482612819565b600480545f90611ba8908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612805565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c5282826136f2565b611c5c90846136f2565b9250611c7a565b611c6d82826136f2565b611c779084613550565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612805565b9050611ccc888486612504565b611cd69082613550565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b0316906136f2565b9050805f03611d7757600191505061131b565b5f611d8185612842565b9050805f03611d955760019250505061131b565b5f80611da28385896128dd565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df2929190613869565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3091906138de565b91509150611e4e611e4082611321565b611e4990613900565b612a51565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612be5565b6040518263ffffffff1660e01b8152600401611f4c919061391a565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613929565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161200491613550565b61200e91906136f2565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613957565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f481846136f2565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612805565b5f808061214061213888670de0b6b3a76400006136f2565b899087612d1f565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a76400006136f2565b8989612d42565b925061217f8382613550565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a76400006136f2565b83906124f0565b61157d90670de0b6b3a76400006136f2565b5f806121f4856121cc6119cb565b6121d69190613550565b600254610fa9908790600160801b90046001600160801b03166136f2565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a76400006136f2565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612d1f565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a76400006136f2565b8a9088612d1f565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123039084613550565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c9190613563565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b6123999190613563565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf8487613550565b6123d98587611584565b6123e3888a611584565b611cb99190613550565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b61244761242984876136f2565b61243385876124f0565b61243d888a611584565b611cb991906136f2565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612d64565b6124a4845f612d64565b6124ae9190613563565b90505f8113156124c9576124c28186613550565b94506124e7565b5f8112156124e7576124da81613900565b6124e490866136f2565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612d1f565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612d79565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006125c58861196a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061007d919061396b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846126758761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156126bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e19190613982565b5050505050565b5f808061270861270088670de0b6b3a76400006136f2565b899087612504565b905086156121825761271a8888611584565b91506121738a8a846127348a670de0b6b3a76400006136f2565b8989612d9c565b5f806127478484612dac565b909250905080612759576127596113ec565b5092915050565b5f61008061276e8585612de7565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036127995750670de0b6b3a764000061131b565b825f036127a757505f61131b565b5f6127b183611321565b90505f6127c56127c086611321565b612e52565b90508181026127dc670de0b6b3a76400008261399d565b90506127e781613077565b9695505050505050565b5f61157d83670de0b6b3a764000084612d1f565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061285c906001600160801b0316846127f1565b90506128887f000000000000000000000000000000000000000000000000000000000000000082613550565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906128d39083906001600160801b03166136f2565b61157d91906136f2565b6128e5613443565b5f806128f084612be5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161292a919061391a565b6040805180830381865af4158015612944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129689190613929565b935090508261297c57505f9150612a499050565b5f6129a261299d84610160015185610140015161158490919063ffffffff16565b611321565b6129c261299d8561012001518661010001516124f090919063ffffffff16565b6129cc9190613563565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b2b91906139c9565b935093509350935080612b4657505f98975050505050505050565b868414612b7757612b5684611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ba857612b8783612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bd657612bb882611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bed61348d565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ce59116613209565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d1792900416613209565b905292915050565b5f825f190484118302158202612d33575f80fd5b50910281810615159190040190565b5f80612d5288888888888861327d565b909250905080611ce657611ce66113ec565b5f818313612d72578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612d948686612de7565b849190612504565b5f80612d52888888888888613359565b5f805f83612db986611321565b612dc39190613563565b90505f811215612dd9575f809250925050612de0565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612e2e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d919061396b565b5f808213612e735760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ef69084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361309057505f919050565b680755bf798b4a1bf1e582126130b9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906127e774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061321c6105ab565b6132269190613760565b9050808311613235575f61323f565b61323f81846136f2565b915061157d613276670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613760565b8390612805565b5f805f61328d8989888888613415565b9050868810156132a3575f80925092505061334e565b96869003966132b28887612782565b9750878110156132c8575f80925092505061334e565b8781036132d6818688612d1f565b9050670de0b6b3a7640000811061330a576133036132fc670de0b6b3a7640000896127f1565b8290612782565b9050613322565b61331f6132fc670de0b6b3a764000089612805565b90505b61332c81866127f1565b905089811015613343575f8093509350505061334e565b899003925060019150505b965096945050505050565b5f805f6133698989888888613415565b9050613379866119fb898b613550565b97508781101561338f575f80925092505061334e565b87810361339d818688612d1f565b9050670de0b6b3a764000081106133ca576133c36132fc670de0b6b3a7640000896127f1565b90506133e2565b6133df6132fc670de0b6b3a764000089612805565b90505b6133ec81866127f1565b9050808a1015613403575f8093509350505061334e565b90980398600198509650505050505050565b5f6134208585612782565b613439613431866119fb868b6124f0565b859085612d1f565b6124479190613550565b60405180610120016040528061345761348d565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134f5575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613520575f80fd5b850160608188031215613531575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61353c565b8181035f8312801583831316838312821617156127595761275961353c565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135a6575f80fd5b813561157d81613582565b8015158114610591575f80fd5b5f602082840312156135ce575f80fd5b813561157d816135b1565b5f808335601e198436030181126135ee575f80fd5b83018035915067ffffffffffffffff821115613608575f80fd5b602001915036819003821315612de0575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367d60e08301848661361c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136aa576136aa61353c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136e560c08301848661361c565b9998505050505050505050565b8181038181111561131b5761131b61353c565b6001600160701b038181168382160190808211156127595761275961353c565b6001600160801b038181168382160190808211156127595761275961353c565b5f60208284031215613755575f80fd5b815161157d81613582565b808202811582820484141761131b5761131b61353c565b6001600160801b038281168282160390808211156127595761275961353c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61353c565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061387c8285516137eb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138ef575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139145761391461353c565b505f0390565b610180810161131b82846137eb565b5f806040838503121561393a575f80fd5b82519150602083015161394c816135b1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561397b575f80fd5b5051919050565b5f60208284031215613992575f80fd5b815161157d816135b1565b5f826139ab576139ab6137c4565b600160ff1b82145f19841416156139c4576139c461353c565b500590565b5f805f80608085870312156139dc575f80fd5b8451935060208501519250604085015191506060850151613531816135b156fea2646970667358221220ffd4608be92ebf531250a8b092ba0a9fbd5bb6616b3a693592e6f59d4f6096de64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts deleted file mode 100644 index 5d61bd836..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map deleted file mode 100644 index 9dce553f0..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0ioC,KAAK,MAAM,EAAE;;;;CAItloC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js deleted file mode 100644 index d1776ed4f..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506147fe8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b6142ed80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620042ed380380620042ed83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a32620008bb5f395f818161199101528181612546015261256e01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612c7a01525f818161139301528181611791015281816117f4015281816128630152818161289f01528181612a970152612c5401525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612c2e01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ca001525f81816107e701528181610ec4015281816116ef015281816120fc015261325201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61263e01525f818161197001528181612525015261259d0152613a325ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046134e2565b610070565b60405190815260200160405180910390f35b61004b61006b3660046134e2565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613550565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613563565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613596565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135be565b6102bd8a6102b78d8f613550565b90611584565b8d6102cb60408c018c6135d9565b6040516102df989796959493929190613644565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613550565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361368b565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613596565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135be565b8a61050260408b018b6135d9565b60405161051597969594939291906136b2565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613596565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613550565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6136f2565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613550565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6136f2565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f8282546108789190613550565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613550565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c49190613550565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836136f2565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613563565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613745565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906136f2565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e9681846136f2565b610ea09089613550565b9750610eac8284613550565b610eb6908d613550565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906136f2565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a6136f2565b9850670de0b6b3a7640000610ff0610f8b8787613550565b600254610fa9908f90600160801b90046001600160801b03166136f2565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866136f2565b6110d19190613760565b85670de0b6b3a76400006110e5878a6136f2565b6110ef9190613760565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613760565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc9082613777565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613563565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b0316613550565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b84915061152960408401602085016135be565b15611558576115518561153f6020860186613596565b61154c60408701876135d9565b61256b565b915061157b565b61157b856115696020860186613596565b61157660408701876135d9565b61263c565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006126e8565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae82846136f2565b6116b890896136f2565b97506116c48184613550565b6116ce908e6136f2565b9c506116da8a8e613550565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906136f2565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836136f2565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613563565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361273b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613760565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b039290921691909117905561189788826136f2565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612760565b5f6119c182846137d8565b61157d90846136f2565b6002546004545f916105a6916001600160801b0390911690600f0b61273b565b5f61007d826119fb858888612504565b90612782565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a8983836136f2565b9050611a986110fa82866127f1565b60068054601090611aba908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361280590919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b329190613550565b90915550611b42905081836136f2565b9150611b4d82611a01565b600280545f90611b679084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b9482612819565b600480545f90611ba8908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612805565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c5282826136f2565b611c5c90846136f2565b9250611c7a565b611c6d82826136f2565b611c779084613550565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612805565b9050611ccc888486612504565b611cd69082613550565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b0316906136f2565b9050805f03611d7757600191505061131b565b5f611d8185612842565b9050805f03611d955760019250505061131b565b5f80611da28385896128dd565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df2929190613869565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3091906138de565b91509150611e4e611e4082611321565b611e4990613900565b612a51565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612be5565b6040518263ffffffff1660e01b8152600401611f4c919061391a565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613929565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161200491613550565b61200e91906136f2565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613957565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f481846136f2565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612805565b5f808061214061213888670de0b6b3a76400006136f2565b899087612d1f565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a76400006136f2565b8989612d42565b925061217f8382613550565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a76400006136f2565b83906124f0565b61157d90670de0b6b3a76400006136f2565b5f806121f4856121cc6119cb565b6121d69190613550565b600254610fa9908790600160801b90046001600160801b03166136f2565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a76400006136f2565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612d1f565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a76400006136f2565b8a9088612d1f565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123039084613550565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c9190613563565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b6123999190613563565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf8487613550565b6123d98587611584565b6123e3888a611584565b611cb99190613550565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b61244761242984876136f2565b61243385876124f0565b61243d888a611584565b611cb991906136f2565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612d64565b6124a4845f612d64565b6124ae9190613563565b90505f8113156124c9576124c28186613550565b94506124e7565b5f8112156124e7576124da81613900565b6124e490866136f2565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612d1f565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612d79565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006125c58861196a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061007d919061396b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846126758761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156126bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e19190613982565b5050505050565b5f808061270861270088670de0b6b3a76400006136f2565b899087612504565b905086156121825761271a8888611584565b91506121738a8a846127348a670de0b6b3a76400006136f2565b8989612d9c565b5f806127478484612dac565b909250905080612759576127596113ec565b5092915050565b5f61008061276e8585612de7565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036127995750670de0b6b3a764000061131b565b825f036127a757505f61131b565b5f6127b183611321565b90505f6127c56127c086611321565b612e52565b90508181026127dc670de0b6b3a76400008261399d565b90506127e781613077565b9695505050505050565b5f61157d83670de0b6b3a764000084612d1f565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061285c906001600160801b0316846127f1565b90506128887f000000000000000000000000000000000000000000000000000000000000000082613550565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906128d39083906001600160801b03166136f2565b61157d91906136f2565b6128e5613443565b5f806128f084612be5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161292a919061391a565b6040805180830381865af4158015612944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129689190613929565b935090508261297c57505f9150612a499050565b5f6129a261299d84610160015185610140015161158490919063ffffffff16565b611321565b6129c261299d8561012001518661010001516124f090919063ffffffff16565b6129cc9190613563565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b2b91906139c9565b935093509350935080612b4657505f98975050505050505050565b868414612b7757612b5684611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ba857612b8783612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bd657612bb882611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bed61348d565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ce59116613209565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d1792900416613209565b905292915050565b5f825f190484118302158202612d33575f80fd5b50910281810615159190040190565b5f80612d5288888888888861327d565b909250905080611ce657611ce66113ec565b5f818313612d72578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612d948686612de7565b849190612504565b5f80612d52888888888888613359565b5f805f83612db986611321565b612dc39190613563565b90505f811215612dd9575f809250925050612de0565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612e2e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d919061396b565b5f808213612e735760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ef69084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361309057505f919050565b680755bf798b4a1bf1e582126130b9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906127e774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061321c6105ab565b6132269190613760565b9050808311613235575f61323f565b61323f81846136f2565b915061157d613276670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613760565b8390612805565b5f805f61328d8989888888613415565b9050868810156132a3575f80925092505061334e565b96869003966132b28887612782565b9750878110156132c8575f80925092505061334e565b8781036132d6818688612d1f565b9050670de0b6b3a7640000811061330a576133036132fc670de0b6b3a7640000896127f1565b8290612782565b9050613322565b61331f6132fc670de0b6b3a764000089612805565b90505b61332c81866127f1565b905089811015613343575f8093509350505061334e565b899003925060019150505b965096945050505050565b5f805f6133698989888888613415565b9050613379866119fb898b613550565b97508781101561338f575f80925092505061334e565b87810361339d818688612d1f565b9050670de0b6b3a764000081106133ca576133c36132fc670de0b6b3a7640000896127f1565b90506133e2565b6133df6132fc670de0b6b3a764000089612805565b90505b6133ec81866127f1565b9050808a1015613403575f8093509350505061334e565b90980398600198509650505050505050565b5f6134208585612782565b613439613431866119fb868b6124f0565b859085612d1f565b6124479190613550565b60405180610120016040528061345761348d565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134f5575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613520575f80fd5b850160608188031215613531575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61353c565b8181035f8312801583831316838312821617156127595761275961353c565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135a6575f80fd5b813561157d81613582565b8015158114610591575f80fd5b5f602082840312156135ce575f80fd5b813561157d816135b1565b5f808335601e198436030181126135ee575f80fd5b83018035915067ffffffffffffffff821115613608575f80fd5b602001915036819003821315612de0575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367d60e08301848661361c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136aa576136aa61353c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136e560c08301848661361c565b9998505050505050505050565b8181038181111561131b5761131b61353c565b6001600160701b038181168382160190808211156127595761275961353c565b6001600160801b038181168382160190808211156127595761275961353c565b5f60208284031215613755575f80fd5b815161157d81613582565b808202811582820484141761131b5761131b61353c565b6001600160801b038281168282160390808211156127595761275961353c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61353c565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061387c8285516137eb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138ef575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139145761391461353c565b505f0390565b610180810161131b82846137eb565b5f806040838503121561393a575f80fd5b82519150602083015161394c816135b1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561397b575f80fd5b5051919050565b5f60208284031215613992575f80fd5b815161157d816135b1565b5f826139ab576139ab6137c4565b600160ff1b82145f19841416156139c4576139c461353c565b500590565b5f805f80608085870312156139dc575f80fd5b8451935060208501519250604085015191506060850151613531816135b156fea2646970667358221220ffd4608be92ebf531250a8b092ba0a9fbd5bb6616b3a693592e6f59d4f6096de64736f6c63430008160033a2646970667358221220e2ffb04e0287997acb77a4a318c594c2ae4fc8e2fea5c5b8a3030a89533e0df364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts deleted file mode 100644 index 97e845d05..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const AaveTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=AaveTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map deleted file mode 100644 index cdc82a710..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget2.d.ts","sourceRoot":"","sources":["../src/AaveTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+Bg9nC,KAAK,MAAM,EAAE;;;;;CAKp/nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2.js b/packages/hyperdrive-artifacts/dist/AaveTarget2.js deleted file mode 100644 index 4cc870ccb..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const AaveTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620047ea380380620047ea83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613f05620008e55f395f818161148b015281816116d00152818161177d015261294201525f50505f50505f610c2801525f50505f818160f9015281816103020152612ec301525f818161150701528181611de301528181611e46015281816125cd01528181612ab301528181612aef01528181612ce00152612e9d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612e7701525f611a0d01525f8181611b2e015281816126be015281816127360152612fdb01525f81816109a301528181610e370152818161141501528181611b02015261270a01525f8181610e160152818161268a0152612f9701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612ee901525f81816101d301528181610396015281816108e101526135f501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117ed01525f818161146a015281816116a3015281816117040152818161174201526129210152613f055ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613989565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613989565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139f7565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139f7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613a1e565b8b611217565b8d8a8a898e8561023e6020830183613a1e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a46565b8961028960408a018a613a61565b60405161029c9796959493929190613acc565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139f7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906139f7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016139f7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613a1e565b85611217565b858b868461049b6020860186613a1e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a46565b6104ec896104e68a8d613b0c565b90610683565b8d6104fa60408e018e613a61565b60405161050e989796959493929190613b1f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613a1e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613a46565b156105ea576105e0856105db6040870187613a61565b611694565b9093509050610602565b5034610602856105fd6040870187613a61565b6117eb565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006118a0565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118bb565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6139f7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118d0565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b92505b506108388361190f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613b0c565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836139f7565b429061193c565b84610f13565b6108d588611950565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613b0c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611aed565b915091508060095f82825461097291906139f7565b9091555061098d9050865f8461098781611bba565b88611be3565b61099781836139f7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d5a565b91506109db6109d68385610683565b611da3565b600680546002906109fc9084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190f565b60068054601090610a4b908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611aed565b915091508060095f828254610abe91906139f7565b90915550610ad99050835f84610ad381611bba565b8a611dcc565b610ae38183613b0c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190f565b60068054601090610b62908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bba565b610ba483611bba565b610bae9190613ba6565b5f611fbc565b8e610bbf8482611ffb565b50505b5f610bcc846121ea565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613bc5565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061232c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118d0565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123b2565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123dd565b612441565b15610e6d57610e6d612482565b610e798785888561249b565b91965094509250670de0b6b3a7640000610efb610e9687846139f7565b600254610eb4908890600160801b90046001600160801b0316613b0c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b1115610f0957610f09612482565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613b0c565b610fb99190613be0565b85670de0b6b3a7640000610fcd878a613b0c565b610fd79190613be0565b8592919060016124e3565b61190f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613be0565b6005546001600160801b031691908860016124e3565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190f565b600280545f906110d19084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190f565b60028054601090611120908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190f565b6111579082613b86565b600380546001600160801b03808416600160801b02911617905590505f61117d83612587565b905061119b8161118c87611bba565b6111969084613c17565b611fbc565b6111a4846125c7565b6111b0576111b0612482565b5f6111ba85612626565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906139f7565b90915550505f838152600b60205260408120805483929061126a9084906139f7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118d0565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612632565b93508761134d8589612652565b111561135b5761135b612482565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b93506113d58a670de0b6b3a7640000868c612666565b509193509091506113e890508183613b0c565b6113f29087613b0c565b95508861143f816114398d611407868c613b0c565b8d6114128782612772565b877f0000000000000000000000000000000000000000000000000000000000000000612787565b90612652565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a7565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ca565b5f6114c16040830160208401613a46565b156114cd5750826114da565b6114d784846127ec565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd612482565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b612800565b101561154357611543612482565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908960016124e3565b600580546001600160801b03928316600160801b0292169190911790556115b38161190f565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190f565b600280546010906115fe908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190f565b6004805460109061164d908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612587565b905061119b8161168a88611bba565b6111969084613ba6565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612825565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa8760016139f7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061288c565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b1580156117be575f80fd5b505af11580156117d0573d5f803e3d5ffd5b505050506117dd8561291b565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182587611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611876573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189a9190613c3e565b50505050565b5f825f1904841183021582026118b4575f80fd5b5091020490565b5f6118c68284613c6d565b6106979084613b0c565b6002546004545f916106cb916001600160801b0390911690600f0b612800565b5f611906826119008588886118a0565b90612967565b95945050505050565b5f6001600160801b0382111561193857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161194a5782610697565b50919050565b6006545f908190611972908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae8575f61199b8383613b0c565b90506119aa610fe28286611450565b600680546010906119cc908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0485836127ec90919063ffffffff16565b90505f611a31827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a4491906139f7565b90915550611a5490508183613b0c565b9150611a5f8261190f565b600280545f90611a799084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa6826129cc565b600480545f90611aba908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af987856127ec565b91505f611b26837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b52817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7557611b648282613b0c565b611b6e9084613b0c565b9250611b8c565b611b7f8282613b0c565b611b8990846139f7565b92505b86861015611baf57611b9f8387896118a0565b9250611bac8287896118a0565b91505b509550959350505050565b5f6001600160ff1b038211156119385760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c2b610fe282611c0f670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908a5f6124e3565b600580546001600160801b03928316600160801b029216919091179055611c518661190f565b611c5b9082613bf7565b600480546001600160801b03928316600160801b029216919091179055611c818461190f565b600280545f90611c9b9084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc8836129f5565b600480545f90611cdc908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d0c8561190f565b60028054601090611d2e908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d7184611d6b8a888a6118a0565b906127ec565b9050611d7e8884866118a0565b611d8890826139f7565b905086811115611d985786810391505b509695505050505050565b5f6001600160701b038211156119385760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0e57507f0000000000000000000000000000000000000000000000000000000000000000611e0c8583613b0c565b105b15611e1b57611e1b612482565b6004549084900390600f0b611e308482613ba6565b905083611e3c86611bba565b138015611e7157507f0000000000000000000000000000000000000000000000000000000000000000611e6f8383612800565b105b15611e7e57611e7e612482565b600354600160801b90046001600160801b0316611ebf610fe282611eaa670de0b6b3a764000088613be0565b6005546001600160801b031691908c5f6124e3565b600580546001600160801b0319166001600160801b0392909216919091179055611ee98882613b0c565b9050611ef48161190f565b600380546001600160801b03928316600160801b029216919091179055611f1a8361190f565b600280546001600160801b0319166001600160801b0392909216919091179055611f43826129f5565b600480546001600160801b0319166001600160801b0392909216919091179055611f6c8761190f565b60028054601090611f8e908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd790610fe2906001600160801b03168484612a30565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612045916001600160801b031690613b0c565b9050805f0361205857600191505061069a565b5f61206285612a92565b9050805f036120765760019250505061069a565b5f80612083838589612b2d565b9150915080612098575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120d3929190613d2b565b6040805180830381865af41580156120ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121119190613da0565b9150915061212f61212182611bba565b61212a90613dc2565b612c9a565b925082612144575f965050505050505061069a565b61214d8261190f565b600780545f906121679084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121948161190f565b600780546010906121b6908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61221187612e2e565b6040518263ffffffff1660e01b815260040161222d9190613ddc565b6040805180830381865af4158015612247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226b9190613deb565b915091508061228057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e5916139f7565b6122ef9190613b0c565b9050805f0361230557505f958695509350505050565b5f808711612313575f61231e565b61231e8488846118a0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234f5761234f613e19565b6040519080825280601f01601f191660200182016040528015612379576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612399578692505b828152825f602083013e90999098509650505050505050565b5f6123d28787876123cb88670de0b6b3a7640000613b0c565b8787612f68565b979650505050505050565b5f6114d761241d6123f684670de0b6b3a7640000613b0c565b611439670de0b6b3a764000061240c818a611450565b6124169190613b0c565b8790612652565b61242f90670de0b6b3a76400006139f7565b611d6b84670de0b6b3a7640000613b0c565b5f806124778561244f6118d0565b61245991906139f7565b600254610eb4908790600160801b90046001600160801b0316613b0c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124ab898789612f8a565b90925090506124ba8289613b0c565b97505f6124c882888a6118a0565b90506124d4818b613b0c565b9a989950979650505050505050565b5f825f036124f2575084611906565b81156125445761252361250584876139f7565b61250f8587610683565b612519888a610683565b611d6b91906139f7565b90505f612530858861193c565b90508082101561253e578091505b50611906565b82850361255257505f611906565b61257d61255f8487613b0c565b6125698587612652565b612573888a610683565b611d6b9190613b0c565b9695505050505050565b5f6125ac600b5f6125996002866111e3565b81526020019081526020015f2054611bba565b6125bd600b5f6125996001876111e3565b61069a9190613ba6565b5f6125f27f000000000000000000000000000000000000000000000000000000000000000083612652565b60035461260891906001600160801b03166139f7565b60025461261e906001600160801b031684610683565b101592915050565b5f61069a826004611ffb565b5f6123d287878761264b88670de0b6b3a7640000613b0c565b8787613009565b5f6106978383670de0b6b3a76400006127a7565b5f8080806126b687866126af8b6114396126888c670de0b6b3a7640000613b0c565b7f000000000000000000000000000000000000000000000000000000000000000090612652565b91906127a7565b93506126e2847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6127026126fa89670de0b6b3a7640000613b0c565b8a90886127a7565b905061272e817f0000000000000000000000000000000000000000000000000000000000000000612652565b935061275a847f0000000000000000000000000000000000000000000000000000000000000000610683565b61276490846139f7565b915050945094509450949050565b5f8183116127805781610697565b5090919050565b5f8061279e846127988a888a6127a7565b90611450565b9050611d7e8884865b5f825f1904841183021582026127bb575f80fd5b50910281810615159190040190565b5f6114d76127d88585613019565b83906b033b2e3c9fd0803ce80000006118a0565b5f61069783670de0b6b3a7640000846118a0565b5f8061280c8484613084565b90925090508061281e5761281e612482565b5092915050565b6040516001600160a01b03848116602483015283811660448301526064820183905261189a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506130bc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128dd8482613127565b61189a576040516001600160a01b0384811660248301525f604483015261291191869182169063095ea7b39060640161285a565b61189a84826130bc565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846131c4565b5f815f0361297e5750670de0b6b3a764000061069a565b825f0361298c57505f61069a565b5f61299683611bba565b90505f6129aa6129a586611bba565b6131e7565b90508181026129c1670de0b6b3a764000082613e2d565b905061257d8161340c565b5f60016001607f1b038211156119385760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612a12575060016001607f1b0382135b156119385760405163a5353be560e01b815260040160405180910390fd5b5f80612a3c845f61359e565b612a46845f61359e565b612a509190613ba6565b90505f811315612a6b57612a6481866139f7565b9450612a89565b5f811215612a8957612a7c81613dc2565b612a869086613b0c565b94505b50929392505050565b6003545f908190612aac906001600160801b031684611450565b9050612ad87f0000000000000000000000000000000000000000000000000000000000000000826139f7565b6002546001600160801b0316111561194a576002547f000000000000000000000000000000000000000000000000000000000000000090612b239083906001600160801b0316613b0c565b6114da9190613b0c565b612b356138ea565b5f80612b4084612e2e565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b7a9190613ddc565b6040805180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613deb565b9350905082612bcc57505f91506117e39050565b5f612bf2612bed84610160015185610140015161068390919063ffffffff16565b611bba565b612c12612bed85610120015186610100015161265290919063ffffffff16565b612c1c9190613ba6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d749190613e59565b935093509350935080612d8f57505f98975050505050505050565b868414612dc057612d9f8461190f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612df157612dd0836129f5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e1f57612e018261190f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e36613934565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f2e91166135ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f60929004166135ac565b905292915050565b5f80612f78888888888888613620565b909250905080611d9857611d98612482565b5f80612fd38561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fc9818c611450565b6114399190613b0c565b9150612fff827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612f788888888888886136e4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613060573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613e8c565b5f805f8361309186611bba565b61309b9190613ba6565b90505f8112156130b1575f80925092505061067c565b946001945092505050565b5f6130d06001600160a01b038416836137a0565b905080515f141580156130f45750808060200190518101906130f29190613c3e565b155b1561312257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131429190613ea3565b5f604051808303815f865af19150503d805f811461317b576040519150601f19603f3d011682016040523d82523d5f602084013e613180565b606091505b50915091508180156131aa5750805115806131aa5750808060200190518101906131aa9190613c3e565b80156119065750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce80000006131df8686613019565b8491906118a0565b5f8082136132085760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061328b9084901c611bba565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361342557505f919050565b680755bf798b4a1bf1e5821261344e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bba565b5f8183136127805781610697565b5f80670de0b6b3a76400006135bf6106a0565b6135c99190613be0565b90508083116135d8575f6135e2565b6135e28184613b0c565b91506114da613619670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613be0565b83906127ec565b5f805f61363089898888886137ad565b905061364a866119006136438a8d6139f7565b8790610683565b9850613657858a866118a0565b98508881101561366d575f8092509250506136d9565b888103670de0b6b3a764000081106136a25761369b613694670de0b6b3a764000089611450565b8290612967565b90506136ba565b6136b7613694670de0b6b3a7640000896127ec565b90505b808910156136cf575f809350935050506136d9565b8803925060019150505b965096945050505050565b5f805f6136f489898888886137ad565b905061370486611900898b6139f7565b97508781101561371a575f8092509250506136d9565b8781036137288186886127a7565b9050670de0b6b3a764000081106137555761374e613694670de0b6b3a764000089611450565b905061376d565b61376a613694670de0b6b3a7640000896127ec565b90505b6137778186611450565b9050808a101561378e575f809350935050506136d9565b90980398600198509650505050505050565b606061069783835f6137db565b5f6137b88585612967565b6137d16137c986611900868b612652565b8590856127a7565b61257d91906139f7565b6060814710156138005760405163cd78605960e01b8152306004820152602401613119565b5f80856001600160a01b0316848660405161381b9190613ea3565b5f6040518083038185875af1925050503d805f8114613855576040519150601f19603f3d011682016040523d82523d5f602084013e61385a565b606091505b509150915061257d86838360608261387a57613875826138c1565b6114da565b815115801561389157506001600160a01b0384163b155b156138ba57604051639996b31560e01b81526001600160a01b0385166004820152602401613119565b50806114da565b8051156138d15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806138fe613934565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561399c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139c7575f80fd5b8501606081880312156139d8575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6139e3565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613a2e575f80fd5b81356114da81613a0a565b80151581146105af575f80fd5b5f60208284031215613a56575f80fd5b81356114da81613a39565b5f808335601e19843603018112613a76575f80fd5b83018035915067ffffffffffffffff821115613a90575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613aff60c083018486613aa4565b9998505050505050505050565b8181038181111561069a5761069a6139e3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b5860e083018486613aa4565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281e5761281e6139e3565b6001600160801b0381811683821601908082111561281e5761281e6139e3565b8181035f83128015838313168383128216171561281e5761281e6139e3565b5f60208284031215613bd5575f80fd5b81516114da81613a0a565b808202811582820484141761069a5761069a6139e3565b6001600160801b0382811682821603908082111561281e5761281e6139e3565b8082018281125f831280158216821582161715613c3657613c366139e3565b505092915050565b5f60208284031215613c4e575f80fd5b81516114da81613a39565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7b57613c7b613c59565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6139e3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d3e828551613cad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613db1575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dd657613dd66139e3565b505f0390565b610180810161069a8284613cad565b5f8060408385031215613dfc575f80fd5b825191506020830151613e0e81613a39565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3b57613e3b613c59565b600160ff1b82145f1984141615613e5457613e546139e3565b500590565b5f805f8060808587031215613e6c575f80fd5b84519350602085015192506040850151915060608501516139d881613a39565b5f60208284031215613e9c575f80fd5b5051919050565b5f82515f5b81811015613ec25760208186018101518583015201613ea8565b505f92019182525091905056fea264697066735822122088330577515d8d62a839b2c73c541444f11542c370e922cd0e5fee32b84b049464736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts deleted file mode 100644 index cbc41d618..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map deleted file mode 100644 index 63b270105..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IoitC,KAAK,MAAM,EAAE;;;;CAIhltC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js deleted file mode 100644 index 156f363d9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614cfb8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b6147ea80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620047ea380380620047ea83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613f05620008e55f395f818161148b015281816116d00152818161177d015261294201525f50505f50505f610c2801525f50505f818160f9015281816103020152612ec301525f818161150701528181611de301528181611e46015281816125cd01528181612ab301528181612aef01528181612ce00152612e9d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612e7701525f611a0d01525f8181611b2e015281816126be015281816127360152612fdb01525f81816109a301528181610e370152818161141501528181611b02015261270a01525f8181610e160152818161268a0152612f9701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612ee901525f81816101d301528181610396015281816108e101526135f501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117ed01525f818161146a015281816116a3015281816117040152818161174201526129210152613f055ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613989565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613989565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139f7565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139f7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613a1e565b8b611217565b8d8a8a898e8561023e6020830183613a1e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a46565b8961028960408a018a613a61565b60405161029c9796959493929190613acc565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139f7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906139f7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016139f7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613a1e565b85611217565b858b868461049b6020860186613a1e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a46565b6104ec896104e68a8d613b0c565b90610683565b8d6104fa60408e018e613a61565b60405161050e989796959493929190613b1f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613a1e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613a46565b156105ea576105e0856105db6040870187613a61565b611694565b9093509050610602565b5034610602856105fd6040870187613a61565b6117eb565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006118a0565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118bb565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6139f7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118d0565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b92505b506108388361190f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613b0c565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836139f7565b429061193c565b84610f13565b6108d588611950565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613b0c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611aed565b915091508060095f82825461097291906139f7565b9091555061098d9050865f8461098781611bba565b88611be3565b61099781836139f7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d5a565b91506109db6109d68385610683565b611da3565b600680546002906109fc9084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190f565b60068054601090610a4b908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611aed565b915091508060095f828254610abe91906139f7565b90915550610ad99050835f84610ad381611bba565b8a611dcc565b610ae38183613b0c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190f565b60068054601090610b62908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bba565b610ba483611bba565b610bae9190613ba6565b5f611fbc565b8e610bbf8482611ffb565b50505b5f610bcc846121ea565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613bc5565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061232c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118d0565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123b2565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123dd565b612441565b15610e6d57610e6d612482565b610e798785888561249b565b91965094509250670de0b6b3a7640000610efb610e9687846139f7565b600254610eb4908890600160801b90046001600160801b0316613b0c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b1115610f0957610f09612482565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613b0c565b610fb99190613be0565b85670de0b6b3a7640000610fcd878a613b0c565b610fd79190613be0565b8592919060016124e3565b61190f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613be0565b6005546001600160801b031691908860016124e3565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190f565b600280545f906110d19084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190f565b60028054601090611120908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190f565b6111579082613b86565b600380546001600160801b03808416600160801b02911617905590505f61117d83612587565b905061119b8161118c87611bba565b6111969084613c17565b611fbc565b6111a4846125c7565b6111b0576111b0612482565b5f6111ba85612626565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906139f7565b90915550505f838152600b60205260408120805483929061126a9084906139f7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118d0565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612632565b93508761134d8589612652565b111561135b5761135b612482565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b93506113d58a670de0b6b3a7640000868c612666565b509193509091506113e890508183613b0c565b6113f29087613b0c565b95508861143f816114398d611407868c613b0c565b8d6114128782612772565b877f0000000000000000000000000000000000000000000000000000000000000000612787565b90612652565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a7565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ca565b5f6114c16040830160208401613a46565b156114cd5750826114da565b6114d784846127ec565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd612482565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b612800565b101561154357611543612482565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908960016124e3565b600580546001600160801b03928316600160801b0292169190911790556115b38161190f565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190f565b600280546010906115fe908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190f565b6004805460109061164d908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612587565b905061119b8161168a88611bba565b6111969084613ba6565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612825565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa8760016139f7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061288c565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b1580156117be575f80fd5b505af11580156117d0573d5f803e3d5ffd5b505050506117dd8561291b565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182587611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611876573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189a9190613c3e565b50505050565b5f825f1904841183021582026118b4575f80fd5b5091020490565b5f6118c68284613c6d565b6106979084613b0c565b6002546004545f916106cb916001600160801b0390911690600f0b612800565b5f611906826119008588886118a0565b90612967565b95945050505050565b5f6001600160801b0382111561193857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161194a5782610697565b50919050565b6006545f908190611972908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae8575f61199b8383613b0c565b90506119aa610fe28286611450565b600680546010906119cc908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0485836127ec90919063ffffffff16565b90505f611a31827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a4491906139f7565b90915550611a5490508183613b0c565b9150611a5f8261190f565b600280545f90611a799084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa6826129cc565b600480545f90611aba908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af987856127ec565b91505f611b26837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b52817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7557611b648282613b0c565b611b6e9084613b0c565b9250611b8c565b611b7f8282613b0c565b611b8990846139f7565b92505b86861015611baf57611b9f8387896118a0565b9250611bac8287896118a0565b91505b509550959350505050565b5f6001600160ff1b038211156119385760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c2b610fe282611c0f670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908a5f6124e3565b600580546001600160801b03928316600160801b029216919091179055611c518661190f565b611c5b9082613bf7565b600480546001600160801b03928316600160801b029216919091179055611c818461190f565b600280545f90611c9b9084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc8836129f5565b600480545f90611cdc908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d0c8561190f565b60028054601090611d2e908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d7184611d6b8a888a6118a0565b906127ec565b9050611d7e8884866118a0565b611d8890826139f7565b905086811115611d985786810391505b509695505050505050565b5f6001600160701b038211156119385760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0e57507f0000000000000000000000000000000000000000000000000000000000000000611e0c8583613b0c565b105b15611e1b57611e1b612482565b6004549084900390600f0b611e308482613ba6565b905083611e3c86611bba565b138015611e7157507f0000000000000000000000000000000000000000000000000000000000000000611e6f8383612800565b105b15611e7e57611e7e612482565b600354600160801b90046001600160801b0316611ebf610fe282611eaa670de0b6b3a764000088613be0565b6005546001600160801b031691908c5f6124e3565b600580546001600160801b0319166001600160801b0392909216919091179055611ee98882613b0c565b9050611ef48161190f565b600380546001600160801b03928316600160801b029216919091179055611f1a8361190f565b600280546001600160801b0319166001600160801b0392909216919091179055611f43826129f5565b600480546001600160801b0319166001600160801b0392909216919091179055611f6c8761190f565b60028054601090611f8e908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd790610fe2906001600160801b03168484612a30565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612045916001600160801b031690613b0c565b9050805f0361205857600191505061069a565b5f61206285612a92565b9050805f036120765760019250505061069a565b5f80612083838589612b2d565b9150915080612098575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120d3929190613d2b565b6040805180830381865af41580156120ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121119190613da0565b9150915061212f61212182611bba565b61212a90613dc2565b612c9a565b925082612144575f965050505050505061069a565b61214d8261190f565b600780545f906121679084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121948161190f565b600780546010906121b6908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61221187612e2e565b6040518263ffffffff1660e01b815260040161222d9190613ddc565b6040805180830381865af4158015612247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226b9190613deb565b915091508061228057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e5916139f7565b6122ef9190613b0c565b9050805f0361230557505f958695509350505050565b5f808711612313575f61231e565b61231e8488846118a0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234f5761234f613e19565b6040519080825280601f01601f191660200182016040528015612379576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612399578692505b828152825f602083013e90999098509650505050505050565b5f6123d28787876123cb88670de0b6b3a7640000613b0c565b8787612f68565b979650505050505050565b5f6114d761241d6123f684670de0b6b3a7640000613b0c565b611439670de0b6b3a764000061240c818a611450565b6124169190613b0c565b8790612652565b61242f90670de0b6b3a76400006139f7565b611d6b84670de0b6b3a7640000613b0c565b5f806124778561244f6118d0565b61245991906139f7565b600254610eb4908790600160801b90046001600160801b0316613b0c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124ab898789612f8a565b90925090506124ba8289613b0c565b97505f6124c882888a6118a0565b90506124d4818b613b0c565b9a989950979650505050505050565b5f825f036124f2575084611906565b81156125445761252361250584876139f7565b61250f8587610683565b612519888a610683565b611d6b91906139f7565b90505f612530858861193c565b90508082101561253e578091505b50611906565b82850361255257505f611906565b61257d61255f8487613b0c565b6125698587612652565b612573888a610683565b611d6b9190613b0c565b9695505050505050565b5f6125ac600b5f6125996002866111e3565b81526020019081526020015f2054611bba565b6125bd600b5f6125996001876111e3565b61069a9190613ba6565b5f6125f27f000000000000000000000000000000000000000000000000000000000000000083612652565b60035461260891906001600160801b03166139f7565b60025461261e906001600160801b031684610683565b101592915050565b5f61069a826004611ffb565b5f6123d287878761264b88670de0b6b3a7640000613b0c565b8787613009565b5f6106978383670de0b6b3a76400006127a7565b5f8080806126b687866126af8b6114396126888c670de0b6b3a7640000613b0c565b7f000000000000000000000000000000000000000000000000000000000000000090612652565b91906127a7565b93506126e2847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6127026126fa89670de0b6b3a7640000613b0c565b8a90886127a7565b905061272e817f0000000000000000000000000000000000000000000000000000000000000000612652565b935061275a847f0000000000000000000000000000000000000000000000000000000000000000610683565b61276490846139f7565b915050945094509450949050565b5f8183116127805781610697565b5090919050565b5f8061279e846127988a888a6127a7565b90611450565b9050611d7e8884865b5f825f1904841183021582026127bb575f80fd5b50910281810615159190040190565b5f6114d76127d88585613019565b83906b033b2e3c9fd0803ce80000006118a0565b5f61069783670de0b6b3a7640000846118a0565b5f8061280c8484613084565b90925090508061281e5761281e612482565b5092915050565b6040516001600160a01b03848116602483015283811660448301526064820183905261189a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506130bc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128dd8482613127565b61189a576040516001600160a01b0384811660248301525f604483015261291191869182169063095ea7b39060640161285a565b61189a84826130bc565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846131c4565b5f815f0361297e5750670de0b6b3a764000061069a565b825f0361298c57505f61069a565b5f61299683611bba565b90505f6129aa6129a586611bba565b6131e7565b90508181026129c1670de0b6b3a764000082613e2d565b905061257d8161340c565b5f60016001607f1b038211156119385760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612a12575060016001607f1b0382135b156119385760405163a5353be560e01b815260040160405180910390fd5b5f80612a3c845f61359e565b612a46845f61359e565b612a509190613ba6565b90505f811315612a6b57612a6481866139f7565b9450612a89565b5f811215612a8957612a7c81613dc2565b612a869086613b0c565b94505b50929392505050565b6003545f908190612aac906001600160801b031684611450565b9050612ad87f0000000000000000000000000000000000000000000000000000000000000000826139f7565b6002546001600160801b0316111561194a576002547f000000000000000000000000000000000000000000000000000000000000000090612b239083906001600160801b0316613b0c565b6114da9190613b0c565b612b356138ea565b5f80612b4084612e2e565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b7a9190613ddc565b6040805180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613deb565b9350905082612bcc57505f91506117e39050565b5f612bf2612bed84610160015185610140015161068390919063ffffffff16565b611bba565b612c12612bed85610120015186610100015161265290919063ffffffff16565b612c1c9190613ba6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d749190613e59565b935093509350935080612d8f57505f98975050505050505050565b868414612dc057612d9f8461190f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612df157612dd0836129f5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e1f57612e018261190f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e36613934565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f2e91166135ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f60929004166135ac565b905292915050565b5f80612f78888888888888613620565b909250905080611d9857611d98612482565b5f80612fd38561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fc9818c611450565b6114399190613b0c565b9150612fff827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612f788888888888886136e4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613060573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613e8c565b5f805f8361309186611bba565b61309b9190613ba6565b90505f8112156130b1575f80925092505061067c565b946001945092505050565b5f6130d06001600160a01b038416836137a0565b905080515f141580156130f45750808060200190518101906130f29190613c3e565b155b1561312257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131429190613ea3565b5f604051808303815f865af19150503d805f811461317b576040519150601f19603f3d011682016040523d82523d5f602084013e613180565b606091505b50915091508180156131aa5750805115806131aa5750808060200190518101906131aa9190613c3e565b80156119065750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce80000006131df8686613019565b8491906118a0565b5f8082136132085760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061328b9084901c611bba565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361342557505f919050565b680755bf798b4a1bf1e5821261344e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bba565b5f8183136127805781610697565b5f80670de0b6b3a76400006135bf6106a0565b6135c99190613be0565b90508083116135d8575f6135e2565b6135e28184613b0c565b91506114da613619670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613be0565b83906127ec565b5f805f61363089898888886137ad565b905061364a866119006136438a8d6139f7565b8790610683565b9850613657858a866118a0565b98508881101561366d575f8092509250506136d9565b888103670de0b6b3a764000081106136a25761369b613694670de0b6b3a764000089611450565b8290612967565b90506136ba565b6136b7613694670de0b6b3a7640000896127ec565b90505b808910156136cf575f809350935050506136d9565b8803925060019150505b965096945050505050565b5f805f6136f489898888886137ad565b905061370486611900898b6139f7565b97508781101561371a575f8092509250506136d9565b8781036137288186886127a7565b9050670de0b6b3a764000081106137555761374e613694670de0b6b3a764000089611450565b905061376d565b61376a613694670de0b6b3a7640000896127ec565b90505b6137778186611450565b9050808a101561378e575f809350935050506136d9565b90980398600198509650505050505050565b606061069783835f6137db565b5f6137b88585612967565b6137d16137c986611900868b612652565b8590856127a7565b61257d91906139f7565b6060814710156138005760405163cd78605960e01b8152306004820152602401613119565b5f80856001600160a01b0316848660405161381b9190613ea3565b5f6040518083038185875af1925050503d805f8114613855576040519150601f19603f3d011682016040523d82523d5f602084013e61385a565b606091505b509150915061257d86838360608261387a57613875826138c1565b6114da565b815115801561389157506001600160a01b0384163b155b156138ba57604051639996b31560e01b81526001600160a01b0385166004820152602401613119565b50806114da565b8051156138d15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806138fe613934565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561399c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139c7575f80fd5b8501606081880312156139d8575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6139e3565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613a2e575f80fd5b81356114da81613a0a565b80151581146105af575f80fd5b5f60208284031215613a56575f80fd5b81356114da81613a39565b5f808335601e19843603018112613a76575f80fd5b83018035915067ffffffffffffffff821115613a90575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613aff60c083018486613aa4565b9998505050505050505050565b8181038181111561069a5761069a6139e3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b5860e083018486613aa4565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281e5761281e6139e3565b6001600160801b0381811683821601908082111561281e5761281e6139e3565b8181035f83128015838313168383128216171561281e5761281e6139e3565b5f60208284031215613bd5575f80fd5b81516114da81613a0a565b808202811582820484141761069a5761069a6139e3565b6001600160801b0382811682821603908082111561281e5761281e6139e3565b8082018281125f831280158216821582161715613c3657613c366139e3565b505092915050565b5f60208284031215613c4e575f80fd5b81516114da81613a39565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7b57613c7b613c59565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6139e3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d3e828551613cad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613db1575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dd657613dd66139e3565b505f0390565b610180810161069a8284613cad565b5f8060408385031215613dfc575f80fd5b825191506020830151613e0e81613a39565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3b57613e3b613c59565b600160ff1b82145f1984141615613e5457613e546139e3565b500590565b5f805f8060808587031215613e6c575f80fd5b84519350602085015192506040850151915060608501516139d881613a39565b5f60208284031215613e9c575f80fd5b5051919050565b5f82515f5b81811015613ec25760208186018101518583015201613ea8565b505f92019182525091905056fea264697066735822122088330577515d8d62a839b2c73c541444f11542c370e922cd0e5fee32b84b049464736f6c63430008160033a264697066735822122027eaaccf021a4243f6897710a82fba2dfa0b991a57e73c44527124c6a265634a64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts deleted file mode 100644 index 92d08bd74..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const AaveTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=AaveTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map deleted file mode 100644 index b69936586..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget3.d.ts","sourceRoot":"","sources":["../src/AaveTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B0vnC,KAAK,MAAM,EAAE;;;;;CAK9xnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3.js b/packages/hyperdrive-artifacts/dist/AaveTarget3.js deleted file mode 100644 index 16a118f7a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const AaveTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b506040516200477f3803806200477f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613e89620008f65f395f818161198801528181611a3501528181612d710152612dbd01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181612172015281816121d501528181612a7e01528181612eda0152612f1601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d8301525f8181611ed8015261316501525f81816110260152611eac01525f61311b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1401525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa501525f818161195b015281816119bc015281816119fa01528181612d500152612d9c0152613e895ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138e2565b610064565b60405190815260200160405180910390f35b61003f61005f366004613941565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896139b4565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826139b4565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906139b4565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906139a1565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a45565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a54565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a45565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a54565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876139b4565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a7f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906139a1565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613a7f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613aa7565b866107a960408c018c613ac2565b6040516107bc9796959493929190613b05565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b58565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b6f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613a7f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613a7f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613aa7565b87610b5e6040890189613ac2565b604051610b719796959493929190613b05565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613a7f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613aa7565b15610c8f57610c8585610c806040870187613ac2565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613ac2565b611aa3565b610caf611b58565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b6a565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6139b4565b8a84611b7f565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836139a1565b4290611cb8565b84611b7f565b610f5888611cc6565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6139b4565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e63565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e97565b915091508060095f828254610ff591906139a1565b909155506110109050865f8461100a81611766565b88611f64565b61101a81836139a1565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120db565b915061105e611059838561211e565b612132565b6006805460029061107f9084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e63565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e97565b915091508060095f82825461114191906139a1565b9091555061115c9050835f8461115681611766565b8a61215b565b61116681836139b4565b9150611175611059838761211e565b600680546002906111969084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613bda565b5f61234b565b8e611242848261238a565b50505b5f61124f84612579565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613bf9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e63565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e63565b6113f79190613bda565b92915050565b5f805f8061140b8a8a612743565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8b7f000000000000000000000000000000000000000000000000000000000000000061277b565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8d7f0000000000000000000000000000000000000000000000000000000000000000612834565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ee565b509093505f9050611568848f6139a1565b90505f6115888b8b61157987611766565b611583908e613c14565b612936565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612998565b611766565b6115c683611766565b6115d36115b8868561211e565b6115dd9190613bda565b6115e79190613bda565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a8565b61162685670de0b6b3a76400006139b4565b906117d4565b611634613833565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129cb565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129cb565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a38565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906139a1565b90915550505f838152600b60205260408120805483929061183b9084906139a1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f782600461238a565b5f8183136118a7578261008d565b50919050565b5f806118b98484612743565b9092509050806118cb576118cb612bcc565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be5565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c54565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016139a1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cbb565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b158015611a76575f80fd5b505af1158015611a88573d5f803e3d5ffd5b50505050611a9585612d4a565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611add87612d96565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b529190613c3b565b50505050565b5f610c2d670de0b6b3a7640000612d96565b5f611b758284613c6a565b61008d90846139b4565b5f83815260086020526040902054600160801b90046001600160801b0316808303611baa5750505050565b5f848152600860205260408120546001600160801b031690819003611c0257611bd2836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7f565b611c53611c4e670de0b6b3a7640000611c1b88866139b4565b611c259190613b58565b85670de0b6b3a7640000611c39878a6139b4565b611c439190613b58565b859291906001612de2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c88846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce8908490600160801b90046001600160801b031661211e565b6006546201000090046001600160701b03169250905081811115611e5e575f611d1183836139b4565b9050611d20611c4e8286612e7c565b60068054601090611d42908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7a85836117d490919063ffffffff16565b90505f611da7827f000000000000000000000000000000000000000000000000000000000000000061211e565b90508060095f828254611dba91906139a1565b90915550611dca905081836139b4565b9150611dd5826118d2565b600280545f90611def9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1c82612e90565b600480545f90611e30908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e8c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ea387856117d4565b91505f611ed0837f000000000000000000000000000000000000000000000000000000000000000061211e565b9050611efc817f000000000000000000000000000000000000000000000000000000000000000061211e565b91508315611f1f57611f0e82826139b4565b611f1890846139b4565b9250611f36565b611f2982826139b4565b611f3390846139a1565b92505b86861015611f5957611f498387896117b9565b9250611f568287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fac611c4e82611f90670de0b6b3a764000086613b58565b600554600160801b90046001600160801b031691908a5f612de2565b600580546001600160801b03928316600160801b029216919091179055611fd2866118d2565b611fdc9082613c7d565b600480546001600160801b03928316600160801b029216919091179055612002846118d2565b600280545f9061201c9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612049836118fb565b600480545f9061205d908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061208d856118d2565b600280546010906120af908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120ec846116268a888a6117b9565b90506120f98884866117b9565b61210390826139a1565b9050868111156121135786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219d57507f000000000000000000000000000000000000000000000000000000000000000061219b85836139b4565b105b156121aa576121aa612bcc565b6004549084900390600f0b6121bf8482613bda565b9050836121cb86611766565b13801561220057507f00000000000000000000000000000000000000000000000000000000000000006121fe83836118ad565b105b1561220d5761220d612bcc565b600354600160801b90046001600160801b031661224e611c4e82612239670de0b6b3a764000088613b58565b6005546001600160801b031691908c5f612de2565b600580546001600160801b0319166001600160801b039290921691909117905561227888826139b4565b9050612283816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a9836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122d2826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122fb876118d2565b6002805460109061231d908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236690611c4e906001600160801b03168484612936565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d4916001600160801b0316906139b4565b9050805f036123e75760019150506113f7565b5f6123f185612eb9565b9050805f03612405576001925050506113f7565b5f80612412838589612f54565b9150915080612427575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612462929190613cca565b6040805180830381865af415801561247c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a09190613d3f565b915091506124be6124b082611766565b6124b990613d61565b612a38565b9250826124d3575f96505050505050506113f7565b6124dc826118d2565b600780545f906124f69084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612523816118d2565b60078054601090612545908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125a08761162c565b6040518263ffffffff1660e01b81526004016125bc9190613a45565b6040805180830381865af41580156125d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125fa9190613d7b565b915091508061260f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612674916139a1565b61267e91906139b4565b9050805f0361269457505f958695509350505050565b5f8087116126a2575f6126ad565b6126ad8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126de576126de613da9565b6040519080825280601f01601f191660200182016040528015612708576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612728578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361275086611766565b61275a9190613bda565b90505f811215612770575f809250925050610d21565b946001945092505050565b5f805f61278b88888888886130bc565b90505f6127b5670de0b6b3a76400006127a48888612e7c565b6127ae91906139a1565b83906117d4565b9050670de0b6b3a764000081106127e9576127e26127db670de0b6b3a7640000896117d4565b8290612be5565b9050612801565b6127fe6127db670de0b6b3a764000089612e7c565b90505b61280b81866117d4565b905088811015612822575f80935093505050612739565b97909703976001975095505050505050565b5f805f61284489898888886130ea565b905061285e866119466128578a8d6139a1565b879061211e565b985061286b858a866117b9565b985088811015612881575f8092509250506115f6565b888103670de0b6b3a764000081106128af576128a86127db670de0b6b3a764000089612e7c565b90506128c7565b6128c46127db670de0b6b3a7640000896117d4565b90505b808910156128dc575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fe89878961310e565b909250905061290d82896139b4565b97505f61291b82888a6117b9565b9050612927818b6139b4565b9a989950979650505050505050565b5f80612942845f613193565b61294c845f613193565b6129569190613bda565b90505f8113156129715761296a81866139a1565b945061298f565b5f81121561298f5761298281613d61565b61298c90866139b4565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129bc575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129de610d28565b6129e89190613b58565b90508083116129f7575f612a01565b612a0181846139b4565b915061008d6127ae670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b58565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613dbd565b935093509350935080612b2d57505f98975050505050505050565b868414612b5e57612b3d846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8f57612b6e836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bbd57612b9f826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bfc5750670de0b6b3a76400006113f7565b825f03612c0a57505f6113f7565b5f612c1483611766565b90505f612c28612c2386611766565b6131a8565b9050818102612c3f670de0b6b3a764000082613dfb565b9050612c4a816133cd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b529186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061355f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d0c84826135ca565b611b52576040516001600160a01b0384811660248301525f6044830152612d4091869182169063095ea7b390606401612c89565b611b52848261355f565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613667565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461368a565b5f825f03612df1575084610075565b8115612e4357612e22612e0484876139a1565b612e0e858761211e565b612e18888a61211e565b61162691906139a1565b90505f612e2f8588611cb8565b905080821015612e3d578091505b50610075565b828503612e5157505f610075565b610072612e5e84876139b4565b612e688587612998565b612e72888a61211e565b61162691906139b4565b5f61008d83670de0b6b3a7640000846129a8565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ed3906001600160801b031684612e7c565b9050612eff7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612f4a9083906001600160801b03166139b4565b61008d91906139b4565b612f5c613888565b5f80612f678461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612fa19190613a45565b6040805180830381865af4158015612fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fdf9190613d7b565b9350905082612ff357505f9150611a9b9050565b5f6130146115b884610160015185610140015161211e90919063ffffffff16565b6130346115b885610120015186610100015161299890919063ffffffff16565b61303e9190613bda565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130c78585612be5565b6130e06130d886611946868b61211e565b8590856117b9565b61007291906139a1565b5f6130f58585612be5565b6130e061310686611946868b612998565b8590856129a8565b5f8061315d8561315785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061314d818c612e7c565b61315791906139b4565b90612998565b9150613189827f000000000000000000000000000000000000000000000000000000000000000061211e565b9050935093915050565b5f8183136131a1578161008d565b5090919050565b5f8082136131c95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061324c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136133e657505f919050565b680755bf798b4a1bf1e5821261340f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6135736001600160a01b038416836136ac565b905080515f141580156135975750808060200190518101906135959190613c3b565b155b156135c557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516135e59190613e27565b5f604051808303815f865af19150503d805f811461361e576040519150601f19603f3d011682016040523d82523d5f602084013e613623565b606091505b509150915081801561364d57508051158061364d57508080602001905181019061364d9190613c3b565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce800000061368286866136b9565b8491906117b9565b5f61008a61369885856136b9565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f613724565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613700573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613a54565b6060814710156137495760405163cd78605960e01b81523060048201526024016135bc565b5f80856001600160a01b031684866040516137649190613e27565b5f6040518083038185875af1925050503d805f811461379e576040519150601f19603f3d011682016040523d82523d5f602084013e6137a3565b606091505b5091509150612c4a8683836060826137c3576137be8261380a565b61008d565b81511580156137da57506001600160a01b0384163b155b1561380357604051639996b31560e01b81526001600160a01b03851660048201526024016135bc565b508061008d565b80511561381a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061389c613833565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156138f6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613928575f80fd5b613934888289016138d2565b9150509295509295909350565b5f805f60608486031215613953575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613977575f80fd5b613983868287016138d2565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f761398d565b818103818111156113f7576113f761398d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846139c7565b5f60208284031215613a64575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613a8f575f80fd5b813561008d81613a6b565b8015158114610c0a575f80fd5b5f60208284031215613ab7575f80fd5b813561008d81613a9a565b5f808335601e19843603018112613ad7575f80fd5b83018035915067ffffffffffffffff821115613af1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f761398d565b5f805f60608486031215613b81575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb61398d565b6001600160801b038181168382160190808211156118cb576118cb61398d565b8181035f8312801583831316838312821617156118cb576118cb61398d565b5f60208284031215613c09575f80fd5b815161008d81613a6b565b8082018281125f831280158216821582161715613c3357613c3361398d565b505092915050565b5f60208284031215613c4b575f80fd5b815161008d81613a9a565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7857613c78613c56565b500690565b6001600160801b038281168282160390808211156118cb576118cb61398d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f761398d565b5f6102a082019050613cdd8285516139c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d50575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d7557613d7561398d565b505f0390565b5f8060408385031215613d8c575f80fd5b825191506020830151613d9e81613a9a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613dd0575f80fd5b8451935060208501519250604085015191506060850151613df081613a9a565b939692955090935050565b5f82613e0957613e09613c56565b600160ff1b82145f1984141615613e2257613e2261398d565b500590565b5f82515f5b81811015613e465760208186018101518583015201613e2c565b505f92019182525091905056fea2646970667358221220640a92cbc756d9143c0dbc01bfb8447576eb5a91a48299f33ec97a3e60e09ddf64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts deleted file mode 100644 index 04f02e9f2..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map deleted file mode 100644 index 86e9faa20..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I80sC,KAAK,MAAM,EAAE;;;;CAI13sC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js deleted file mode 100644 index a49e55f0e..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614c908061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61477f80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b506040516200477f3803806200477f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613e89620008f65f395f818161198801528181611a3501528181612d710152612dbd01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181612172015281816121d501528181612a7e01528181612eda0152612f1601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d8301525f8181611ed8015261316501525f81816110260152611eac01525f61311b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1401525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa501525f818161195b015281816119bc015281816119fa01528181612d500152612d9c0152613e895ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138e2565b610064565b60405190815260200160405180910390f35b61003f61005f366004613941565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896139b4565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826139b4565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906139b4565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906139a1565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a45565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a54565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a45565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a54565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876139b4565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a7f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906139a1565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613a7f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613aa7565b866107a960408c018c613ac2565b6040516107bc9796959493929190613b05565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b58565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b6f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613a7f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613a7f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613aa7565b87610b5e6040890189613ac2565b604051610b719796959493929190613b05565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613a7f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613aa7565b15610c8f57610c8585610c806040870187613ac2565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613ac2565b611aa3565b610caf611b58565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b6a565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6139b4565b8a84611b7f565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836139a1565b4290611cb8565b84611b7f565b610f5888611cc6565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6139b4565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e63565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e97565b915091508060095f828254610ff591906139a1565b909155506110109050865f8461100a81611766565b88611f64565b61101a81836139a1565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120db565b915061105e611059838561211e565b612132565b6006805460029061107f9084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e63565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e97565b915091508060095f82825461114191906139a1565b9091555061115c9050835f8461115681611766565b8a61215b565b61116681836139b4565b9150611175611059838761211e565b600680546002906111969084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613bda565b5f61234b565b8e611242848261238a565b50505b5f61124f84612579565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613bf9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e63565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e63565b6113f79190613bda565b92915050565b5f805f8061140b8a8a612743565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8b7f000000000000000000000000000000000000000000000000000000000000000061277b565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8d7f0000000000000000000000000000000000000000000000000000000000000000612834565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ee565b509093505f9050611568848f6139a1565b90505f6115888b8b61157987611766565b611583908e613c14565b612936565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612998565b611766565b6115c683611766565b6115d36115b8868561211e565b6115dd9190613bda565b6115e79190613bda565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a8565b61162685670de0b6b3a76400006139b4565b906117d4565b611634613833565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129cb565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129cb565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a38565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906139a1565b90915550505f838152600b60205260408120805483929061183b9084906139a1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f782600461238a565b5f8183136118a7578261008d565b50919050565b5f806118b98484612743565b9092509050806118cb576118cb612bcc565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be5565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c54565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016139a1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cbb565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b158015611a76575f80fd5b505af1158015611a88573d5f803e3d5ffd5b50505050611a9585612d4a565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611add87612d96565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b529190613c3b565b50505050565b5f610c2d670de0b6b3a7640000612d96565b5f611b758284613c6a565b61008d90846139b4565b5f83815260086020526040902054600160801b90046001600160801b0316808303611baa5750505050565b5f848152600860205260408120546001600160801b031690819003611c0257611bd2836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7f565b611c53611c4e670de0b6b3a7640000611c1b88866139b4565b611c259190613b58565b85670de0b6b3a7640000611c39878a6139b4565b611c439190613b58565b859291906001612de2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c88846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce8908490600160801b90046001600160801b031661211e565b6006546201000090046001600160701b03169250905081811115611e5e575f611d1183836139b4565b9050611d20611c4e8286612e7c565b60068054601090611d42908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7a85836117d490919063ffffffff16565b90505f611da7827f000000000000000000000000000000000000000000000000000000000000000061211e565b90508060095f828254611dba91906139a1565b90915550611dca905081836139b4565b9150611dd5826118d2565b600280545f90611def9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1c82612e90565b600480545f90611e30908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e8c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ea387856117d4565b91505f611ed0837f000000000000000000000000000000000000000000000000000000000000000061211e565b9050611efc817f000000000000000000000000000000000000000000000000000000000000000061211e565b91508315611f1f57611f0e82826139b4565b611f1890846139b4565b9250611f36565b611f2982826139b4565b611f3390846139a1565b92505b86861015611f5957611f498387896117b9565b9250611f568287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fac611c4e82611f90670de0b6b3a764000086613b58565b600554600160801b90046001600160801b031691908a5f612de2565b600580546001600160801b03928316600160801b029216919091179055611fd2866118d2565b611fdc9082613c7d565b600480546001600160801b03928316600160801b029216919091179055612002846118d2565b600280545f9061201c9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612049836118fb565b600480545f9061205d908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061208d856118d2565b600280546010906120af908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120ec846116268a888a6117b9565b90506120f98884866117b9565b61210390826139a1565b9050868111156121135786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219d57507f000000000000000000000000000000000000000000000000000000000000000061219b85836139b4565b105b156121aa576121aa612bcc565b6004549084900390600f0b6121bf8482613bda565b9050836121cb86611766565b13801561220057507f00000000000000000000000000000000000000000000000000000000000000006121fe83836118ad565b105b1561220d5761220d612bcc565b600354600160801b90046001600160801b031661224e611c4e82612239670de0b6b3a764000088613b58565b6005546001600160801b031691908c5f612de2565b600580546001600160801b0319166001600160801b039290921691909117905561227888826139b4565b9050612283816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a9836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122d2826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122fb876118d2565b6002805460109061231d908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236690611c4e906001600160801b03168484612936565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d4916001600160801b0316906139b4565b9050805f036123e75760019150506113f7565b5f6123f185612eb9565b9050805f03612405576001925050506113f7565b5f80612412838589612f54565b9150915080612427575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612462929190613cca565b6040805180830381865af415801561247c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a09190613d3f565b915091506124be6124b082611766565b6124b990613d61565b612a38565b9250826124d3575f96505050505050506113f7565b6124dc826118d2565b600780545f906124f69084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612523816118d2565b60078054601090612545908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125a08761162c565b6040518263ffffffff1660e01b81526004016125bc9190613a45565b6040805180830381865af41580156125d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125fa9190613d7b565b915091508061260f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612674916139a1565b61267e91906139b4565b9050805f0361269457505f958695509350505050565b5f8087116126a2575f6126ad565b6126ad8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126de576126de613da9565b6040519080825280601f01601f191660200182016040528015612708576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612728578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361275086611766565b61275a9190613bda565b90505f811215612770575f809250925050610d21565b946001945092505050565b5f805f61278b88888888886130bc565b90505f6127b5670de0b6b3a76400006127a48888612e7c565b6127ae91906139a1565b83906117d4565b9050670de0b6b3a764000081106127e9576127e26127db670de0b6b3a7640000896117d4565b8290612be5565b9050612801565b6127fe6127db670de0b6b3a764000089612e7c565b90505b61280b81866117d4565b905088811015612822575f80935093505050612739565b97909703976001975095505050505050565b5f805f61284489898888886130ea565b905061285e866119466128578a8d6139a1565b879061211e565b985061286b858a866117b9565b985088811015612881575f8092509250506115f6565b888103670de0b6b3a764000081106128af576128a86127db670de0b6b3a764000089612e7c565b90506128c7565b6128c46127db670de0b6b3a7640000896117d4565b90505b808910156128dc575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fe89878961310e565b909250905061290d82896139b4565b97505f61291b82888a6117b9565b9050612927818b6139b4565b9a989950979650505050505050565b5f80612942845f613193565b61294c845f613193565b6129569190613bda565b90505f8113156129715761296a81866139a1565b945061298f565b5f81121561298f5761298281613d61565b61298c90866139b4565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129bc575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129de610d28565b6129e89190613b58565b90508083116129f7575f612a01565b612a0181846139b4565b915061008d6127ae670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b58565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613dbd565b935093509350935080612b2d57505f98975050505050505050565b868414612b5e57612b3d846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8f57612b6e836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bbd57612b9f826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bfc5750670de0b6b3a76400006113f7565b825f03612c0a57505f6113f7565b5f612c1483611766565b90505f612c28612c2386611766565b6131a8565b9050818102612c3f670de0b6b3a764000082613dfb565b9050612c4a816133cd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b529186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061355f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d0c84826135ca565b611b52576040516001600160a01b0384811660248301525f6044830152612d4091869182169063095ea7b390606401612c89565b611b52848261355f565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613667565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461368a565b5f825f03612df1575084610075565b8115612e4357612e22612e0484876139a1565b612e0e858761211e565b612e18888a61211e565b61162691906139a1565b90505f612e2f8588611cb8565b905080821015612e3d578091505b50610075565b828503612e5157505f610075565b610072612e5e84876139b4565b612e688587612998565b612e72888a61211e565b61162691906139b4565b5f61008d83670de0b6b3a7640000846129a8565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ed3906001600160801b031684612e7c565b9050612eff7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612f4a9083906001600160801b03166139b4565b61008d91906139b4565b612f5c613888565b5f80612f678461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612fa19190613a45565b6040805180830381865af4158015612fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fdf9190613d7b565b9350905082612ff357505f9150611a9b9050565b5f6130146115b884610160015185610140015161211e90919063ffffffff16565b6130346115b885610120015186610100015161299890919063ffffffff16565b61303e9190613bda565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130c78585612be5565b6130e06130d886611946868b61211e565b8590856117b9565b61007291906139a1565b5f6130f58585612be5565b6130e061310686611946868b612998565b8590856129a8565b5f8061315d8561315785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061314d818c612e7c565b61315791906139b4565b90612998565b9150613189827f000000000000000000000000000000000000000000000000000000000000000061211e565b9050935093915050565b5f8183136131a1578161008d565b5090919050565b5f8082136131c95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061324c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136133e657505f919050565b680755bf798b4a1bf1e5821261340f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6135736001600160a01b038416836136ac565b905080515f141580156135975750808060200190518101906135959190613c3b565b155b156135c557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516135e59190613e27565b5f604051808303815f865af19150503d805f811461361e576040519150601f19603f3d011682016040523d82523d5f602084013e613623565b606091505b509150915081801561364d57508051158061364d57508080602001905181019061364d9190613c3b565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce800000061368286866136b9565b8491906117b9565b5f61008a61369885856136b9565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f613724565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613700573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613a54565b6060814710156137495760405163cd78605960e01b81523060048201526024016135bc565b5f80856001600160a01b031684866040516137649190613e27565b5f6040518083038185875af1925050503d805f811461379e576040519150601f19603f3d011682016040523d82523d5f602084013e6137a3565b606091505b5091509150612c4a8683836060826137c3576137be8261380a565b61008d565b81511580156137da57506001600160a01b0384163b155b1561380357604051639996b31560e01b81526001600160a01b03851660048201526024016135bc565b508061008d565b80511561381a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061389c613833565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156138f6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613928575f80fd5b613934888289016138d2565b9150509295509295909350565b5f805f60608486031215613953575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613977575f80fd5b613983868287016138d2565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f761398d565b818103818111156113f7576113f761398d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846139c7565b5f60208284031215613a64575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613a8f575f80fd5b813561008d81613a6b565b8015158114610c0a575f80fd5b5f60208284031215613ab7575f80fd5b813561008d81613a9a565b5f808335601e19843603018112613ad7575f80fd5b83018035915067ffffffffffffffff821115613af1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f761398d565b5f805f60608486031215613b81575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb61398d565b6001600160801b038181168382160190808211156118cb576118cb61398d565b8181035f8312801583831316838312821617156118cb576118cb61398d565b5f60208284031215613c09575f80fd5b815161008d81613a6b565b8082018281125f831280158216821582161715613c3357613c3361398d565b505092915050565b5f60208284031215613c4b575f80fd5b815161008d81613a9a565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7857613c78613c56565b500690565b6001600160801b038281168282160390808211156118cb576118cb61398d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f761398d565b5f6102a082019050613cdd8285516139c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d50575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d7557613d7561398d565b505f0390565b5f8060408385031215613d8c575f80fd5b825191506020830151613d9e81613a9a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613dd0575f80fd5b8451935060208501519250604085015191506060850151613df081613a9a565b939692955090935050565b5f82613e0957613e09613c56565b600160ff1b82145f1984141615613e2257613e2261398d565b500590565b5f82515f5b81811015613e465760208186018101518583015201613e2c565b505f92019182525091905056fea2646970667358221220640a92cbc756d9143c0dbc01bfb8447576eb5a91a48299f33ec97a3e60e09ddf64736f6c63430008160033a2646970667358221220e375af81e0ab43b77a5c8f70a4a357ce1975b74b840ad76d94aa3fb015b82d0b64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts deleted file mode 100644 index 9b5ab8e25..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts +++ /dev/null @@ -1,805 +0,0 @@ -export declare const AaveTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=AaveTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map deleted file mode 100644 index 9bdd4ce49..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget4.d.ts","sourceRoot":"","sources":["../src/AaveTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo+B4k3B,KAAK,MAAM,EAAE;;;;;;CAMhn3B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4.js b/packages/hyperdrive-artifacts/dist/AaveTarget4.js deleted file mode 100644 index 7fa608265..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4.js +++ /dev/null @@ -1,1003 +0,0 @@ -export const AaveTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620037283803806200372883398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612ef4620008345f395f81816110aa01528181612242015261226a01525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b015261245001525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61233a01525f81816110890152818161222101526122990152612ef45ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129af565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a01565b6100b1565b005b6100566100923660046129af565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a35565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a5d565b61016a60408c018c612a78565b60405161017c96959493929190612ae3565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b30565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a35565b88610ea4565b5f6102f56102ec6020870187612a35565b88848989610a9e565b90945090506103048188612b57565b92505f61031083610f41565b5090506103206020870187612a35565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a5d565b8a888e80604001906103709190612a78565b604051610384989796959493929190612b6a565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a35565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bb1565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b57565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bb1565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b57565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612bb1565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612bb1565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612bb1565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612b57565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612c04565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c23565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612c3e565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b57565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612cdc565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d51565b91509150610d11610d0382611542565b610d0c90612d73565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b57565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bb1565b90915550505f838152600b602052604081208054839290610ef7908490612bb1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612d8d565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612d9c565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bb1565b6110469190612b57565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612b30565b6110e49084612b57565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612b57565b6111fd9190612dca565b85670de0b6b3a7640000611211878a612b57565b61121b9190612dca565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612b57565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612bb1565b909155506113a890508183612b57565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612b57565b6114f69084612b57565b9250611514565b6115078282612b57565b6115119084612bb1565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612dca565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612c3e565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612bb1565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612b57565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612c04565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612dca565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612b57565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612e0e565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612a5d565b15611aaf57611aa885611a966020860186612a35565b611aa36040870187612a78565b612267565b9150611ad2565b611ad285611ac06020860186612a35565b611acd6040870187612a78565b612338565b509392505050565b5f6110e48383670de0b6b3a76400006123e4565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612bb1565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612b57565b6110e49190612b57565b611b91612910565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612d8d565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612d9c565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612c04565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612e22565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e9261295a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612407565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612407565b905292915050565b5f610a96611fd2858561247b565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff284846124e6565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b612521565b9050818102612065670de0b6b3a764000082612e60565b905061207081612746565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612bb1565b6120a6858761172b565b6120b0888a61172b565b6116f39190612bb1565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612b57565b6121008587611ada565b61210a888a61172b565b6116f39190612b57565b5f6110e483670de0b6b3a7640000846123e4565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f6128d8565b6121cf845f6128d8565b6121d99190612c04565b90505f8113156121f4576121ed8186612bb1565b9450612212565b5f8112156122125761220581612d73565b61220f9086612b57565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ed565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006122c188611083565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612314573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111219190612e8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb8461237187611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156123b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dd9190612ea3565b5050505050565b5f825f1904841183021582026123f8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061241a61040f565b6124249190612dca565b9050808311612433575f61243d565b61243d8184612b57565b91506110e4612474670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612dca565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156124c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612e8c565b5f805f836124f386611542565b6124fd9190612c04565b90505f811215612513575f80925092505061251a565b9150600190505b9250929050565b5f8082136125425760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c59084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361275f57505f919050565b680755bf798b4a1bf1e58212612788576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f8183136128e657816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce8000000612908868661247b565b849190611a29565b60405180610120016040528061292461295a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129c1575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156129e5575f80fd5b8401606081870312156129f6575f80fd5b809150509250925092565b5f8060408385031215612a12575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a45575f80fd5b81356110e481612a21565b80151581146103f5575f80fd5b5f60208284031215612a6d575f80fd5b81356110e481612a50565b5f808335601e19843603018112612a8d575f80fd5b83018035915067ffffffffffffffff821115612aa7575f80fd5b60200191503681900382131561251a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b1060a083018486612abb565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b3e57612b3e612b1c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b43565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ba360e083018486612abb565b9a9950505050505050505050565b80820180821115610dc757610dc7612b43565b6001600160701b0381811683821601908082111561200457612004612b43565b6001600160801b0381811683821601908082111561200457612004612b43565b8181035f83128015838313168383128216171561200457612004612b43565b5f60208284031215612c33575f80fd5b81516110e481612a21565b6001600160801b0382811682821603908082111561200457612004612b43565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612cef828551612c5e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d62575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612d8757612d87612b43565b505f0390565b6101808101610dc78284612c5e565b5f8060408385031215612dad575f80fd5b825191506020830151612dbf81612a50565b809150509250929050565b8082028115828204841417610dc757610dc7612b43565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b43565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e35575f80fd5b8451935060208501519250604085015191506060850151612e5581612a50565b939692955090935050565b5f82612e6e57612e6e612b1c565b600160ff1b82145f1984141615612e8757612e87612b43565b500590565b5f60208284031215612e9c575f80fd5b5051919050565b5f60208284031215612eb3575f80fd5b81516110e481612a5056fea26469706673582212205d56748004f2bd9f2e36f9879771beb10d1de13e010eec538e82fc4d5bbc08c964736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts deleted file mode 100644 index 819310a2a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map deleted file mode 100644 index 548b0246c..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Igq8B,KAAK,MAAM,EAAE;;;;CAI5s8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js deleted file mode 100644 index d31155ad5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613c398061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61372880620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620037283803806200372883398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612ef4620008345f395f81816110aa01528181612242015261226a01525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b015261245001525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61233a01525f81816110890152818161222101526122990152612ef45ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129af565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a01565b6100b1565b005b6100566100923660046129af565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a35565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a5d565b61016a60408c018c612a78565b60405161017c96959493929190612ae3565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b30565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a35565b88610ea4565b5f6102f56102ec6020870187612a35565b88848989610a9e565b90945090506103048188612b57565b92505f61031083610f41565b5090506103206020870187612a35565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a5d565b8a888e80604001906103709190612a78565b604051610384989796959493929190612b6a565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a35565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bb1565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b57565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bb1565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b57565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612bb1565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612bb1565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612bb1565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612b57565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612c04565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c23565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612c3e565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b57565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612cdc565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d51565b91509150610d11610d0382611542565b610d0c90612d73565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b57565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bb1565b90915550505f838152600b602052604081208054839290610ef7908490612bb1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612d8d565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612d9c565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bb1565b6110469190612b57565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612b30565b6110e49084612b57565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612b57565b6111fd9190612dca565b85670de0b6b3a7640000611211878a612b57565b61121b9190612dca565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612b57565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612bb1565b909155506113a890508183612b57565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612b57565b6114f69084612b57565b9250611514565b6115078282612b57565b6115119084612bb1565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612dca565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612c3e565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612bb1565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612b57565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612c04565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612dca565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612b57565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612e0e565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612a5d565b15611aaf57611aa885611a966020860186612a35565b611aa36040870187612a78565b612267565b9150611ad2565b611ad285611ac06020860186612a35565b611acd6040870187612a78565b612338565b509392505050565b5f6110e48383670de0b6b3a76400006123e4565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612bb1565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612b57565b6110e49190612b57565b611b91612910565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612d8d565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612d9c565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612c04565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612e22565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e9261295a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612407565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612407565b905292915050565b5f610a96611fd2858561247b565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff284846124e6565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b612521565b9050818102612065670de0b6b3a764000082612e60565b905061207081612746565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612bb1565b6120a6858761172b565b6120b0888a61172b565b6116f39190612bb1565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612b57565b6121008587611ada565b61210a888a61172b565b6116f39190612b57565b5f6110e483670de0b6b3a7640000846123e4565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f6128d8565b6121cf845f6128d8565b6121d99190612c04565b90505f8113156121f4576121ed8186612bb1565b9450612212565b5f8112156122125761220581612d73565b61220f9086612b57565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ed565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006122c188611083565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612314573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111219190612e8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb8461237187611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156123b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dd9190612ea3565b5050505050565b5f825f1904841183021582026123f8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061241a61040f565b6124249190612dca565b9050808311612433575f61243d565b61243d8184612b57565b91506110e4612474670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612dca565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156124c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612e8c565b5f805f836124f386611542565b6124fd9190612c04565b90505f811215612513575f80925092505061251a565b9150600190505b9250929050565b5f8082136125425760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c59084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361275f57505f919050565b680755bf798b4a1bf1e58212612788576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f8183136128e657816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce8000000612908868661247b565b849190611a29565b60405180610120016040528061292461295a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129c1575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156129e5575f80fd5b8401606081870312156129f6575f80fd5b809150509250925092565b5f8060408385031215612a12575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a45575f80fd5b81356110e481612a21565b80151581146103f5575f80fd5b5f60208284031215612a6d575f80fd5b81356110e481612a50565b5f808335601e19843603018112612a8d575f80fd5b83018035915067ffffffffffffffff821115612aa7575f80fd5b60200191503681900382131561251a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b1060a083018486612abb565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b3e57612b3e612b1c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b43565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ba360e083018486612abb565b9a9950505050505050505050565b80820180821115610dc757610dc7612b43565b6001600160701b0381811683821601908082111561200457612004612b43565b6001600160801b0381811683821601908082111561200457612004612b43565b8181035f83128015838313168383128216171561200457612004612b43565b5f60208284031215612c33575f80fd5b81516110e481612a21565b6001600160801b0382811682821603908082111561200457612004612b43565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612cef828551612c5e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d62575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612d8757612d87612b43565b505f0390565b6101808101610dc78284612c5e565b5f8060408385031215612dad575f80fd5b825191506020830151612dbf81612a50565b809150509250929050565b8082028115828204841417610dc757610dc7612b43565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b43565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e35575f80fd5b8451935060208501519250604085015191506060850151612e5581612a50565b939692955090935050565b5f82612e6e57612e6e612b1c565b600160ff1b82145f1984141615612e8757612e87612b43565b500590565b5f60208284031215612e9c575f80fd5b5051919050565b5f60208284031215612eb3575f80fd5b81516110e481612a5056fea26469706673582212205d56748004f2bd9f2e36f9879771beb10d1de13e010eec538e82fc4d5bbc08c964736f6c63430008160033a2646970667358221220e98e299f14d24e0b119c86bb17f0a833263d4350fd4a379478bc96547e51b54364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Address.d.ts b/packages/hyperdrive-artifacts/dist/Address.d.ts deleted file mode 100644 index 1b554ffa2..000000000 --- a/packages/hyperdrive-artifacts/dist/Address.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const Address: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=Address.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Address.d.ts.map b/packages/hyperdrive-artifacts/dist/Address.d.ts.map deleted file mode 100644 index 10099caae..000000000 --- a/packages/hyperdrive-artifacts/dist/Address.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../src/Address.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Address.js b/packages/hyperdrive-artifacts/dist/Address.js deleted file mode 100644 index a65cd8bca..000000000 --- a/packages/hyperdrive-artifacts/dist/Address.js +++ /dev/null @@ -1,5 +0,0 @@ -export const Address = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208a6033904973a8903efa4738fe05fee0cb1c3bc94c879c58f0ef1f82d138f40264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts deleted file mode 100644 index 52ce281be..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const AerodromeLpBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AerodromeLpBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map deleted file mode 100644 index b6396a315..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpBase.d.ts","sourceRoot":"","sources":["../src/AerodromeLpBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.js b/packages/hyperdrive-artifacts/dist/AerodromeLpBase.js deleted file mode 100644 index 327c18469..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const AerodromeLpBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts deleted file mode 100644 index 2c2aab0e6..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare const AerodromeLpConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - }; -}; -//# sourceMappingURL=AerodromeLpConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map deleted file mode 100644 index f14f5084b..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpConversions.d.ts","sourceRoot":"","sources":["../src/AerodromeLpConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCib,KAAK,MAAM,EAAE;;;;;CAKhe,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js b/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js deleted file mode 100644 index 88232d250..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js +++ /dev/null @@ -1,47 +0,0 @@ -export const AerodromeLpConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea2646970667358221220af27691cb67853def7c53f2b5057236e03411c77c6749f42a90ffcf05a010f9064736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts deleted file mode 100644 index 8e438dcf4..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts +++ /dev/null @@ -1,1361 +0,0 @@ -export declare const AerodromeLpHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "getReward()": "3d18b912"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=AerodromeLpHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map deleted file mode 100644 index e34b18f3d..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpHyperdrive.d.ts","sourceRoot":"","sources":["../src/AerodromeLpHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmpDkrb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgChub,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js deleted file mode 100644 index c03a4aec0..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js +++ /dev/null @@ -1,1716 +0,0 @@ -export const AerodromeLpHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReward", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b6038038062001b608339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905030600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110d062000a905f395f61073301525f81816105f20152818161065c01526107c901525f818161056d015281816107f8015261085501525f818161052701526109e501525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161079a0152818161082b01528181610885015281816109ba0152610a1801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110d05ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f45780633d18b912146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610aec565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610afb565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b68565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c27565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c5d565b348015610310575f80fd5b5061032461031f366004610c86565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d1a565b610689565b348015610368575f80fd5b506102e9610377366004610da9565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610dee565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e44565b610794565b348015610465575f80fd5b506102e9610474366004610e7e565b6107c4565b6103e6610487366004610e9e565b6107f2565b348015610497575f80fd5b506102e9610377366004610efd565b3480156104b1575f80fd5b506102e96104c0366004610f44565b610826565b6103e66104d3366004610c86565b61084f565b3480156104e3575f80fd5b506102e96104f2366004610f77565b610881565b348015610502575f80fd5b506102e9610511366004610fef565b6109b5565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610dee565b6109de565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a9366004611024565b610a13565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a44565b6106517f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50949350505050565b604051630c00007b60e41b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c00007b0906024015f604051808303815f87803b15801561077c575f80fd5b505af115801561078e573d5f803e3d5ffd5b50505050565b5f6107be7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50919050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050565b5f61081c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5095945050505050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f6108797f0000000000000000000000000000000000000000000000000000000000000000610ad2565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108b5610a44565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161095e919061107f565b5f60405180830381855af49150503d805f8114610996576040519150601f19603f3d011682016040523d82523d5f602084013e61099b565b606091505b5091509150816109ad57805160208201fd5b805160208201f35b61078e7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f80610a097f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5094509492505050565b610a3c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095e9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b2a5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b60578181015183820152602001610b48565b50505f910152565b5f60208284031215610b78575f80fd5b815167ffffffffffffffff80821115610b8f575f80fd5b818401915084601f830112610ba2575f80fd5b815181811115610bb457610bb4610b32565b604051601f8201601f19908116603f01168101908382118183101715610bdc57610bdc610b32565b81604052828152876020848701011115610bf4575f80fd5b610c05836020830160208801610b46565b979650505050505050565b6001600160a01b0381168114610c24575f80fd5b50565b5f60208284031215610c37575f80fd5b8135610c4281610c10565b9392505050565b80358015158114610c58575f80fd5b919050565b5f60208284031215610c6d575f80fd5b610c4282610c49565b5f606082840312156107be575f80fd5b5f805f60608486031215610c98575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cbc575f80fd5b610cc886828701610c76565b9150509250925092565b5f8083601f840112610ce2575f80fd5b50813567ffffffffffffffff811115610cf9575f80fd5b6020830191508360208260051b8501011115610d13575f80fd5b9250929050565b5f805f805f8060808789031215610d2f575f80fd5b8635610d3a81610c10565b95506020870135610d4a81610c10565b9450604087013567ffffffffffffffff80821115610d66575f80fd5b610d728a838b01610cd2565b90965094506060890135915080821115610d8a575f80fd5b50610d9789828a01610cd2565b979a9699509497509295939492505050565b5f805f8060808587031215610dbc575f80fd5b843593506020850135610dce81610c10565b92506040850135610dde81610c10565b9396929550929360600135925050565b5f805f8060808587031215610e01575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e2c575f80fd5b610e3887828801610c76565b91505092959194509250565b5f60208284031215610e54575f80fd5b813567ffffffffffffffff811115610e6a575f80fd5b610e7684828501610c76565b949350505050565b5f8060408385031215610e8f575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eb2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ee4575f80fd5b610ef088828901610c76565b9150509295509295909350565b5f805f8060808587031215610f10575f80fd5b843593506020850135610f2281610c10565b9250604085013591506060850135610f3981610c10565b939692955090935050565b5f8060408385031215610f55575f80fd5b8235610f6081610c10565b9150610f6e60208401610c49565b90509250929050565b5f805f805f805f60e0888a031215610f8d575f80fd5b8735610f9881610c10565b96506020880135610fa881610c10565b9550610fb660408901610c49565b945060608801359350608088013560ff81168114610fd2575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611001575f80fd5b83359250602084013561101381610c10565b929592945050506040919091013590565b5f805f805f60a08688031215611038575f80fd5b85359450602086013561104a81610c10565b9350604086013561105a81610c10565b925060608601359150608086013561107181610c10565b809150509295509295909350565b5f8251611090818460208701610b46565b919091019291505056fea2646970667358221220d60b636ac94363dedd017ff626d9a9186630b94114fff8e77c0f28fa3fccabc464736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "getReward()": "3d18b912", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 1fb6e7983..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const AerodromeLpHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=AerodromeLpHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 59b64fe1d..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2KgziB,KAAK,MAAM,EAAE;;;;CAI12iB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js deleted file mode 100644 index fe7ed2c08..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const AerodromeLpHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506122888061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b6200004762000041366004620003de565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f601488511015620000bb5760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f88806020019051810190620000d29190620004d6565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b8960405162000115906200015a565b62000129999897969594939291906200061b565b8190604051809103905ff590508015801562000147573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611b6080620006f383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001a357620001a362000168565b60405290565b5f82601f830112620001b9575f80fd5b813567ffffffffffffffff80821115620001d757620001d762000168565b604051601f8301601f19908116603f0116810190828211818310171562000202576200020262000168565b816040528381528660208588010111156200021b575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b03811681146200024f575f80fd5b50565b80356200025f816200023a565b919050565b5f6080828403121562000275575f80fd5b6040516080810181811067ffffffffffffffff821117156200029b576200029b62000168565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002de575f80fd5b620002e86200017c565b9050620002f58262000252565b8152620003056020830162000252565b6020820152620003186040830162000252565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200038381840162000252565b908201526101806200039783820162000252565b908201526101a0620003ab83820162000252565b908201526101c0620003bf83820162000252565b908201526101e0620003d48484830162000264565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003f9575f80fd5b8a3567ffffffffffffffff8082111562000411575f80fd5b6200041f8e838f01620001a9565b9b50620004308e60208f01620002cc565b9a50620004416102808e0162000252565b99506102a08d013591508082111562000458575f80fd5b50620004678d828e01620001a9565b975050620004796102c08c0162000252565b95506200048a6102e08c0162000252565b94506200049b6103008c0162000252565b9350620004ac6103208c0162000252565b9250620004bd6103408c0162000252565b91506103608b013590509295989b9194979a5092959850565b5f60208284031215620004e7575f80fd5b8151620004f4816200023a565b9392505050565b80516001600160a01b0316825260208101516200052360208401826001600160a01b03169052565b5060408101516200053f60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151620005b2828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b8082101562000651576020828e01015161038083860101526020820191506200062d565b61038091505f82828601015281601f19601f830116850101925050506200067c602083018b620004fb565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200014c56fe61034060405234801562000011575f80fd5b5060405162001b6038038062001b608339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905030600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110d062000a905f395f61073301525f81816105f20152818161065c01526107c901525f818161056d015281816107f8015261085501525f818161052701526109e501525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161079a0152818161082b01528181610885015281816109ba0152610a1801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110d05ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f45780633d18b912146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610aec565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610afb565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b68565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c27565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c5d565b348015610310575f80fd5b5061032461031f366004610c86565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d1a565b610689565b348015610368575f80fd5b506102e9610377366004610da9565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610dee565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e44565b610794565b348015610465575f80fd5b506102e9610474366004610e7e565b6107c4565b6103e6610487366004610e9e565b6107f2565b348015610497575f80fd5b506102e9610377366004610efd565b3480156104b1575f80fd5b506102e96104c0366004610f44565b610826565b6103e66104d3366004610c86565b61084f565b3480156104e3575f80fd5b506102e96104f2366004610f77565b610881565b348015610502575f80fd5b506102e9610511366004610fef565b6109b5565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610dee565b6109de565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a9366004611024565b610a13565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a44565b6106517f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50949350505050565b604051630c00007b60e41b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c00007b0906024015f604051808303815f87803b15801561077c575f80fd5b505af115801561078e573d5f803e3d5ffd5b50505050565b5f6107be7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50919050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050565b5f61081c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5095945050505050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f6108797f0000000000000000000000000000000000000000000000000000000000000000610ad2565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108b5610a44565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161095e919061107f565b5f60405180830381855af49150503d805f8114610996576040519150601f19603f3d011682016040523d82523d5f602084013e61099b565b606091505b5091509150816109ad57805160208201fd5b805160208201f35b61078e7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f80610a097f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5094509492505050565b610a3c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095e9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b2a5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b60578181015183820152602001610b48565b50505f910152565b5f60208284031215610b78575f80fd5b815167ffffffffffffffff80821115610b8f575f80fd5b818401915084601f830112610ba2575f80fd5b815181811115610bb457610bb4610b32565b604051601f8201601f19908116603f01168101908382118183101715610bdc57610bdc610b32565b81604052828152876020848701011115610bf4575f80fd5b610c05836020830160208801610b46565b979650505050505050565b6001600160a01b0381168114610c24575f80fd5b50565b5f60208284031215610c37575f80fd5b8135610c4281610c10565b9392505050565b80358015158114610c58575f80fd5b919050565b5f60208284031215610c6d575f80fd5b610c4282610c49565b5f606082840312156107be575f80fd5b5f805f60608486031215610c98575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cbc575f80fd5b610cc886828701610c76565b9150509250925092565b5f8083601f840112610ce2575f80fd5b50813567ffffffffffffffff811115610cf9575f80fd5b6020830191508360208260051b8501011115610d13575f80fd5b9250929050565b5f805f805f8060808789031215610d2f575f80fd5b8635610d3a81610c10565b95506020870135610d4a81610c10565b9450604087013567ffffffffffffffff80821115610d66575f80fd5b610d728a838b01610cd2565b90965094506060890135915080821115610d8a575f80fd5b50610d9789828a01610cd2565b979a9699509497509295939492505050565b5f805f8060808587031215610dbc575f80fd5b843593506020850135610dce81610c10565b92506040850135610dde81610c10565b9396929550929360600135925050565b5f805f8060808587031215610e01575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e2c575f80fd5b610e3887828801610c76565b91505092959194509250565b5f60208284031215610e54575f80fd5b813567ffffffffffffffff811115610e6a575f80fd5b610e7684828501610c76565b949350505050565b5f8060408385031215610e8f575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eb2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ee4575f80fd5b610ef088828901610c76565b9150509295509295909350565b5f805f8060808587031215610f10575f80fd5b843593506020850135610f2281610c10565b9250604085013591506060850135610f3981610c10565b939692955090935050565b5f8060408385031215610f55575f80fd5b8235610f6081610c10565b9150610f6e60208401610c49565b90509250929050565b5f805f805f805f60e0888a031215610f8d575f80fd5b8735610f9881610c10565b96506020880135610fa881610c10565b9550610fb660408901610c49565b945060608801359350608088013560ff81168114610fd2575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611001575f80fd5b83359250602084013561101381610c10565b929592945050506040919091013590565b5f805f805f60a08688031215611038575f80fd5b85359450602086013561104a81610c10565b9350604086013561105a81610c10565b925060608601359150608086013561107181610c10565b809150509295509295909350565b5f8251611090818460208701610b46565b919091019291505056fea2646970667358221220d60b636ac94363dedd017ff626d9a9186630b94114fff8e77c0f28fa3fccabc464736f6c63430008160033a2646970667358221220c2acf6be12024b0ebfd7d1005f6f8f9dd79a685937636087a5d9318d432eafea64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 071e4f040..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,624 +0,0 @@ -export declare const AerodromeLpHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AerodromeLpHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index b2366037d..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/AerodromeLpHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwBm0oB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBp4oB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js deleted file mode 100644 index 52c811504..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,797 +0,0 @@ -export const AerodromeLpHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620028b2380380620028b28339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516124986200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526124985ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611b1b565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611c50565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d0e565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d25565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d0e565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611ef9565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611d0e565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611f62565b610f21565b34801561048c575f80fd5b50600561014f565b60405180606001604052806028815260200161243b6028913981565b5f80546104bc90611ffc565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611ffc565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190612034565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612079565b92505f6106538234612090565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612079565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df87876114fc565b90505f876040516020016107f391906120af565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a611515565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf94939291906122e2565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f9190612327565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161098391906120af565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f588611515565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c93929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad194939291906122e2565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190612327565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf93929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c0494939291906122e2565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190612327565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d0293929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d3794939291906122e2565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d779190612327565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e3593929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a94939291906122e2565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612327565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb9087906020016120af565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e86611515565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612363565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b9190612327565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113399190612327565b90506113506001600160a01b0382168630876115e3565b6113646001600160a01b0382168786611650565b505f95945050505050565b6014815110156113c65760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e6774680000000000000060448201526064015b60405180910390fd5b5f818060200190518101906113db9190612327565b90506113e783836116df565b60208301516001600160a01b0316156114135760405163073f739d60e51b815260040160405180910390fd5b806001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114739190612327565b6001600160a01b0316835f01516001600160a01b0316146114a757604051630722152560e11b815260040160405180910390fd5b82608001516305f5e100146114cf576040516349db44f560e01b815260040160405180910390fd5b8260a001516305f5e100146114f7576040516318c9522360e11b815260040160405180910390fd5b505050565b5f61150e670de0b6b3a76400006106d0565b9392505050565b61151d6119fa565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261164a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506117f7565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116a18482611858565b61164a576040516001600160a01b0384811660248301525f60448301526116d591869182169063095ea7b390606401611618565b61164a84826117f7565b6103e882608001511015611706576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361172b57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175557508161010001518260e0015161175291906123e5565b15155b156117735760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a7640000108061179f5750670de0b6b3a7640000826101c0015160200151115b806117ba5750670de0b6b3a7640000826101c0015160400151115b806117d55750670de0b6b3a7640000826101c0015160600151115b156117f3576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f61180b6001600160a01b038416836118f5565b905080515f1415801561182f57508080602001905181019061182d9190612404565b155b156114f757604051635274afe760e01b81526001600160a01b03841660048201526024016113bd565b5f805f846001600160a01b031684604051611873919061241f565b5f604051808303815f865af19150503d805f81146118ac576040519150601f19603f3d011682016040523d82523d5f602084013e6118b1565b606091505b50915091508180156118db5750805115806118db5750808060200190518101906118db9190612404565b80156106c75750505050506001600160a01b03163b151590565b606061150e83835f845f80856001600160a01b03168486604051611919919061241f565b5f6040518083038185875af1925050503d805f8114611953576040519150601f19603f3d011682016040523d82523d5f602084013e611958565b606091505b5091509150611968868383611972565b9695505050505050565b60608261198757611982826119ce565b61150e565b815115801561199e57506001600160a01b0384163b155b156119c757604051639996b31560e01b81526001600160a01b03851660048201526024016113bd565b508061150e565b8051156119de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ac960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611ae8578181015183820152602001611ad0565b50505f910152565b5f8151808452611b07816020860160208601611ace565b601f01601f19169290920160200192915050565b602081525f61150e6020830184611af0565b6001600160a01b03811681146119f7575f80fd5b8035611b4c81611b2d565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b8857611b88611b51565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b8857611b88611b51565b80151581146119f7575f80fd5b5f67ffffffffffffffff80841115611bd957611bd9611b51565b604051601f8501601f19908116603f01168101908282118183101715611c0157611c01611b51565b81604052809350858152868686011115611c19575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c41575f80fd5b61150e83833560208501611bbf565b5f805f805f60a08688031215611c64575f80fd5b853594506020860135611c7681611b2d565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ca0575f80fd5b908701906060828a031215611cb3575f80fd5b611cbb611b65565b8235611cc681611b2d565b81526020830135611cd681611bb2565b6020820152604083013582811115611cec575f80fd5b611cf88b828601611c32565b6040830152508093505050509295509295909350565b5f60208284031215611d1e575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611db2575f80fd5b6040516080810181811067ffffffffffffffff82111715611dd557611dd5611b51565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e17575f80fd5b611e1f611b8e565b9050611e2a82611b41565b8152611e3860208301611b41565b6020820152611e4960408301611b41565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611ea6818401611b41565b90820152610160611eb8838201611b41565b90820152610180611eca838201611b41565b908201526101a0611edc838201611b41565b908201526101c0611eef84848301611da2565b9082015292915050565b5f805f805f6102c08688031215611f0e575f80fd5b85359450611f1f8760208801611e06565b935061026086013567ffffffffffffffff811115611f3b575f80fd5b611f4788828901611c32565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f77575f80fd5b85359450602086013567ffffffffffffffff80821115611f95575f80fd5b818801915088601f830112611fa8575f80fd5b611fb789833560208501611bbf565b9550611fc68960408a01611e06565b9450610280880135915080821115611fdc575f80fd5b50611fe988828901611c32565b959894975092956102a001359392505050565b600181811c9082168061201057607f821691505b60208210810361202e57634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261196860c0840182611af0565b5f60208284031215612089575f80fd5b5051919050565b8181038181111561074557634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b03168152610240810160208301516120db60208401826001600160a01b03169052565b5060408301516120f660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161215c828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d9a565b80516001600160a01b0316825260208101516121ec60208401826001600160a01b03169052565b50604081015161220760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612279828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261164a565b5f6102c06122f083886121c5565b6001600160a01b038616610260840152610280830181905261231481840186611af0565b915050826102a083015295945050505050565b5f60208284031215612337575f80fd5b815161150e81611b2d565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123768184018e611af0565b9050612385602084018d6121c5565b6001600160a01b038b81166102808501528382036102a08501526123a9828c611af0565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f826123ff57634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612414575f80fd5b815161150e81611bb2565b5f8251612430818460208701611ace565b919091019291505056fe4165726f64726f6d654c70487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220cd199a18587602fbf10fcb79dc6cbb4dc0695a732b46ce3e8db340e65d6d4da964736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts deleted file mode 100644 index cf65d4160..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts +++ /dev/null @@ -1,1542 +0,0 @@ -export declare const AerodromeLpTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "gauge"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "gauge()": "a6f19c84"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map deleted file mode 100644 index 2e029682f..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget0.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm3Dyz9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cp29B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js deleted file mode 100644 index 42dc70536..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js +++ /dev/null @@ -1,1950 +0,0 @@ -export const AerodromeLpTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "gauge", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003da238038062003da28339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139456200045d5f395f8181610cd901528181611e780152612a3a01525f8181610db0015261237901525f8181610d81015261233c01525f8181610c1e01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0301528181611fd7015261212801525f610e4801525f8181610e22015261251e01525f8181610dfc01526124f801525f8181610dd601526124d201525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254401525f8181610e6e01528181611320015261291a01525f8181610e940152612af801525f81816106200152610d5201525f818161074a01528181610d23015281816112bd0152612aa601526139455ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063a6f19c8414610458578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d30565b61056c565b6040516102579190612d94565b60405180910390f35b61027361026e366004612dba565b6105a3565b005b610273610283366004612de2565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e0b565b610651565b6102736102d9366004612edc565b61066d565b6102736102ec366004612f6b565b610683565b6103046102ff366004612d30565b610696565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612fb0565b6106ff565b604051908152602001610257565b61035f610744565b60405160ff9091168152602001610257565b61034961037f366004612fef565b6107dc565b610349610814565b61034961039a36600461301d565b610832565b6103b26103ad366004612dba565b61083c565b6040519015158152602001610257565b61024a6103d0366004612d30565b61085b565b6102736103e3366004613054565b610869565b61024a6108b7565b6103f86108ec565b604051610257919061309b565b61027361041336600461313c565b5050565b610349610425366004612dba565b610be5565b6102a0610c10565b610273610440366004613168565b610c4f565b61027361045336600461313c565b610c60565b6102a0610ccb565b61027361046e366004612dba565b50565b610479610d0a565b604051610257919061319d565b610349610494366004612d30565b6111ca565b6103496104a7366004612d30565b6111d7565b6104bf6104ba3660046132c3565b6111f8565b6040516102579190613302565b6102a06112af565b6103496112ee565b6103496104ea366004612d30565b611307565b6103496104fd366004612d30565b611314565b61050a61134a565b6040516102579190613345565b610273610525366004613456565b611455565b6103b26105383660046134b1565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612d94565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001744165726f64726f6d654c704879706572647269766560581b81525060405160200161058a9190612d94565b90565b60606105f8600160405160200161058a91906134dd565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610662898989898989898989611a01565b505050505050505050565b61067b868686868686611bf3565b505050505050565b6106908484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073d910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c8919061358a565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261080e910161058a565b92915050565b5f6105f8610820611e61565b60405160200161058a91815260200190565b5f61080e82611eee565b5f61059e61084983612124565b6040805191151560208301520161058a565b606061059e61057a83612202565b83610873816122fe565b6001600160a01b0316336001600160a01b0316146108a457604051632aab8bd360e01b815260040160405180910390fd5b6108b0858585856123bb565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d94565b610956604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095f612427565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c991906135cd565b6109d391906135e0565b90505f8215610ae25773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109ff85612439565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad291906135f3565b509050610adf81846125c3565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bb257610bad84866125d7565b610bb4565b5f5b81526003546001600160801b0316602091820152604051919250610bde9161058a9184910161309b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c5b838383336123bb565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610d12612c5c565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613621565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061319d565b5f61059e610820836125eb565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461363c565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613650565b9050602002013590505f815490508084848151811061127e5761127e613650565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613302565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61082083612660565b5f61059e6108206113457f0000000000000000000000000000000000000000000000000000000000000000856135cd565b61269a565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f816122fe565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b61067b8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161080e910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126da565b90505f83600381111561156e5761156e6135a5565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135a5565b036115e057806040516020016115ca9190613664565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135a5565b0361160a57806040516020016115ca919061369c565b600383600381111561161e5761161e6135a5565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612d94565b60405180910390fd5b61169061278c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613621565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613621565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd33612124565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136d5565b90506118766001600160a01b03851684836127b4565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613621565b6001600160a01b0316336001600160a01b031614158015611990575061198e33612124565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613650565b905060200201358888868686818110611c8857611c88613650565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135e0565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135e0565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135cd565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee991906136d5565b905090565b5f611ef761278c565b611f0082612806565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f819190613621565b90506001600160a01b038116611f9a6020850185612dba565b6001600160a01b031614611fc157604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120559190613621565b6001600160a01b0316336001600160a01b031614155b801561207d575061207b33612124565b155b1561209a576040516282b42960e81b815260040160405180910390fd5b5f6120a3612427565b600980545f9091559091506120b981838761283b565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f860408a0160208b01612de2565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612181573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a891908101906136ec565b90505f5b81518110156121f957836001600160a01b03168282815181106121d1576121d1613650565b60200260200101516001600160a01b0316036121f1575060019392505050565b6001016121ac565b505f9392505050565b606060f882901c6001600160f81b0383165f61221d826126da565b90505f836003811115612232576122326135a5565b03612264576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612278576122786135a5565b0361228e57806040516020016115ca91906137ac565b60028360038111156122a2576122a26135a5565b036122b857806040516020016115ca91906137e3565b60038360038111156122cc576122cc6135a5565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee9670de0b6b3a76400006125eb565b6124916040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258991166128d1565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125bb929004166128d1565b905292915050565b5f61073d8383670de0b6b3a7640000612945565b5f61073d83670de0b6b3a764000084612945565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af415801561263c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e91906136d5565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f59290602401612621565b5f6126bf600b5f6126ac600286612960565b81526020019081526020015f2054612994565b6126d0600b5f6126ac600187612960565b61080e919061380e565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277e57612713600a86613841565b61271e9060306135cd565b60f81b82600161272e84876135e0565b61273891906135e0565b8151811061274857612748613650565b60200101906001600160f81b03191690815f1a9053508061276881613854565b91506127779050600a8661386c565b9450612702565b918290030190815292915050565b60025f54036127ae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c5b9084906129c1565b5f6128146020830183612dba565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061284785856125c3565b905061285281612660565b9450845f03612864575f91505061073d565b8491506128776040840160208501612de2565b156128a65761289f8561288d6020860186612dba565b61289a604087018761387f565b612a22565b91506128c9565b6128c9856128b76020860186612dba565b6128c4604087018761387f565b612ad8565b509392505050565b5f80670de0b6b3a76400006128e4612af1565b6128ee91906138c2565b90508083116128fd575f612907565b61290781846135e0565b915061073d61293e670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138c2565b83906125d7565b5f825f190484118302158202612959575f80fd5b5091020490565b5f6001600160f81b038211156129895760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129bd5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129d56001600160a01b03841683612b1c565b905080515f141580156129f95750808060200190518101906129f791906138d9565b155b15610c5b57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a83575f80fd5b505af1158015612a95573d5f803e3d5ffd5b50612acf9250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127b4565b50929392505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ee9427f0000000000000000000000000000000000000000000000000000000000000000612b29565b606061073d83835f612b3e565b5f612b348284613841565b61073d90846135e0565b606081471015612b635760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b7e91906138f4565b5f6040518083038185875af1925050503d805f8114612bb8576040519150601f19603f3d011682016040523d82523d5f602084013e612bbd565b606091505b5091509150612bcd868383612bd7565b9695505050505050565b606082612bec57612be782612c33565b61073d565b8151158015612c0357506001600160a01b0384163b155b15612c2c57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061073d565b805115612c435780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d2b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d40575f80fd5b5035919050565b5f5b83811015612d61578181015183820152602001612d49565b50505f910152565b5f8151808452612d80816020860160208601612d47565b601f01601f19169290920160200192915050565b602081525f61073d6020830184612d69565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612dca575f80fd5b813561073d81612da6565b801515811461046e575f80fd5b5f60208284031215612df2575f80fd5b813561073d81612dd5565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e24575f80fd5b8935985060208a0135975060408a0135612e3d81612da6565b965060608a0135612e4d81612da6565b955060808a0135612e5d81612dd5565b945060a08a0135935060c08a0135612e7481612dfd565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612ea4575f80fd5b50813567ffffffffffffffff811115612ebb575f80fd5b6020830191508360208260051b8501011115612ed5575f80fd5b9250929050565b5f805f805f8060808789031215612ef1575f80fd5b8635612efc81612da6565b95506020870135612f0c81612da6565b9450604087013567ffffffffffffffff80821115612f28575f80fd5b612f348a838b01612e94565b90965094506060890135915080821115612f4c575f80fd5b50612f5989828a01612e94565b979a9699509497509295939492505050565b5f805f8060808587031215612f7e575f80fd5b843593506020850135612f9081612da6565b92506040850135612fa081612da6565b9396929550929360600135925050565b5f805f60608486031215612fc2575f80fd5b833592506020840135612fd481612da6565b91506040840135612fe481612da6565b809150509250925092565b5f8060408385031215613000575f80fd5b82359150602083013561301281612da6565b809150509250929050565b5f6020828403121561302d575f80fd5b813567ffffffffffffffff811115613043575f80fd5b82016060818503121561073d575f80fd5b5f805f8060808587031215613067575f80fd5b84359350602085013561307981612da6565b925060408501359150606085013561309081612da6565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561314d575f80fd5b823561315881612da6565b9150602083013561301281612dd5565b5f805f6060848603121561317a575f80fd5b83359250602084013561318c81612da6565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131c960208401826001600160a01b03169052565b5060408301516131e460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613256828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132d4575f80fd5b823567ffffffffffffffff8111156132ea575f80fd5b6132f685828601612e94565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133395783518352928401929184019160010161331d565b50909695505050505050565b81516001600160801b031681526101808101602083015161337160208401826001600160801b03169052565b50604083015161338c60408401826001600160801b03169052565b5060608301516133a760608401826001600160801b03169052565b5060808301516133bc6080840182600f0b9052565b5060a08301516133d760a08401826001600160801b03169052565b5060c08301516133f260c08401826001600160801b03169052565b5060e083015161340d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132bb565b5f805f805f60a0868803121561346a575f80fd5b85359450602086013561347c81612da6565b9350604086013561348c81612da6565b92506060860135915060808601356134a381612da6565b809150509295509295909350565b5f80604083850312156134c2575f80fd5b82356134cd81612da6565b9150602083013561301281612da6565b5f60208083525f84545f60018260011c915060018316806134ff57607f831692505b60208310810361351d57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561353c57600181146135525761357b565b60ff198616825284151560051b8201965061357b565b5f8b8152602090205f5b868110156135755781548482015290850190890161355c565b83019750505b50949998505050505050505050565b5f6020828403121561359a575f80fd5b815161073d81612dfd565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080e5761080e6135b9565b8181038181111561080e5761080e6135b9565b5f8060408385031215613604575f80fd5b82519150602083015161301281612dd5565b805161059e81612da6565b5f60208284031215613631575f80fd5b815161073d81612da6565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161368f816011850160208701612d47565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136c8816012850160208701612d47565b9190910160120192915050565b5f602082840312156136e5575f80fd5b5051919050565b5f60208083850312156136fd575f80fd5b825167ffffffffffffffff80821115613714575f80fd5b818501915085601f830112613727575f80fd5b8151818111156137395761373961363c565b8060051b604051601f19603f8301168101818110858211171561375e5761375e61363c565b60405291825284820192508381018501918883111561377b575f80fd5b938501935b828510156137a05761379185613616565b84529385019392850192613780565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137d6816010850160208701612d47565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161368f816011850160208701612d47565b8181035f8312801583831316838312821617156112a8576112a86135b9565b634e487b7160e01b5f52601260045260245ffd5b5f8261384f5761384f61382d565b500690565b5f60018201613865576138656135b9565b5060010190565b5f8261387a5761387a61382d565b500490565b5f808335601e19843603018112613894575f80fd5b83018035915067ffffffffffffffff8211156138ae575f80fd5b602001915036819003821315612ed5575f80fd5b808202811582820484141761080e5761080e6135b9565b5f602082840312156138e9575f80fd5b815161073d81612dd5565b5f8251613905818460208701612d47565b919091019291505056fea26469706673582212206debf1925dc2cd5411fbabbc4a5b5327e7b8fb2c116603fabea3c9cb1abec6c664736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "gauge()": "a6f19c84", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts deleted file mode 100644 index 6f0a29ff3..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map deleted file mode 100644 index 28fb1df07..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6ImmjC,KAAK,MAAM,EAAE;;;;CAItpjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js deleted file mode 100644 index 563b73288..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061431e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b613da2806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162003da238038062003da28339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139456200045d5f395f8181610cd901528181611e780152612a3a01525f8181610db0015261237901525f8181610d81015261233c01525f8181610c1e01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0301528181611fd7015261212801525f610e4801525f8181610e22015261251e01525f8181610dfc01526124f801525f8181610dd601526124d201525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254401525f8181610e6e01528181611320015261291a01525f8181610e940152612af801525f81816106200152610d5201525f818161074a01528181610d23015281816112bd0152612aa601526139455ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063a6f19c8414610458578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d30565b61056c565b6040516102579190612d94565b60405180910390f35b61027361026e366004612dba565b6105a3565b005b610273610283366004612de2565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e0b565b610651565b6102736102d9366004612edc565b61066d565b6102736102ec366004612f6b565b610683565b6103046102ff366004612d30565b610696565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612fb0565b6106ff565b604051908152602001610257565b61035f610744565b60405160ff9091168152602001610257565b61034961037f366004612fef565b6107dc565b610349610814565b61034961039a36600461301d565b610832565b6103b26103ad366004612dba565b61083c565b6040519015158152602001610257565b61024a6103d0366004612d30565b61085b565b6102736103e3366004613054565b610869565b61024a6108b7565b6103f86108ec565b604051610257919061309b565b61027361041336600461313c565b5050565b610349610425366004612dba565b610be5565b6102a0610c10565b610273610440366004613168565b610c4f565b61027361045336600461313c565b610c60565b6102a0610ccb565b61027361046e366004612dba565b50565b610479610d0a565b604051610257919061319d565b610349610494366004612d30565b6111ca565b6103496104a7366004612d30565b6111d7565b6104bf6104ba3660046132c3565b6111f8565b6040516102579190613302565b6102a06112af565b6103496112ee565b6103496104ea366004612d30565b611307565b6103496104fd366004612d30565b611314565b61050a61134a565b6040516102579190613345565b610273610525366004613456565b611455565b6103b26105383660046134b1565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612d94565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001744165726f64726f6d654c704879706572647269766560581b81525060405160200161058a9190612d94565b90565b60606105f8600160405160200161058a91906134dd565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610662898989898989898989611a01565b505050505050505050565b61067b868686868686611bf3565b505050505050565b6106908484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073d910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c8919061358a565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261080e910161058a565b92915050565b5f6105f8610820611e61565b60405160200161058a91815260200190565b5f61080e82611eee565b5f61059e61084983612124565b6040805191151560208301520161058a565b606061059e61057a83612202565b83610873816122fe565b6001600160a01b0316336001600160a01b0316146108a457604051632aab8bd360e01b815260040160405180910390fd5b6108b0858585856123bb565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d94565b610956604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095f612427565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c991906135cd565b6109d391906135e0565b90505f8215610ae25773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109ff85612439565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad291906135f3565b509050610adf81846125c3565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bb257610bad84866125d7565b610bb4565b5f5b81526003546001600160801b0316602091820152604051919250610bde9161058a9184910161309b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c5b838383336123bb565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610d12612c5c565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613621565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061319d565b5f61059e610820836125eb565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461363c565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613650565b9050602002013590505f815490508084848151811061127e5761127e613650565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613302565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61082083612660565b5f61059e6108206113457f0000000000000000000000000000000000000000000000000000000000000000856135cd565b61269a565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f816122fe565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b61067b8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161080e910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126da565b90505f83600381111561156e5761156e6135a5565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135a5565b036115e057806040516020016115ca9190613664565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135a5565b0361160a57806040516020016115ca919061369c565b600383600381111561161e5761161e6135a5565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612d94565b60405180910390fd5b61169061278c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613621565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613621565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd33612124565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136d5565b90506118766001600160a01b03851684836127b4565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613621565b6001600160a01b0316336001600160a01b031614158015611990575061198e33612124565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613650565b905060200201358888868686818110611c8857611c88613650565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135e0565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135e0565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135cd565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee991906136d5565b905090565b5f611ef761278c565b611f0082612806565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f819190613621565b90506001600160a01b038116611f9a6020850185612dba565b6001600160a01b031614611fc157604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120559190613621565b6001600160a01b0316336001600160a01b031614155b801561207d575061207b33612124565b155b1561209a576040516282b42960e81b815260040160405180910390fd5b5f6120a3612427565b600980545f9091559091506120b981838761283b565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f860408a0160208b01612de2565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612181573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a891908101906136ec565b90505f5b81518110156121f957836001600160a01b03168282815181106121d1576121d1613650565b60200260200101516001600160a01b0316036121f1575060019392505050565b6001016121ac565b505f9392505050565b606060f882901c6001600160f81b0383165f61221d826126da565b90505f836003811115612232576122326135a5565b03612264576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612278576122786135a5565b0361228e57806040516020016115ca91906137ac565b60028360038111156122a2576122a26135a5565b036122b857806040516020016115ca91906137e3565b60038360038111156122cc576122cc6135a5565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee9670de0b6b3a76400006125eb565b6124916040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258991166128d1565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125bb929004166128d1565b905292915050565b5f61073d8383670de0b6b3a7640000612945565b5f61073d83670de0b6b3a764000084612945565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af415801561263c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e91906136d5565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f59290602401612621565b5f6126bf600b5f6126ac600286612960565b81526020019081526020015f2054612994565b6126d0600b5f6126ac600187612960565b61080e919061380e565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277e57612713600a86613841565b61271e9060306135cd565b60f81b82600161272e84876135e0565b61273891906135e0565b8151811061274857612748613650565b60200101906001600160f81b03191690815f1a9053508061276881613854565b91506127779050600a8661386c565b9450612702565b918290030190815292915050565b60025f54036127ae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c5b9084906129c1565b5f6128146020830183612dba565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061284785856125c3565b905061285281612660565b9450845f03612864575f91505061073d565b8491506128776040840160208501612de2565b156128a65761289f8561288d6020860186612dba565b61289a604087018761387f565b612a22565b91506128c9565b6128c9856128b76020860186612dba565b6128c4604087018761387f565b612ad8565b509392505050565b5f80670de0b6b3a76400006128e4612af1565b6128ee91906138c2565b90508083116128fd575f612907565b61290781846135e0565b915061073d61293e670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138c2565b83906125d7565b5f825f190484118302158202612959575f80fd5b5091020490565b5f6001600160f81b038211156129895760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129bd5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129d56001600160a01b03841683612b1c565b905080515f141580156129f95750808060200190518101906129f791906138d9565b155b15610c5b57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a83575f80fd5b505af1158015612a95573d5f803e3d5ffd5b50612acf9250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127b4565b50929392505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ee9427f0000000000000000000000000000000000000000000000000000000000000000612b29565b606061073d83835f612b3e565b5f612b348284613841565b61073d90846135e0565b606081471015612b635760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b7e91906138f4565b5f6040518083038185875af1925050503d805f8114612bb8576040519150601f19603f3d011682016040523d82523d5f602084013e612bbd565b606091505b5091509150612bcd868383612bd7565b9695505050505050565b606082612bec57612be782612c33565b61073d565b8151158015612c0357506001600160a01b0384163b155b15612c2c57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061073d565b805115612c435780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d2b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d40575f80fd5b5035919050565b5f5b83811015612d61578181015183820152602001612d49565b50505f910152565b5f8151808452612d80816020860160208601612d47565b601f01601f19169290920160200192915050565b602081525f61073d6020830184612d69565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612dca575f80fd5b813561073d81612da6565b801515811461046e575f80fd5b5f60208284031215612df2575f80fd5b813561073d81612dd5565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e24575f80fd5b8935985060208a0135975060408a0135612e3d81612da6565b965060608a0135612e4d81612da6565b955060808a0135612e5d81612dd5565b945060a08a0135935060c08a0135612e7481612dfd565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612ea4575f80fd5b50813567ffffffffffffffff811115612ebb575f80fd5b6020830191508360208260051b8501011115612ed5575f80fd5b9250929050565b5f805f805f8060808789031215612ef1575f80fd5b8635612efc81612da6565b95506020870135612f0c81612da6565b9450604087013567ffffffffffffffff80821115612f28575f80fd5b612f348a838b01612e94565b90965094506060890135915080821115612f4c575f80fd5b50612f5989828a01612e94565b979a9699509497509295939492505050565b5f805f8060808587031215612f7e575f80fd5b843593506020850135612f9081612da6565b92506040850135612fa081612da6565b9396929550929360600135925050565b5f805f60608486031215612fc2575f80fd5b833592506020840135612fd481612da6565b91506040840135612fe481612da6565b809150509250925092565b5f8060408385031215613000575f80fd5b82359150602083013561301281612da6565b809150509250929050565b5f6020828403121561302d575f80fd5b813567ffffffffffffffff811115613043575f80fd5b82016060818503121561073d575f80fd5b5f805f8060808587031215613067575f80fd5b84359350602085013561307981612da6565b925060408501359150606085013561309081612da6565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561314d575f80fd5b823561315881612da6565b9150602083013561301281612dd5565b5f805f6060848603121561317a575f80fd5b83359250602084013561318c81612da6565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131c960208401826001600160a01b03169052565b5060408301516131e460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613256828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132d4575f80fd5b823567ffffffffffffffff8111156132ea575f80fd5b6132f685828601612e94565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133395783518352928401929184019160010161331d565b50909695505050505050565b81516001600160801b031681526101808101602083015161337160208401826001600160801b03169052565b50604083015161338c60408401826001600160801b03169052565b5060608301516133a760608401826001600160801b03169052565b5060808301516133bc6080840182600f0b9052565b5060a08301516133d760a08401826001600160801b03169052565b5060c08301516133f260c08401826001600160801b03169052565b5060e083015161340d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132bb565b5f805f805f60a0868803121561346a575f80fd5b85359450602086013561347c81612da6565b9350604086013561348c81612da6565b92506060860135915060808601356134a381612da6565b809150509295509295909350565b5f80604083850312156134c2575f80fd5b82356134cd81612da6565b9150602083013561301281612da6565b5f60208083525f84545f60018260011c915060018316806134ff57607f831692505b60208310810361351d57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561353c57600181146135525761357b565b60ff198616825284151560051b8201965061357b565b5f8b8152602090205f5b868110156135755781548482015290850190890161355c565b83019750505b50949998505050505050505050565b5f6020828403121561359a575f80fd5b815161073d81612dfd565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080e5761080e6135b9565b8181038181111561080e5761080e6135b9565b5f8060408385031215613604575f80fd5b82519150602083015161301281612dd5565b805161059e81612da6565b5f60208284031215613631575f80fd5b815161073d81612da6565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161368f816011850160208701612d47565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136c8816012850160208701612d47565b9190910160120192915050565b5f602082840312156136e5575f80fd5b5051919050565b5f60208083850312156136fd575f80fd5b825167ffffffffffffffff80821115613714575f80fd5b818501915085601f830112613727575f80fd5b8151818111156137395761373961363c565b8060051b604051601f19603f8301168101818110858211171561375e5761375e61363c565b60405291825284820192508381018501918883111561377b575f80fd5b938501935b828510156137a05761379185613616565b84529385019392850192613780565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137d6816010850160208701612d47565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161368f816011850160208701612d47565b8181035f8312801583831316838312821617156112a8576112a86135b9565b634e487b7160e01b5f52601260045260245ffd5b5f8261384f5761384f61382d565b500690565b5f60018201613865576138656135b9565b5060010190565b5f8261387a5761387a61382d565b500490565b5f808335601e19843603018112613894575f80fd5b83018035915067ffffffffffffffff8211156138ae575f80fd5b602001915036819003821315612ed5575f80fd5b808202811582820484141761080e5761080e6135b9565b5f602082840312156138e9575f80fd5b815161073d81612dd5565b5f8251613905818460208701612d47565b919091019291505056fea26469706673582212206debf1925dc2cd5411fbabbc4a5b5327e7b8fb2c116603fabea3c9cb1abec6c664736f6c63430008160033a26469706673582212202644783f4c39c74d9552efed1e05dba6ee9886df1e35415b79fcbbe63879965464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts deleted file mode 100644 index 9262b6ebf..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const AerodromeLpTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map deleted file mode 100644 index f08597584..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget1.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA49B+o/B,KAAK,MAAM,EAAE;;;;;CAK1r/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js deleted file mode 100644 index 62de2a06e..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js +++ /dev/null @@ -1,994 +0,0 @@ -export const AerodromeLpTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f4d38038062003f4d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613abe6200048f5f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bb801525f818161139301528181611791015281816117f4015281816127a1015281816127dd015281816129d50152612b9201525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b6c01525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bde01525f81816107e701528181610ec4015281816116ef01528181612125015261315901525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126060152613abe5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613542565b610070565b60405190815260200160405180910390f35b61004b61006b366004613542565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b0565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135c3565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135f6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161361e565b6102bd8a6102b78d8f6135b0565b90611584565b8d6102cb60408c018c613639565b6040516102df9897969594939291906136a4565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b0565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136eb565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135f6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161361e565b8a61050260408b018b613639565b6040516105159796959493929190613712565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135f6565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613752565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b0565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613752565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b0565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b0565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b0565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613752565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135c3565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137a5565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613752565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e968184613752565b610ea090896135b0565b9750610eac82846135b0565b610eb6908d6135b0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613752565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a613752565b9850670de0b6b3a7640000610ff0610f8b87876135b0565b600254610fa9908f90600160801b90046001600160801b0316613752565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613752565b6110d191906137c0565b85670de0b6b3a76400006110e5878a613752565b6110ef91906137c0565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c0565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137d7565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135c3565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b0565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161361e565b15611558576115518561153f60208601866135f6565b61154c6040870187613639565b612582565b915061157b565b61157b8561156960208601866135f6565b6115766040870187613639565b61262f565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612648565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae8284613752565b6116b89089613752565b97506116c481846135b0565b6116ce908e613752565b9c506116da8a8e6135b0565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613752565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613752565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135c3565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361269b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c0565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613752565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613824565b5f6119ea828461384f565b61157d9084613752565b6002546004545f916105a6916001600160801b0390911690600f0b61269b565b5f61007d82611a2485888861252d565b906126c0565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab28383613752565b9050611ac16110fa828661272f565b60068054601090611ae3908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274390919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b0565b90915550611b6b90508183613752565b9150611b7682611a2a565b600280545f90611b909084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612757565b600480545f90611bd1908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612743565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b8282613752565b611c859084613752565b9250611ca3565b611c968282613752565b611ca090846135b0565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612743565b9050611cf588848661252d565b611cff90826135b0565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b031690613752565b9050805f03611da057600191505061131b565b5f611daa85612780565b9050805f03611dbe5760019250505061131b565b5f80611dcb83858961281b565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e0565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613955565b91509150611e77611e6982611321565b611e7290613977565b61298f565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b23565b6040518263ffffffff1660e01b8152600401611f759190613991565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a0565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b0565b6120379190613752565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139ce565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d8184613752565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612743565b5f808061216961216188670de0b6b3a7640000613752565b899087612c5d565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a7640000613752565b8989612c80565b92506121a883826135b0565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a7640000613752565b8390612519565b61157d90670de0b6b3a7640000613752565b5f8061221d856121f56119f4565b6121ff91906135b0565b600254610fa9908790600160801b90046001600160801b0316613752565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a7640000613752565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c5d565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a7640000613752565b8a9088612c5d565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b0565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135c3565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135c3565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b0565b6124028587611584565b61240c888a611584565b611ce291906135b0565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b6124706124528487613752565b61245c8587612519565b612466888a611584565b611ce29190613752565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612ca2565b6124cd845f612ca2565b6124d791906135c3565b90505f8113156124f2576124eb81866135b0565b9450612510565b5f8112156125105761250381613977565b61250d9086613752565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c5d565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b506125109250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690508587612cb7565b60405163350b944160e11b815260040160405180910390fd5b5f808061266861266088670de0b6b3a7640000613752565b89908761252d565b905086156121ab5761267a8888611584565b915061219c8a8a846126948a670de0b6b3a7640000613752565b8989612d0e565b5f806126a78484612d1e565b9092509050806126b9576126b96113ec565b5092915050565b5f815f036126d75750670de0b6b3a764000061131b565b825f036126e557505f61131b565b5f6126ef83611321565b90505f6127036126fe86611321565b612d59565b905081810261271a670de0b6b3a7640000826139e2565b905061272581612f7e565b9695505050505050565b5f61157d83670de0b6b3a764000084612c5d565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061279a906001600160801b03168461272f565b90506127c67f0000000000000000000000000000000000000000000000000000000000000000826135b0565b6002546001600160801b03161115611a61576002547f0000000000000000000000000000000000000000000000000000000000000000906128119083906001600160801b0316613752565b61157d9190613752565b6128236134a3565b5f8061282e84612b23565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128689190613991565b6040805180830381865af4158015612882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a691906139a0565b93509050826128ba57505f91506129879050565b5f6128e06128db84610160015185610140015161158490919063ffffffff16565b611321565b6129006128db85610120015186610100015161251990919063ffffffff16565b61290a91906135c3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a699190613a0e565b935093509350935080612a8457505f98975050505050505050565b868414612ab557612a9484611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ae657612ac58361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1457612af682611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b2b6134ed565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c239116613110565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5592900416613110565b905292915050565b5f825f190484118302158202612c71575f80fd5b50910281810615159190040190565b5f80612c90888888888888613184565b909250905080611d0f57611d0f6113ec565b5f818313612cb0578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d09908490613260565b505050565b5f80612c908888888888886132c6565b5f805f83612d2b86611321565b612d3591906135c3565b90505f811215612d4b575f809250925050612d52565b9150600190505b9250929050565b5f808213612d7a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dfd9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f9757505f919050565b680755bf798b4a1bf1e58212612fc0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131236105ab565b61312d91906137c0565b905080831161313c575f613146565b6131468184613752565b915061157d61317d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c0565b8390612743565b5f805f6131948989888888613382565b9050868810156131aa575f809250925050613255565b96869003966131b988876126c0565b9750878110156131cf575f809250925050613255565b8781036131dd818688612c5d565b9050670de0b6b3a764000081106132115761320a613203670de0b6b3a76400008961272f565b82906126c0565b9050613229565b613226613203670de0b6b3a764000089612743565b90505b613233818661272f565b90508981101561324a575f80935093505050613255565b899003925060019150505b965096945050505050565b5f6132746001600160a01b038416836133b0565b905080515f141580156132985750808060200190518101906132969190613a41565b155b15612d0957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132d68989888888613382565b90506132e686611a24898b6135b0565b9750878110156132fc575f809250925050613255565b87810361330a818688612c5d565b9050670de0b6b3a7640000811061333757613330613203670de0b6b3a76400008961272f565b905061334f565b61334c613203670de0b6b3a764000089612743565b90505b613359818661272f565b9050808a1015613370575f80935093505050613255565b90980398600198509650505050505050565b5f61338d85856126c0565b6133a661339e86611a24868b612519565b859085612c5d565b61247091906135b0565b606061157d83835f845f80856001600160a01b031684866040516133d49190613a5c565b5f6040518083038185875af1925050503d805f811461340e576040519150601f19603f3d011682016040523d82523d5f602084013e613413565b606091505b50915091506127258683836060826134335761342e8261347a565b61157d565b815115801561344a57506001600160a01b0384163b155b1561347357604051639996b31560e01b81526001600160a01b03851660048201526024016132bd565b508061157d565b80511561348a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134b76134ed565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613555575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613580575f80fd5b850160608188031215613591575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61359c565b8181035f8312801583831316838312821617156126b9576126b961359c565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613606575f80fd5b813561157d816135e2565b8015158114610591575f80fd5b5f6020828403121561362e575f80fd5b813561157d81613611565b5f808335601e1984360301811261364e575f80fd5b83018035915067ffffffffffffffff821115613668575f80fd5b602001915036819003821315612d52575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136dd60e08301848661367c565b9a9950505050505050505050565b8082018281125f83128015821682158216171561370a5761370a61359c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374560c08301848661367c565b9998505050505050505050565b8181038181111561131b5761131b61359c565b6001600160701b038181168382160190808211156126b9576126b961359c565b6001600160801b038181168382160190808211156126b9576126b961359c565b5f602082840312156137b5575f80fd5b815161157d816135e2565b808202811582820484141761131b5761131b61359c565b6001600160801b038281168282160390808211156126b9576126b961359c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61359c565b5f60208284031215613834575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261385d5761385d61383b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138f3828551613862565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613966575f80fd5b505080516020909101519092909150565b5f600160ff1b820161398b5761398b61359c565b505f0390565b610180810161131b8284613862565b5f80604083850312156139b1575f80fd5b8251915060208301516139c381613611565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f0576139f061383b565b600160ff1b82145f1984141615613a0957613a0961359c565b500590565b5f805f8060808587031215613a21575f80fd5b845193506020850151925060408501519150606085015161359181613611565b5f60208284031215613a51575f80fd5b815161157d81613611565b5f82515f5b81811015613a7b5760208186018101518583015201613a61565b505f92019182525091905056fea264697066735822122060b9a7af601fefa2e6630a33cdfd05b07d9405e4bae612cefd337a9c7ee8695a64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts deleted file mode 100644 index f16410027..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map deleted file mode 100644 index 1e2f02275..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iy7kC,KAAK,MAAM,EAAE;;;;CAI5+kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js deleted file mode 100644 index d083d73e2..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b613f4d806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162003f4d38038062003f4d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613abe6200048f5f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bb801525f818161139301528181611791015281816117f4015281816127a1015281816127dd015281816129d50152612b9201525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b6c01525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bde01525f81816107e701528181610ec4015281816116ef01528181612125015261315901525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126060152613abe5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613542565b610070565b60405190815260200160405180910390f35b61004b61006b366004613542565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b0565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135c3565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135f6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161361e565b6102bd8a6102b78d8f6135b0565b90611584565b8d6102cb60408c018c613639565b6040516102df9897969594939291906136a4565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b0565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136eb565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135f6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161361e565b8a61050260408b018b613639565b6040516105159796959493929190613712565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135f6565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613752565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b0565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613752565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b0565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b0565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b0565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613752565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135c3565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137a5565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613752565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e968184613752565b610ea090896135b0565b9750610eac82846135b0565b610eb6908d6135b0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613752565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a613752565b9850670de0b6b3a7640000610ff0610f8b87876135b0565b600254610fa9908f90600160801b90046001600160801b0316613752565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613752565b6110d191906137c0565b85670de0b6b3a76400006110e5878a613752565b6110ef91906137c0565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c0565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137d7565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135c3565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b0565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161361e565b15611558576115518561153f60208601866135f6565b61154c6040870187613639565b612582565b915061157b565b61157b8561156960208601866135f6565b6115766040870187613639565b61262f565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612648565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae8284613752565b6116b89089613752565b97506116c481846135b0565b6116ce908e613752565b9c506116da8a8e6135b0565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613752565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613752565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135c3565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361269b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c0565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613752565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613824565b5f6119ea828461384f565b61157d9084613752565b6002546004545f916105a6916001600160801b0390911690600f0b61269b565b5f61007d82611a2485888861252d565b906126c0565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab28383613752565b9050611ac16110fa828661272f565b60068054601090611ae3908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274390919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b0565b90915550611b6b90508183613752565b9150611b7682611a2a565b600280545f90611b909084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612757565b600480545f90611bd1908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612743565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b8282613752565b611c859084613752565b9250611ca3565b611c968282613752565b611ca090846135b0565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612743565b9050611cf588848661252d565b611cff90826135b0565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b031690613752565b9050805f03611da057600191505061131b565b5f611daa85612780565b9050805f03611dbe5760019250505061131b565b5f80611dcb83858961281b565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e0565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613955565b91509150611e77611e6982611321565b611e7290613977565b61298f565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b23565b6040518263ffffffff1660e01b8152600401611f759190613991565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a0565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b0565b6120379190613752565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139ce565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d8184613752565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612743565b5f808061216961216188670de0b6b3a7640000613752565b899087612c5d565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a7640000613752565b8989612c80565b92506121a883826135b0565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a7640000613752565b8390612519565b61157d90670de0b6b3a7640000613752565b5f8061221d856121f56119f4565b6121ff91906135b0565b600254610fa9908790600160801b90046001600160801b0316613752565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a7640000613752565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c5d565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a7640000613752565b8a9088612c5d565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b0565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135c3565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135c3565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b0565b6124028587611584565b61240c888a611584565b611ce291906135b0565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b6124706124528487613752565b61245c8587612519565b612466888a611584565b611ce29190613752565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612ca2565b6124cd845f612ca2565b6124d791906135c3565b90505f8113156124f2576124eb81866135b0565b9450612510565b5f8112156125105761250381613977565b61250d9086613752565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c5d565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b506125109250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690508587612cb7565b60405163350b944160e11b815260040160405180910390fd5b5f808061266861266088670de0b6b3a7640000613752565b89908761252d565b905086156121ab5761267a8888611584565b915061219c8a8a846126948a670de0b6b3a7640000613752565b8989612d0e565b5f806126a78484612d1e565b9092509050806126b9576126b96113ec565b5092915050565b5f815f036126d75750670de0b6b3a764000061131b565b825f036126e557505f61131b565b5f6126ef83611321565b90505f6127036126fe86611321565b612d59565b905081810261271a670de0b6b3a7640000826139e2565b905061272581612f7e565b9695505050505050565b5f61157d83670de0b6b3a764000084612c5d565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061279a906001600160801b03168461272f565b90506127c67f0000000000000000000000000000000000000000000000000000000000000000826135b0565b6002546001600160801b03161115611a61576002547f0000000000000000000000000000000000000000000000000000000000000000906128119083906001600160801b0316613752565b61157d9190613752565b6128236134a3565b5f8061282e84612b23565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128689190613991565b6040805180830381865af4158015612882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a691906139a0565b93509050826128ba57505f91506129879050565b5f6128e06128db84610160015185610140015161158490919063ffffffff16565b611321565b6129006128db85610120015186610100015161251990919063ffffffff16565b61290a91906135c3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a699190613a0e565b935093509350935080612a8457505f98975050505050505050565b868414612ab557612a9484611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ae657612ac58361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1457612af682611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b2b6134ed565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c239116613110565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5592900416613110565b905292915050565b5f825f190484118302158202612c71575f80fd5b50910281810615159190040190565b5f80612c90888888888888613184565b909250905080611d0f57611d0f6113ec565b5f818313612cb0578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d09908490613260565b505050565b5f80612c908888888888886132c6565b5f805f83612d2b86611321565b612d3591906135c3565b90505f811215612d4b575f809250925050612d52565b9150600190505b9250929050565b5f808213612d7a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dfd9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f9757505f919050565b680755bf798b4a1bf1e58212612fc0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131236105ab565b61312d91906137c0565b905080831161313c575f613146565b6131468184613752565b915061157d61317d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c0565b8390612743565b5f805f6131948989888888613382565b9050868810156131aa575f809250925050613255565b96869003966131b988876126c0565b9750878110156131cf575f809250925050613255565b8781036131dd818688612c5d565b9050670de0b6b3a764000081106132115761320a613203670de0b6b3a76400008961272f565b82906126c0565b9050613229565b613226613203670de0b6b3a764000089612743565b90505b613233818661272f565b90508981101561324a575f80935093505050613255565b899003925060019150505b965096945050505050565b5f6132746001600160a01b038416836133b0565b905080515f141580156132985750808060200190518101906132969190613a41565b155b15612d0957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132d68989888888613382565b90506132e686611a24898b6135b0565b9750878110156132fc575f809250925050613255565b87810361330a818688612c5d565b9050670de0b6b3a7640000811061333757613330613203670de0b6b3a76400008961272f565b905061334f565b61334c613203670de0b6b3a764000089612743565b90505b613359818661272f565b9050808a1015613370575f80935093505050613255565b90980398600198509650505050505050565b5f61338d85856126c0565b6133a661339e86611a24868b612519565b859085612c5d565b61247091906135b0565b606061157d83835f845f80856001600160a01b031684866040516133d49190613a5c565b5f6040518083038185875af1925050503d805f811461340e576040519150601f19603f3d011682016040523d82523d5f602084013e613413565b606091505b50915091506127258683836060826134335761342e8261347a565b61157d565b815115801561344a57506001600160a01b0384163b155b1561347357604051639996b31560e01b81526001600160a01b03851660048201526024016132bd565b508061157d565b80511561348a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134b76134ed565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613555575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613580575f80fd5b850160608188031215613591575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61359c565b8181035f8312801583831316838312821617156126b9576126b961359c565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613606575f80fd5b813561157d816135e2565b8015158114610591575f80fd5b5f6020828403121561362e575f80fd5b813561157d81613611565b5f808335601e1984360301811261364e575f80fd5b83018035915067ffffffffffffffff821115613668575f80fd5b602001915036819003821315612d52575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136dd60e08301848661367c565b9a9950505050505050505050565b8082018281125f83128015821682158216171561370a5761370a61359c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374560c08301848661367c565b9998505050505050505050565b8181038181111561131b5761131b61359c565b6001600160701b038181168382160190808211156126b9576126b961359c565b6001600160801b038181168382160190808211156126b9576126b961359c565b5f602082840312156137b5575f80fd5b815161157d816135e2565b808202811582820484141761131b5761131b61359c565b6001600160801b038281168282160390808211156126b9576126b961359c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61359c565b5f60208284031215613834575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261385d5761385d61383b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138f3828551613862565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613966575f80fd5b505080516020909101519092909150565b5f600160ff1b820161398b5761398b61359c565b505f0390565b610180810161131b8284613862565b5f80604083850312156139b1575f80fd5b8251915060208301516139c381613611565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f0576139f061383b565b600160ff1b82145f1984141615613a0957613a0961359c565b500590565b5f805f8060808587031215613a21575f80fd5b845193506020850151925060408501519150606085015161359181613611565b5f60208284031215613a51575f80fd5b815161157d81613611565b5f82515f5b81811015613a7b5760208186018101518583015201613a61565b505f92019182525091905056fea264697066735822122060b9a7af601fefa2e6630a33cdfd05b07d9405e4bae612cefd337a9c7ee8695a64736f6c63430008160033a264697066735822122029654ce641e154532980f44468ecd39e2c6e20d09e423a8fcdb105cf39751c1064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts deleted file mode 100644 index 757bd46f8..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts +++ /dev/null @@ -1,818 +0,0 @@ -export declare const AerodromeLpTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map deleted file mode 100644 index 8d75c6968..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget2.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq/BuhiC,KAAK,MAAM,EAAE;;;;;CAKlkiC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js deleted file mode 100644 index b98985980..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js +++ /dev/null @@ -1,1019 +0,0 @@ -export const AerodromeLpTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004211380380620042118339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d5f620004b25f395f81816116f8015261176901525f50505f50505f610c2801525f50505f818160f9015281816103020152612dab01525f818161152f01528181611d3301528181611d960152818161251d0152818161299b015281816129d701528181612bc80152612d8501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d5f01525f61195d01525f8181611a7e0152818161260e015281816126860152612ec301525f81816109a301528181610e370152818161141501528181611a52015261265a01525f8181610e16015281816125da0152612e7f01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd101525f81816101d301528181610396015281816108e1015261344f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d5f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e3565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e3565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613851565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613851565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613878565b8b611217565b8d8a8a898e8561023e6020830183613878565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a0565b8961028960408a018a6138bb565b60405161029c9796959493929190613926565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613851565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613851565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613851565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a826104846020840184613878565b85611217565b858b868461049b6020860186613878565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a0565b6104ec896104e68a8d613966565b90610683565b8d6104fa60408e018e6138bb565b60405161050e989796959493929190613979565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613878565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a0565b156105ea576105e0856105db60408701876138bb565b6116bc565b9093509050610602565b5034610602856105fd60408701876138bb565b6117d7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f0565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061180b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613851565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611820565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b92505b506108388361185f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613966565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613851565b429061188c565b84610f13565b6108d5886118a0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613966565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a3d565b915091508060095f8282546109729190613851565b9091555061098d9050865f8461098781611b0a565b88611b33565b6109978183613851565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611caa565b91506109db6109d68385610683565b611cf3565b600680546002906109fc9084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261185f565b60068054601090610a4b908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a3d565b915091508060095f828254610abe9190613851565b90915550610ad99050835f84610ad381611b0a565b8a611d1c565b610ae38183613966565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261185f565b60068054601090610b62908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b0a565b610ba483611b0a565b610bae9190613a00565b5f611f0c565b8e610bbf8482611f4b565b50505b5f610bcc8461213a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a1f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061227c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611820565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612302565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061232d565b612391565b15610e6d57610e6d6123d2565b610e79878588856123eb565b91965094509250670de0b6b3a7640000610efb610e968784613851565b600254610eb4908890600160801b90046001600160801b0316613966565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b1115610f0957610f096123d2565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361185f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613966565b610fb99190613a3a565b85670de0b6b3a7640000610fcd878a613966565b610fd79190613a3a565b859291906001612433565b61185f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461185f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a3a565b6005546001600160801b03169190886001612433565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561185f565b600280545f906110d19084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461185f565b60028054601090611120908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461185f565b61115790826139e0565b600380546001600160801b03808416600160801b02911617905590505f61117d836124d7565b905061119b8161118c87611b0a565b6111969084613a71565b611f0c565b6111a484612517565b6111b0576111b06123d2565b5f6111ba85612576565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613851565b90915550505f838152600b60205260408120805483929061126a908490613851565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611820565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612582565b93508761134d85896125a2565b111561135b5761135b6123d2565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b93506113d58a670de0b6b3a7640000868c6125b6565b509193509091506113e890508183613966565b6113f29087613966565b95508861143f816114398d611407868c613966565b8d61141287826126c2565b877f00000000000000000000000000000000000000000000000000000000000000006126d7565b906125a2565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126f7565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a98565b5f6114e960408301602084016138a0565b156114f5575082611502565b6114ff848461271a565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d2565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61272e565b101561156b5761156b6123d2565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b03169190896001612433565b600580546001600160801b03928316600160801b0292169190911790556115db8161185f565b600280546001600160801b0319166001600160801b03929092169190911790556116048561185f565b60028054601090611626908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561185f565b60048054601090611675908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124d7565b905061119b816116b288611b0a565b6111969084613a00565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612753565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613851565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c0565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b1580156117b2575f80fd5b505af11580156117c4573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611804575f80fd5b5091020490565b5f6118168284613ac3565b6106979084613966565b6002546004545f916106cb916001600160801b0390911690600f0b61272e565b5f611856826118508588886117f0565b9061284f565b95945050505050565b5f6001600160801b0382111561188857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161189a5782610697565b50919050565b6006545f9081906118c2908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a38575f6118eb8383613966565b90506118fa610fe28286611450565b6006805460109061191c908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611954858361271a90919063ffffffff16565b90505f611981827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119949190613851565b909155506119a490508183613966565b91506119af8261185f565b600280545f906119c99084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119f6826128b4565b600480545f90611a0a908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a49878561271a565b91505f611a76837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ac557611ab48282613966565b611abe9084613966565b9250611adc565b611acf8282613966565b611ad99084613851565b92505b86861015611aff57611aef8387896117f0565b9250611afc8287896117f0565b91505b509550959350505050565b5f6001600160ff1b038211156118885760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b7b610fe282611b5f670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b031691908a5f612433565b600580546001600160801b03928316600160801b029216919091179055611ba18661185f565b611bab9082613a51565b600480546001600160801b03928316600160801b029216919091179055611bd18461185f565b600280545f90611beb9084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c18836128dd565b600480545f90611c2c908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c5c8561185f565b60028054601090611c7e908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc184611cbb8a888a6117f0565b9061271a565b9050611cce8884866117f0565b611cd89082613851565b905086811115611ce85786810391505b509695505050505050565b5f6001600160701b038211156118885760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5e57507f0000000000000000000000000000000000000000000000000000000000000000611d5c8583613966565b105b15611d6b57611d6b6123d2565b6004549084900390600f0b611d808482613a00565b905083611d8c86611b0a565b138015611dc157507f0000000000000000000000000000000000000000000000000000000000000000611dbf838361272e565b105b15611dce57611dce6123d2565b600354600160801b90046001600160801b0316611e0f610fe282611dfa670de0b6b3a764000088613a3a565b6005546001600160801b031691908c5f612433565b600580546001600160801b0319166001600160801b0392909216919091179055611e398882613966565b9050611e448161185f565b600380546001600160801b03928316600160801b029216919091179055611e6a8361185f565b600280546001600160801b0319166001600160801b0392909216919091179055611e93826128dd565b600480546001600160801b0319166001600160801b0392909216919091179055611ebc8761185f565b60028054601090611ede908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2790610fe2906001600160801b03168484612918565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f95916001600160801b031690613966565b9050805f03611fa857600191505061069a565b5f611fb28561297a565b9050805f03611fc65760019250505061069a565b5f80611fd3838589612a15565b9150915080611fe8575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612023929190613b81565b6040805180830381865af415801561203d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120619190613bf6565b9150915061207f61207182611b0a565b61207a90613c18565b612b82565b925082612094575f965050505050505061069a565b61209d8261185f565b600780545f906120b79084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120e48161185f565b60078054601090612106908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216187612d16565b6040518263ffffffff1660e01b815260040161217d9190613c32565b6040805180830381865af4158015612197573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121bb9190613c41565b91509150806121d057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223591613851565b61223f9190613966565b9050805f0361225557505f958695509350505050565b5f808711612263575f61226e565b61226e8488846117f0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229f5761229f613c6f565b6040519080825280601f01601f1916602001820160405280156122c9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122e9578692505b828152825f602083013e90999098509650505050505050565b5f61232287878761231b88670de0b6b3a7640000613966565b8787612e50565b979650505050505050565b5f6114ff61236d61234684670de0b6b3a7640000613966565b611439670de0b6b3a764000061235c818a611450565b6123669190613966565b87906125a2565b61237f90670de0b6b3a7640000613851565b611cbb84670de0b6b3a7640000613966565b5f806123c78561239f611820565b6123a99190613851565b600254610eb4908790600160801b90046001600160801b0316613966565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123fb898789612e72565b909250905061240a8289613966565b97505f61241882888a6117f0565b9050612424818b613966565b9a989950979650505050505050565b5f825f03612442575084611856565b8115612494576124736124558487613851565b61245f8587610683565b612469888a610683565b611cbb9190613851565b90505f612480858861188c565b90508082101561248e578091505b50611856565b8285036124a257505f611856565b6124cd6124af8487613966565b6124b985876125a2565b6124c3888a610683565b611cbb9190613966565b9695505050505050565b5f6124fc600b5f6124e96002866111e3565b81526020019081526020015f2054611b0a565b61250d600b5f6124e96001876111e3565b61069a9190613a00565b5f6125427f0000000000000000000000000000000000000000000000000000000000000000836125a2565b60035461255891906001600160801b0316613851565b60025461256e906001600160801b031684610683565b101592915050565b5f61069a826004611f4b565b5f61232287878761259b88670de0b6b3a7640000613966565b8787612ef1565b5f6106978383670de0b6b3a76400006126f7565b5f80808061260687866125ff8b6114396125d88c670de0b6b3a7640000613966565b7f0000000000000000000000000000000000000000000000000000000000000000906125a2565b91906126f7565b9350612632847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265261264a89670de0b6b3a7640000613966565b8a90886126f7565b905061267e817f00000000000000000000000000000000000000000000000000000000000000006125a2565b93506126aa847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126b49084613851565b915050945094509450949050565b5f8183116126d05781610697565b5090919050565b5f806126ee846126e88a888a6126f7565b90611450565b9050611cce8884865b5f825f19048411830215820261270b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f0565b5f8061273a8484612f01565b90925090508061274c5761274c6123d2565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127ba9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f39565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128118482612fa4565b6127ba576040516001600160a01b0384811660248301525f604483015261284591869182169063095ea7b390606401612788565b6127ba8482612f39565b5f815f036128665750670de0b6b3a764000061069a565b825f0361287457505f61069a565b5f61287e83611b0a565b90505f61289261288d86611b0a565b613041565b90508181026128a9670de0b6b3a764000082613c83565b90506124cd81613266565b5f60016001607f1b038211156118885760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128fa575060016001607f1b0382135b156118885760405163a5353be560e01b815260040160405180910390fd5b5f80612924845f6133f8565b61292e845f6133f8565b6129389190613a00565b90505f8113156129535761294c8186613851565b9450612971565b5f8112156129715761296481613c18565b61296e9086613966565b94505b50929392505050565b6003545f908190612994906001600160801b031684611450565b90506129c07f000000000000000000000000000000000000000000000000000000000000000082613851565b6002546001600160801b0316111561189a576002547f000000000000000000000000000000000000000000000000000000000000000090612a0b9083906001600160801b0316613966565b6115029190613966565b612a1d613744565b5f80612a2884612d16565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a629190613c32565b6040805180830381865af4158015612a7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa09190613c41565b9350905082612ab457505f91506117cf9050565b5f612ada612ad584610160015185610140015161068390919063ffffffff16565b611b0a565b612afa612ad58561012001518661010001516125a290919063ffffffff16565b612b049190613a00565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c5c9190613caf565b935093509350935080612c7757505f98975050505050505050565b868414612ca857612c878461185f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cd957612cb8836128dd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0757612ce98261185f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d1e61378e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e169116613406565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4892900416613406565b905292915050565b5f80612e6088888888888861347a565b909250905080611ce857611ce86123d2565b5f80612ebb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb1818c611450565b6114399190613966565b9150612ee7827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e6088888888888861353e565b5f805f83612f0e86611b0a565b612f189190613a00565b90505f811215612f2e575f80925092505061067c565b946001945092505050565b5f612f4d6001600160a01b038416836135fa565b905080515f14158015612f71575080806020019051810190612f6f9190613ce2565b155b15612f9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fbf9190613cfd565b5f604051808303815f865af19150503d805f8114612ff8576040519150601f19603f3d011682016040523d82523d5f602084013e612ffd565b606091505b50915091508180156130275750805115806130275750808060200190518101906130279190613ce2565b80156118565750505050506001600160a01b03163b151590565b5f8082136130625760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130e59084901c611b0a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361327f57505f919050565b680755bf798b4a1bf1e582126132a8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124cd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b0a565b5f8183136126d05781610697565b5f80670de0b6b3a76400006134196106a0565b6134239190613a3a565b9050808311613432575f61343c565b61343c8184613966565b9150611502613473670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a3a565b839061271a565b5f805f61348a8989888888613607565b90506134a48661185061349d8a8d613851565b8790610683565b98506134b1858a866117f0565b9850888110156134c7575f809250925050613533565b888103670de0b6b3a764000081106134fc576134f56134ee670de0b6b3a764000089611450565b829061284f565b9050613514565b6135116134ee670de0b6b3a76400008961271a565b90505b80891015613529575f80935093505050613533565b8803925060019150505b965096945050505050565b5f805f61354e8989888888613607565b905061355e86611850898b613851565b975087811015613574575f809250925050613533565b8781036135828186886126f7565b9050670de0b6b3a764000081106135af576135a86134ee670de0b6b3a764000089611450565b90506135c7565b6135c46134ee670de0b6b3a76400008961271a565b90505b6135d18186611450565b9050808a10156135e8575f80935093505050613533565b90980398600198509650505050505050565b606061069783835f613635565b5f613612858561284f565b61362b61362386611850868b6125a2565b8590856126f7565b6124cd9190613851565b60608147101561365a5760405163cd78605960e01b8152306004820152602401612f96565b5f80856001600160a01b031684866040516136759190613cfd565b5f6040518083038185875af1925050503d805f81146136af576040519150601f19603f3d011682016040523d82523d5f602084013e6136b4565b606091505b50915091506124cd8683836060826136d4576136cf8261371b565b611502565b81511580156136eb57506001600160a01b0384163b155b1561371457604051639996b31560e01b81526001600160a01b0385166004820152602401612f96565b5080611502565b80511561372b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375861378e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613821575f80fd5b850160608188031215613832575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61383d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613888575f80fd5b813561150281613864565b80151581146105af575f80fd5b5f602082840312156138b0575f80fd5b813561150281613893565b5f808335601e198436030181126138d0575f80fd5b83018035915067ffffffffffffffff8211156138ea575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395960c0830184866138fe565b9998505050505050505050565b8181038181111561069a5761069a61383d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b260e0830184866138fe565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561274c5761274c61383d565b6001600160801b0381811683821601908082111561274c5761274c61383d565b8181035f83128015838313168383128216171561274c5761274c61383d565b5f60208284031215613a2f575f80fd5b815161150281613864565b808202811582820484141761069a5761069a61383d565b6001600160801b0382811682821603908082111561274c5761274c61383d565b8082018281125f831280158216821582161715613a9057613a9061383d565b505092915050565b5f60208284031215613aa8575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad157613ad1613aaf565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61383d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b94828551613b03565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c07575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c2c57613c2c61383d565b505f0390565b610180810161069a8284613b03565b5f8060408385031215613c52575f80fd5b825191506020830151613c6481613893565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9157613c91613aaf565b600160ff1b82145f1984141615613caa57613caa61383d565b500590565b5f805f8060808587031215613cc2575f80fd5b845193506020850151925060408501519150606085015161383281613893565b5f60208284031215613cf2575f80fd5b815161150281613893565b5f82515f5b81811015613d1c5760208186018101518583015201613d02565b505f92019182525091905056fea2646970667358221220d4d6fef1547ba5e0338a30d4fad2f95947e88ba5a7798dc8bf677615f34e76c064736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts deleted file mode 100644 index 7fd8649db..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map deleted file mode 100644 index ad2ab6313..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ii0nC,KAAK,MAAM,EAAE;;;;CAIp3nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js deleted file mode 100644 index 9016462b0..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061478d8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b614211806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162004211380380620042118339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d5f620004b25f395f81816116f8015261176901525f50505f50505f610c2801525f50505f818160f9015281816103020152612dab01525f818161152f01528181611d3301528181611d960152818161251d0152818161299b015281816129d701528181612bc80152612d8501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d5f01525f61195d01525f8181611a7e0152818161260e015281816126860152612ec301525f81816109a301528181610e370152818161141501528181611a52015261265a01525f8181610e16015281816125da0152612e7f01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd101525f81816101d301528181610396015281816108e1015261344f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d5f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e3565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e3565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613851565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613851565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613878565b8b611217565b8d8a8a898e8561023e6020830183613878565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a0565b8961028960408a018a6138bb565b60405161029c9796959493929190613926565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613851565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613851565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613851565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a826104846020840184613878565b85611217565b858b868461049b6020860186613878565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a0565b6104ec896104e68a8d613966565b90610683565b8d6104fa60408e018e6138bb565b60405161050e989796959493929190613979565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613878565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a0565b156105ea576105e0856105db60408701876138bb565b6116bc565b9093509050610602565b5034610602856105fd60408701876138bb565b6117d7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f0565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061180b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613851565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611820565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b92505b506108388361185f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613966565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613851565b429061188c565b84610f13565b6108d5886118a0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613966565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a3d565b915091508060095f8282546109729190613851565b9091555061098d9050865f8461098781611b0a565b88611b33565b6109978183613851565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611caa565b91506109db6109d68385610683565b611cf3565b600680546002906109fc9084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261185f565b60068054601090610a4b908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a3d565b915091508060095f828254610abe9190613851565b90915550610ad99050835f84610ad381611b0a565b8a611d1c565b610ae38183613966565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261185f565b60068054601090610b62908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b0a565b610ba483611b0a565b610bae9190613a00565b5f611f0c565b8e610bbf8482611f4b565b50505b5f610bcc8461213a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a1f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061227c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611820565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612302565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061232d565b612391565b15610e6d57610e6d6123d2565b610e79878588856123eb565b91965094509250670de0b6b3a7640000610efb610e968784613851565b600254610eb4908890600160801b90046001600160801b0316613966565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b1115610f0957610f096123d2565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361185f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613966565b610fb99190613a3a565b85670de0b6b3a7640000610fcd878a613966565b610fd79190613a3a565b859291906001612433565b61185f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461185f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a3a565b6005546001600160801b03169190886001612433565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561185f565b600280545f906110d19084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461185f565b60028054601090611120908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461185f565b61115790826139e0565b600380546001600160801b03808416600160801b02911617905590505f61117d836124d7565b905061119b8161118c87611b0a565b6111969084613a71565b611f0c565b6111a484612517565b6111b0576111b06123d2565b5f6111ba85612576565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613851565b90915550505f838152600b60205260408120805483929061126a908490613851565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611820565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612582565b93508761134d85896125a2565b111561135b5761135b6123d2565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b93506113d58a670de0b6b3a7640000868c6125b6565b509193509091506113e890508183613966565b6113f29087613966565b95508861143f816114398d611407868c613966565b8d61141287826126c2565b877f00000000000000000000000000000000000000000000000000000000000000006126d7565b906125a2565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126f7565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a98565b5f6114e960408301602084016138a0565b156114f5575082611502565b6114ff848461271a565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d2565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61272e565b101561156b5761156b6123d2565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b03169190896001612433565b600580546001600160801b03928316600160801b0292169190911790556115db8161185f565b600280546001600160801b0319166001600160801b03929092169190911790556116048561185f565b60028054601090611626908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561185f565b60048054601090611675908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124d7565b905061119b816116b288611b0a565b6111969084613a00565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612753565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613851565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c0565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b1580156117b2575f80fd5b505af11580156117c4573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611804575f80fd5b5091020490565b5f6118168284613ac3565b6106979084613966565b6002546004545f916106cb916001600160801b0390911690600f0b61272e565b5f611856826118508588886117f0565b9061284f565b95945050505050565b5f6001600160801b0382111561188857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161189a5782610697565b50919050565b6006545f9081906118c2908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a38575f6118eb8383613966565b90506118fa610fe28286611450565b6006805460109061191c908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611954858361271a90919063ffffffff16565b90505f611981827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119949190613851565b909155506119a490508183613966565b91506119af8261185f565b600280545f906119c99084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119f6826128b4565b600480545f90611a0a908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a49878561271a565b91505f611a76837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ac557611ab48282613966565b611abe9084613966565b9250611adc565b611acf8282613966565b611ad99084613851565b92505b86861015611aff57611aef8387896117f0565b9250611afc8287896117f0565b91505b509550959350505050565b5f6001600160ff1b038211156118885760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b7b610fe282611b5f670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b031691908a5f612433565b600580546001600160801b03928316600160801b029216919091179055611ba18661185f565b611bab9082613a51565b600480546001600160801b03928316600160801b029216919091179055611bd18461185f565b600280545f90611beb9084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c18836128dd565b600480545f90611c2c908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c5c8561185f565b60028054601090611c7e908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc184611cbb8a888a6117f0565b9061271a565b9050611cce8884866117f0565b611cd89082613851565b905086811115611ce85786810391505b509695505050505050565b5f6001600160701b038211156118885760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5e57507f0000000000000000000000000000000000000000000000000000000000000000611d5c8583613966565b105b15611d6b57611d6b6123d2565b6004549084900390600f0b611d808482613a00565b905083611d8c86611b0a565b138015611dc157507f0000000000000000000000000000000000000000000000000000000000000000611dbf838361272e565b105b15611dce57611dce6123d2565b600354600160801b90046001600160801b0316611e0f610fe282611dfa670de0b6b3a764000088613a3a565b6005546001600160801b031691908c5f612433565b600580546001600160801b0319166001600160801b0392909216919091179055611e398882613966565b9050611e448161185f565b600380546001600160801b03928316600160801b029216919091179055611e6a8361185f565b600280546001600160801b0319166001600160801b0392909216919091179055611e93826128dd565b600480546001600160801b0319166001600160801b0392909216919091179055611ebc8761185f565b60028054601090611ede908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2790610fe2906001600160801b03168484612918565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f95916001600160801b031690613966565b9050805f03611fa857600191505061069a565b5f611fb28561297a565b9050805f03611fc65760019250505061069a565b5f80611fd3838589612a15565b9150915080611fe8575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612023929190613b81565b6040805180830381865af415801561203d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120619190613bf6565b9150915061207f61207182611b0a565b61207a90613c18565b612b82565b925082612094575f965050505050505061069a565b61209d8261185f565b600780545f906120b79084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120e48161185f565b60078054601090612106908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216187612d16565b6040518263ffffffff1660e01b815260040161217d9190613c32565b6040805180830381865af4158015612197573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121bb9190613c41565b91509150806121d057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223591613851565b61223f9190613966565b9050805f0361225557505f958695509350505050565b5f808711612263575f61226e565b61226e8488846117f0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229f5761229f613c6f565b6040519080825280601f01601f1916602001820160405280156122c9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122e9578692505b828152825f602083013e90999098509650505050505050565b5f61232287878761231b88670de0b6b3a7640000613966565b8787612e50565b979650505050505050565b5f6114ff61236d61234684670de0b6b3a7640000613966565b611439670de0b6b3a764000061235c818a611450565b6123669190613966565b87906125a2565b61237f90670de0b6b3a7640000613851565b611cbb84670de0b6b3a7640000613966565b5f806123c78561239f611820565b6123a99190613851565b600254610eb4908790600160801b90046001600160801b0316613966565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123fb898789612e72565b909250905061240a8289613966565b97505f61241882888a6117f0565b9050612424818b613966565b9a989950979650505050505050565b5f825f03612442575084611856565b8115612494576124736124558487613851565b61245f8587610683565b612469888a610683565b611cbb9190613851565b90505f612480858861188c565b90508082101561248e578091505b50611856565b8285036124a257505f611856565b6124cd6124af8487613966565b6124b985876125a2565b6124c3888a610683565b611cbb9190613966565b9695505050505050565b5f6124fc600b5f6124e96002866111e3565b81526020019081526020015f2054611b0a565b61250d600b5f6124e96001876111e3565b61069a9190613a00565b5f6125427f0000000000000000000000000000000000000000000000000000000000000000836125a2565b60035461255891906001600160801b0316613851565b60025461256e906001600160801b031684610683565b101592915050565b5f61069a826004611f4b565b5f61232287878761259b88670de0b6b3a7640000613966565b8787612ef1565b5f6106978383670de0b6b3a76400006126f7565b5f80808061260687866125ff8b6114396125d88c670de0b6b3a7640000613966565b7f0000000000000000000000000000000000000000000000000000000000000000906125a2565b91906126f7565b9350612632847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265261264a89670de0b6b3a7640000613966565b8a90886126f7565b905061267e817f00000000000000000000000000000000000000000000000000000000000000006125a2565b93506126aa847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126b49084613851565b915050945094509450949050565b5f8183116126d05781610697565b5090919050565b5f806126ee846126e88a888a6126f7565b90611450565b9050611cce8884865b5f825f19048411830215820261270b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f0565b5f8061273a8484612f01565b90925090508061274c5761274c6123d2565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127ba9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f39565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128118482612fa4565b6127ba576040516001600160a01b0384811660248301525f604483015261284591869182169063095ea7b390606401612788565b6127ba8482612f39565b5f815f036128665750670de0b6b3a764000061069a565b825f0361287457505f61069a565b5f61287e83611b0a565b90505f61289261288d86611b0a565b613041565b90508181026128a9670de0b6b3a764000082613c83565b90506124cd81613266565b5f60016001607f1b038211156118885760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128fa575060016001607f1b0382135b156118885760405163a5353be560e01b815260040160405180910390fd5b5f80612924845f6133f8565b61292e845f6133f8565b6129389190613a00565b90505f8113156129535761294c8186613851565b9450612971565b5f8112156129715761296481613c18565b61296e9086613966565b94505b50929392505050565b6003545f908190612994906001600160801b031684611450565b90506129c07f000000000000000000000000000000000000000000000000000000000000000082613851565b6002546001600160801b0316111561189a576002547f000000000000000000000000000000000000000000000000000000000000000090612a0b9083906001600160801b0316613966565b6115029190613966565b612a1d613744565b5f80612a2884612d16565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a629190613c32565b6040805180830381865af4158015612a7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa09190613c41565b9350905082612ab457505f91506117cf9050565b5f612ada612ad584610160015185610140015161068390919063ffffffff16565b611b0a565b612afa612ad58561012001518661010001516125a290919063ffffffff16565b612b049190613a00565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c5c9190613caf565b935093509350935080612c7757505f98975050505050505050565b868414612ca857612c878461185f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cd957612cb8836128dd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0757612ce98261185f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d1e61378e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e169116613406565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4892900416613406565b905292915050565b5f80612e6088888888888861347a565b909250905080611ce857611ce86123d2565b5f80612ebb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb1818c611450565b6114399190613966565b9150612ee7827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e6088888888888861353e565b5f805f83612f0e86611b0a565b612f189190613a00565b90505f811215612f2e575f80925092505061067c565b946001945092505050565b5f612f4d6001600160a01b038416836135fa565b905080515f14158015612f71575080806020019051810190612f6f9190613ce2565b155b15612f9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fbf9190613cfd565b5f604051808303815f865af19150503d805f8114612ff8576040519150601f19603f3d011682016040523d82523d5f602084013e612ffd565b606091505b50915091508180156130275750805115806130275750808060200190518101906130279190613ce2565b80156118565750505050506001600160a01b03163b151590565b5f8082136130625760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130e59084901c611b0a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361327f57505f919050565b680755bf798b4a1bf1e582126132a8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124cd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b0a565b5f8183136126d05781610697565b5f80670de0b6b3a76400006134196106a0565b6134239190613a3a565b9050808311613432575f61343c565b61343c8184613966565b9150611502613473670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a3a565b839061271a565b5f805f61348a8989888888613607565b90506134a48661185061349d8a8d613851565b8790610683565b98506134b1858a866117f0565b9850888110156134c7575f809250925050613533565b888103670de0b6b3a764000081106134fc576134f56134ee670de0b6b3a764000089611450565b829061284f565b9050613514565b6135116134ee670de0b6b3a76400008961271a565b90505b80891015613529575f80935093505050613533565b8803925060019150505b965096945050505050565b5f805f61354e8989888888613607565b905061355e86611850898b613851565b975087811015613574575f809250925050613533565b8781036135828186886126f7565b9050670de0b6b3a764000081106135af576135a86134ee670de0b6b3a764000089611450565b90506135c7565b6135c46134ee670de0b6b3a76400008961271a565b90505b6135d18186611450565b9050808a10156135e8575f80935093505050613533565b90980398600198509650505050505050565b606061069783835f613635565b5f613612858561284f565b61362b61362386611850868b6125a2565b8590856126f7565b6124cd9190613851565b60608147101561365a5760405163cd78605960e01b8152306004820152602401612f96565b5f80856001600160a01b031684866040516136759190613cfd565b5f6040518083038185875af1925050503d805f81146136af576040519150601f19603f3d011682016040523d82523d5f602084013e6136b4565b606091505b50915091506124cd8683836060826136d4576136cf8261371b565b611502565b81511580156136eb57506001600160a01b0384163b155b1561371457604051639996b31560e01b81526001600160a01b0385166004820152602401612f96565b5080611502565b80511561372b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375861378e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613821575f80fd5b850160608188031215613832575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61383d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613888575f80fd5b813561150281613864565b80151581146105af575f80fd5b5f602082840312156138b0575f80fd5b813561150281613893565b5f808335601e198436030181126138d0575f80fd5b83018035915067ffffffffffffffff8211156138ea575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395960c0830184866138fe565b9998505050505050505050565b8181038181111561069a5761069a61383d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b260e0830184866138fe565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561274c5761274c61383d565b6001600160801b0381811683821601908082111561274c5761274c61383d565b8181035f83128015838313168383128216171561274c5761274c61383d565b5f60208284031215613a2f575f80fd5b815161150281613864565b808202811582820484141761069a5761069a61383d565b6001600160801b0382811682821603908082111561274c5761274c61383d565b8082018281125f831280158216821582161715613a9057613a9061383d565b505092915050565b5f60208284031215613aa8575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad157613ad1613aaf565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61383d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b94828551613b03565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c07575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c2c57613c2c61383d565b505f0390565b610180810161069a8284613b03565b5f8060408385031215613c52575f80fd5b825191506020830151613c6481613893565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9157613c91613aaf565b600160ff1b82145f1984141615613caa57613caa61383d565b500590565b5f805f8060808587031215613cc2575f80fd5b845193506020850151925060408501519150606085015161383281613893565b5f60208284031215613cf2575f80fd5b815161150281613893565b5f82515f5b81811015613d1c5760208186018101518583015201613d02565b505f92019182525091905056fea2646970667358221220d4d6fef1547ba5e0338a30d4fad2f95947e88ba5a7798dc8bf677615f34e76c064736f6c63430008160033a2646970667358221220e186ee3a5ec8ef2fdf93f9a18e8ea6b47689f6108bb6c659d094ed57789b6fb164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts deleted file mode 100644 index 6e073e164..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const AerodromeLpTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map deleted file mode 100644 index 863c12195..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget3.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygC+uhC,KAAK,MAAM,EAAE;;;;;CAK1xhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js deleted file mode 100644 index 356597b07..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js +++ /dev/null @@ -1,1039 +0,0 @@ -export const AerodromeLpTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b506040516200417d3803806200417d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cba620004c35f395f818161198801526119f901525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161209a015281816120fd015281816129a601528181612de40152612e2001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cab01525f8181611e00015261306f01525f81816110260152611dd401525f61302501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261293c01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cba5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613713565b610064565b60405190815260200160405180910390f35b61003f61005f366004613772565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137e5565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d2565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137e5565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137e5565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d2565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613876565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613885565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613876565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613885565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137e5565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d2565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138d8565b866107a960408c018c6138f3565b6040516107bc9796959493929190613936565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613989565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138d8565b87610b5e60408901896138f3565b604051610b719796959493929190613936565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138d8565b15610c8f57610c8585610c8060408701876138f3565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f3565b611a67565b610caf611a80565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a92565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137e5565b8a84611aa7565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d2565b4290611be0565b84611aa7565b610f5888611bee565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137e5565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d8b565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dbf565b915091508060095f828254610ff591906137d2565b909155506110109050865f8461100a81611766565b88611e8c565b61101a81836137d2565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612003565b915061105e6110598385612046565b61205a565b6006805460029061107f9084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d8b565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dbf565b915091508060095f82825461114191906137d2565b9091555061115c9050835f8461115681611766565b8a612083565b61116681836137e5565b91506111756110598387612046565b600680546002906111969084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a0b565b5f612273565b8e61124284826122b2565b50505b5f61124f846124a1565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a2a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e3565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d8b565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d8b565b6113f79190613a0b565b92915050565b5f805f8061140b8a8a61266b565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a3565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8d7f000000000000000000000000000000000000000000000000000000000000000061275c565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612816565b509093505f9050611568848f6137d2565b90505f6115888b8b61157987611766565b611583908e613a45565b61285e565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c0565b611766565b6115c683611766565b6115d36115b88685612046565b6115dd9190613a0b565b6115e79190613a0b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d0565b61162685670de0b6b3a76400006137e5565b906117d4565b611634613664565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f3565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f3565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612960565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d2565b90915550505f838152600b60205260408120805483929061183b9084906137d2565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b2565b5f8183136118a7578261008d565b50919050565b5f806118b9848461266b565b9092509050806118cb576118cb612af4565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b0d565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b7c565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612be9565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b158015611a42575f80fd5b505af1158015611a54573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c78565b5f611a9d8284613a80565b61008d90846137e5565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad25750505050565b5f848152600860205260408120546001600160801b031690819003611b2a57611afa836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ba7565b611b7b611b76670de0b6b3a7640000611b4388866137e5565b611b4d9190613989565b85670de0b6b3a7640000611b61878a6137e5565b611b6b9190613989565b859291906001612cec565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb0846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c10908490600160801b90046001600160801b0316612046565b6006546201000090046001600160701b03169250905081811115611d86575f611c3983836137e5565b9050611c48611b768286612d86565b60068054601090611c6a908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca285836117d490919063ffffffff16565b90505f611ccf827f0000000000000000000000000000000000000000000000000000000000000000612046565b90508060095f828254611ce291906137d2565b90915550611cf2905081836137e5565b9150611cfd826118d2565b600280545f90611d179084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4482612d9a565b600480545f90611d58908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611db45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dcb87856117d4565b91505f611df8837f0000000000000000000000000000000000000000000000000000000000000000612046565b9050611e24817f0000000000000000000000000000000000000000000000000000000000000000612046565b91508315611e4757611e3682826137e5565b611e4090846137e5565b9250611e5e565b611e5182826137e5565b611e5b90846137d2565b92505b86861015611e8157611e718387896117b9565b9250611e7e8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611ed4611b7682611eb8670de0b6b3a764000086613989565b600554600160801b90046001600160801b031691908a5f612cec565b600580546001600160801b03928316600160801b029216919091179055611efa866118d2565b611f049082613a93565b600480546001600160801b03928316600160801b029216919091179055611f2a846118d2565b600280545f90611f449084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f71836118fb565b600480545f90611f85908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fb5856118d2565b60028054601090611fd7908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612014846116268a888a6117b9565b90506120218884866117b9565b61202b90826137d2565b90508681111561203b5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120c557507f00000000000000000000000000000000000000000000000000000000000000006120c385836137e5565b105b156120d2576120d2612af4565b6004549084900390600f0b6120e78482613a0b565b9050836120f386611766565b13801561212857507f000000000000000000000000000000000000000000000000000000000000000061212683836118ad565b105b1561213557612135612af4565b600354600160801b90046001600160801b0316612176611b7682612161670de0b6b3a764000088613989565b6005546001600160801b031691908c5f612cec565b600580546001600160801b0319166001600160801b03929092169190911790556121a088826137e5565b90506121ab816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d1836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556121fa826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612223876118d2565b60028054601090612245908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461228e90611b76906001600160801b0316848461285e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916122fc916001600160801b0316906137e5565b9050805f0361230f5760019150506113f7565b5f61231985612dc3565b9050805f0361232d576001925050506113f7565b5f8061233a838589612e5e565b915091508061234f575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161238a929190613ae0565b6040805180830381865af41580156123a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c89190613b55565b915091506123e66123d882611766565b6123e190613b77565b612960565b9250826123fb575f96505050505050506113f7565b612404826118d2565b600780545f9061241e9084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061244b816118d2565b6007805460109061246d908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124c88761162c565b6040518263ffffffff1660e01b81526004016124e49190613876565b6040805180830381865af41580156124fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125229190613b91565b915091508061253757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161259c916137d2565b6125a691906137e5565b9050805f036125bc57505f958695509350505050565b5f8087116125ca575f6125d5565b6125d58488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260657612606613bbf565b6040519080825280601f01601f191660200182016040528015612630576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612650578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267886611766565b6126829190613a0b565b90505f811215612698575f809250925050610d21565b946001945092505050565b5f805f6126b38888888888612fc6565b90505f6126dd670de0b6b3a76400006126cc8888612d86565b6126d691906137d2565b83906117d4565b9050670de0b6b3a764000081106127115761270a612703670de0b6b3a7640000896117d4565b8290612b0d565b9050612729565b612726612703670de0b6b3a764000089612d86565b90505b61273381866117d4565b90508881101561274a575f80935093505050612661565b97909703976001975095505050505050565b5f805f61276c8989888888612ff4565b90506127868661194661277f8a8d6137d2565b8790612046565b9850612793858a866117b9565b9850888110156127a9575f8092509250506115f6565b888103670de0b6b3a764000081106127d7576127d0612703670de0b6b3a764000089612d86565b90506127ef565b6127ec612703670de0b6b3a7640000896117d4565b90505b80891015612804575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612826898789613018565b909250905061283582896137e5565b97505f61284382888a6117b9565b905061284f818b6137e5565b9a989950979650505050505050565b5f8061286a845f61309d565b612874845f61309d565b61287e9190613a0b565b90505f8113156128995761289281866137d2565b94506128b7565b5f8112156128b7576128aa81613b77565b6128b490866137e5565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128e4575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612906610d28565b6129109190613989565b905080831161291f575f612929565b61292981846137e5565b915061008d6126d6670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613989565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3a9190613bd3565b935093509350935080612a5557505f98975050505050505050565b868414612a8657612a65846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab757612a96836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae557612ac7826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b245750670de0b6b3a76400006113f7565b825f03612b3257505f6113f7565b5f612b3c83611766565b90505f612b50612b4b86611766565b6130b2565b9050818102612b67670de0b6b3a764000082613c11565b9050612b72816132d7565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be39186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613469565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c3a84826134d4565b612be3576040516001600160a01b0384811660248301525f6044830152612c6e91869182169063095ea7b390606401612bb1565b612be38482613469565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af4158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613885565b5f825f03612cfb575084610075565b8115612d4d57612d2c612d0e84876137d2565b612d188587612046565b612d22888a612046565b61162691906137d2565b90505f612d398588611be0565b905080821015612d47578091505b50610075565b828503612d5b57505f610075565b610072612d6884876137e5565b612d7285876128c0565b612d7c888a612046565b61162691906137e5565b5f61008d83670de0b6b3a7640000846128d0565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ddd906001600160801b031684612d86565b9050612e097f0000000000000000000000000000000000000000000000000000000000000000826137d2565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e549083906001600160801b03166137e5565b61008d91906137e5565b612e666136b9565b5f80612e718461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eab9190613876565b6040805180830381865af4158015612ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee99190613b91565b9350905082612efd57505f9150611a5f9050565b5f612f1e6115b884610160015185610140015161204690919063ffffffff16565b612f3e6115b88561012001518661010001516128c090919063ffffffff16565b612f489190613a0b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd18585612b0d565b612fea612fe286611946868b612046565b8590856117b9565b61007291906137d2565b5f612fff8585612b0d565b612fea61301086611946868b6128c0565b8590856128d0565b5f806130678561306185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613057818c612d86565b61306191906137e5565b906128c0565b9150613093827f0000000000000000000000000000000000000000000000000000000000000000612046565b9050935093915050565b5f8183136130ab578161008d565b5090919050565b5f8082136130d35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131569084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f057505f919050565b680755bf798b4a1bf1e58212613319576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f61347d6001600160a01b03841683613571565b905080515f141580156134a157508080602001905181019061349f9190613c3d565b155b156134cf57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134ef9190613c58565b5f604051808303815f865af19150503d805f8114613528576040519150601f19603f3d011682016040523d82523d5f602084013e61352d565b606091505b50915091508180156135575750805115806135575750808060200190518101906135579190613c3d565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135959190613c58565b5f6040518083038185875af1925050503d805f81146135cf576040519150601f19603f3d011682016040523d82523d5f602084013e6135d4565b606091505b5091509150612b728683836060826135f4576135ef8261363b565b61008d565b815115801561360b57506001600160a01b0384163b155b1561363457604051639996b31560e01b81526001600160a01b03851660048201526024016134c6565b508061008d565b80511561364b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136cd613664565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613727575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613759575f80fd5b61376588828901613703565b9150509295509295909350565b5f805f60608486031215613784575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137a8575f80fd5b6137b486828701613703565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137be565b818103818111156113f7576113f76137be565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137f8565b5f60208284031215613895575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c0575f80fd5b813561008d8161389c565b8015158114610c0a575f80fd5b5f602082840312156138e8575f80fd5b813561008d816138cb565b5f808335601e19843603018112613908575f80fd5b83018035915067ffffffffffffffff821115613922575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137be565b5f805f606084860312156139b2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137be565b6001600160801b038181168382160190808211156118cb576118cb6137be565b8181035f8312801583831316838312821617156118cb576118cb6137be565b5f60208284031215613a3a575f80fd5b815161008d8161389c565b8082018281125f831280158216821582161715613a6457613a646137be565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a8e57613a8e613a6c565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137be565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137be565b5f6102a082019050613af38285516137f8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b66575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b8b57613b8b6137be565b505f0390565b5f8060408385031215613ba2575f80fd5b825191506020830151613bb4816138cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613be6575f80fd5b8451935060208501519250604085015191506060850151613c06816138cb565b939692955090935050565b5f82613c1f57613c1f613a6c565b600160ff1b82145f1984141615613c3857613c386137be565b500590565b5f60208284031215613c4d575f80fd5b815161008d816138cb565b5f82515f5b81811015613c775760208186018101518583015201613c5d565b505f92019182525091905056fea2646970667358221220e9e7b92c845d4c4d4001de9ab66ae5c923e4e71869dcb6757b19414caa767bff64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts deleted file mode 100644 index 366115b08..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map deleted file mode 100644 index 4089a0158..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IyhnC,KAAK,MAAM,EAAE;;;;CAI5knC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js deleted file mode 100644 index 05c6a0c93..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506146f98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b61417d806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b506040516200417d3803806200417d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cba620004c35f395f818161198801526119f901525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161209a015281816120fd015281816129a601528181612de40152612e2001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cab01525f8181611e00015261306f01525f81816110260152611dd401525f61302501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261293c01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cba5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613713565b610064565b60405190815260200160405180910390f35b61003f61005f366004613772565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137e5565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d2565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137e5565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137e5565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d2565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613876565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613885565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613876565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613885565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137e5565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d2565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138d8565b866107a960408c018c6138f3565b6040516107bc9796959493929190613936565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613989565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138d8565b87610b5e60408901896138f3565b604051610b719796959493929190613936565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138d8565b15610c8f57610c8585610c8060408701876138f3565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f3565b611a67565b610caf611a80565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a92565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137e5565b8a84611aa7565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d2565b4290611be0565b84611aa7565b610f5888611bee565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137e5565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d8b565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dbf565b915091508060095f828254610ff591906137d2565b909155506110109050865f8461100a81611766565b88611e8c565b61101a81836137d2565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612003565b915061105e6110598385612046565b61205a565b6006805460029061107f9084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d8b565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dbf565b915091508060095f82825461114191906137d2565b9091555061115c9050835f8461115681611766565b8a612083565b61116681836137e5565b91506111756110598387612046565b600680546002906111969084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a0b565b5f612273565b8e61124284826122b2565b50505b5f61124f846124a1565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a2a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e3565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d8b565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d8b565b6113f79190613a0b565b92915050565b5f805f8061140b8a8a61266b565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a3565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8d7f000000000000000000000000000000000000000000000000000000000000000061275c565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612816565b509093505f9050611568848f6137d2565b90505f6115888b8b61157987611766565b611583908e613a45565b61285e565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c0565b611766565b6115c683611766565b6115d36115b88685612046565b6115dd9190613a0b565b6115e79190613a0b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d0565b61162685670de0b6b3a76400006137e5565b906117d4565b611634613664565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f3565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f3565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612960565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d2565b90915550505f838152600b60205260408120805483929061183b9084906137d2565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b2565b5f8183136118a7578261008d565b50919050565b5f806118b9848461266b565b9092509050806118cb576118cb612af4565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b0d565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b7c565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612be9565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b158015611a42575f80fd5b505af1158015611a54573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c78565b5f611a9d8284613a80565b61008d90846137e5565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad25750505050565b5f848152600860205260408120546001600160801b031690819003611b2a57611afa836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ba7565b611b7b611b76670de0b6b3a7640000611b4388866137e5565b611b4d9190613989565b85670de0b6b3a7640000611b61878a6137e5565b611b6b9190613989565b859291906001612cec565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb0846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c10908490600160801b90046001600160801b0316612046565b6006546201000090046001600160701b03169250905081811115611d86575f611c3983836137e5565b9050611c48611b768286612d86565b60068054601090611c6a908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca285836117d490919063ffffffff16565b90505f611ccf827f0000000000000000000000000000000000000000000000000000000000000000612046565b90508060095f828254611ce291906137d2565b90915550611cf2905081836137e5565b9150611cfd826118d2565b600280545f90611d179084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4482612d9a565b600480545f90611d58908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611db45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dcb87856117d4565b91505f611df8837f0000000000000000000000000000000000000000000000000000000000000000612046565b9050611e24817f0000000000000000000000000000000000000000000000000000000000000000612046565b91508315611e4757611e3682826137e5565b611e4090846137e5565b9250611e5e565b611e5182826137e5565b611e5b90846137d2565b92505b86861015611e8157611e718387896117b9565b9250611e7e8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611ed4611b7682611eb8670de0b6b3a764000086613989565b600554600160801b90046001600160801b031691908a5f612cec565b600580546001600160801b03928316600160801b029216919091179055611efa866118d2565b611f049082613a93565b600480546001600160801b03928316600160801b029216919091179055611f2a846118d2565b600280545f90611f449084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f71836118fb565b600480545f90611f85908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fb5856118d2565b60028054601090611fd7908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612014846116268a888a6117b9565b90506120218884866117b9565b61202b90826137d2565b90508681111561203b5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120c557507f00000000000000000000000000000000000000000000000000000000000000006120c385836137e5565b105b156120d2576120d2612af4565b6004549084900390600f0b6120e78482613a0b565b9050836120f386611766565b13801561212857507f000000000000000000000000000000000000000000000000000000000000000061212683836118ad565b105b1561213557612135612af4565b600354600160801b90046001600160801b0316612176611b7682612161670de0b6b3a764000088613989565b6005546001600160801b031691908c5f612cec565b600580546001600160801b0319166001600160801b03929092169190911790556121a088826137e5565b90506121ab816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d1836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556121fa826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612223876118d2565b60028054601090612245908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461228e90611b76906001600160801b0316848461285e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916122fc916001600160801b0316906137e5565b9050805f0361230f5760019150506113f7565b5f61231985612dc3565b9050805f0361232d576001925050506113f7565b5f8061233a838589612e5e565b915091508061234f575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161238a929190613ae0565b6040805180830381865af41580156123a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c89190613b55565b915091506123e66123d882611766565b6123e190613b77565b612960565b9250826123fb575f96505050505050506113f7565b612404826118d2565b600780545f9061241e9084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061244b816118d2565b6007805460109061246d908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124c88761162c565b6040518263ffffffff1660e01b81526004016124e49190613876565b6040805180830381865af41580156124fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125229190613b91565b915091508061253757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161259c916137d2565b6125a691906137e5565b9050805f036125bc57505f958695509350505050565b5f8087116125ca575f6125d5565b6125d58488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260657612606613bbf565b6040519080825280601f01601f191660200182016040528015612630576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612650578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267886611766565b6126829190613a0b565b90505f811215612698575f809250925050610d21565b946001945092505050565b5f805f6126b38888888888612fc6565b90505f6126dd670de0b6b3a76400006126cc8888612d86565b6126d691906137d2565b83906117d4565b9050670de0b6b3a764000081106127115761270a612703670de0b6b3a7640000896117d4565b8290612b0d565b9050612729565b612726612703670de0b6b3a764000089612d86565b90505b61273381866117d4565b90508881101561274a575f80935093505050612661565b97909703976001975095505050505050565b5f805f61276c8989888888612ff4565b90506127868661194661277f8a8d6137d2565b8790612046565b9850612793858a866117b9565b9850888110156127a9575f8092509250506115f6565b888103670de0b6b3a764000081106127d7576127d0612703670de0b6b3a764000089612d86565b90506127ef565b6127ec612703670de0b6b3a7640000896117d4565b90505b80891015612804575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612826898789613018565b909250905061283582896137e5565b97505f61284382888a6117b9565b905061284f818b6137e5565b9a989950979650505050505050565b5f8061286a845f61309d565b612874845f61309d565b61287e9190613a0b565b90505f8113156128995761289281866137d2565b94506128b7565b5f8112156128b7576128aa81613b77565b6128b490866137e5565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128e4575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612906610d28565b6129109190613989565b905080831161291f575f612929565b61292981846137e5565b915061008d6126d6670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613989565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3a9190613bd3565b935093509350935080612a5557505f98975050505050505050565b868414612a8657612a65846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab757612a96836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae557612ac7826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b245750670de0b6b3a76400006113f7565b825f03612b3257505f6113f7565b5f612b3c83611766565b90505f612b50612b4b86611766565b6130b2565b9050818102612b67670de0b6b3a764000082613c11565b9050612b72816132d7565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be39186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613469565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c3a84826134d4565b612be3576040516001600160a01b0384811660248301525f6044830152612c6e91869182169063095ea7b390606401612bb1565b612be38482613469565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af4158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613885565b5f825f03612cfb575084610075565b8115612d4d57612d2c612d0e84876137d2565b612d188587612046565b612d22888a612046565b61162691906137d2565b90505f612d398588611be0565b905080821015612d47578091505b50610075565b828503612d5b57505f610075565b610072612d6884876137e5565b612d7285876128c0565b612d7c888a612046565b61162691906137e5565b5f61008d83670de0b6b3a7640000846128d0565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ddd906001600160801b031684612d86565b9050612e097f0000000000000000000000000000000000000000000000000000000000000000826137d2565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e549083906001600160801b03166137e5565b61008d91906137e5565b612e666136b9565b5f80612e718461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eab9190613876565b6040805180830381865af4158015612ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee99190613b91565b9350905082612efd57505f9150611a5f9050565b5f612f1e6115b884610160015185610140015161204690919063ffffffff16565b612f3e6115b88561012001518661010001516128c090919063ffffffff16565b612f489190613a0b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd18585612b0d565b612fea612fe286611946868b612046565b8590856117b9565b61007291906137d2565b5f612fff8585612b0d565b612fea61301086611946868b6128c0565b8590856128d0565b5f806130678561306185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613057818c612d86565b61306191906137e5565b906128c0565b9150613093827f0000000000000000000000000000000000000000000000000000000000000000612046565b9050935093915050565b5f8183136130ab578161008d565b5090919050565b5f8082136130d35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131569084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f057505f919050565b680755bf798b4a1bf1e58212613319576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f61347d6001600160a01b03841683613571565b905080515f141580156134a157508080602001905181019061349f9190613c3d565b155b156134cf57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134ef9190613c58565b5f604051808303815f865af19150503d805f8114613528576040519150601f19603f3d011682016040523d82523d5f602084013e61352d565b606091505b50915091508180156135575750805115806135575750808060200190518101906135579190613c3d565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135959190613c58565b5f6040518083038185875af1925050503d805f81146135cf576040519150601f19603f3d011682016040523d82523d5f602084013e6135d4565b606091505b5091509150612b728683836060826135f4576135ef8261363b565b61008d565b815115801561360b57506001600160a01b0384163b155b1561363457604051639996b31560e01b81526001600160a01b03851660048201526024016134c6565b508061008d565b80511561364b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136cd613664565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613727575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613759575f80fd5b61376588828901613703565b9150509295509295909350565b5f805f60608486031215613784575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137a8575f80fd5b6137b486828701613703565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137be565b818103818111156113f7576113f76137be565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137f8565b5f60208284031215613895575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c0575f80fd5b813561008d8161389c565b8015158114610c0a575f80fd5b5f602082840312156138e8575f80fd5b813561008d816138cb565b5f808335601e19843603018112613908575f80fd5b83018035915067ffffffffffffffff821115613922575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137be565b5f805f606084860312156139b2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137be565b6001600160801b038181168382160190808211156118cb576118cb6137be565b8181035f8312801583831316838312821617156118cb576118cb6137be565b5f60208284031215613a3a575f80fd5b815161008d8161389c565b8082018281125f831280158216821582161715613a6457613a646137be565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a8e57613a8e613a6c565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137be565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137be565b5f6102a082019050613af38285516137f8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b66575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b8b57613b8b6137be565b505f0390565b5f8060408385031215613ba2575f80fd5b825191506020830151613bb4816138cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613be6575f80fd5b8451935060208501519250604085015191506060850151613c06816138cb565b939692955090935050565b5f82613c1f57613c1f613a6c565b600160ff1b82145f1984141615613c3857613c386137be565b500590565b5f60208284031215613c4d575f80fd5b815161008d816138cb565b5f82515f5b81811015613c775760208186018101518583015201613c5d565b505f92019182525091905056fea2646970667358221220e9e7b92c845d4c4d4001de9ab66ae5c923e4e71869dcb6757b19414caa767bff64736f6c63430008160033a2646970667358221220257f1b68fb5ea41ebcdd23920b9581342c118bf8d0c71ae7f22cb8dde1026f5064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts deleted file mode 100644 index 01c362ec4..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts +++ /dev/null @@ -1,813 +0,0 @@ -export declare const AerodromeLpTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map deleted file mode 100644 index ab114f2cc..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget4.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8+BqwzB,KAAK,MAAM,EAAE;;;;;;CAMhzzB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js deleted file mode 100644 index e58548135..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js +++ /dev/null @@ -1,1013 +0,0 @@ -export const AerodromeLpTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003388380380620033888339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f80620004085f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261238e01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122e00152612f805ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a0f565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a61565b6100b1565b005b610056610092366004612a0f565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a95565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612abd565b61016a60408c018c612ad8565b60405161017c96959493929190612b43565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b90565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a95565b88610ea4565b5f6102f56102ec6020870187612a95565b88848989610a9e565b90945090506103048188612bb7565b92505f61031083610f41565b5090506103206020870187612a95565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612abd565b8a888e80604001906103709190612ad8565b604051610384989796959493929190612bca565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a95565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c11565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bb7565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c11565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bb7565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c11565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c11565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c11565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bb7565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c64565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c83565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612c9e565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bb7565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d3c565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612db1565b91509150610d11610d038261156b565b610d0c90612dd3565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bb7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c11565b90915550505f838152600b602052604081208054839290610ef7908490612c11565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612ded565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dfc565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c11565b6110469190612bb7565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e2a565b5f6111038284612b90565b61110d9084612bb7565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bb7565b6112269190612e41565b85670de0b6b3a764000061123a878a612bb7565b6112449190612e41565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bb7565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c11565b909155506113d190508183612bb7565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bb7565b61151f9084612bb7565b925061153d565b6115308282612bb7565b61153a9084612c11565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e41565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612c9e565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c11565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bb7565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c64565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e41565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bb7565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e85565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612abd565b15611ad857611ad185611abf6020860186612a95565b611acc6040870187612ad8565b61225c565b9150611afb565b611afb85611ae96020860186612a95565b611af66040870187612ad8565b612309565b509392505050565b5f61110d8383670de0b6b3a7640000612322565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c11565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bb7565b61110d9190612bb7565b611bba612970565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612ded565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612dfc565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c64565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612e99565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129ba565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612345565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612345565b905292915050565b5f80611ff984846123b9565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123f4565b905081810261206c670de0b6b3a764000082612ed7565b905061207781612619565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c11565b6120ad8587611754565b6120b7888a611754565b61171c9190612c11565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bb7565b6121078587611b03565b612111888a611754565b61171c9190612bb7565b5f61110d83670de0b6b3a764000084612322565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127ab565b6121d6845f6127ab565b6121e09190612c64565b90505f8113156121fb576121f48186612c11565b9450612219565b5f8112156122195761220c81612dd3565b6122169086612bb7565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b506122199250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127c0565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612336575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061235861040f565b6123629190612e41565b9050808311612371575f61237b565b61237b8184612bb7565b915061110d6123b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e41565b839061212f565b5f805f836123c68661156b565b6123d09190612c64565b90505f8112156123e6575f8092509250506123ed565b9150600190505b9250929050565b5f8082136124155760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124989084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263257505f919050565b680755bf798b4a1bf1e5821261265b576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127b9578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612812908490612817565b505050565b5f61282b6001600160a01b0384168361287d565b905080515f1415801561284f57508080602001905181019061284d9190612f03565b155b1561281257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128a19190612f1e565b5f6040518083038185875af1925050503d805f81146128db576040519150601f19603f3d011682016040523d82523d5f602084013e6128e0565b606091505b5091509150612077868383606082612900576128fb82612947565b61110d565b815115801561291757506001600160a01b0384163b155b1561294057604051639996b31560e01b81526001600160a01b0385166004820152602401612874565b508061110d565b8051156129575780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129846129ba565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a21575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a45575f80fd5b840160608187031215612a56575f80fd5b809150509250925092565b5f8060408385031215612a72575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aa5575f80fd5b813561110d81612a81565b80151581146103f5575f80fd5b5f60208284031215612acd575f80fd5b813561110d81612ab0565b5f808335601e19843603018112612aed575f80fd5b83018035915067ffffffffffffffff821115612b07575f80fd5b6020019150368190038213156123ed575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7060a083018486612b1b565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b9e57612b9e612b7c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612ba3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0360e083018486612b1b565b9a9950505050505050505050565b80820180821115610dc757610dc7612ba3565b6001600160701b0381811683821601908082111561200b5761200b612ba3565b6001600160801b0381811683821601908082111561200b5761200b612ba3565b8181035f83128015838313168383128216171561200b5761200b612ba3565b5f60208284031215612c93575f80fd5b815161110d81612a81565b6001600160801b0382811682821603908082111561200b5761200b612ba3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d4f828551612cbe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dc2575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612de757612de7612ba3565b505f0390565b6101808101610dc78284612cbe565b5f8060408385031215612e0d575f80fd5b825191506020830151612e1f81612ab0565b809150509250929050565b5f60208284031215612e3a575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612ba3565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612ba3565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eac575f80fd5b8451935060208501519250604085015191506060850151612ecc81612ab0565b939692955090935050565b5f82612ee557612ee5612b7c565b600160ff1b82145f1984141615612efe57612efe612ba3565b500590565b5f60208284031215612f13575f80fd5b815161110d81612ab0565b5f82515f5b81811015612f3d5760208186018101518583015201612f23565b505f92019182525091905056fea26469706673582212207f8a80ab1cb14340506caba01813356ee6936a77d84cd4a622ab0d724812deba64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts deleted file mode 100644 index 1e8661c6c..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map deleted file mode 100644 index f7da5e760..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6i5B,KAAK,MAAM,EAAE;;;;CAIhm5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js deleted file mode 100644 index 19e2a6b87..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139038061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610298565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103ef565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610411565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b6133888061054683390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017e5761017e610146565b60405290565b6001600160a01b0381168114610198575f80fd5b50565b80356101a681610184565b919050565b5f608082840312156101bb575f80fd5b6040516080810181811067ffffffffffffffff821117156101de576101de610146565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021e575f80fd5b813567ffffffffffffffff8082111561023957610239610146565b604051601f8301601f19908116603f0116810190828211818310171561026157610261610146565b81604052838152866020858801011115610279575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ad575f80fd5b610260808212156102bc575f80fd5b6102c461015a565b91506102cf8761019b565b82526102dd6020880161019b565b60208301526102ee6040880161019b565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035781890161019b565b9083015261018061036988820161019b565b908301526101a061037b88820161019b565b908301526101c061038d88820161019b565b908301526101e06103a0898983016101ab565b81840152508195506103b381880161019b565b9450505061028085013567ffffffffffffffff8111156103d1575f80fd5b6103dd8782880161020f565b949793965093946102a0013593505050565b5f602082840312156103ff575f80fd5b815161040a81610184565b9392505050565b83516001600160a01b031681526102a08101602085015161043d60208401826001600160a01b03169052565b50604085015161045860408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104ca828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162003388380380620033888339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f80620004085f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261238e01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122e00152612f805ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a0f565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a61565b6100b1565b005b610056610092366004612a0f565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a95565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612abd565b61016a60408c018c612ad8565b60405161017c96959493929190612b43565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b90565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a95565b88610ea4565b5f6102f56102ec6020870187612a95565b88848989610a9e565b90945090506103048188612bb7565b92505f61031083610f41565b5090506103206020870187612a95565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612abd565b8a888e80604001906103709190612ad8565b604051610384989796959493929190612bca565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a95565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c11565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bb7565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c11565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bb7565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c11565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c11565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c11565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bb7565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c64565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c83565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612c9e565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bb7565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d3c565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612db1565b91509150610d11610d038261156b565b610d0c90612dd3565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bb7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c11565b90915550505f838152600b602052604081208054839290610ef7908490612c11565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612ded565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dfc565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c11565b6110469190612bb7565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e2a565b5f6111038284612b90565b61110d9084612bb7565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bb7565b6112269190612e41565b85670de0b6b3a764000061123a878a612bb7565b6112449190612e41565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bb7565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c11565b909155506113d190508183612bb7565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bb7565b61151f9084612bb7565b925061153d565b6115308282612bb7565b61153a9084612c11565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e41565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612c9e565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c11565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bb7565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c64565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e41565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bb7565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e85565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612abd565b15611ad857611ad185611abf6020860186612a95565b611acc6040870187612ad8565b61225c565b9150611afb565b611afb85611ae96020860186612a95565b611af66040870187612ad8565b612309565b509392505050565b5f61110d8383670de0b6b3a7640000612322565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c11565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bb7565b61110d9190612bb7565b611bba612970565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612ded565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612dfc565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c64565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612e99565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129ba565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612345565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612345565b905292915050565b5f80611ff984846123b9565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123f4565b905081810261206c670de0b6b3a764000082612ed7565b905061207781612619565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c11565b6120ad8587611754565b6120b7888a611754565b61171c9190612c11565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bb7565b6121078587611b03565b612111888a611754565b61171c9190612bb7565b5f61110d83670de0b6b3a764000084612322565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127ab565b6121d6845f6127ab565b6121e09190612c64565b90505f8113156121fb576121f48186612c11565b9450612219565b5f8112156122195761220c81612dd3565b6122169086612bb7565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b506122199250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127c0565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612336575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061235861040f565b6123629190612e41565b9050808311612371575f61237b565b61237b8184612bb7565b915061110d6123b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e41565b839061212f565b5f805f836123c68661156b565b6123d09190612c64565b90505f8112156123e6575f8092509250506123ed565b9150600190505b9250929050565b5f8082136124155760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124989084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263257505f919050565b680755bf798b4a1bf1e5821261265b576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127b9578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612812908490612817565b505050565b5f61282b6001600160a01b0384168361287d565b905080515f1415801561284f57508080602001905181019061284d9190612f03565b155b1561281257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128a19190612f1e565b5f6040518083038185875af1925050503d805f81146128db576040519150601f19603f3d011682016040523d82523d5f602084013e6128e0565b606091505b5091509150612077868383606082612900576128fb82612947565b61110d565b815115801561291757506001600160a01b0384163b155b1561294057604051639996b31560e01b81526001600160a01b0385166004820152602401612874565b508061110d565b8051156129575780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129846129ba565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a21575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a45575f80fd5b840160608187031215612a56575f80fd5b809150509250925092565b5f8060408385031215612a72575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aa5575f80fd5b813561110d81612a81565b80151581146103f5575f80fd5b5f60208284031215612acd575f80fd5b813561110d81612ab0565b5f808335601e19843603018112612aed575f80fd5b83018035915067ffffffffffffffff821115612b07575f80fd5b6020019150368190038213156123ed575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7060a083018486612b1b565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b9e57612b9e612b7c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612ba3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0360e083018486612b1b565b9a9950505050505050505050565b80820180821115610dc757610dc7612ba3565b6001600160701b0381811683821601908082111561200b5761200b612ba3565b6001600160801b0381811683821601908082111561200b5761200b612ba3565b8181035f83128015838313168383128216171561200b5761200b612ba3565b5f60208284031215612c93575f80fd5b815161110d81612a81565b6001600160801b0382811682821603908082111561200b5761200b612ba3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d4f828551612cbe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dc2575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612de757612de7612ba3565b505f0390565b6101808101610dc78284612cbe565b5f8060408385031215612e0d575f80fd5b825191506020830151612e1f81612ab0565b809150509250929050565b5f60208284031215612e3a575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612ba3565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612ba3565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eac575f80fd5b8451935060208501519250604085015191506060850151612ecc81612ab0565b939692955090935050565b5f82612ee557612ee5612b7c565b600160ff1b82145f1984141615612efe57612efe612ba3565b500590565b5f60208284031215612f13575f80fd5b815161110d81612ab0565b5f82515f5b81811015612f3d5760208186018101518583015201612f23565b505f92019182525091905056fea26469706673582212207f8a80ab1cb14340506caba01813356ee6936a77d84cd4a622ab0d724812deba64736f6c63430008160033a264697066735822122013ea66732a829af5f7dc801474f304ca4b4ec46b2d409da20c7a588471c245a064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AssetId.d.ts b/packages/hyperdrive-artifacts/dist/AssetId.d.ts deleted file mode 100644 index 90d55c036..000000000 --- a/packages/hyperdrive-artifacts/dist/AssetId.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const AssetId: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AssetId.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AssetId.d.ts.map b/packages/hyperdrive-artifacts/dist/AssetId.d.ts.map deleted file mode 100644 index b0350c390..000000000 --- a/packages/hyperdrive-artifacts/dist/AssetId.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AssetId.d.ts","sourceRoot":"","sources":["../src/AssetId.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AssetId.js b/packages/hyperdrive-artifacts/dist/AssetId.js deleted file mode 100644 index b041094b7..000000000 --- a/packages/hyperdrive-artifacts/dist/AssetId.js +++ /dev/null @@ -1,5 +0,0 @@ -export const AssetId = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204c4789ab1eea31e317c9f548dcc363eaa3d362e1e3655c907c855c2faf45539264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Auth.d.ts b/packages/hyperdrive-artifacts/dist/Auth.d.ts deleted file mode 100644 index a8e6bd9de..000000000 --- a/packages/hyperdrive-artifacts/dist/Auth.d.ts +++ /dev/null @@ -1,81 +0,0 @@ -export declare const Auth: { - abi: readonly [{ - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "authority()": "bf7e214f"; - readonly "owner()": "8da5cb5b"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "transferOwnership(address)": "f2fde38b"; - }; -}; -//# sourceMappingURL=Auth.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Auth.d.ts.map b/packages/hyperdrive-artifacts/dist/Auth.d.ts.map deleted file mode 100644 index b49d703e1..000000000 --- a/packages/hyperdrive-artifacts/dist/Auth.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6FG,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Auth.js b/packages/hyperdrive-artifacts/dist/Auth.js deleted file mode 100644 index 5c652579b..000000000 --- a/packages/hyperdrive-artifacts/dist/Auth.js +++ /dev/null @@ -1,101 +0,0 @@ -export const Auth = { - abi: [ - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "authority()": "bf7e214f", - "owner()": "8da5cb5b", - "setAuthority(address)": "7a9e5e4b", - "transferOwnership(address)": "f2fde38b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Authority.d.ts b/packages/hyperdrive-artifacts/dist/Authority.d.ts deleted file mode 100644 index 502498234..000000000 --- a/packages/hyperdrive-artifacts/dist/Authority.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export declare const Authority: { - abi: readonly [{ - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "canCall(address,address,bytes4)": "b7009613"; - }; -}; -//# sourceMappingURL=Authority.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Authority.d.ts.map b/packages/hyperdrive-artifacts/dist/Authority.d.ts.map deleted file mode 100644 index 5afb01dc7..000000000 --- a/packages/hyperdrive-artifacts/dist/Authority.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../src/Authority.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;cAgCF,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Authority.js b/packages/hyperdrive-artifacts/dist/Authority.js deleted file mode 100644 index 41eca4a3f..000000000 --- a/packages/hyperdrive-artifacts/dist/Authority.js +++ /dev/null @@ -1,37 +0,0 @@ -export const Authority = { - abi: [ - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "canCall(address,address,bytes4)": "b7009613" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts b/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts deleted file mode 100644 index 6ee1bb031..000000000 --- a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const BalancerErrors: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=BalancerErrors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map b/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map deleted file mode 100644 index 95bc42785..000000000 --- a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BalancerErrors.d.ts","sourceRoot":"","sources":["../src/BalancerErrors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BalancerErrors.js b/packages/hyperdrive-artifacts/dist/BalancerErrors.js deleted file mode 100644 index fa6db2063..000000000 --- a/packages/hyperdrive-artifacts/dist/BalancerErrors.js +++ /dev/null @@ -1,5 +0,0 @@ -export const BalancerErrors = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204c316e6374dd5a8d7f67db7bc23fe2768db5f652d3ddc0028c87072b085b5b5b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts b/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts deleted file mode 100644 index 1ccfa2d80..000000000 --- a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts +++ /dev/null @@ -1,196 +0,0 @@ -export declare const BorrowLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeBorrow(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteBorrowParams)": "1e6473f9"; - readonly "executeRebalanceStableBorrowRate(DataTypes.ReserveData storage,address,address)": "6973f744"; - readonly "executeRepay(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteRepayParams)": "40e95de6"; - readonly "executeSwapBorrowRateMode(DataTypes.ReserveData storage,DataTypes.UserConfigurationMap storage,address,address,DataTypes.InterestRateMode)": "2421c64e"; - }; -}; -//# sourceMappingURL=BorrowLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map deleted file mode 100644 index d5551280d..000000000 --- a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BorrowLogic.d.ts","sourceRoot":"","sources":["../src/BorrowLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyO80kC,KAAK,MAAM,EAAE;;;;;;;CAOl3kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BorrowLogic.js b/packages/hyperdrive-artifacts/dist/BorrowLogic.js deleted file mode 100644 index e1115406b..000000000 --- a/packages/hyperdrive-artifacts/dist/BorrowLogic.js +++ /dev/null @@ -1,241 +0,0 @@ -export const BorrowLogic = { - abi: [ - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - } - ], - bytecode: '0x614474610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c80631e6473f9146100595780632421c64e1461007a57806340e95de6146100995780636973f744146100ca575b5f80fd5b818015610064575f80fd5b50610078610073366004613d5d565b6100e9565b005b818015610085575f80fd5b50610078610094366004613e76565b6105ed565b8180156100a4575f80fd5b506100b86100b3366004613ec9565b6108bf565b60405190815260200160405180910390f35b8180156100d5575f80fd5b506100786100e4366004613f8c565b610dae565b80516001600160a01b03165f9081526020869052604081209061010b82610f96565b90506101178282611161565b6040805160208101909152845481525f9081908190610137908b8b6111b9565b9250925092506102248a8a8a604051806101c001604052808981526020018c6040518060200160405290815f8201548152505081526020018b5f01516001600160a01b031681526020018b604001516001600160a01b031681526020018b6060015181526020018b6080015160028111156101b4576101b4613fc5565b81526020018b60e0015181526020018b610100015181526020018b61012001516001600160a01b031681526020018b610140015160ff1681526020018b61016001516001600160a01b031681526020018815158152602001876001600160a01b031681526020018681525061125f565b5f8060018860800151600281111561023e5761023e613fc5565b036102eb57600387015461020087015160208a01516040808c015160608d0151915163b3f1c93d60e01b81526001600160801b0390951696506001600160a01b039093169363b3f1c93d9361029a939290918890600401613fd9565b6060604051808303815f875af11580156102b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102da9190614002565b60a089015260c0880152905061037a565b8561022001516001600160a01b031663b3f1c93d89602001518a604001518b606001518a61014001516040518563ffffffff1660e01b81526004016103339493929190613fd9565b60408051808303815f875af115801561034e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103729190614036565b602088015290505b801561039d57600387015461039d908a90600160a81b900461ffff166001611e23565b8415610488576101c0860151515f906103e29060029060301c60ff166103c39190614076565b6103ce90600a614169565b8a606001516103dd9190614188565b611e83565b6001600160a01b0386165f90815260208f90526040812060090180549091906104159084906001600160801b03166141a7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b03169050846001600160a01b03167faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a58260405161047e91815260200190565b60405180910390a2505b6104b086895f01515f8b60c001516104a0575f6104a6565b8b606001515b8b93929190611eef565b8760c0015115610529576101e0860151602089015160608a0151604051634efecaa560e01b81526001600160a01b0392831660048201526024810191909152911690634efecaa5906044015f604051808303815f87803b158015610512575f80fd5b505af1158015610524573d5f803e3d5ffd5b505050505b8760a0015161ffff1688604001516001600160a01b0316895f01516001600160a01b03167fb3d084820fb1a9decffb176436bd02558d15fac9b0ddfed8c465bc7359d7dce08b602001518c606001518d608001516001600281111561059057610590613fc5565b8f6080015160028111156105a6576105a6613fc5565b146105c55760028e0154600160801b90046001600160801b03166105c7565b885b6040516105d794939291906141ee565b60405180910390a4505050505050505050505050565b5f6105f786610f96565b90506106038682611161565b5f8061060f858461220a565b915091506106218884898585896122f6565b600184600281111561063557610635613fc5565b0361074257610200830151604051632770a7eb60e21b81526001600160a01b0387811660048301526024820185905290911690639dc29fac9060440160408051808303815f875af115801561068c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b09190614221565b60a085015260c084015261022083015161014084015160405163b3f1c93d60e01b81526001600160a01b039092169163b3f1c93d916106f89189918291889190600401613fd9565b60408051808303815f875af1158015610713573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107379190614036565b60208501525061085d565b610220830151610140840151604051637a94c56560e11b81526001600160a01b03888116600483015260248201859052604482019290925291169063f5298aca906064016020604051808303815f875af11580156107a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c69190614243565b6020840152610200830151600389015460405163b3f1c93d60e01b81526001600160a01b039092169163b3f1c93d91610811918991829187916001600160801b03169060040161425a565b6060604051808303815f875af115801561082d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108519190614002565b60a086015260c0850152505b61086a8884885f80611eef565b846001600160a01b0316866001600160a01b03167f7962b394d85a534033ba2efcf43cd36de57b7ebeb3de0ca4428965d9b3ddc481866040516108ad919061428b565b60405180910390a35050505050505050565b80516001600160a01b03165f908152602085905260408120816108e182610f96565b90506108ed8282611161565b5f806108fd86606001518461220a565b9150915061091b838760200151886040015189606001518686612591565b5f60018760400151600281111561093457610934613fc5565b1461093f5781610941565b825b90508660800151801561095857505f198760200151145b156109d0576101e08401516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ca9190614243565b60208801525b80876020015110156109e3575060208601515b6001876040015160028111156109fb576109fb613fc5565b03610a89576102008401516060880151604051632770a7eb60e21b81526001600160a01b03918216600482015260248101849052911690639dc29fac9060440160408051808303815f875af1158015610a56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7a9190614221565b60a086015260c0850152610b18565b6102208401516060880151610140860151604051637a94c56560e11b81526001600160a01b03928316600482015260248101859052604481019190915291169063f5298aca906064016020604051808303815f875af1158015610aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b129190614243565b60208501525b610b3b84885f01518960800151610b2f5783610b31565b5f5b889291905f611eef565b80610b468385614299565b610b509190614076565b5f03610b72576003850154610b72908990600160a81b900461ffff165f611e23565b610b7f8a8a8a8785612725565b866080015115610cbc576101e0840151610100850151604051636b81068560e11b81526001600160a01b0383169263d7020d0a92610bc4923392918791600401613fd9565b5f604051808303815f87803b158015610bdb575f80fd5b505af1158015610bed573d5f803e3d5ffd5b5050506101e0850151604051630ed1279f60e11b81523360048201526001600160a01b039091169150631da24f3e90602401602060405180830381865afa158015610c3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5e9190614243565b5f03610cb7576003850154610c80908990600160a81b900461ffff165f6128a7565b865160405133916001600160a01b0316907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b610d4b565b6101e08401518751610cdc916001600160a01b03909116903390846128fb565b6101e084015160608801516040516337ecbb3b60e11b81523360048201526001600160a01b03918216602482015260448101849052911690636fd97676906064015f604051808303815f87803b158015610d34575f80fd5b505af1158015610d46573d5f803e3d5ffd5b505050505b60608701518751608089015160408051858152911515602083015233936001600160a01b039081169316917fa534c8dbe71f871f9f3530e97a74601fea17b426cae02e1c5aee42c96c784051910160405180910390a49998505050505050505050565b5f610db884610f96565b9050610dc48482611161565b610dcf848285612993565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f91908316906370a0823190602401602060405180830381865afa158015610e1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e409190614243565b604051632770a7eb60e21b81526001600160a01b0386811660048301526024820183905291925090831690639dc29fac9060440160408051808303815f875af1158015610e8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190614221565b5050600386015460405163b3f1c93d60e01b81526001600160a01b0384169163b3f1c93d91610ef6918891829187916001600160801b039091169060040161425a565b6060604051808303815f875af1158015610f12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f369190614002565b60a086015260c085015250610f4e8684875f80611eef565b836001600160a01b0316856001600160a01b03167f9f439ae0c81e41a04d3fdfe07aed54e6a179fb0db15be7702eb66fa8ef6f530060405160405180910390a3505050505050565b610f9e613c25565b610fa6613c25565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015611095573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b99190614243565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa15801561110a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112e91906142ac565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603611181575050565b61118b8282612c50565b6111958282612d2d565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f805f6111c586612e8d565b1561124d575f6111f5877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa612ed3565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611249576001955090935091506112569050565b5050505b505f9150819050805b93509350939050565b6080810151604080518082019091526002815261191b60f11b6020820152906112a45760405162461bcd60e51b815260040161129b91906142f3565b60405180910390fd5b5061134b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581525090565b81516101c0015161135b90612f02565b15156102008601521515610240850152151561022084015215156101e083015215156101c08201819052604080518082019091526002815261323760f01b6020820152906113bc5760405162461bcd60e51b815260040161129b91906142f3565b508061020001511560405180604001604052806002815260200161323960f01b815250906113fd5760405162461bcd60e51b815260040161129b91906142f3565b50806101e001511560405180604001604052806002815260200161064760f31b8152509061143e5760405162461bcd60e51b815260040161129b91906142f3565b5080610220015160405180604001604052806002815260200161033360f41b8152509061147e5760405162461bcd60e51b815260040161129b91906142f3565b5081516101c0015151600160fc1b16158061150457508160800151825f01516101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115019190614243565b10155b60405180604001604052806002815260200161191b60f11b8152509061153d5760405162461bcd60e51b815260040161129b91906142f3565b506101408201516001600160a01b031615806115b957508161014001516001600160a01b03166349aa2e816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b9919061433f565b60405180604001604052806002815260200161353960f01b815250906115f25760405162461bcd60e51b815260040161129b91906142f3565b5060028260a00151600281111561160b5761160b613fc5565b148061162c575060018260a00151600281111561162a5761162a613fc5565b145b60405180604001604052806002815260200161333360f01b815250906116655760405162461bcd60e51b815260040161129b91906142f3565b5081516101c001515160301c60ff1661010082015281516101c001515160501c640fffffffff166101208201819052610100820151600a0a6101608301521561173357815161014081015190516116bb91612f4a565b60e0820181905260808084015184519091015190916116d991614299565b6116e39190614299565b60c08201819052610160820151610120830151604080518082019091526002815261035360f41b602082015292910210156117315760405162461bcd60e51b815260040161129b91906142f3565b505b8161016001511561183a5781516101c001515167200000000000000016151560405180604001604052806002815260200161036360f41b8152509061178b5760405162461bcd60e51b815260040161129b91906142f3565b50816101a001516117c160028361010001516117a79190614076565b6117b290600a614169565b84608001516103dd9190614188565b6101808401516001600160a01b03165f908152602088905260409020600901546117f491906001600160801b03166141a7565b6001600160801b0316111560405180604001604052806002815260200161353360f01b815250906118385760405162461bcd60e51b815260040161129b91906142f3565b505b61012082015160ff16156118cf5761012082015182516101c001515160ff9182169160a89190911c16146040518060400160405280600281526020016106a760f31b8152509061189d5760405162461bcd60e51b815260040161129b91906142f3565b5061012082015160ff165f90815260208490526040902054660100000000000090046001600160a01b03166101808201525b61192c8585856040518060a00160405280876020015181526020018760e00151815260200187606001516001600160a01b031681526020018761010001516001600160a01b0316815260200187610120015160ff16815250612f8c565b5060a086015250835260608301526040808301829052805180820190915260028152610ccd60f21b6020820152906119775760405162461bcd60e51b815260040161129b91906142f3565b508051604080518082019091526002815261353760f01b6020820152906119b15760405162461bcd60e51b815260040161129b91906142f3565b50670de0b6b3a76400008160a001511160405180604001604052806002815260200161333560f01b815250906119fa5760405162461bcd60e51b815260040161129b91906142f3565b5060808201516101008301516101808301516001600160a01b039182169163b3596f079116611a2d578460400151611a34565b8361018001515b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9a9190614243565b611aa4919061435a565b610140820181815261016083015191829081611ac257611ac2614174565b0490525080516101408201516060830151611ae79291611ae191614299565b9061344e565b602080830182905260408084015181518083019092526002825261199b60f11b92820192909252911115611b2e5760405162461bcd60e51b815260040161129b91906142f3565b5060018260a001516002811115611b4757611b47613fc5565b03611d1e5780610240015160405180604001604052806002815260200161333160f01b81525090611b8b5760405162461bcd60e51b815260040161129b91906142f3565b506040828101516001600160a01b03165f90815260208781529190206003015490830151611bc391600160a81b900461ffff16613477565b1580611bd8575081516101c001515161ffff16155b80611c59575081516101e0015160608301516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190614243565b8260800151115b60405180604001604052806002815260200161333760f01b81525090611c925760405162461bcd60e51b815260040161129b91906142f3565b506040828101516001600160a01b03165f908152602087905290812060090154600160801b90046001600160801b03166080830181905260c0840151611cd891906134c5565b9050808360800151111560405180604001604052806002815260200161066760f31b81525090611d1b5760405162461bcd60e51b815260040161129b91906142f3565b50505b6020820151517f55555555555555555555555555555555555555555555555555555555555555551615611e1c576020820151611d5b9086866134e9565b6001600160a01b03166101a0830152158015610260830152611dd45781604001516001600160a01b0316816101a001516001600160a01b03161460405180604001604052806002815260200161383960f01b81525090611dce5760405162461bcd60e51b815260040161129b91906142f3565b50611e1c565b81516101c0015151604080518082019091526002815261383960f01b6020820152906001603e1b1615611e1a5760405162461bcd60e51b815260040161129b91906142f3565b505b5050505050565b6040805180820190915260028152610dcd60f21b602082015260808310611e5d5760405162461bcd60e51b815260040161129b91906142f3565b50600182811b1b8115611e7557835481178455611e7d565b835481191684555b50505050565b5f6001600160801b03821115611eeb5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161129b565b5090565b611f1660405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151611f2a91612f4a565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91611ff191600401614371565b606060405180830381865afa15801561200c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203091906143f3565b6040840152602083015280825261204690611e83565b6001870180546001600160801b03928316600160801b029216919091179055602081015161207390611e83565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516120a390611e83565b6002870180546001600160801b03928316600160801b0292169190911790556040805160208101909152865481526120e19051600160fc1b16151590565b1561219657821561213e576120f583611e83565b600987018054601090612119908490600160801b90046001600160801b03166141a7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156121965761214d82611e83565b600987018054601090612171908490600160801b90046001600160801b031661441e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f9283929116906370a0823190602401602060405180830381865afa158015612258573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061227c9190614243565b6102208401516040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa1580156122c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122eb9190614243565b915091509250929050565b5f805f612307886101c00151612f02565b94509450505092508260405180604001604052806002815260200161323760f01b815250906123495760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261323960f01b602082015281156123825760405162461bcd60e51b815260040161129b91906142f3565b50600184600281111561239757612397613fc5565b036123d957604080518082019091526002815261343160f01b6020820152866123d35760405162461bcd60e51b815260040161129b91906142f3565b50612586565b60028460028111156123ed576123ed613fc5565b03612556576040805180820190915260028152611a1960f11b6020820152856124295760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261333160f01b6020820152826124615760405162461bcd60e51b815260040161129b91906142f3565b50600389015460408051602081019091528854815261248a91600160a81b900461ffff16613477565b158061249e57506101c08801515161ffff16155b8061251d57506101e08801516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125119190614243565b61251b8688614299565b115b60405180604001604052806002815260200161333760f01b815250906123d35760405162461bcd60e51b815260040161129b91906142f3565b6040805180820182526002815261333360f01b6020820152905162461bcd60e51b815261129b91906004016142f3565b505050505050505050565b604080518082019091526002815261191b60f11b6020820152856125c85760405162461bcd60e51b815260040161129b91906142f3565b505f19851415806125e15750336001600160a01b038416145b60405180604001604052806002815260200161034360f41b8152509061261a5760405162461bcd60e51b815260040161129b91906142f3565b505f8061262b886101c00151612f02565b945050505091508160405180604001604052806002815260200161323760f01b8152509061266c5760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261323960f01b602082015281156126a55760405162461bcd60e51b815260040161129b91906142f3565b5083158015906126c6575060018660028111156126c4576126c4613fc5565b145b806126ec575082158015906126ec575060028660028111156126ea576126ea613fc5565b145b60405180604001604052806002815260200161333960f01b815250906125865760405162461bcd60e51b815260040161129b91906142f3565b6040805160208101909152835481525f9081906127439088886111b9565b5091509150811561289e576001600160a01b0381165f908152602088905260408120600901546101c0860151516001600160801b0390911691906127a99060029060301c60ff166127949190614076565b61279f90600a614169565b6103dd9087614188565b9050806001600160801b0316826001600160801b031611612821576001600160a01b0383165f81815260208b8152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2612586565b5f61282c828461441e565b6001600160a01b0385165f81815260208d815260409182902060090180546001600160801b0319166001600160801b03959095169485179055905183815292935090917faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a25050505b50505050505050565b6040805180820190915260028152610dcd60f21b6020820152608083106128e15760405162461bcd60e51b815260040161129b91906142f3565b50600182811b81011b8115611e7557835481178455611e7d565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af161293d573d5f803e3d5ffd5b5061294785613580565b611e1c5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d00000000000000604482015260640161129b565b5f806129a3846101c00151612f02565b945050505091508160405180604001604052806002815260200161323760f01b815250906129e45760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261323960f01b60208201528115612a1d5760405162461bcd60e51b815260040161129b91906142f3565b505f8461022001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a849190614243565b8561020001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae99190614243565b612af39190614299565b6007870154604080516101408101825260088a01546001600160801b03600160801b91829004811683525f6020808501829052848601829052606085018290526080850188905260a085018290526101a08d015160c08601526001600160a01b038c811660e0870152865191820187528e5491829052600160fc1b909116151561010086015260098e0154939093049091166101208401529251637b424dcf60e11b81529495509193919092169163f6849b9e91612bb49190600401614371565b606060405180830381865afa158015612bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf391906143f3565b50909150612c059050816123286134c5565b8661016001511115604051806040016040528060028152602001610d0d60f21b81525090612c465760405162461bcd60e51b815260040161129b91906142f3565b5050505050505050565b61016081015115612cbe575f612c70826101600151836102400151613623565b9050612c898260e0015182612f4a90919063ffffffff16565b6101008301819052612c9a90611e83565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115612d29575f612cda826101800151836102400151613667565b9050612cf482610120015182612f4a90919063ffffffff16565b6101408301819052612d0590611e83565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b612d606040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03612d7157505050565b6101208201518251612d8291612f4a565b60208201526101408201518251612d9891612f4a565b60408201526060820151610260830151610240840151612dc092919064ffffffffff1661366f565b606082018190526040830151612dd591612f4a565b808252602082015160808401516040840151612df19190614299565b612dfb9190614076565b612e059190614076565b608082018190526101a0830151612e1c91906134c5565b60a0820181905215612e8857612e476103dd8361010001518360a0015161379490919063ffffffff16565b6008840180545f90612e639084906001600160801b03166141a7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168015801590612ecc5750612ec8600182614076565b8116155b9392505050565b81515f9082165f198101198116825b60029190911c908115612ef757600101612ee2565b925050505b92915050565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b5f81156b019d971e4fe8401e740000001983900484111517612f6a575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b5f805f805f80612f9e875f0151511590565b15612fba57505f94508493508392508291505f19905081613441565b6130496040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561308d57608088015160ff165f90815260208a905260409020606089015161307a91906137d1565b6101808401526101c08301526101a08201525b87602001518160c0015110156133665760c081015188516130ad9161387a565b6130c15760c081018051600101905261308d565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526130f95760c081018051600101905261308d565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906131815750816101e00151896080015160ff16145b6131fd57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa1580156131d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131f89190614243565b613204565b8161018001515b825260a082015115801590613224575060c0820151895161322491613477565b1561331357613240896040015182845f015185602001516138c9565b6040830181905261010083018051613259908390614299565b90525060808901516101e08301516132749160ff169061397e565b15156102408301526080820151156132ca5781610240015161329a5781608001516132a1565b816101a001515b82604001516132b0919061435a565b82610140018181516132c29190614299565b9052506132d3565b60016102208301525b8161024001516132e7578160a001516132ee565b816101c001515b82604001516132fd919061435a565b826101600181815161330f9190614299565b9052505b60c082015189516133239161398e565b156133555761333f896040015182845f015185602001516139da565b82610120018181516133519190614299565b9052505b5060c081018051600101905261308d565b8061010001515f03613378575f613393565b8061010001518161014001518161339157613391614174565b045b6101408201526101008101515f036133ab575f6133c6565b806101000151816101600151816133c4576133c4614174565b045b61016082015261012081015115613408576134038161012001516133fd8361016001518461010001516134c590919063ffffffff16565b90613b09565b61340b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f811561271060028404190484111715613466575f80fd5b506127109190910260028204010490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106134b35760405162461bcd60e51b815260040161129b91906142f3565b50509051600191821b82011c16151590565b5f811561138819839004841115176134db575f80fd5b506127109102611388010490565b5f806134f485613b3e565b15613572575f613524867f5555555555555555555555555555555555555555555555555555555555555555612ed3565b5f81815260208681526040808320546001600160a01b03168084528983529281902081519283019091525490819052919250906001603e1b161561356f576001935091506135789050565b50505b505f9050805b935093915050565b5f6135a2565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156135e15760208114613612576135dc7f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f613586565b61361d565b823b613609576136097311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014613586565b6001915061361d565b3d5f803e5f51151591505b50919050565b5f8061363664ffffffffff841642614076565b613640908561435a565b6301e133809004905061365f816b033b2e3c9fd0803ce8000000614299565b949350505050565b5f612ecc8383425b5f8061368264ffffffffff851684614076565b9050805f036136a0576b033b2e3c9fd0803ce8000000915050612ecc565b5f1981015f8080600285116136b5575f6136ba565b600285035b925066038882915c40006136ce8a80612f4a565b816136db576136db614174565b0491506301e133806136ed838b612f4a565b816136fa576136fa614174565b0490505f82613709868861435a565b613713919061435a565b6002900490505f8285613726888a61435a565b613730919061435a565b61373a919061435a565b60069004905080826301e133806137518a8f61435a565b61375b9190614188565b613771906b033b2e3c9fd0803ce8000000614299565b61377b9190614299565b6137859190614299565b9b9a5050505050505050505050565b5f81156b033b2e3c9fd0803ce8000000600284041904841117156137b6575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b81545f90819081908190660100000000000090046001600160a01b0316801561385f5760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015613838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061385c9190614243565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106138b65760405162461bcd60e51b815260040161129b91906142f3565b5050905160019190911b1c600316151590565b5f806138d485613b79565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f928792613957928692911690631da24f3e90602401602060405180830381865afa15801561392d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139519190614243565b90612f4a565b613961919061435a565b905083818161397257613972614174565b04979650505050505050565b5f8215801590612ecc5750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106139ca5760405162461bcd60e51b815260040161129b91906142f3565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015613a27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a4b9190614243565b90508015613a6957613a66613a5f86613bcf565b8290612f4a565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015613ab3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ad79190614243565b613ae19082614299565b9050613aed818561435a565b9050828181613afe57613afe614174565b049695505050505050565b5f8115670de0b6b3a764000060028404190484111715613b27575f80fd5b50670de0b6b3a76400009190910260028204010490565b80515f907f5555555555555555555555555555555555555555555555555555555555555555168015801590612ecc5750612ec8600182614076565b60038101545f90600160801b900464ffffffffff16428103613ba7575050600101546001600160801b031690565b6001830154612ecc906001600160801b038082169161395191600160801b9091041684613623565b60038101545f90600160801b900464ffffffffff16428103613bfd575050600201546001600160801b031690565b6002830154612ecc906001600160801b038082169161395191600160801b9091041684613667565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001613c9a60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b604051610180810167ffffffffffffffff81118282101715613cf257634e487b7160e01b5f52604160045260245ffd5b60405290565b80356001600160a01b0381168114613d0e575f80fd5b919050565b803560038110613d0e575f80fd5b803561ffff81168114613d0e575f80fd5b8015158114613d3f575f80fd5b50565b8035613d0e81613d32565b803560ff81168114613d0e575f80fd5b5f805f805f858703610200811215613d73575f80fd5b8635955060208701359450604087013593506060870135925061018080607f1983011215613d9f575f80fd5b613da7613cc2565b9150613db560808901613cf8565b8252613dc360a08901613cf8565b6020830152613dd460c08901613cf8565b604083015260e08801356060830152610100613df1818a01613d13565b6080840152610120613e04818b01613d21565b60a0850152610140613e17818c01613d42565b60c0860152610160808c013560e0870152848c013584870152613e3d6101a08d01613cf8565b83870152613e4e6101c08d01613d4d565b82870152613e5f6101e08d01613cf8565b818701525050505050809150509295509295909350565b5f805f805f60a08688031215613e8a575f80fd5b8535945060208601359350613ea160408701613cf8565b9250613eaf60608701613cf8565b9150613ebd60808701613d13565b90509295509295909350565b5f805f80848603610100811215613ede575f80fd5b85359450602086013593506040860135925060a0605f1982011215613f01575f80fd5b5060405160a0810181811067ffffffffffffffff82111715613f3157634e487b7160e01b5f52604160045260245ffd5b604052613f4060608701613cf8565b815260808601356020820152613f5860a08701613d13565b6040820152613f6960c08701613cf8565b606082015260e0860135613f7c81613d32565b6080820152939692955090935050565b5f805f60608486031215613f9e575f80fd5b83359250613fae60208501613cf8565b9150613fbc60408501613cf8565b90509250925092565b634e487b7160e01b5f52602160045260245ffd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b5f805f60608486031215614014575f80fd5b835161401f81613d32565b602085015160409095015190969495509392505050565b5f8060408385031215614047575f80fd5b825161405281613d32565b6020939093015192949293505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115612efc57612efc614062565b600181815b808511156140c357815f19048211156140a9576140a9614062565b808516156140b657918102915b93841c939080029061408e565b509250929050565b5f826140d957506001612efc565b816140e557505f612efc565b81600181146140fb576002811461410557614121565b6001915050612efc565b60ff84111561411657614116614062565b50506001821b612efc565b5060208310610133831016604e8410600b8410161715614144575081810a612efc565b61414e8383614089565b805f190482111561416157614161614062565b029392505050565b5f612ecc83836140cb565b634e487b7160e01b5f52601260045260245ffd5b5f826141a257634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160801b038181168382160190808211156141c7576141c7614062565b5092915050565b600381106141ea57634e487b7160e01b5f52602160045260245ffd5b9052565b6001600160a01b0385168152602081018490526080810161421260408301856141ce565b82606083015295945050505050565b5f8060408385031215614232575f80fd5b505080516020909101519092909150565b5f60208284031215614253575f80fd5b5051919050565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b60208101612efc82846141ce565b80820180821115612efc57612efc614062565b5f805f80608085870312156142bf575f80fd5b845193506020850151925060408501519150606085015164ffffffffff811681146142e8575f80fd5b939692955090935050565b5f602080835283518060208501525f5b8181101561431f57858101830151858201604001528201614303565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561434f575f80fd5b8151612ecc81613d32565b8082028115828204841417612efc57612efc614062565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516143d360e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215614405575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b038281168282160390808211156141c7576141c761406256fea264697066735822122059e544468935c3dbe4f4bb7656afd2cccc2f3824bfefdb49fba6b4635bf6f7d964736f6c63430008160033', - methodIdentifiers: { - "executeBorrow(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteBorrowParams)": "1e6473f9", - "executeRebalanceStableBorrowRate(DataTypes.ReserveData storage,address,address)": "6973f744", - "executeRepay(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteRepayParams)": "40e95de6", - "executeSwapBorrowRateMode(DataTypes.ReserveData storage,DataTypes.UserConfigurationMap storage,address,address,DataTypes.InterestRateMode)": "2421c64e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts b/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts deleted file mode 100644 index 3603261ee..000000000 --- a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts +++ /dev/null @@ -1,114 +0,0 @@ -export declare const BridgeLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeBackUnbacked(DataTypes.ReserveData storage,address,uint256,uint256,uint256)": "8e743248"; - readonly "executeMintUnbacked(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,address,uint256,address,uint16)": "0413c86f"; - }; -}; -//# sourceMappingURL=BridgeLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map deleted file mode 100644 index d335b3183..000000000 --- a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BridgeLogic.d.ts","sourceRoot":"","sources":["../src/BridgeLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqIggd,KAAK,MAAM,EAAE;;;;;CAKpid,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BridgeLogic.js b/packages/hyperdrive-artifacts/dist/BridgeLogic.js deleted file mode 100644 index 0f9f2566f..000000000 --- a/packages/hyperdrive-artifacts/dist/BridgeLogic.js +++ /dev/null @@ -1,139 +0,0 @@ -export const BridgeLogic = { - abi: [ - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x611ccd610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80630413c86f146100435780638e74324814610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004611899565b610095565b005b81801561006f575f80fd5b5061008361007e36600461190c565b61031b565b60405190815260200160405180910390f35b6001600160a01b0384165f908152602088905260408120906100b68261056a565b90506100c28282610735565b6100ce8183878761078d565b6101c08101515160b081901c640fffffffff169060301c60ff165f6100f288610a4e565b600886018054601090610116908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b0316905081600a6101519190611a6b565b61015b9084611a76565b811115604051806040016040528060028152602001611a9960f11b815250906101a05760405162461bcd60e51b81526004016101979190611a8d565b60405180910390fd5b506101ae85858b5f80610aba565b6101e084015161010085015160405163b3f1c93d60e01b81523360048201526001600160a01b038a81166024830152604482018c905260648201929092525f92919091169063b3f1c93d906084016020604051808303815f875af1158015610218573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023c9190611ad9565b905080156102bd5761025b8d8d8d886101c00151896101e00151610dd5565b156102bd57600386015461027d908c90600160a81b900461ffff166001610fbd565b876001600160a01b03168a6001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b60408051338152602081018b905261ffff8916916001600160a01b03808c1692908e16917ff25af37b3d3ec226063dc9bdc103ece7eb110a50f340fe854bb7bc1b0676d7d0910160405180910390a450505050505050505050505050565b5f806103268761056a565b90506103328782610735565b60088701545f90600160801b90046001600160801b03168610610369576008880154600160801b90046001600160801b031661036b565b855b90505f610378868661101f565b90505f6103858288611af8565b90505f6103928885611b0b565b61010086015160088d0154919250610430916103b9916001600160801b0390911690611043565b866101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190611b1e565b6104289190611b0b565b8c9084611084565b610100860181905261044c906104479085906110f8565b610a4e565b60088c0180545f906104689084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061049584610a4e565b60088c0180546010906104b9908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506104f6858b835f8f610aba90949392919063ffffffff16565b6101e0850151610513906001600160a01b038c1690339084611133565b60408051858152602081018a905233916001600160a01b038d16917f281596e92b2d974beb7d4f124df30a0b39067b096893e95011ce4bdad798b759910160405180910390a3509193505050505b95945050505050565b6105726117e5565b61057a6117e5565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610669573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068d9190611b1e565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156106de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107029190611b55565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610755575050565b61075f82826111d2565b61076982826112af565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b604080518082019091526002815261191b60f11b6020820152826107c45760405162461bcd60e51b81526004016101979190611a8d565b505f805f610819876101c0015151670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b94505050925092508260405180604001604052806002815260200161323760f01b8152509061085b5760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261323960f01b602082015281156108945760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261064760f31b602082015282156108cd5760405162461bcd60e51b81526004016101979190611a8d565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b815250906109225760405162461bcd60e51b81526004016101979190611a8d565b506101c08701515160741c640fffffffff16801580610a0a57506101c08801515160301c60ff1661095490600a611a6b565b61095e9082611a76565b866109fd8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ed9190611b1e565b6109f79190611b0b565b90611043565b610a079190611b0b565b11155b60405180604001604052806002815260200161353160f01b81525090610a435760405162461bcd60e51b81526004016101979190611a8d565b505050505050505050565b5f6001600160801b03821115610ab65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610197565b5090565b610ae160405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610af591611043565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610bbc91600401611b9c565b606060405180830381865afa158015610bd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfb9190611c1e565b60408401526020830152808252610c1190610a4e565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610c3e90610a4e565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610c6e90610a4e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610cac9051600160fc1b16151590565b15610d61578215610d0957610cc083610a4e565b600987018054601090610ce4908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115610d6157610d1882610a4e565b600987018054601090610d3c908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b81515f9060d41c64ffffffffff1615610fa7575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e499190611c49565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190611c49565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611c49565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015610f74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f989190611ad9565b610fa5575f915050610561565b505b610fb38686868661140f565b9695505050505050565b6040805180820190915260028152610dcd60f21b602082015260808310610ff75760405162461bcd60e51b81526004016101979190611a8d565b50600182811b81011b811561101157835481178455611019565b835481191684555b50505050565b5f81156113881983900484111517611035575f80fd5b506127109102611388010490565b5f81156b019d971e4fe8401e740000001983900484111517611063575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f9081906110c1906001600160801b0316676765c793fa10079d601b1b6109ed6110b2886114ab565b6110bb886114ab565b906110f8565b90506110cc81610a4e565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b60028404190484111715611119575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1611175573d5f803e3d5ffd5b5061117f856114c5565b6111cb5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610197565b5050505050565b61016081015115611240575f6111f2826101600151836102400151611568565b905061120b8260e001518261104390919063ffffffff16565b610100830181905261121c90610a4e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b8051156112ab575f61125c8261018001518361024001516115ad565b90506112768261012001518261104390919063ffffffff16565b610140830181905261128790610a4e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b6112e26040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036112f357505050565b610120820151825161130491611043565b6020820152610140820151825161131a91611043565b6040820152606082015161026083015161024084015161134292919064ffffffffff166115b5565b60608201819052604083015161135791611043565b8082526020820151608084015160408401516113739190611b0b565b61137d9190611af8565b6113879190611af8565b608082018190526101a083015161139e919061101f565b60a082018190521561140a576113c96104478361010001518360a001516110f890919063ffffffff16565b6008840180545f906113e59084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5f61141c825161ffff1690565b5f0361142957505f6114a3565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611468575060016114a3565b6040805160208101909152835481525f906114849087876116d8565b505090508015801561149f5750825160d41c64ffffffffff16155b9150505b949350505050565b633b9aca0081810290810482146114c0575f80fd5b919050565b5f6114e7565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115265760208114611557576115217f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f6114cb565b611562565b823b61154e5761154e7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b60146114cb565b60019150611562565b3d5f803e5f51151591505b50919050565b5f8061157b64ffffffffff841642611af8565b6115859085611a76565b6301e13380900490506115a381676765c793fa10079d601b1b611b0b565b9150505b92915050565b5f6110f18383425b5f806115c864ffffffffff851684611af8565b9050805f036115e557676765c793fa10079d601b1b9150506110f1565b5f1981015f8080600285116115fa575f6115ff565b600285035b925066038882915c40006116138a80611043565b8161162057611620611c64565b0491506301e13380611632838b611043565b8161163f5761163f611c64565b0490505f8261164e8688611a76565b6116589190611a76565b6002900490505f828561166b888a611a76565b6116759190611a76565b61167f9190611a76565b60069004905080826301e133806116968a8f611a76565b6116a09190611c78565b6116b590676765c793fa10079d601b1b611b0b565b6116bf9190611b0b565b6116c99190611b0b565b9b9a5050505050505050505050565b5f805f6116e48661177e565b1561176c575f611714877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6117c1565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611768576001955090935091506117759050565b5050505b505f9150819050805b93509350939050565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906110f157506117b9600182611af8565b161592915050565b81515f9082165f198101198116825b60029190911c908115610561576001016117d0565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161185a60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114611896575f80fd5b50565b5f805f805f805f60e0888a0312156118af575f80fd5b87359650602088013595506040880135945060608801356118cf81611882565b93506080880135925060a08801356118e681611882565b915060c088013561ffff811681146118fc575f80fd5b8091505092959891949750929550565b5f805f805f60a08688031215611920575f80fd5b85359450602086013561193281611882565b94979496505050506040830135926060810135926080909101359150565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908082111561198457611984611950565b5092915050565b600181815b808511156119c557815f19048211156119ab576119ab611950565b808516156119b857918102915b93841c9390800290611990565b509250929050565b5f826119db575060016115a7565b816119e757505f6115a7565b81600181146119fd5760028114611a0757611a23565b60019150506115a7565b60ff841115611a1857611a18611950565b50506001821b6115a7565b5060208310610133831016604e8410600b8410161715611a46575081810a6115a7565b611a50838361198b565b805f1904821115611a6357611a63611950565b029392505050565b5f6110f183836119cd565b80820281158282048414176115a7576115a7611950565b5f602080835283518060208501525f5b81811015611ab957858101830151858201604001528201611a9d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ae9575f80fd5b815180151581146110f1575f80fd5b818103818111156115a7576115a7611950565b808201808211156115a7576115a7611950565b5f60208284031215611b2e575f80fd5b5051919050565b6001600160801b0382811682821603908082111561198457611984611950565b5f805f8060808587031215611b68575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114611b91575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151611bfe60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215611c30575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c59575f80fd5b81516110f181611882565b634e487b7160e01b5f52601260045260245ffd5b5f82611c9257634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220fea637e18eeb345815f52e8526538811a8eea0ed524cf631d2402630bb41afb964736f6c63430008160033', - methodIdentifiers: { - "executeBackUnbacked(DataTypes.ReserveData storage,address,uint256,uint256,uint256)": "8e743248", - "executeMintUnbacked(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,address,uint256,address,uint16)": "0413c86f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts b/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts deleted file mode 100644 index bd39e0022..000000000 --- a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const CalldataLogic: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=CalldataLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map deleted file mode 100644 index 170364cae..000000000 --- a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CalldataLogic.d.ts","sourceRoot":"","sources":["../src/CalldataLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEwQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CalldataLogic.js b/packages/hyperdrive-artifacts/dist/CalldataLogic.js deleted file mode 100644 index c9a3f90cf..000000000 --- a/packages/hyperdrive-artifacts/dist/CalldataLogic.js +++ /dev/null @@ -1,5 +0,0 @@ -export const CalldataLogic = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b62bad570afe33a39a83096ec895d556bc35d9b7e60c04175ebb692cadbf2faf64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts deleted file mode 100644 index 135008780..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const ChainlinkBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ChainlinkBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map deleted file mode 100644 index 6e3828135..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkBase.d.ts","sourceRoot":"","sources":["../src/ChainlinkBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBN,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkBase.js b/packages/hyperdrive-artifacts/dist/ChainlinkBase.js deleted file mode 100644 index bbf965e95..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const ChainlinkBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts deleted file mode 100644 index 5b9412748..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ChainlinkConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ChainlinkConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map deleted file mode 100644 index b8d8a33c3..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkConversions.d.ts","sourceRoot":"","sources":["../src/ChainlinkConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;cAEiQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.js b/packages/hyperdrive-artifacts/dist/ChainlinkConversions.js deleted file mode 100644 index 609884a38..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ChainlinkConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122028a53ab113cb8d4399f43da1597ae57f6393fa298130b8680a1a766ee0d7adc364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts deleted file mode 100644 index 8ddfbc640..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts +++ /dev/null @@ -1,1330 +0,0 @@ -export declare const ChainlinkHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=ChainlinkHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map deleted file mode 100644 index 085ff9722..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkHyperdrive.d.ts","sourceRoot":"","sources":["../src/ChainlinkHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2mD8+X,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B1hY,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js deleted file mode 100644 index 2bc70ef62..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js +++ /dev/null @@ -1,1675 +0,0 @@ -export const ChainlinkHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 822fc6046..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const ChainlinkHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=ChainlinkHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 3294e79ed..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Kw8e,KAAK,MAAM,EAAE;;;;CAIhgf,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js deleted file mode 100644 index 27c11f35c..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const ChainlinkHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611ed38061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200038b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f805f898060200190518101906200007c919062000483565b604080513360208201529081018790529193509150606001604051602081830303815290604052805190602001208d8d8d8c8c8c8c8c8a8a604051620000c29062000107565b620000d79a99989796959493929190620005e4565b8190604051809103905ff5905080158015620000f5573d5f803e3d5ffd5b509d9c50505050505050505050505050565b6117fd80620006a183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000150576200015062000115565b60405290565b5f82601f83011262000166575f80fd5b813567ffffffffffffffff8082111562000184576200018462000115565b604051601f8301601f19908116603f01168101908282118183101715620001af57620001af62000115565b81604052838152866020858801011115620001c8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001fc575f80fd5b50565b80356200020c81620001e7565b919050565b5f6080828403121562000222575f80fd5b6040516080810181811067ffffffffffffffff8211171562000248576200024862000115565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200028b575f80fd5b6200029562000129565b9050620002a282620001ff565b8152620002b260208301620001ff565b6020820152620002c560408301620001ff565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000330818401620001ff565b9082015261018062000344838201620001ff565b908201526101a062000358838201620001ff565b908201526101c06200036c838201620001ff565b908201526101e0620003818484830162000211565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a6575f80fd5b8a3567ffffffffffffffff80821115620003be575f80fd5b620003cc8e838f0162000156565b9b50620003dd8e60208f0162000279565b9a50620003ee6102808e01620001ff565b99506102a08d013591508082111562000405575f80fd5b50620004148d828e0162000156565b975050620004266102c08c01620001ff565b9550620004376102e08c01620001ff565b9450620004486103008c01620001ff565b9350620004596103208c01620001ff565b92506200046a6103408c01620001ff565b91506103608b013590509295989b9194979a5092959850565b5f806040838503121562000495575f80fd5b8251620004a281620001e7565b602084015190925060ff81168114620004b9575f80fd5b809150509250929050565b80516001600160a01b031682526020810151620004ec60208401826001600160a01b03169052565b5060408101516200050860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200057b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103808083528c5180828501525f91505b808210156200061a576020828f0101516103a08386010152602082019150620005f6565b6103a091505f82828601015281601f19601f8301168501019250505062000645602083018c620004c4565b6001600160a01b03998a166102808301529789166102a08201529588166102c08701529387166102e0860152918616610300850152851661032084015290931661034082015260ff909216610360909201919091529291505056fe61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033a2646970667358221220d631e332c39645a1fceaad8beacbc42762833f2583bee1e6f2b3e6e425da650764736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 291a1d58c..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,598 +0,0 @@ -export declare const ChainlinkHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ChainlinkHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 15babb1dd..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/ChainlinkHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuuBq6pB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBp+pB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js deleted file mode 100644 index a9e57e277..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,762 +0,0 @@ -export const ChainlinkHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e2380380620029e28339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125c86200041a5f395f81816102830152610d0101525f81816103010152610bce01525f81816103670152610a9b01525f81816102ce015261096801525f8181610334015261075f01525f81816103ec015261105001525f81816103b9015281816104f3015281816106880152818161078f0152818161099801528181610acb01528181610bfe01528181610d3101528181610e24015261108101526125c85ff3fe6080604052600436106100e4575f3560e01c8063aa8cd6c411610087578063c45a015511610057578063c45a0155146103a8578063c83e1f51146103db578063e990eba81461040e578063e99be3961461042d575f80fd5b8063aa8cd6c4146102f0578063ab71905f14610323578063b6cb111814610356578063c151061814610389575f80fd5b806337404017116100c2578063374040171461014757806354fd4d5014610243578063966ecd1c14610272578063a085fa30146102bd575f80fd5b806304baa00b146100e857806306fdde031461011257806316abfc7014610126575b5f80fd5b3480156100f3575f80fd5b506100fc610440565b6040516101099190611a9c565b60405180910390f35b34801561011d575f80fd5b506100fc61045c565b610139610134366004611bd1565b6104e7565b604051908152602001610109565b348015610152575f80fd5b50610236610161366004611c8f565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101099190611ca6565b34801561024e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b60208201526100fc565b34801561027d575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610109565b3480156102c8575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fb575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b34801561032e575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610361575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610394575f80fd5b506102a56103a3366004611e7a565b61067c565b3480156103b3575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e6575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610419575f80fd5b506102a5610428366004611ee3565b610e18565b348015610438575f80fd5b506005610139565b60405180606001604052806026815260200161256d6026913981565b5f805461046890611f7d565b80601f016020809104026020016040519081016040528092919081815260200182805461049490611f7d565b80156104df5780601f106104b6576101008083540402835291602001916104df565b820191905f5260205f20905b8154815290600101906020018083116104c257829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053157604051634084351160e01b815260040160405180910390fd5b61053961118b565b5f868152600160205260409020600301546001600160a01b0316806105715760405163952b05cb60e01b815260040160405180910390fd5b5f61057e828888876111ac565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105b193929190611fb5565b60206040518083038185885af11580156105cd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105f29190611ffa565b92505f6105ff8234612025565b9050801561066f576040515f90339083908381818185875af1925050503d805f8114610646576040519150601f19603f3d011682016040523d82523d5f602084013e61064b565b606091505b505090508061066d576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c657604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610876578054156106fb57604051633be1b34d60e11b815260040160405180910390fd5b6107058686611265565b5f6107108787611353565b90505f876040516020016107249190612038565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107518a611387565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016107cb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610800949392919061226b565b6020604051808303815f875af115801561081c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084091906122b0565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610673565b5f87815260016020526040902054806108a25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108b49190612038565b60405160208183030381529060405280519060200120146108e85760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461091257604051631a3272d160e31b815260040160405180910390fd5b61091c8787611265565b5f61092688611387565b6002840154608082015290506001869003610a665760058301546001600160a01b0316156109665760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b6040516020016109cd939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a02949392919061226b565b6020604051808303815f875af1158015610a1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4291906122b0565b6005840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600203610b995760068301546001600160a01b031615610a995760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b00939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b35949392919061226b565b6020604051808303815f875af1158015610b51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7591906122b0565b6006840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600303610ccc5760078301546001600160a01b031615610bcc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c33939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c68949392919061226b565b6020604051808303815f875af1158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca891906122b0565b6007840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600403610dff5760088301546001600160a01b031615610cff5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d66939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d9b949392919061226b565b6020604051808303815f875af1158015610db7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ddb91906122b0565b6008840180546001600160a01b0319166001600160a01b038316179055935061066f565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e6257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f0a57604051632c95caeb60e01b815260040160405180910390fd5b8051610f295760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f4e575060a08101516001600160a01b0316155b80610f64575060c08101516001600160a01b0316155b80610f7a575060e08101516001600160a01b0316155b80610f9157506101008101516001600160a01b0316155b15610faf5760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051610fc2908790602001612038565b6040516020818303038152906040528051906020012014610ff65760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461102157604051631a3272d160e31b815260040160405180910390fd5b61102b8585611265565b5f61103586611387565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016110d7929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111129a999897969594939291906122ec565b6020604051808303815f875af115801561112e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115291906122b0565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111aa57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156111d05760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561120d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123191906122b0565b90506112486001600160a01b038216863087611455565b61125c6001600160a01b03821687866114c2565b50949350505050565b61126f8282611551565b81516001600160a01b03161561129857604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b03166112c35760405163073f739d60e51b815260040160405180910390fd5b5f818060200190518101906112d8919061236e565b91506112e790506003826123ab565b6112f290600a6124a4565b836080015114611315576040516349db44f560e01b815260040160405180910390fd5b6113206003826123ab565b61132b90600a6124a4565b8360a001511461134e576040516318c9522360e11b815260040160405180910390fd5b505050565b5f808280602001905181019061136991906122b0565b905061137d81670de0b6b3a7640000611669565b9150505b92915050565b61138f61197b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526114bc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611684565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261151384826116ea565b6114bc576040516001600160a01b0384811660248301525f604483015261154791869182169063095ea7b39060640161148a565b6114bc8482611684565b6103e882608001511015611578576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361159d57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806115c757508161010001518260e001516115c491906124b2565b15155b156115e55760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116115750670de0b6b3a7640000826101c0015160200151115b8061162c5750670de0b6b3a7640000826101c0015160400151115b806116475750670de0b6b3a7640000826101c0015160600151115b15611665576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f61167d61167684611787565b83906117f8565b9392505050565b5f6116986001600160a01b0384168361180c565b905080515f141580156116bc5750808060200190518101906116ba91906124d1565b155b1561134e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161170591906124ec565b5f604051808303815f865af19150503d805f811461173e576040519150601f19603f3d011682016040523d82523d5f602084013e611743565b606091505b509150915081801561176d57508051158061176d57508080602001905181019061176d91906124d1565b80156106735750505050506001600160a01b03163b151590565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156117c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e99190612520565b50505091505061167d81611819565b5f61167d8383670de0b6b3a764000061183f565b606061167d83835f61185a565b5f8082121561183b5760405163071d137160e51b815260040160405180910390fd5b5090565b5f825f190484118302158202611853575f80fd5b5091020490565b60608147101561187f5760405163cd78605960e01b81523060048201526024016116e1565b5f80856001600160a01b0316848660405161189a91906124ec565b5f6040518083038185875af1925050503d805f81146118d4576040519150601f19603f3d011682016040523d82523d5f602084013e6118d9565b606091505b50915091506118e98683836118f3565b9695505050505050565b606082611908576119038261194f565b61167d565b815115801561191f57506001600160a01b0384163b155b1561194857604051639996b31560e01b81526001600160a01b03851660048201526024016116e1565b508061167d565b80511561195f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a4a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a69578181015183820152602001611a51565b50505f910152565b5f8151808452611a88816020860160208601611a4f565b601f01601f19169290920160200192915050565b602081525f61167d6020830184611a71565b6001600160a01b0381168114611978575f80fd5b8035611acd81611aae565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b0957611b09611ad2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b0957611b09611ad2565b8015158114611978575f80fd5b5f67ffffffffffffffff80841115611b5a57611b5a611ad2565b604051601f8501601f19908116603f01168101908282118183101715611b8257611b82611ad2565b81604052809350858152868686011115611b9a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611bc2575f80fd5b61167d83833560208501611b40565b5f805f805f60a08688031215611be5575f80fd5b853594506020860135611bf781611aae565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611c21575f80fd5b908701906060828a031215611c34575f80fd5b611c3c611ae6565b8235611c4781611aae565b81526020830135611c5781611b33565b6020820152604083013582811115611c6d575f80fd5b611c798b828601611bb3565b6040830152508093505050509295509295909350565b5f60208284031215611c9f575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d33575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5657611d56611ad2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d98575f80fd5b611da0611b0f565b9050611dab82611ac2565b8152611db960208301611ac2565b6020820152611dca60408301611ac2565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e27818401611ac2565b90820152610160611e39838201611ac2565b90820152610180611e4b838201611ac2565b908201526101a0611e5d838201611ac2565b908201526101c0611e7084848301611d23565b9082015292915050565b5f805f805f6102c08688031215611e8f575f80fd5b85359450611ea08760208801611d87565b935061026086013567ffffffffffffffff811115611ebc575f80fd5b611ec888828901611bb3565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef8575f80fd5b85359450602086013567ffffffffffffffff80821115611f16575f80fd5b818801915088601f830112611f29575f80fd5b611f3889833560208501611b40565b9550611f478960408a01611d87565b9450610280880135915080821115611f5d575f80fd5b50611f6a88828901611bb3565b959894975092956102a001359392505050565b600181811c90821680611f9157607f821691505b602082108103611faf57634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526118e960c0840182611a71565b5f6020828403121561200a575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561138157611381612011565b81516001600160a01b031681526102408101602083015161206460208401826001600160a01b03169052565b50604083015161207f60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e5828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d1b565b80516001600160a01b03168252602081015161217560208401826001600160a01b03169052565b50604081015161219060408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612202828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526114bc565b5f6102c0612279838861214e565b6001600160a01b038616610260840152610280830181905261229d81840186611a71565b915050826102a083015295945050505050565b5f602082840312156122c0575f80fd5b815161167d81611aae565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ff8184018e611a71565b905061230e602084018d61214e565b6001600160a01b038b81166102808501528382036102a0850152612332828c611a71565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f806040838503121561237f575f80fd5b825161238a81611aae565b602084015190925060ff811681146123a0575f80fd5b809150509250929050565b60ff828116828216039081111561138157611381612011565b600181815b808511156123fe57815f19048211156123e4576123e4612011565b808516156123f157918102915b93841c93908002906123c9565b509250929050565b5f8261241457506001611381565b8161242057505f611381565b816001811461243657600281146124405761245c565b6001915050611381565b60ff84111561245157612451612011565b50506001821b611381565b5060208310610133831016604e8410600b841016171561247f575081810a611381565b61248983836123c4565b805f190482111561249c5761249c612011565b029392505050565b5f61167d60ff841683612406565b5f826124cc57634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156124e1575f80fd5b815161167d81611b33565b5f82516124fd818460208701611a4f565b9190910192915050565b805169ffffffffffffffffffff81168114611acd575f80fd5b5f805f805f60a08688031215612534575f80fd5b61253d86612507565b945060208601519350604086015192506060860151915061256060808701612507565b9050929550929590935056fe436861696e6c696e6b487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f6ab7d4f2c983fe186e6a41effaa7165ecf5b9b966e646324127c6bcec27dc1864736f6c63430008160033', - methodIdentifiers: { - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts deleted file mode 100644 index 451209fb9..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts +++ /dev/null @@ -1,1550 +0,0 @@ -export declare const ChainlinkTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "aggregator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "aggregator()": "245a7bfc"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ChainlinkTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map deleted file mode 100644 index 9a0f5985a..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget0.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA63D+x9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cx09B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js deleted file mode 100644 index 7f50ba9cf..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js +++ /dev/null @@ -1,1960 +0,0 @@ -export const ChainlinkTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "aggregator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "aggregator()": "245a7bfc", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts deleted file mode 100644 index 1413b944d..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map deleted file mode 100644 index 4eeb24f90..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6/iC,KAAK,MAAM,EAAE;;;;CAI9ijC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js deleted file mode 100644 index 8df360277..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506142ea8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613d94806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033a2646970667358221220763dc87fe8b2892ca4b50ea5dd31e724ef5511178a35297febd12632006c207864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts deleted file mode 100644 index 1e980d55e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts +++ /dev/null @@ -1,806 +0,0 @@ -export declare const ChainlinkTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=ChainlinkTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map deleted file mode 100644 index 3af62e06e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget1.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs+Bi4/B,KAAK,MAAM,EAAE;;;;;CAK16/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js deleted file mode 100644 index f1c73fc44..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js +++ /dev/null @@ -1,1004 +0,0 @@ -export const ChainlinkTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts deleted file mode 100644 index d92723d4d..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map deleted file mode 100644 index 340a0c4f1..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+llC,KAAK,MAAM,EAAE;;;;CAIhplC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js deleted file mode 100644 index 98d3af199..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061451b8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613fc5806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033a264697066735822122054a2031bd3d1c581af53eeb58de0782ad11eb258834261810f3fbf7120f2db9664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts deleted file mode 100644 index 1fdfad9c0..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const ChainlinkTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=ChainlinkTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map deleted file mode 100644 index b9c9def20..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget2.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B65gC,KAAK,MAAM,EAAE;;;;;CAKt8gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js deleted file mode 100644 index 0c3bc65a6..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const ChainlinkTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts deleted file mode 100644 index 0136267cd..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map deleted file mode 100644 index 9f1b689c8..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I2nmC,KAAK,MAAM,EAAE;;;;CAI5qmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js deleted file mode 100644 index e7752e71e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506146298061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b6140d3806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033a2646970667358221220ae0e7847dff6a762a557f519f2052a9223ccb4ffc24c70d7cff076c5e835f05864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts deleted file mode 100644 index ff0d1bfbc..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts +++ /dev/null @@ -1,842 +0,0 @@ -export declare const ChainlinkTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=ChainlinkTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map deleted file mode 100644 index ab5871acc..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget3.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmhC+vgC,KAAK,MAAM,EAAE;;;;;CAKxygC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js deleted file mode 100644 index d289ede3a..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js +++ /dev/null @@ -1,1049 +0,0 @@ -export const ChainlinkTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts deleted file mode 100644 index 102c45dfe..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map deleted file mode 100644 index 28887eca4..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I69lC,KAAK,MAAM,EAAE;;;;CAI9gmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js deleted file mode 100644 index 5135ea7ec..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145da8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b614084806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033a2646970667358221220e0a52e1adad5b425056392437ff533af6c3f9d49f7d9fb740a2d89340656fb3e64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts deleted file mode 100644 index e5b246742..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts +++ /dev/null @@ -1,821 +0,0 @@ -export declare const ChainlinkTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=ChainlinkTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map deleted file mode 100644 index a61efe4be..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget4.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw/Bu/zB,KAAK,MAAM,EAAE;;;;;;CAMhi0B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js deleted file mode 100644 index 11ac03423..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js +++ /dev/null @@ -1,1023 +0,0 @@ -export const ChainlinkTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts deleted file mode 100644 index f2ec88663..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map deleted file mode 100644 index 629953598..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iqt5B,KAAK,MAAM,EAAE;;;;CAItw5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js deleted file mode 100644 index eb28aff6e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139568061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613400806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033a2646970667358221220bd75f2efaa16267421e10cc34500819359909cd9e429c98c0d473ea97d5cad2764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts b/packages/hyperdrive-artifacts/dist/CommonBase.d.ts deleted file mode 100644 index 0337fa89b..000000000 --- a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const CommonBase: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=CommonBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map b/packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map deleted file mode 100644 index 5a6aee4d8..000000000 --- a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CommonBase.d.ts","sourceRoot":"","sources":["../src/CommonBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAEH,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CommonBase.js b/packages/hyperdrive-artifacts/dist/CommonBase.js deleted file mode 100644 index 97c63547e..000000000 --- a/packages/hyperdrive-artifacts/dist/CommonBase.js +++ /dev/null @@ -1,5 +0,0 @@ -export const CommonBase = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Context.d.ts b/packages/hyperdrive-artifacts/dist/Context.d.ts deleted file mode 100644 index 726203252..000000000 --- a/packages/hyperdrive-artifacts/dist/Context.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const Context: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Context.d.ts.map b/packages/hyperdrive-artifacts/dist/Context.d.ts.map deleted file mode 100644 index 482f6c264..000000000 --- a/packages/hyperdrive-artifacts/dist/Context.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/Context.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAEA,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Context.js b/packages/hyperdrive-artifacts/dist/Context.js deleted file mode 100644 index 5fde5f3b6..000000000 --- a/packages/hyperdrive-artifacts/dist/Context.js +++ /dev/null @@ -1,5 +0,0 @@ -export const Context = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/CornBase.d.ts b/packages/hyperdrive-artifacts/dist/CornBase.d.ts deleted file mode 100644 index 1ca70a4d3..000000000 --- a/packages/hyperdrive-artifacts/dist/CornBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const CornBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=CornBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornBase.d.ts.map b/packages/hyperdrive-artifacts/dist/CornBase.d.ts.map deleted file mode 100644 index 5da526e8f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornBase.d.ts","sourceRoot":"","sources":["../src/CornBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBD,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornBase.js b/packages/hyperdrive-artifacts/dist/CornBase.js deleted file mode 100644 index 9ec02efe9..000000000 --- a/packages/hyperdrive-artifacts/dist/CornBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const CornBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts b/packages/hyperdrive-artifacts/dist/CornConversions.d.ts deleted file mode 100644 index 40d5f1e04..000000000 --- a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare const CornConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - }; -}; -//# sourceMappingURL=CornConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map deleted file mode 100644 index 7689b51f8..000000000 --- a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornConversions.d.ts","sourceRoot":"","sources":["../src/CornConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCwb,KAAK,MAAM,EAAE;;;;;CAKhe,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornConversions.js b/packages/hyperdrive-artifacts/dist/CornConversions.js deleted file mode 100644 index 442bdeb9c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornConversions.js +++ /dev/null @@ -1,47 +0,0 @@ -export const CornConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea2646970667358221220b9d26028c7b4c6a20d26496e9e331e5d123bedaf97958cf869de383f28cec77d64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts deleted file mode 100644 index aec600f19..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts +++ /dev/null @@ -1,1354 +0,0 @@ -export declare const CornHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=CornHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map deleted file mode 100644 index f6d4bb4d2..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornHyperdrive.d.ts","sourceRoot":"","sources":["../src/CornHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4oDq5a,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B57a,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdrive.js b/packages/hyperdrive-artifacts/dist/CornHyperdrive.js deleted file mode 100644 index 296fde547..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdrive.js +++ /dev/null @@ -1,1708 +0,0 @@ -export const CornHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 44c1eb741..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,148 +0,0 @@ -export declare const CornHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=CornHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index a57988f69..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/CornHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsLu9hB,KAAK,MAAM,EAAE;;;;CAI1giB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js deleted file mode 100644 index 4bd1b4ddc..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js +++ /dev/null @@ -1,187 +0,0 @@ -export const CornHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516121f53803806121f583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516121726100835f395f609801526121725ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200037f565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000c59062000109565b620000d99998979695949392919062000597565b8190604051809103905ff5905080158015620000f7573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611ace806200066f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000152576200015262000117565b60405290565b5f82601f83011262000168575f80fd5b813567ffffffffffffffff8082111562000186576200018662000117565b604051601f8301601f19908116603f01168101908282118183101715620001b157620001b162000117565b81604052838152866020858801011115620001ca575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000200575f80fd5b919050565b5f6080828403121562000216575f80fd5b6040516080810181811067ffffffffffffffff821117156200023c576200023c62000117565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200027f575f80fd5b620002896200012b565b90506200029682620001e9565b8152620002a660208301620001e9565b6020820152620002b960408301620001e9565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000324818401620001e9565b9082015261018062000338838201620001e9565b908201526101a06200034c838201620001e9565b908201526101c062000360838201620001e9565b908201526101e0620003758484830162000205565b9082015292915050565b5f805f805f805f805f806103808b8d0312156200039a575f80fd5b8a3567ffffffffffffffff80821115620003b2575f80fd5b620003c08e838f0162000158565b9b50620003d18e60208f016200026d565b9a50620003e26102808e01620001e9565b99506102a08d0135915080821115620003f9575f80fd5b50620004088d828e0162000158565b9750506200041a6102c08c01620001e9565b95506200042b6102e08c01620001e9565b94506200043c6103008c01620001e9565b93506200044d6103208c01620001e9565b92506200045e6103408c01620001e9565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200049f60208401826001600160a01b03169052565b506040810151620004bb60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200052e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005cd576020828e0101516103808386010152602082019150620005a9565b61038091505f82828601015281601f19601f83011685010192505050620005f8602083018b62000477565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000fb56fe61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033a2646970667358221220b999f55f01f73dbe4fff79beaf733b76e53e1545b3fb5e46a5c33f150beaf2d564736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 6f09fcd22..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,624 +0,0 @@ -export declare const CornHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=CornHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index eb224acec..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/CornHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwBw8pB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBlgqB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js deleted file mode 100644 index 21f3c2ca9..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,797 +0,0 @@ -export const CornHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620029f1380380620029f18339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125d76200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526125d75ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611b32565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611c67565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d25565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d3c565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d25565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f10565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611d25565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611f79565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016125816021913981565b5f80546104bc90612013565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612013565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061204b565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612090565b92505f61065382346120bb565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612090565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df878761150d565b90505f876040516020016107f391906120ce565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a611526565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612301565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f9190612346565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161098391906120ce565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f588611526565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612301565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190612346565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612301565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190612346565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d0293929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612301565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d779190612346565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e3593929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612301565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612346565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb9087906020016120ce565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e86611526565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612382565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b9190612346565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113399190612346565b90506113506001600160a01b0382168630876115f4565b6113646001600160a01b0382168786611661565b505f95945050505050565b61137982826116f0565b81516001600160a01b03166113a157604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b0316156113cd5760405163073f739d60e51b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114329190612404565b61143c9190612424565b61144790600a61251d565b8260800151101561146b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d09190612404565b6114da9190612424565b6114e590600a61251d565b8260a001511015611509576040516318c9522360e11b815260040160405180910390fd5b5050565b5f61151f670de0b6b3a76400006106d0565b9392505050565b61152e611a11565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261165b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611804565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116b2848261186f565b61165b576040516001600160a01b0384811660248301525f60448301526116e691869182169063095ea7b390606401611629565b61165b8482611804565b6103e882608001511015611717576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173c57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061176657508161010001518260e00151611763919061252b565b15155b156117845760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117b05750670de0b6b3a7640000826101c0015160200151115b806117cb5750670de0b6b3a7640000826101c0015160400151115b806117e65750670de0b6b3a7640000826101c0015160600151115b15611509576040516322f72cc360e11b815260040160405180910390fd5b5f6118186001600160a01b0384168361190c565b905080515f1415801561183c57508080602001905181019061183a919061254a565b155b1561186a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161188a9190612565565b5f604051808303815f865af19150503d805f81146118c3576040519150601f19603f3d011682016040523d82523d5f602084013e6118c8565b606091505b50915091508180156118f25750805115806118f25750808060200190518101906118f2919061254a565b80156106c75750505050506001600160a01b03163b151590565b606061151f83835f845f80856001600160a01b031684866040516119309190612565565b5f6040518083038185875af1925050503d805f811461196a576040519150601f19603f3d011682016040523d82523d5f602084013e61196f565b606091505b509150915061197f868383611989565b9695505050505050565b60608261199e57611999826119e5565b61151f565b81511580156119b557506001600160a01b0384163b155b156119de57604051639996b31560e01b81526001600160a01b0385166004820152602401611861565b508061151f565b8051156119f55780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ae060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611aff578181015183820152602001611ae7565b50505f910152565b5f8151808452611b1e816020860160208601611ae5565b601f01601f19169290920160200192915050565b602081525f61151f6020830184611b07565b6001600160a01b0381168114611a0e575f80fd5b8035611b6381611b44565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b8015158114611a0e575f80fd5b5f67ffffffffffffffff80841115611bf057611bf0611b68565b604051601f8501601f19908116603f01168101908282118183101715611c1857611c18611b68565b81604052809350858152868686011115611c30575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c58575f80fd5b61151f83833560208501611bd6565b5f805f805f60a08688031215611c7b575f80fd5b853594506020860135611c8d81611b44565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611cb7575f80fd5b908701906060828a031215611cca575f80fd5b611cd2611b7c565b8235611cdd81611b44565b81526020830135611ced81611bc9565b6020820152604083013582811115611d03575f80fd5b611d0f8b828601611c49565b6040830152508093505050509295509295909350565b5f60208284031215611d35575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dc9575f80fd5b6040516080810181811067ffffffffffffffff82111715611dec57611dec611b68565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e2e575f80fd5b611e36611ba5565b9050611e4182611b58565b8152611e4f60208301611b58565b6020820152611e6060408301611b58565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611ebd818401611b58565b90820152610160611ecf838201611b58565b90820152610180611ee1838201611b58565b908201526101a0611ef3838201611b58565b908201526101c0611f0684848301611db9565b9082015292915050565b5f805f805f6102c08688031215611f25575f80fd5b85359450611f368760208801611e1d565b935061026086013567ffffffffffffffff811115611f52575f80fd5b611f5e88828901611c49565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f8e575f80fd5b85359450602086013567ffffffffffffffff80821115611fac575f80fd5b818801915088601f830112611fbf575f80fd5b611fce89833560208501611bd6565b9550611fdd8960408a01611e1d565b9450610280880135915080821115611ff3575f80fd5b5061200088828901611c49565b959894975092956102a001359392505050565b600181811c9082168061202757607f821691505b60208210810361204557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197f60c0840182611b07565b5f602082840312156120a0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610745576107456120a7565b81516001600160a01b03168152610240810160208301516120fa60208401826001600160a01b03169052565b50604083015161211560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161217b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611db1565b80516001600160a01b03168252602081015161220b60208401826001600160a01b03169052565b50604081015161222660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612298828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261165b565b5f6102c061230f83886121e4565b6001600160a01b038616610260840152610280830181905261233381840186611b07565b915050826102a083015295945050505050565b5f60208284031215612356575f80fd5b815161151f81611b44565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123958184018e611b07565b90506123a4602084018d6121e4565b6001600160a01b038b81166102808501528382036102a08501526123c8828c611b07565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612414575f80fd5b815160ff8116811461151f575f80fd5b60ff8281168282160390811115610745576107456120a7565b600181815b8085111561247757815f190482111561245d5761245d6120a7565b8085161561246a57918102915b93841c9390800290612442565b509250929050565b5f8261248d57506001610745565b8161249957505f610745565b81600181146124af57600281146124b9576124d5565b6001915050610745565b60ff8411156124ca576124ca6120a7565b50506001821b610745565b5060208310610133831016604e8410600b84101617156124f8575081810a610745565b612502838361243d565b805f1904821115612515576125156120a7565b029392505050565b5f61151f60ff84168361247f565b5f8261254557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561255a575f80fd5b815161151f81611bc9565b5f8251612576818460208701611ae5565b919091019291505056fe436f726e487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220b5ab105022b44bb1298c3119dea1a3fb4317d43d99b5905fd1620281923813be64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts deleted file mode 100644 index 6c90dcf24..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts +++ /dev/null @@ -1,1542 +0,0 @@ -export declare const CornTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "cornSilo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "cornSilo()": "7d1849ab"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=CornTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map deleted file mode 100644 index 146f5102b..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget0.d.ts","sourceRoot":"","sources":["../src/CornTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm3D0h+B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C9j+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0.js b/packages/hyperdrive-artifacts/dist/CornTarget0.js deleted file mode 100644 index a2cb78a6c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0.js +++ /dev/null @@ -1,1950 +0,0 @@ -export const CornTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cornSilo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "cornSilo()": "7d1849ab", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts deleted file mode 100644 index 3afa78e62..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map deleted file mode 100644 index 4fac6692e..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJsxjC,KAAK,MAAM,EAAE;;;;CAIl0jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js deleted file mode 100644 index 2f5738b47..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161439138038061439183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161430e6100835f395f608b015261430e5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613e0f806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033a264697066735822122026094cd33c4fcb1821d6d80135d07655c1c0c62f3592dacbe23c63262fb6b34864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts deleted file mode 100644 index b1bbb8d16..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const CornTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=CornTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map deleted file mode 100644 index 2a56b07b9..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget1.d.ts","sourceRoot":"","sources":["../src/CornTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA49B8x/B,KAAK,MAAM,EAAE;;;;;CAKl0/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1.js b/packages/hyperdrive-artifacts/dist/CornTarget1.js deleted file mode 100644 index 8bc1cb39c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1.js +++ /dev/null @@ -1,994 +0,0 @@ -export const CornTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts deleted file mode 100644 index 48bb823f8..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map deleted file mode 100644 index a7c3d72dc..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJ0hlC,KAAK,MAAM,EAAE;;;;CAItklC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js deleted file mode 100644 index 26d4b2cfe..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161451338038061451383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144906100835f395f608b01526144905ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613f91806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033a264697066735822122079d8ca4682edb830cb9cd8aaa002aa4808e3c379d48160855e696fee40f32bd464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts deleted file mode 100644 index 449adaf63..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts +++ /dev/null @@ -1,818 +0,0 @@ -export declare const CornTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=CornTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map deleted file mode 100644 index 05e2983e1..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget2.d.ts","sourceRoot":"","sources":["../src/CornTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq/B0qiC,KAAK,MAAM,EAAE;;;;;CAK9siC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2.js b/packages/hyperdrive-artifacts/dist/CornTarget2.js deleted file mode 100644 index 8c2cb479f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2.js +++ /dev/null @@ -1,1019 +0,0 @@ -export const CornTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts deleted file mode 100644 index 85da19a3b..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map deleted file mode 100644 index 7c4f9ba3c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJs6nC,KAAK,MAAM,EAAE;;;;CAIl9nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js deleted file mode 100644 index a4264de56..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516147d93803806147d983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147566100835f395f608b01526147565ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b614257806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033a26469706673582212204e3afa669e4652611b4e6462ec50409a8c9345f2fcc95ec1b4ad67b1aade5af764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts deleted file mode 100644 index c8d64f996..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const CornTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=CornTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map deleted file mode 100644 index c85afb649..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget3.d.ts","sourceRoot":"","sources":["../src/CornTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygCk4hC,KAAK,MAAM,EAAE;;;;;CAKt6hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3.js b/packages/hyperdrive-artifacts/dist/CornTarget3.js deleted file mode 100644 index d07788523..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3.js +++ /dev/null @@ -1,1039 +0,0 @@ -export const CornTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts deleted file mode 100644 index 132604cb4..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map deleted file mode 100644 index 6097079ff..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJ8nnC,KAAK,MAAM,EAAE;;;;CAI1qnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js deleted file mode 100644 index 7a3ca4b0f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161474538038061474583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146c26100835f395f608b01526146c25ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6141c3806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033a264697066735822122005c9adc0322328f7aa2c123b4086a14ae0140950f1ef926b622332132d89ad7e64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts deleted file mode 100644 index 104c68b13..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts +++ /dev/null @@ -1,813 +0,0 @@ -export declare const CornTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=CornTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map deleted file mode 100644 index 312ee24ef..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget4.d.ts","sourceRoot":"","sources":["../src/CornTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8+Bo5zB,KAAK,MAAM,EAAE;;;;;;CAMx7zB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4.js b/packages/hyperdrive-artifacts/dist/CornTarget4.js deleted file mode 100644 index b7a4eaa5f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4.js +++ /dev/null @@ -1,1013 +0,0 @@ -export const CornTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts deleted file mode 100644 index 8ed02e24c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map deleted file mode 100644 index b643796ab..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJgp5B,KAAK,MAAM,EAAE;;;;CAI5r5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js deleted file mode 100644 index 7fb020f8f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161394e38038061394e83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138cb6100835f395f608b01526138cb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6133cc806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033a2646970667358221220c63eaf43f071c6c06f4cc5ba2362b1a2657b45efa3678c03c72a0095ccbaeaa264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts b/packages/hyperdrive-artifacts/dist/DataTypes.d.ts deleted file mode 100644 index 52b459cdd..000000000 --- a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const DataTypes: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=DataTypes.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map b/packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map deleted file mode 100644 index bed6dbfe9..000000000 --- a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DataTypes.d.ts","sourceRoot":"","sources":["../src/DataTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/DataTypes.js b/packages/hyperdrive-artifacts/dist/DataTypes.js deleted file mode 100644 index df63fd119..000000000 --- a/packages/hyperdrive-artifacts/dist/DataTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -export const DataTypes = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206b4329db27ba9f71274415ec5a71848a8953922ed76f3d9684a07c38f081468364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts b/packages/hyperdrive-artifacts/dist/EETHBase.d.ts deleted file mode 100644 index eac34ccac..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts +++ /dev/null @@ -1,547 +0,0 @@ -export declare const EETHBase: { - abi: readonly [{ - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - }; -}; -//# sourceMappingURL=EETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map deleted file mode 100644 index 1145bea3f..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHBase.d.ts","sourceRoot":"","sources":["../src/EETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0pBD,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHBase.js b/packages/hyperdrive-artifacts/dist/EETHBase.js deleted file mode 100644 index 47be7b7de..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHBase.js +++ /dev/null @@ -1,671 +0,0 @@ -export const EETHBase = { - abi: [ - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "_liquidityPool()": "207deba0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts deleted file mode 100644 index afee9f760..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const EETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map deleted file mode 100644 index 3a8e6f85b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHConversions.d.ts","sourceRoot":"","sources":["../src/EETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHConversions.js b/packages/hyperdrive-artifacts/dist/EETHConversions.js deleted file mode 100644 index 3f4c133fc..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const EETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d8e30ef645f9bb2fc984f1b0491d8697ffa3c73e1cf168c4f2ceffce6f5fca6364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts deleted file mode 100644 index 9f54e4fea..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts +++ /dev/null @@ -1,1337 +0,0 @@ -export declare const EETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "_liquidityPool()": "207deba0"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=EETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map deleted file mode 100644 index aa69aa24a..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/EETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmnDuwX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9yX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/EETHHyperdrive.js deleted file mode 100644 index 6614cfaa0..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.js +++ /dev/null @@ -1,1684 +0,0 @@ -export const EETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "_liquidityPool()": "207deba0", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index f80a0a099..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const EETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index affa27d0a..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/EETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMu7e,KAAK,MAAM,EAAE;;;;;CAK1+e,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js deleted file mode 100644 index 980e27d69..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const EETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611ee5380380611ee583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e5c6100895f395f81816042015260c80152611e5c5ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c8063665a11ca146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003b0565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000f5906200013a565b6200010999989796959493929190620005c8565b8190604051809103905ff590508015801562000127573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b61178780620006a083390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000183576200018362000148565b60405290565b5f82601f83011262000199575f80fd5b813567ffffffffffffffff80821115620001b757620001b762000148565b604051601f8301601f19908116603f01168101908282118183101715620001e257620001e262000148565b81604052838152866020858801011115620001fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000231575f80fd5b919050565b5f6080828403121562000247575f80fd5b6040516080810181811067ffffffffffffffff821117156200026d576200026d62000148565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b0575f80fd5b620002ba6200015c565b9050620002c7826200021a565b8152620002d7602083016200021a565b6020820152620002ea604083016200021a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160620003558184016200021a565b90820152610180620003698382016200021a565b908201526101a06200037d8382016200021a565b908201526101c0620003918382016200021a565b908201526101e0620003a68484830162000236565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003cb575f80fd5b8a3567ffffffffffffffff80821115620003e3575f80fd5b620003f18e838f0162000189565b9b50620004028e60208f016200029e565b9a50620004136102808e016200021a565b99506102a08d01359150808211156200042a575f80fd5b50620004398d828e0162000189565b9750506200044b6102c08c016200021a565b95506200045c6102e08c016200021a565b94506200046d6103008c016200021a565b93506200047e6103208c016200021a565b92506200048f6103408c016200021a565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d060208401826001600160a01b03169052565b506040810151620004ec60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055f828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fe576020828e0101516103808386010152602082019150620005da565b61038091505f82828601015281601f19601f8301168501019250505062000629602083018b620004a8565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012c56fe61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033a2646970667358221220450a86b208f0f343448e05a1f35c024bd3d10154bc52fe59b8e9669b87d4646564736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 1dfefb228..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,619 +0,0 @@ -export declare const EETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "liquidityPool()": "665a11ca"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 878bec781..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/EETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8vBkioB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqB5loB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 38f589841..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,788 +0,0 @@ -export const EETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b506040516200281e3803806200281e8339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516123ca620004545f395f81816102e20152818161070c0152818161074101526115d801525f818161032d0152610dec01525f81816103930152610cb901525f81816103f90152610b8601525f81816103600152610a5301525f81816103c6015261084a01525f818161047e015261113b01525f818161044b01528181610585015281816107730152818161087a01528181610a8301528181610bb601528181610ce901528181610e1c01528181610f0f015261116c01526123ca5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b806337404017116100d857806337404017146101875780633e5541f11461028357806354fd4d50146102a2578063665a11ca146102d1578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc7014610147578063251f6c4214610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a38565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b70565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061015a610182366004611c2e565b610706565b348015610192575f80fd5b506102766101a1366004611c58565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c6f565b34801561028e575f80fd5b5061015a61029d366004611c2e565b61073b565b3480156102ad575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102dc575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b348015610327575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b50610304610435366004611e43565b610767565b348015610445575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506103046104ba366004611eac565b610f03565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602181526020016123746021913981565b5f80546104fa90611f46565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f46565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611276565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f7e565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611fcd565b92505f6106898234611fe4565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107327f0000000000000000000000000000000000000000000000000000000000000000848461142f565b90505b92915050565b5f6107327f00000000000000000000000000000000000000000000000000000000000000008484611519565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610961578054156107e657604051633be1b34d60e11b815260040160405180910390fd5b6107f086866115cc565b5f6107fb878761170d565b90505f8760405160200161080f9190612003565b6040516020818303038152906040528051906020012090505f878051906020012090505f61083c8a611724565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108b6929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108eb9493929190612236565b6020604051808303815f875af1158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b919061227b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061098d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161099f9190612003565b60405160208183030381529060405280519060200120146109d35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109fd57604051631a3272d160e31b815260040160405180910390fd5b610a0787876115cc565b5f610a1188611724565b6002840154608082015290506001869003610b515760058301546001600160a01b031615610a515760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab893929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aed9493929190612236565b6020604051808303815f875af1158015610b09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d919061227b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c845760068301546001600160a01b031615610b845760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610beb93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c209493929190612236565b6020604051808303815f875af1158015610c3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c60919061227b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610db75760078301546001600160a01b031615610cb75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d1e93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d539493929190612236565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d93919061227b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eea5760088301546001600160a01b031615610dea5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e5193929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e869493929190612236565b6020604051808303815f875af1158015610ea2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec6919061227b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4d57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff557604051632c95caeb60e01b815260040160405180910390fd5b80516110145760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611039575060a08101516001600160a01b0316155b8061104f575060c08101516001600160a01b0316155b80611065575060e08101516001600160a01b0316155b8061107c57506101008101516001600160a01b0316155b1561109a5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110ad908790602001612003565b60405160208183030381529060405280519060200120146110e15760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110c57604051631a3272d160e31b815260040160405180910390fd5b61111685856115cc565b5f61112086611724565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111c2929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111fd9a999897969594939291906122b7565b6020604051808303815f875af1158015611219573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123d919061227b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151156112a957823410156112a25760405163044044a560e21b815260040160405180910390fd5b5081611427565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130a919061227b565b90505f6113178286610706565b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018390529192505f918416906323b872dd906064016020604051808303815f875af115801561136e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113929190612339565b9050806113b2576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0389811660048301526024820184905284169063095ea7b3906044016020604051808303815f875af11580156113fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114229190612339565b505050505b949350505050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114919190611fcd565b9050805f036114a3575f915050611512565b61150e856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115069190611fcd565b8490836117f2565b9150505b9392505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611557573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b9190611fcd565b9050805f0361158d575f915050611512565b61150e846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b6115d6828261180d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630de371e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611632573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611656919061227b565b6001600160a01b031682602001516001600160a01b03161461168b5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166116b357604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c68000146116de576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611709576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107328360200151670de0b6b3a7640000610706565b61172c611921565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f825f190484118302158202611806575f80fd5b5091020490565b6103e882608001511015611834576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361185957604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061188357508161010001518260e001516118809190612354565b15155b156118a15760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118cd5750670de0b6b3a7640000826101c0015160200151115b806118e85750670de0b6b3a7640000826101c0015160400151115b806119035750670de0b6b3a7640000826101c0015160600151115b15611709576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119f060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a19576020818501810151868301820152016119fd565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61073260208301846119f5565b6001600160a01b0381168114611a5e575f80fd5b50565b8035611a6c81611a4a565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611aa857611aa8611a71565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611aa857611aa8611a71565b8015158114611a5e575f80fd5b5f67ffffffffffffffff80841115611af957611af9611a71565b604051601f8501601f19908116603f01168101908282118183101715611b2157611b21611a71565b81604052809350858152868686011115611b39575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b61575f80fd5b61073283833560208501611adf565b5f805f805f60a08688031215611b84575f80fd5b853594506020860135611b9681611a4a565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bc0575f80fd5b908701906060828a031215611bd3575f80fd5b611bdb611a85565b8235611be681611a4a565b81526020830135611bf681611ad2565b6020820152604083013582811115611c0c575f80fd5b611c188b828601611b52565b6040830152508093505050509295509295909350565b5f8060408385031215611c3f575f80fd5b8235611c4a81611a4a565b946020939093013593505050565b5f60208284031215611c68575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cfc575f80fd5b6040516080810181811067ffffffffffffffff82111715611d1f57611d1f611a71565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d61575f80fd5b611d69611aae565b9050611d7482611a61565b8152611d8260208301611a61565b6020820152611d9360408301611a61565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611df0818401611a61565b90820152610160611e02838201611a61565b90820152610180611e14838201611a61565b908201526101a0611e26838201611a61565b908201526101c0611e3984848301611cec565b9082015292915050565b5f805f805f6102c08688031215611e58575f80fd5b85359450611e698760208801611d50565b935061026086013567ffffffffffffffff811115611e85575f80fd5b611e9188828901611b52565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ec1575f80fd5b85359450602086013567ffffffffffffffff80821115611edf575f80fd5b818801915088601f830112611ef2575f80fd5b611f0189833560208501611adf565b9550611f108960408a01611d50565b9450610280880135915080821115611f26575f80fd5b50611f3388828901611b52565b959894975092956102a001359392505050565b600181811c90821680611f5a57607f821691505b602082108103611f7857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611fc360c08401826119f5565b9695505050505050565b5f60208284031215611fdd575f80fd5b5051919050565b8181038181111561073557634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161202f60208401826001600160a01b03169052565b50604083015161204a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120b0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ce4565b80516001600160a01b03168252602081015161214060208401826001600160a01b03169052565b50604081015161215b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121cd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c06122448388612119565b6001600160a01b0386166102608401526102808301819052612268818401866119f5565b915050826102a083015295945050505050565b5f6020828403121561228b575f80fd5b815161151281611a4a565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ca8184018e6119f5565b90506122d9602084018d612119565b6001600160a01b038b81166102808501528382036102a08501526122fd828c6119f5565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612349575f80fd5b815161151281611ad2565b5f8261236e57634e487b7160e01b5f52601260045260245ffd5b50069056fe45455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb7fdab6b1a7e0099dfe1ab95a0b970744f788d179e5d614cc9cac5361d50bba64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "liquidityPool()": "665a11ca", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts deleted file mode 100644 index cd4774ea3..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts +++ /dev/null @@ -1,1557 +0,0 @@ -export declare const EETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "liquidityPool()": "665a11ca"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map deleted file mode 100644 index 2f71b9e7d..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget0.d.ts","sourceRoot":"","sources":["../src/EETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq4Dk5+B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Ct7+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0.js b/packages/hyperdrive-artifacts/dist/EETHTarget0.js deleted file mode 100644 index bfc993d6d..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0.js +++ /dev/null @@ -1,1969 +0,0 @@ -export const EETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "liquidityPool()": "665a11ca", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts deleted file mode 100644 index a89c22dfe..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map deleted file mode 100644 index d35391f47..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKovkC,KAAK,MAAM,EAAE;;;;;CAKhykC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js deleted file mode 100644 index 675178d3f..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161448038038061448083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143f76100895f395f8181603d015260b801526143f75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613ecb806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033a2646970667358221220a6831cdf5f39d83855e8a445a49d7e643f3ac418aca30c6d5e2b3b855072f45d64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts deleted file mode 100644 index 6656cb943..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts +++ /dev/null @@ -1,785 +0,0 @@ -export declare const EETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=EETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map deleted file mode 100644 index 1111798cb..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget1.d.ts","sourceRoot":"","sources":["../src/EETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw8Bst/B,KAAK,MAAM,EAAE;;;;;;CAM1v/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1.js b/packages/hyperdrive-artifacts/dist/EETHTarget1.js deleted file mode 100644 index bdeda0195..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1.js +++ /dev/null @@ -1,975 +0,0 @@ -export const EETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts deleted file mode 100644 index 2e7e45a41..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map deleted file mode 100644 index f295f063e..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKwjlC,KAAK,MAAM,EAAE;;;;;CAKpmlC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js deleted file mode 100644 index 0b5eae3dd..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161452238038061452283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144996100895f395f8181603d015260b801526144995ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f6d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033a2646970667358221220ad4ce9a6fe4476b25693872e405cf042beb8c780ac11f3766f4df9175073056964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts deleted file mode 100644 index de714a414..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts +++ /dev/null @@ -1,793 +0,0 @@ -export declare const EETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=EETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map deleted file mode 100644 index e407ad29c..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget2.d.ts","sourceRoot":"","sources":["../src/EETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9B8xgC,KAAK,MAAM,EAAE;;;;;;CAMl0gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2.js b/packages/hyperdrive-artifacts/dist/EETHTarget2.js deleted file mode 100644 index fc8ab3560..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2.js +++ /dev/null @@ -1,985 +0,0 @@ -export const EETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts deleted file mode 100644 index e442c2d03..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map deleted file mode 100644 index e5bbde2f4..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKgomC,KAAK,MAAM,EAAE;;;;;CAK5qmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js deleted file mode 100644 index 0f3a73187..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161464638038061464683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145bd6100895f395f8181603d015260b801526145bd5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614091806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033a26469706673582212207f61c2c41875cea09cc584c35a076ce90c66a4d2a70c82ade54f9037ba1df07264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts deleted file mode 100644 index 35a3155c8..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const EETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=EETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map deleted file mode 100644 index b3613b38f..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget3.d.ts","sourceRoot":"","sources":["../src/EETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs+BwkgC,KAAK,MAAM,EAAE;;;;;;CAM5mgC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3.js b/packages/hyperdrive-artifacts/dist/EETHTarget3.js deleted file mode 100644 index c2219b96b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3.js +++ /dev/null @@ -1,1005 +0,0 @@ -export const EETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts deleted file mode 100644 index 0d6f239f1..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map deleted file mode 100644 index 5411aecad..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK06lC,KAAK,MAAM,EAAE;;;;;CAKt9lC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js deleted file mode 100644 index bc710014b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516145db3803806145db83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145526100895f395f8181603d015260b801526145525ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614026806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033a2646970667358221220b76d00495249c7f4e4c99e5eb276d120a5b898bcacb6a2520890e6a2e82c1a1364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts deleted file mode 100644 index d05b70b2b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts +++ /dev/null @@ -1,800 +0,0 @@ -export declare const EETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=EETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map deleted file mode 100644 index 32b401e08..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget4.d.ts","sourceRoot":"","sources":["../src/EETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA09B40zB,KAAK,MAAM,EAAE;;;;;;;CAOh3zB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4.js b/packages/hyperdrive-artifacts/dist/EETHTarget4.js deleted file mode 100644 index 44d3a1e47..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4.js +++ /dev/null @@ -1,994 +0,0 @@ -export const EETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts deleted file mode 100644 index c6e083449..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map deleted file mode 100644 index 3b2cdd82b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK8q5B,KAAK,MAAM,EAAE;;;;;CAK1t5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js deleted file mode 100644 index b7aa8751d..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161395d38038061395d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138d46100895f395f8181603d015260b801526138d45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6133a8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033a2646970667358221220031583c44c74a3841c7428e01c807d25c70e43634d2d0e5b0f45bc1e9b5e4f9964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts b/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts deleted file mode 100644 index e6647ab74..000000000 --- a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -export declare const EModeLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeSetUserEMode(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => uint8) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSetUserEModeParams)": "5d5dc313"; - }; -}; -//# sourceMappingURL=EModeLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map deleted file mode 100644 index 6c4dc1ff5..000000000 --- a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EModeLogic.d.ts","sourceRoot":"","sources":["../src/EModeLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;cAsBuhQ,KAAK,MAAM,EAAE;;;;CAI1jQ,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EModeLogic.js b/packages/hyperdrive-artifacts/dist/EModeLogic.js deleted file mode 100644 index 13702f2b1..000000000 --- a/packages/hyperdrive-artifacts/dist/EModeLogic.js +++ /dev/null @@ -1,27 +0,0 @@ -export const EModeLogic = { - abi: [ - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - } - ], - bytecode: '0x610fd8610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610034575f3560e01c80635d5dc31314610038575b5f80fd5b818015610043575f80fd5b50610057610052366004610df4565b610059565b005b604080516020810182528354815282519183015161007d9289928992899290610121565b335f908152602084905260409081902080549183015160ff90811660ff198416179091551680156100da576100d7878787866040518060200160405290815f82015481525050338760400151885f0151896020015161023e565b50505b604080830151905160ff909116815233907fd728da875fc88944cbf17638bcbe4af0eedaef63becd1d1c57cc097eb4608d849060200160405180910390a250505050505050565b60ff8116158061014b575060ff81165f9081526020859052604090205462010000900461ffff1615155b6040518060400160405280600281526020016106a760f31b8152509061018d5760405162461bcd60e51b81526004016101849190610ebb565b60405180910390fd5b508251156102365760ff811615610236575f5b82811015610234576101b284826102e8565b1561022c575f81815260208781526040808320546001600160a01b03168352898252918290208251918201909252905480825260ff8481169160a81c16146040518060400160405280600281526020016106a760f31b815250906102295760405162461bcd60e51b81526004016101849190610ebb565b50505b6001016101a0565b505b505050505050565b5f805f806102898c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff1681525061033b565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b815250906102d65760405162461bcd60e51b81526004016101849190610ebb565b50909b909a5098505050505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106103245760405162461bcd60e51b81526004016101849190610ebb565b50508151600182811b9190911c1615155b92915050565b5f805f805f8061034d875f0151511590565b1561036957505f94508493508392508291505f199050816107f0565b6103f86040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561043c57608088015160ff165f90815260208a905260409020606089015161042991906107fd565b6101808401526101c08301526101a08201525b87602001518160c0015110156107155760c0810151885161045c916108a6565b6104705760c081018051600101905261043c565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526104a85760c081018051600101905261043c565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906105305750816101e00151896080015160ff16145b6105ac57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190610f07565b6105b3565b8161018001515b825260a0820151158015906105d3575060c082015189516105d3916108f5565b156106c2576105ef896040015182845f01518560200151610943565b6040830181905261010083018051610608908390610f32565b90525060808901516101e08301516106239160ff16906109f8565b151561024083015260808201511561067957816102400151610649578160800151610650565b816101a001515b826040015161065f9190610f45565b82610140018181516106719190610f32565b905250610682565b60016102208301525b816102400151610696578160a0015161069d565b816101c001515b82604001516106ac9190610f45565b82610160018181516106be9190610f32565b9052505b60c082015189516106d2916102e8565b15610704576106ee896040015182845f01518560200151610a0e565b82610120018181516107009190610f32565b9052505b5060c081018051600101905261043c565b8061010001515f03610727575f610742565b8061010001518161014001518161074057610740610f5c565b045b6101408201526101008101515f0361075a575f610775565b8061010001518161016001518161077357610773610f5c565b045b610160820152610120810151156107b7576107b28161012001516107ac836101600151846101000151610b3d90919063ffffffff16565b90610b61565b6107ba565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b81545f90819081908190660100000000000090046001600160a01b0316801561088b5760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015610864573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108889190610f07565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106108e25760405162461bcd60e51b81526004016101849190610ebb565b5050905160019190911b1c600316151590565b6040805180820190915260028152610dcd60f21b60208201525f90608083106109315760405162461bcd60e51b81526004016101849190610ebb565b50509051600191821b82011c16151590565b5f8061094e85610b96565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926109d1928692911690631da24f3e90602401602060405180830381865afa1580156109a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cb9190610f07565b90610bec565b6109db9190610f45565b90508381816109ec576109ec610f5c565b04979650505050505050565b5f8215801590610a0757508282145b9392505050565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015610a5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7f9190610f07565b90508015610a9d57610a9a610a9386610c2e565b8290610bec565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015610ae7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610f07565b610b159082610f32565b9050610b218185610f45565b9050828181610b3257610b32610f5c565b049695505050505050565b5f81156113881983900484111517610b53575f80fd5b506127109102611388010490565b5f8115670de0b6b3a764000060028404190484111715610b7f575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff16428103610bc4575050600101546001600160801b031690565b6001830154610a07906001600160801b03808216916109cb91600160801b9091041684610c84565b5f81156b019d971e4fe8401e740000001983900484111517610c0c575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60038101545f90600160801b900464ffffffffff16428103610c5c575050600201546001600160801b031690565b6002830154610a07906001600160801b03808216916109cb91600160801b9091041684610cc8565b5f80610c9764ffffffffff841642610f70565b610ca19085610f45565b6301e1338090049050610cc0816b033b2e3c9fd0803ce8000000610f32565b949350505050565b5f610a078383425f80610ce264ffffffffff851684610f70565b9050805f03610d00576b033b2e3c9fd0803ce8000000915050610a07565b5f1981015f808060028511610d15575f610d1a565b600285035b925066038882915c4000610d2e8a80610bec565b81610d3b57610d3b610f5c565b0491506301e13380610d4d838b610bec565b81610d5a57610d5a610f5c565b0490505f82610d698688610f45565b610d739190610f45565b6002900490505f8285610d86888a610f45565b610d909190610f45565b610d9a9190610f45565b60069004905080826301e13380610db18a8f610f45565b610dbb9190610f83565b610dd1906b033b2e3c9fd0803ce8000000610f32565b610ddb9190610f32565b610de59190610f32565b9b9a5050505050505050505050565b5f805f805f80868803610100811215610e0b575f80fd5b873596506020880135955060408801359450606080890135945060808901359350609f1982011215610e3b575f80fd5b506040516060810181811067ffffffffffffffff82111715610e6b57634e487b7160e01b5f52604160045260245ffd5b60405260a0880135815260c08801356001600160a01b0381168114610e8e575f80fd5b602082015260e088013560ff81168114610ea6575f80fd5b80604083015250809150509295509295509295565b5f602080835283518060208501525f5b81811015610ee757858101830151858201604001528201610ecb565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215610f17575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033557610335610f1e565b808202811582820484141761033557610335610f1e565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561033557610335610f1e565b5f82610f9d57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212205fedc852856008db381a4b471a87bb15242fc3a860ea279677529381f57b359c64736f6c63430008160033', - methodIdentifiers: { - "executeSetUserEMode(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => uint8) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSetUserEModeParams)": "5d5dc313" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20.d.ts b/packages/hyperdrive-artifacts/dist/ERC20.d.ts deleted file mode 100644 index 781ba2f55..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20.d.ts +++ /dev/null @@ -1,247 +0,0 @@ -export declare const ERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=ERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20.d.ts.map deleted file mode 100644 index 5df2c699f..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../src/ERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4SE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAehC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20.js b/packages/hyperdrive-artifacts/dist/ERC20.js deleted file mode 100644 index b4cae2fb1..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20.js +++ /dev/null @@ -1,316 +0,0 @@ -export const ERC20 = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts b/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts deleted file mode 100644 index 6a93fe17a..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts +++ /dev/null @@ -1,318 +0,0 @@ -export declare const ERC20Forwarder: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "token"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "source"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "token()": "fc0c546a"; - readonly "tokenId()": "17d70f7c"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC20Forwarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map deleted file mode 100644 index cfba3a1ca..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20Forwarder.d.ts","sourceRoot":"","sources":["../src/ERC20Forwarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiYiiR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBxkR,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.js b/packages/hyperdrive-artifacts/dist/ERC20Forwarder.js deleted file mode 100644 index 6a89e6239..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.js +++ /dev/null @@ -1,406 +0,0 @@ -export const ERC20Forwarder = { - abi: [ - { - "type": "constructor", - "inputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "token", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "source", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - } - ], - bytecode: '0x60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "kind()": "04baa00b", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "token()": "fc0c546a", - "tokenId()": "17d70f7c", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts b/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts deleted file mode 100644 index 6e36ded6a..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC20ForwarderFactory: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ERC20LINK_HASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "create"; - readonly inputs: readonly [{ - readonly name: "__token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "__tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20Forwarder"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getDeployDetails"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getForwarder"; - readonly inputs: readonly [{ - readonly name: "__token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "__tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "InvalidForwarderAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ERC20LINK_HASH()": "d13053bb"; - readonly "create(address,uint256)": "0ecaea73"; - readonly "getDeployDetails()": "600eb4ba"; - readonly "getForwarder(address,uint256)": "0710fd58"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC20ForwarderFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map deleted file mode 100644 index 6ec591c79..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20ForwarderFactory.d.ts","sourceRoot":"","sources":["../src/ERC20ForwarderFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyI8sY,KAAK,MAAM,EAAE;;;;;;;;;;CAU5vY,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js b/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js deleted file mode 100644 index b60b208b8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js +++ /dev/null @@ -1,148 +0,0 @@ -export const ERC20ForwarderFactory = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ERC20LINK_HASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "create", - "inputs": [ - { - "name": "__token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "__tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20Forwarder" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getDeployDetails", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getForwarder", - "inputs": [ - { - "name": "__token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "__tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "InvalidForwarderAddress", - "inputs": [] - } - ], - bytecode: '0x6080604052600180546001600160a01b03191681178155600255348015610024575f80fd5b5060405161186e38038061186e83398101604081905261004391610069565b5f61004e82826101af565b505061026e565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561007a575f80fd5b82516001600160401b0380821115610090575f80fd5b818501915085601f8301126100a3575f80fd5b8151818111156100b5576100b5610055565b604051601f8201601f19908116603f011681019083821181831017156100dd576100dd610055565b8160405282815288868487010111156100f4575f80fd5b5f93505b8284101561011557848401860151818501870152928501926100f8565b5f86848301015280965050505050505092915050565b600181811c9082168061013f57607f821691505b60208210810361015d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101aa57805f5260205f20601f840160051c810160208510156101885750805b601f840160051c820191505b818110156101a7575f8155600101610194565b50505b505050565b81516001600160401b038111156101c8576101c8610055565b6101dc816101d6845461012b565b84610163565b602080601f83116001811461020f575f84156101f85750858301515b5f19600386901b1c1916600185901b178555610266565b5f85815260208120601f198616915b8281101561023d5788860151825594840194600190910190840161021e565b508582101561025a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6115f38061027b5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c80630ecaea73116100585780630ecaea73146100fb57806354fd4d501461010e578063600eb4ba14610134578063d13053bb1461016a575f80fd5b806304baa00b1461007e57806306fdde03146100c85780630710fd58146100d0575b5f80fd5b6100b2604051806040016040528060158152602001744552433230466f72776172646572466163746f727960581b81525081565b6040516100bf91906103f0565b60405180910390f35b6100b2610180565b6100e36100de36600461043c565b61020b565b6040516001600160a01b0390911681526020016100bf565b6100e361010936600461043c565b6102de565b6100b260405180604001604052806007815260200166076312e302e32360cc1b81525081565b61014b6001546002546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016100bf565b6101726103b6565b6040519081526020016100bf565b5f805461018c90610471565b80601f01602080910402602001604051908101604052809291908181526020018280546101b890610471565b80156102035780601f106101da57610100808354040283529160200191610203565b820191905f5260205f20905b8154815290600101906020018083116101e657829003601f168201915b505050505081565b604080516001600160a01b03841660208201529081018290525f9081906060016040516020818303038152906040528051906020012090505f60ff60f81b30836040518060200161025b906103e3565b6020820181038252601f19601f82011660405250805190602001206040516020016102bd94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051808303601f19018152919052805160209091012095945050505050565b6002819055600180546001600160a01b0319166001600160a01b03841690811790915560408051602081019290925281018290525f9081906060016040516020818303038152906040528051906020012090505f8160405161033f906103e3565b8190604051809103905ff590508015801561035c573d5f803e3d5ffd5b509050610369858561020b565b6001600160a01b0316816001600160a01b0316146103995760405162e0775560e61b815260040160405180910390fd5b600180546001600160a01b03191681178155600255949350505050565b6040516103c5602082016103e3565b6020820181038252601f19601f820116604052508051906020012081565b611114806104aa83390190565b5f602080835283518060208501525f5b8181101561041c57858101830151858201604001528201610400565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561044d575f80fd5b82356001600160a01b0381168114610463575f80fd5b946020939093013593505050565b600181811c9082168061048557607f821691505b6020821081036104a357634e487b7160e01b5f52602260045260245ffd5b5091905056fe60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033a264697066735822122077ff4715aad5e900a0eb1d5c03c2f718a47d434f98962105db8d4a1f1d659e7364736f6c63430008160033', - methodIdentifiers: { - "ERC20LINK_HASH()": "d13053bb", - "create(address,uint256)": "0ecaea73", - "getDeployDetails()": "600eb4ba", - "getForwarder(address,uint256)": "0710fd58", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts b/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts deleted file mode 100644 index 1dcb03a9f..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts +++ /dev/null @@ -1,723 +0,0 @@ -export declare const ERC20Mintable: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "symbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isCompetitionMode_"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "maxMintAmount_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - }; -}; -//# sourceMappingURL=ERC20Mintable.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map deleted file mode 100644 index ed435cb59..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20Mintable.d.ts","sourceRoot":"","sources":["../src/ERC20Mintable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu3B4wf,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuClzf,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Mintable.js b/packages/hyperdrive-artifacts/dist/ERC20Mintable.js deleted file mode 100644 index ce81fea52..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Mintable.js +++ /dev/null @@ -1,927 +0,0 @@ -export const ERC20Mintable = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "symbol", - "type": "string", - "internalType": "string" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "admin", - "type": "address", - "internalType": "address" - }, - { - "name": "isCompetitionMode_", - "type": "bool", - "internalType": "bool" - }, - { - "name": "maxMintAmount_", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - } - ], - bytecode: '0x61010060405234801562000011575f80fd5b5060405162001f8938038062001f8983398101604081905262000034916200028a565b823081818989895f620000488482620003cb565b506001620000578382620003cb565b5060ff81166080524660a0526200006d6200011a565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55506200051192505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200014c919062000497565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001d8575f80fd5b81516001600160401b0380821115620001f557620001f5620001b4565b604051601f8301601f19908116603f01168101908282118183101715620002205762000220620001b4565b81604052838152602092508660208588010111156200023d575f80fd5b5f91505b8382101562000260578582018301518183018401529082019062000241565b5f602085830101528094505050505092915050565b8051801515811462000285575f80fd5b919050565b5f805f805f8060c08789031215620002a0575f80fd5b86516001600160401b0380821115620002b7575f80fd5b620002c58a838b01620001c8565b97506020890151915080821115620002db575f80fd5b50620002ea89828a01620001c8565b955050604087015160ff8116811462000301575f80fd5b60608801519094506001600160a01b03811681146200031e575f80fd5b92506200032e6080880162000275565b915060a087015190509295509295509295565b600181811c908216806200035657607f821691505b6020821081036200037557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003c657805f5260205f20601f840160051c81016020851015620003a25750805b601f840160051c820191505b81811015620003c3575f8155600101620003ae565b50505b505050565b81516001600160401b03811115620003e757620003e7620001b4565b620003ff81620003f8845462000341565b846200037b565b602080601f83116001811462000435575f84156200041d5750858301515b5f19600386901b1c1916600185901b1785556200048f565b5f85815260208120601f198616915b82811015620004655788860151825594840194600190910190840162000444565b50858210156200048357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620004a68162000341565b60018281168015620004c15760018114620004d75762000505565b60ff198416875282151583028701945062000505565b875f526020805f205f5b85811015620004fc5781548a820152908401908201620004e1565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611a1a6200056f5f395f81816103c7015281816105d3015281816106e8015281816109bb01528181610a5801528181610d8a0152610deb01525f61099701525f61096201525f6103080152611a1a5ff3fe608060405234801561000f575f80fd5b5060043610610213575f3560e01c80637a8c63b51161011f578063b7009613116100a9578063dd62ed3e11610079578063dd62ed3e1461050a578063e688747b14610534578063ea7ca27614610569578063ed0d0efb1461059f578063f2fde38b146105be575f80fd5b8063b7009613146104a9578063bf7e214f146104bc578063c53a3985146104cf578063d505accf146104f7575f80fd5b806395d89b41116100ef57806395d89b41146104465780639dc29fac1461044e578063a0712d6814610461578063a9059cbb14610474578063aed3077714610487575f80fd5b80637a8c63b5146103c25780637a9e5e4b146103e95780637ecebe00146103fc5780638da5cb5b1461041b575f80fd5b806323b872dd116101a057806342966c681161017057806342966c68146103575780634b5159da1461036a57806367aff4841461037d57806370a0823114610390578063728b952b146103af575f80fd5b806323b872dd146102f0578063313ce567146103035780633644e5151461033c57806340c10f1914610344575f80fd5b8063095ea7b3116101e6578063095ea7b3146102865780630bade8a4146102a95780630ea9b75b146102cb57806318160ddd146102de578063239c70ae146102e7575f80fd5b806305f05a941461021757806306a36aee1461022c57806306fdde031461025e578063088a4ed014610273575b5f80fd5b61022a6102253660046114ae565b6105d1565b005b61024b61023a3660046114e5565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b61026661065b565b6040516102559190611500565b61022a61028136600461154c565b6106e6565b610299610294366004611563565b610742565b6040519015158152602001610255565b6102996102b73660046115a9565b600a6020525f908152604090205460ff1681565b61022a6102d93660046115d2565b6107ae565b61024b60025481565b61024b600c5481565b6102996102fe366004611616565b610883565b61032a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610255565b61024b61095f565b61022a610352366004611563565b6109b9565b61022a61036536600461154c565b610a56565b61022a610378366004611654565b610aba565b61022a61038b36600461166e565b610b4a565b61024b61039e3660046114e5565b60036020525f908152604090205481565b61022a6103bd366004611699565b610c0f565b6102997f000000000000000000000000000000000000000000000000000000000000000081565b61022a6103f73660046114e5565b610c96565b61024b61040a3660046114e5565b60056020525f908152604090205481565b60065461042e906001600160a01b031681565b6040516001600160a01b039091168152602001610255565b610266610d7b565b61022a61045c366004611563565b610d88565b61022a61046f36600461154c565b610de9565b610299610482366004611563565b610e82565b6102996104953660046114e5565b600d6020525f908152604090205460ff1681565b6102996104b73660046116c5565b610ee5565b60075461042e906001600160a01b031681565b61042e6104dd3660046114e5565b60086020525f90815260409020546001600160a01b031681565b61022a610505366004611709565b610fde565b61024b610518366004611699565b600460209081525f928352604080842090915290825290205481565b610299610542366004611772565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6102996105773660046117a3565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61024b6105ad3660046115a9565b600b6020525f908152604090205481565b61022a6105cc3660046114e5565b61121c565b7f0000000000000000000000000000000000000000000000000000000000000000156106315761060c335f356001600160e01b031916611298565b6106315760405162461bcd60e51b8152600401610628906117cd565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461066790611804565b80601f016020809104026020016040519081016040528092919081815260200182805461069390611804565b80156106de5780601f106106b5576101008083540402835291602001916106de565b820191905f5260205f20905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b7f00000000000000000000000000000000000000000000000000000000000000001561073d57610721335f356001600160e01b031916611298565b61073d5760405162461bcd60e51b8152600401610628906117cd565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079c9086815260200190565b60405180910390a35060015b92915050565b6107c3335f356001600160e01b031916611298565b6107df5760405162461bcd60e51b81526004016106289061183c565b801561080e576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610834565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610876911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146108dc576108b88382611876565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610903908490611876565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206119c58339815191529061094a9087815260200190565b60405180910390a360019150505b9392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146109945761098f61133f565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610a10576109f4335f356001600160e01b031916611298565b610a105760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610a4857600c54811115610a485760405162461bcd60e51b815260040161062890611889565b610a5282826113d7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610aad57610a91335f356001600160e01b031916611298565b610aad5760405162461bcd60e51b8152600401610628906117cd565b610ab7338261142e565b50565b610acf335f356001600160e01b031916611298565b610aeb5760405162461bcd60e51b81526004016106289061183c565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610b5f335f356001600160e01b031916611298565b610b7b5760405162461bcd60e51b81526004016106289061183c565b8015610ba9576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610bce565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610876911515815260200190565b610c24335f356001600160e01b031916611298565b610c405760405162461bcd60e51b81526004016106289061183c565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480610d28575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610ce990339030906001600160e01b03195f3516906004016118cb565b602060405180830381865afa158015610d04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2891906118f8565b610d30575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001805461066790611804565b7f000000000000000000000000000000000000000000000000000000000000000015610ddf57610dc3335f356001600160e01b031916611298565b610ddf5760405162461bcd60e51b8152600401610628906117cd565b610a52828261142e565b7f000000000000000000000000000000000000000000000000000000000000000015610e4057610e24335f356001600160e01b031916611298565b610e405760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610e7857600c54811115610e785760405162461bcd60e51b815260040161062890611889565b610ab733826113d7565b335f90815260036020526040812080548391908390610ea2908490611876565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206119c58339815191529061079c9086815260200190565b6001600160a01b038083165f908152600860205260408120549091168015610f7e5760405163b700961360e01b81526001600160a01b0382169063b700961390610f37908890889088906004016118cb565b602060405180830381865afa158015610f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7691906118f8565b915050610958565b6001600160e01b031983165f908152600a602052604090205460ff1680610fd557506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b4284101561102e5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610628565b5f600161103961095f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015611141573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906111775750876001600160a01b0316816001600160a01b0316145b6111b45760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610628565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b611231335f356001600160e01b031916611298565b61124d5760405162461bcd60e51b81526004016106289061183c565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b0316801580159061131f575060405163b700961360e01b81526001600160a01b0382169063b7009613906112e0908790309088906004016118cb565b602060405180830381865afa1580156112fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131f91906118f8565b8061133757506006546001600160a01b038581169116145b949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405161136f9190611913565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f8282546113e891906119b1565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206119c583398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611455908490611876565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206119c583398151915290602001611422565b6001600160a01b0381168114610ab7575f80fd5b8015158114610ab7575f80fd5b5f80604083850312156114bf575f80fd5b82356114ca8161148d565b915060208301356114da816114a1565b809150509250929050565b5f602082840312156114f5575f80fd5b81356109588161148d565b5f602080835283518060208501525f5b8181101561152c57858101830151858201604001528201611510565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561155c575f80fd5b5035919050565b5f8060408385031215611574575f80fd5b823561157f8161148d565b946020939093013593505050565b80356001600160e01b0319811681146115a4575f80fd5b919050565b5f602082840312156115b9575f80fd5b6109588261158d565b803560ff811681146115a4575f80fd5b5f805f606084860312156115e4575f80fd5b6115ed846115c2565b92506115fb6020850161158d565b9150604084013561160b816114a1565b809150509250925092565b5f805f60608486031215611628575f80fd5b83356116338161148d565b925060208401356116438161148d565b929592945050506040919091013590565b5f8060408385031215611665575f80fd5b6114ca8361158d565b5f805f60608486031215611680575f80fd5b833561168b8161148d565b92506115fb602085016115c2565b5f80604083850312156116aa575f80fd5b82356116b58161148d565b915060208301356114da8161148d565b5f805f606084860312156116d7575f80fd5b83356116e28161148d565b925060208401356116f28161148d565b91506117006040850161158d565b90509250925092565b5f805f805f805f60e0888a03121561171f575f80fd5b873561172a8161148d565b9650602088013561173a8161148d565b95506040880135945060608801359350611756608089016115c2565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611783575f80fd5b61178c836115c2565b915061179a6020840161158d565b90509250929050565b5f80604083850312156117b4575f80fd5b82356117bf8161148d565b915061179a602084016115c2565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c9082168061181857607f821691505b60208210810361183657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107a8576107a8611862565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611908575f80fd5b8151610958816114a1565b5f8083545f60018260011c9150600183168061193057607f831692505b6020808410820361194f57634e487b7160e01b5f52602260045260245ffd5b8180156119635760018114611978576119a3565b60ff19861689528415158502890196506119a3565b5f8a8152602090205f5b8681101561199b5781548b820152908501908301611982565b505084890196505b509498975050505050505050565b808201808211156107a8576107a861186256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220327bc91d6f09a925c146c80290bfde7f90aab0f56a72af8861f409aa3948d81964736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626.d.ts deleted file mode 100644 index 5a7753b4d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts +++ /dev/null @@ -1,558 +0,0 @@ -export declare const ERC4626: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "balanceOf(address)": "70a08231"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256,address,address)": "b460af94"; - }; -}; -//# sourceMappingURL=ERC4626.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map deleted file mode 100644 index 444846a87..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626.d.ts","sourceRoot":"","sources":["../src/ERC4626.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkrBA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626.js b/packages/hyperdrive-artifacts/dist/ERC4626.js deleted file mode 100644 index 09407cb32..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626.js +++ /dev/null @@ -1,722 +0,0 @@ -export const ERC4626 = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts deleted file mode 100644 index ac244f173..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const ERC4626Base: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ERC4626Base.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map deleted file mode 100644 index 4626ef383..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Base.d.ts","sourceRoot":"","sources":["../src/ERC4626Base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBJ,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Base.js b/packages/hyperdrive-artifacts/dist/ERC4626Base.js deleted file mode 100644 index 3052b9025..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Base.js +++ /dev/null @@ -1,656 +0,0 @@ -export const ERC4626Base = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts deleted file mode 100644 index ef96ad134..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ERC4626Conversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ERC4626Conversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map deleted file mode 100644 index bad154f7e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Conversions.d.ts","sourceRoot":"","sources":["../src/ERC4626Conversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;cAEmQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.js b/packages/hyperdrive-artifacts/dist/ERC4626Conversions.js deleted file mode 100644 index 345a2ff1f..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ERC4626Conversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206342abdde17a804bc069629bb17530c9892231b5ab21dfb0262d9fe17e0ef05064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts deleted file mode 100644 index 41d6e9684..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts +++ /dev/null @@ -1,1350 +0,0 @@ -export declare const ERC4626Hyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=ERC4626Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map deleted file mode 100644 index 5c0999ea5..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Hyperdrive.d.ts","sourceRoot":"","sources":["../src/ERC4626Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuoD01a,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bp4a,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js b/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js deleted file mode 100644 index 6264bf89c..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js +++ /dev/null @@ -1,1703 +0,0 @@ -export const ERC4626Hyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts deleted file mode 100644 index e5a493fb6..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const ERC4626HyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=ERC4626HyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index d8d9950c6..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626HyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/ERC4626HyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2KgjhB,KAAK,MAAM,EAAE;;;;CAItmhB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js deleted file mode 100644 index a6cac6729..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const ERC4626HyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506121068061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611ab2806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033a2646970667358221220fdcc5ef1e806b823ef7b08ac5894ec6168915c6e11a413d32e99ac705377a1df64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index bdfedb48e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,628 +0,0 @@ -export declare const ERC4626HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC4626HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 2bbf559ff..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/ERC4626HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6wBu7qB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBp/qB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js deleted file mode 100644 index dfdd3f88d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,802 +0,0 @@ -export const ERC4626HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002aea38038062002aea8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126d06200041a5f395f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526126d05ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bf4565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611d29565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611de7565b6106d0565b348015610187575f80fd5b5061026b610196366004611e11565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611e28565b348015610283575f80fd5b5061014f610292366004611de7565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611ffc565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004612065565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602481526020016126776024913981565b5f80546104bc906120ff565b80601f01602080910402602001604051908101604052809291908181526020018280546104e8906120ff565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190612137565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612186565b92505f61065382346121b1565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db8383611329565b90505b92915050565b5f6106db8383611393565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b61077886866113c2565b5f61078387876115cf565b90505f8760405160200161079791906121c4565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a6115e6565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161087394939291906123f7565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b3919061243c565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161092791906121c4565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f87876113c2565b5f610999886115e6565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a4093929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a7594939291906123f7565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab5919061243c565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b7393929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba894939291906123f7565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be8919061243c565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca693929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb94939291906123f7565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b919061243c565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd993929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e94939291906123f7565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e919061243c565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110359087906020016121c4565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e85856113c2565b5f6110a8866115e6565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a99989796959493929190612478565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c5919061243c565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561129257856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611267573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128b919061243c565b90506112f5565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f2919061243c565b90505b61130a6001600160a01b0382168630876116b4565b61131e6001600160a01b0382168786611721565b505f95945050505050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa15801561136f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190612186565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611354565b6113cc82826117b0565b60208201516001600160a01b03166113f75760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145b919061243c565b6001600160a01b0316825f01516001600160a01b03161461148f57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f491906124fa565b6114fe919061251a565b61150990600a612613565b8260800151101561152d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159291906124fa565b61159c919061251a565b6115a790600a612613565b8260a0015110156115cb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b6115ee611ad3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261171b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506118c4565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611772848261192f565b61171b576040516001600160a01b0384811660248301525f60448301526117a691869182169063095ea7b3906064016116e9565b61171b84826118c4565b6103e8826080015110156117d7576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117fc57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061182657508161010001518260e001516118239190612621565b15155b156118445760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118705750670de0b6b3a7640000826101c0015160200151115b8061188b5750670de0b6b3a7640000826101c0015160400151115b806118a65750670de0b6b3a7640000826101c0015160600151115b156115cb576040516322f72cc360e11b815260040160405180910390fd5b5f6118d86001600160a01b038416836119cc565b905080515f141580156118fc5750808060200190518101906118fa9190612640565b155b1561192a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161194a919061265b565b5f604051808303815f865af19150503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b50915091508180156119b25750805115806119b25750808060200190518101906119b29190612640565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b031684866040516119f0919061265b565b5f6040518083038185875af1925050503d805f8114611a2a576040519150601f19603f3d011682016040523d82523d5f602084013e611a2f565b606091505b5091509150611a3f868383611a4b565b925050505b9392505050565b606082611a6057611a5b82611aa7565b611a44565b8151158015611a7757506001600160a01b0384163b155b15611aa057604051639996b31560e01b81526001600160a01b0385166004820152602401611921565b5080611a44565b805115611ab75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ba260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611bc1578181015183820152602001611ba9565b50505f910152565b5f8151808452611be0816020860160208601611ba7565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611bc9565b6001600160a01b0381168114611ad0575f80fd5b8035611c2581611c06565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c6157611c61611c2a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c6157611c61611c2a565b8015158114611ad0575f80fd5b5f67ffffffffffffffff80841115611cb257611cb2611c2a565b604051601f8501601f19908116603f01168101908282118183101715611cda57611cda611c2a565b81604052809350858152868686011115611cf2575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611d1a575f80fd5b6106db83833560208501611c98565b5f805f805f60a08688031215611d3d575f80fd5b853594506020860135611d4f81611c06565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d79575f80fd5b908701906060828a031215611d8c575f80fd5b611d94611c3e565b8235611d9f81611c06565b81526020830135611daf81611c8b565b6020820152604083013582811115611dc5575f80fd5b611dd18b828601611d0b565b6040830152508093505050509295509295909350565b5f8060408385031215611df8575f80fd5b8235611e0381611c06565b946020939093013593505050565b5f60208284031215611e21575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611eb5575f80fd5b6040516080810181811067ffffffffffffffff82111715611ed857611ed8611c2a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f1a575f80fd5b611f22611c67565b9050611f2d82611c1a565b8152611f3b60208301611c1a565b6020820152611f4c60408301611c1a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fa9818401611c1a565b90820152610160611fbb838201611c1a565b90820152610180611fcd838201611c1a565b908201526101a0611fdf838201611c1a565b908201526101c0611ff284848301611ea5565b9082015292915050565b5f805f805f6102c08688031215612011575f80fd5b853594506120228760208801611f09565b935061026086013567ffffffffffffffff81111561203e575f80fd5b61204a88828901611d0b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561207a575f80fd5b85359450602086013567ffffffffffffffff80821115612098575f80fd5b818801915088601f8301126120ab575f80fd5b6120ba89833560208501611c98565b95506120c98960408a01611f09565b94506102808801359150808211156120df575f80fd5b506120ec88828901611d0b565b959894975092956102a001359392505050565b600181811c9082168061211357607f821691505b60208210810361213157634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261217c60c0840182611bc9565b9695505050505050565b5f60208284031215612196575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106de576106de61219d565b81516001600160a01b03168152610240810160208301516121f060208401826001600160a01b03169052565b50604083015161220b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151612271828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e9d565b80516001600160a01b03168252602081015161230160208401826001600160a01b03169052565b50604081015161231c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161238e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261171b565b5f6102c061240583886122da565b6001600160a01b038616610260840152610280830181905261242981840186611bc9565b915050826102a083015295945050505050565b5f6020828403121561244c575f80fd5b8151611a4481611c06565b6001600160a01b039390931683526020830191909152604082015260600190565b5f61038080835261248b8184018e611bc9565b905061249a602084018d6122da565b6001600160a01b038b81166102808501528382036102a08501526124be828c611bc9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561250a575f80fd5b815160ff81168114611a44575f80fd5b60ff82811682821603908111156106de576106de61219d565b600181815b8085111561256d57815f19048211156125535761255361219d565b8085161561256057918102915b93841c9390800290612538565b509250929050565b5f82612583575060016106de565b8161258f57505f6106de565b81600181146125a557600281146125af576125cb565b60019150506106de565b60ff8411156125c0576125c061219d565b50506001821b6106de565b5060208310610133831016604e8410600b84101617156125ee575081810a6106de565b6125f88383612533565b805f190482111561260b5761260b61219d565b029392505050565b5f6106db60ff841683612575565b5f8261263b57634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612650575f80fd5b8151611a4481611c8b565b5f825161266c818460208701611ba7565b919091019291505056fe45524334363236487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb20e2025c59cf03e179f60d33edda05b6e9118b0ab6a9f06e08bed958790ecc64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts deleted file mode 100644 index 89fecef5d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const ERC4626Target0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC4626Target0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map deleted file mode 100644 index c6844e574..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target0.d.ts","sourceRoot":"","sources":["../src/ERC4626Target0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2Di5+B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCx7+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0.js b/packages/hyperdrive-artifacts/dist/ERC4626Target0.js deleted file mode 100644 index 38ffcb4a8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const ERC4626Target0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts deleted file mode 100644 index 5b687266a..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map deleted file mode 100644 index 721582272..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target0Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Im3jC,KAAK,MAAM,EAAE;;;;CAIl6jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js deleted file mode 100644 index 789826987..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143a48061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ecc806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033a26469706673582212204bc9a6125e7a582ac48b2e649ead520a3e9160ddee511f1c375e1b74c9bd273464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts deleted file mode 100644 index 291e01694..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const ERC4626Target1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=ERC4626Target1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map deleted file mode 100644 index 74044c14e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target1.d.ts","sourceRoot":"","sources":["../src/ERC4626Target1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu9Bu7gC,KAAK,MAAM,EAAE;;;;;CAK99gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1.js b/packages/hyperdrive-artifacts/dist/ERC4626Target1.js deleted file mode 100644 index c681b6fed..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1.js +++ /dev/null @@ -1,989 +0,0 @@ -export const ERC4626Target1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts deleted file mode 100644 index 00b7c3f0b..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map deleted file mode 100644 index 74fc4f34b..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target1Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iy5lC,KAAK,MAAM,EAAE;;;;CAIx8lC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js deleted file mode 100644 index 216d6e1cb..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145b78061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6140df806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033a26469706673582212205f5aa409eae4faa0640904c71022305cb4399f397b4501d8a5b3a799a75041fc64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts deleted file mode 100644 index 0df5fb169..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const ERC4626Target2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=ERC4626Target2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map deleted file mode 100644 index 012b46d1d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target2.d.ts","sourceRoot":"","sources":["../src/ERC4626Target2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+BqqiC,KAAK,MAAM,EAAE;;;;;CAK5siC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2.js b/packages/hyperdrive-artifacts/dist/ERC4626Target2.js deleted file mode 100644 index c79e7000d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const ERC4626Target2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts deleted file mode 100644 index 84e5992dd..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map deleted file mode 100644 index 066f9309c..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target2Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IuonC,KAAK,MAAM,EAAE;;;;CAItrnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js deleted file mode 100644 index 858efdaf8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061472e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614256806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033a264697066735822122043f672569fe8860f954412d209b078eaed10295fb03a71f5dd6a807e7e219bad64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts deleted file mode 100644 index 5e94fed94..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const ERC4626Target3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=ERC4626Target3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map deleted file mode 100644 index 522d15ef5..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target3.d.ts","sourceRoot":"","sources":["../src/ERC4626Target3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B63hC,KAAK,MAAM,EAAE;;;;;CAKp6hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3.js b/packages/hyperdrive-artifacts/dist/ERC4626Target3.js deleted file mode 100644 index bb09d49fb..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const ERC4626Target3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts deleted file mode 100644 index 9940cbaad..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map deleted file mode 100644 index c8767c708..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target3Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+1mC,KAAK,MAAM,EAAE;;;;CAI94mC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js deleted file mode 100644 index 6f9e2f198..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061469a8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6141c2806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033a264697066735822122049bde01678a107bcf071d08800055eece08bc194212b6e9aa216e53ae8e1e68364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts deleted file mode 100644 index 199f222c4..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const ERC4626Target4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=ERC4626Target4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map deleted file mode 100644 index 9bfda22d8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target4.d.ts","sourceRoot":"","sources":["../src/ERC4626Target4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy+B6i1B,KAAK,MAAM,EAAE;;;;;;CAMpl1B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4.js b/packages/hyperdrive-artifacts/dist/ERC4626Target4.js deleted file mode 100644 index f224d99dc..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4.js +++ /dev/null @@ -1,1008 +0,0 @@ -export const ERC4626Target4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts deleted file mode 100644 index d1600e780..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map deleted file mode 100644 index 103c1543e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target4Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+g6B,KAAK,MAAM,EAAE;;;;CAI9j6B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js deleted file mode 100644 index ecdeb7d72..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139f28061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61351a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033a2646970667358221220cf2d5b23ebb64c3f7a3b0255b3a637a2a4fd302160b948a06af1566879db7ab364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Errors.d.ts b/packages/hyperdrive-artifacts/dist/Errors.d.ts deleted file mode 100644 index 043226deb..000000000 --- a/packages/hyperdrive-artifacts/dist/Errors.d.ts +++ /dev/null @@ -1,1085 +0,0 @@ -export declare const Errors: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ACL_ADMIN_CANNOT_BE_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER_ALREADY_ADDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER_NOT_REGISTERED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ASSET_NOT_BORROWABLE_IN_ISOLATION"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ASSET_NOT_LISTED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BORROWING_NOT_ENABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BORROW_CAP_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE_INVALID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_MUST_BE_POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_ATOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_BRIDGE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_EMERGENCY_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_POOL_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_POOL_CONFIGURATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_RISK_OR_POOL_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_BALANCE_IS_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_CANNOT_BE_LIQUIDATED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_CANNOT_COVER_NEW_BORROW"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_SAME_AS_BORROWING_CURRENCY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "DEBT_CEILING_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "DEBT_CEILING_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "EMODE_CATEGORY_RESERVED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_DISABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_INVALID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "HEALTH_FACTOR_NOT_BELOW_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INCONSISTENT_EMODE_CATEGORY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INCONSISTENT_FLASHLOAN_PARAMS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INCONSISTENT_PARAMS_LENGTH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_ADDRESSES_PROVIDER_ID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_AMOUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_BORROW_CAP"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_BURN_AMOUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_DEBT_CEILING"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_DECIMALS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EMODE_CATEGORY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EMODE_CATEGORY_ASSIGNMENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EMODE_CATEGORY_PARAMS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EXPIRATION"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_FLASHLOAN_EXECUTOR_RETURN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_FREEZE_STATE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_GRACE_PERIOD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_INTEREST_RATE_MODE_SELECTED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LIQUIDATION_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LIQ_BONUS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LIQ_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LTV"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_MAX_RATE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_MINT_AMOUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_OPTIMAL_USAGE_RATIO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_RESERVE_FACTOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_RESERVE_INDEX"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_RESERVE_PARAMS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_SIGNATURE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_SUPPLY_CAP"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_UNBACKED_MINT_CAP"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "LTV_VALIDATION_FAILED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NOT_CONTRACT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NOT_ENOUGH_AVAILABLE_USER_BALANCE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_DEBT_OF_SELECTED_TYPE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_MORE_RESERVES_ALLOWED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_OUTSTANDING_STABLE_DEBT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_OUTSTANDING_VARIABLE_DEBT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "OPERATION_NOT_SUPPORTED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL_ADDRESSES_DO_NOT_MATCH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "PRICE_ORACLE_SENTINEL_CHECK_FAILED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_ALREADY_ADDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_ALREADY_INITIALIZED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_DEBT_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_FROZEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_INACTIVE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_LIQUIDITY_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_PAUSED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SILOED_BORROWING_VIOLATION"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SLOPE_2_MUST_BE_GTE_SLOPE_1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STABLE_BORROWING_ENABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STABLE_BORROWING_NOT_ENABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STABLE_DEBT_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SUPPLY_CAP_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SUPPLY_TO_ATOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNBACKED_MINT_CAP_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_BALANCE_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_CANNOT_BE_RESCUED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "USER_IN_ISOLATION_MODE_OR_LTV_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "VARIABLE_DEBT_SUPPLY_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "WITHDRAW_TO_ATOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ZERO_ADDRESS_NOT_VALID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ACL_ADMIN_CANNOT_BE_ZERO()": "fd1828ff"; - readonly "ADDRESSES_PROVIDER_ALREADY_ADDED()": "14dcfbbc"; - readonly "ADDRESSES_PROVIDER_NOT_REGISTERED()": "e02f07ee"; - readonly "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE()": "f07f6785"; - readonly "ASSET_NOT_BORROWABLE_IN_ISOLATION()": "8596aad5"; - readonly "ASSET_NOT_LISTED()": "cd23367c"; - readonly "BORROWING_NOT_ENABLED()": "4ef999ff"; - readonly "BORROW_CAP_EXCEEDED()": "2eed17e8"; - readonly "BRIDGE_PROTOCOL_FEE_INVALID()": "7aa0767e"; - readonly "CALLER_MUST_BE_POOL()": "471df685"; - readonly "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN()": "2c8e3b4c"; - readonly "CALLER_NOT_ATOKEN()": "a2e976c6"; - readonly "CALLER_NOT_BRIDGE()": "4f77647b"; - readonly "CALLER_NOT_EMERGENCY_ADMIN()": "485c8ff6"; - readonly "CALLER_NOT_POOL_ADMIN()": "ac753236"; - readonly "CALLER_NOT_POOL_CONFIGURATOR()": "61c111d2"; - readonly "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN()": "26e7b312"; - readonly "CALLER_NOT_RISK_OR_POOL_ADMIN()": "b5e79366"; - readonly "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN()": "8e838748"; - readonly "COLLATERAL_BALANCE_IS_ZERO()": "4e01e3c1"; - readonly "COLLATERAL_CANNOT_BE_LIQUIDATED()": "895f7dc8"; - readonly "COLLATERAL_CANNOT_COVER_NEW_BORROW()": "e3fa20f5"; - readonly "COLLATERAL_SAME_AS_BORROWING_CURRENCY()": "8a344000"; - readonly "DEBT_CEILING_EXCEEDED()": "65a83bab"; - readonly "DEBT_CEILING_NOT_ZERO()": "e4dd8b74"; - readonly "EMODE_CATEGORY_RESERVED()": "f479ea11"; - readonly "FLASHLOAN_DISABLED()": "8aa3ca4c"; - readonly "FLASHLOAN_PREMIUM_INVALID()": "747fa556"; - readonly "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD()": "366eb54d"; - readonly "HEALTH_FACTOR_NOT_BELOW_THRESHOLD()": "952633c5"; - readonly "INCONSISTENT_EMODE_CATEGORY()": "8f7722b2"; - readonly "INCONSISTENT_FLASHLOAN_PARAMS()": "73dea5e3"; - readonly "INCONSISTENT_PARAMS_LENGTH()": "bad8308c"; - readonly "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET()": "2926c971"; - readonly "INVALID_ADDRESSES_PROVIDER()": "37930782"; - readonly "INVALID_ADDRESSES_PROVIDER_ID()": "60c3de80"; - readonly "INVALID_AMOUNT()": "fae82791"; - readonly "INVALID_BORROW_CAP()": "d6f9fcde"; - readonly "INVALID_BURN_AMOUNT()": "51267450"; - readonly "INVALID_DEBT_CEILING()": "dcc56db6"; - readonly "INVALID_DECIMALS()": "fa163a83"; - readonly "INVALID_EMODE_CATEGORY()": "a8c97853"; - readonly "INVALID_EMODE_CATEGORY_ASSIGNMENT()": "5d9c76c0"; - readonly "INVALID_EMODE_CATEGORY_PARAMS()": "47cf1523"; - readonly "INVALID_EXPIRATION()": "c08a1146"; - readonly "INVALID_FLASHLOAN_EXECUTOR_RETURN()": "7fea6f36"; - readonly "INVALID_FREEZE_STATE()": "22760245"; - readonly "INVALID_GRACE_PERIOD()": "4105ab65"; - readonly "INVALID_INTEREST_RATE_MODE_SELECTED()": "89c5d45f"; - readonly "INVALID_LIQUIDATION_PROTOCOL_FEE()": "8eda46bd"; - readonly "INVALID_LIQ_BONUS()": "9527e9d9"; - readonly "INVALID_LIQ_THRESHOLD()": "dd1dd95f"; - readonly "INVALID_LTV()": "99ce53f3"; - readonly "INVALID_MAX_RATE()": "f9b6e9a1"; - readonly "INVALID_MINT_AMOUNT()": "abd351b1"; - readonly "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO()": "c899301a"; - readonly "INVALID_OPTIMAL_USAGE_RATIO()": "4e3aed37"; - readonly "INVALID_RESERVE_FACTOR()": "a4868dca"; - readonly "INVALID_RESERVE_INDEX()": "d1cd8b1d"; - readonly "INVALID_RESERVE_PARAMS()": "335763de"; - readonly "INVALID_SIGNATURE()": "a3402a38"; - readonly "INVALID_SUPPLY_CAP()": "26bbd053"; - readonly "INVALID_UNBACKED_MINT_CAP()": "47ba93d8"; - readonly "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED()": "f1820652"; - readonly "LTV_VALIDATION_FAILED()": "b87041c2"; - readonly "NOT_CONTRACT()": "11d7b006"; - readonly "NOT_ENOUGH_AVAILABLE_USER_BALANCE()": "b7f5e224"; - readonly "NO_DEBT_OF_SELECTED_TYPE()": "dc191bd9"; - readonly "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF()": "712f536a"; - readonly "NO_MORE_RESERVES_ALLOWED()": "76ae8fca"; - readonly "NO_OUTSTANDING_STABLE_DEBT()": "74459b14"; - readonly "NO_OUTSTANDING_VARIABLE_DEBT()": "b4a45730"; - readonly "OPERATION_NOT_SUPPORTED()": "8b8b98d7"; - readonly "POOL_ADDRESSES_DO_NOT_MATCH()": "1abbb001"; - readonly "PRICE_ORACLE_SENTINEL_CHECK_FAILED()": "c8638082"; - readonly "RESERVE_ALREADY_ADDED()": "12dcade8"; - readonly "RESERVE_ALREADY_INITIALIZED()": "d9adda85"; - readonly "RESERVE_DEBT_NOT_ZERO()": "e981483a"; - readonly "RESERVE_FROZEN()": "6cd3cfbc"; - readonly "RESERVE_INACTIVE()": "52ba9dbe"; - readonly "RESERVE_LIQUIDITY_NOT_ZERO()": "084dfa0d"; - readonly "RESERVE_PAUSED()": "b68774e9"; - readonly "SILOED_BORROWING_VIOLATION()": "de24948c"; - readonly "SLOPE_2_MUST_BE_GTE_SLOPE_1()": "db3e2c54"; - readonly "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER()": "22a73446"; - readonly "STABLE_BORROWING_ENABLED()": "198d6a6b"; - readonly "STABLE_BORROWING_NOT_ENABLED()": "4d86f393"; - readonly "STABLE_DEBT_NOT_ZERO()": "65e7ef4c"; - readonly "SUPPLY_CAP_EXCEEDED()": "b0510054"; - readonly "SUPPLY_TO_ATOKEN()": "231ec141"; - readonly "UNBACKED_MINT_CAP_EXCEEDED()": "6b3f7cc7"; - readonly "UNDERLYING_BALANCE_ZERO()": "a2797c80"; - readonly "UNDERLYING_CANNOT_BE_RESCUED()": "ab883ca0"; - readonly "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO()": "94f9fd8a"; - readonly "USER_IN_ISOLATION_MODE_OR_LTV_ZERO()": "480702ae"; - readonly "VARIABLE_DEBT_SUPPLY_NOT_ZERO()": "f10727db"; - readonly "WITHDRAW_TO_ATOKEN()": "6177a932"; - readonly "ZERO_ADDRESS_NOT_VALID()": "d14bb17a"; - }; -}; -//# sourceMappingURL=Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/Errors.d.ts.map deleted file mode 100644 index df481e91e..000000000 --- a/packages/hyperdrive-artifacts/dist/Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6vCi5S,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGh7S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Errors.js b/packages/hyperdrive-artifacts/dist/Errors.js deleted file mode 100644 index 990705f89..000000000 --- a/packages/hyperdrive-artifacts/dist/Errors.js +++ /dev/null @@ -1,1379 +0,0 @@ -export const Errors = { - abi: [ - { - "type": "function", - "name": "ACL_ADMIN_CANNOT_BE_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ADDRESSES_PROVIDER_ALREADY_ADDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ADDRESSES_PROVIDER_NOT_REGISTERED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ASSET_NOT_BORROWABLE_IN_ISOLATION", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ASSET_NOT_LISTED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BORROWING_NOT_ENABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BORROW_CAP_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE_INVALID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_MUST_BE_POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_ATOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_BRIDGE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_EMERGENCY_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_POOL_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_POOL_CONFIGURATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_RISK_OR_POOL_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_BALANCE_IS_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_CANNOT_BE_LIQUIDATED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_CANNOT_COVER_NEW_BORROW", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_SAME_AS_BORROWING_CURRENCY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEBT_CEILING_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEBT_CEILING_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EMODE_CATEGORY_RESERVED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_DISABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_INVALID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "HEALTH_FACTOR_NOT_BELOW_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INCONSISTENT_EMODE_CATEGORY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INCONSISTENT_FLASHLOAN_PARAMS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INCONSISTENT_PARAMS_LENGTH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_ADDRESSES_PROVIDER_ID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_AMOUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_BORROW_CAP", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_BURN_AMOUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_DEBT_CEILING", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_DECIMALS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EMODE_CATEGORY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EMODE_CATEGORY_ASSIGNMENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EMODE_CATEGORY_PARAMS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EXPIRATION", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_FLASHLOAN_EXECUTOR_RETURN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_FREEZE_STATE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_GRACE_PERIOD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_INTEREST_RATE_MODE_SELECTED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LIQUIDATION_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LIQ_BONUS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LIQ_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LTV", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_MAX_RATE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_MINT_AMOUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_OPTIMAL_USAGE_RATIO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_RESERVE_FACTOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_RESERVE_INDEX", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_RESERVE_PARAMS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_SIGNATURE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_SUPPLY_CAP", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_UNBACKED_MINT_CAP", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "LTV_VALIDATION_FAILED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NOT_CONTRACT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NOT_ENOUGH_AVAILABLE_USER_BALANCE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_DEBT_OF_SELECTED_TYPE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_MORE_RESERVES_ALLOWED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_OUTSTANDING_STABLE_DEBT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_OUTSTANDING_VARIABLE_DEBT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "OPERATION_NOT_SUPPORTED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL_ADDRESSES_DO_NOT_MATCH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "PRICE_ORACLE_SENTINEL_CHECK_FAILED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_ALREADY_ADDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_ALREADY_INITIALIZED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_DEBT_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_FROZEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_INACTIVE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_LIQUIDITY_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_PAUSED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SILOED_BORROWING_VIOLATION", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SLOPE_2_MUST_BE_GTE_SLOPE_1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STABLE_BORROWING_ENABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STABLE_BORROWING_NOT_ENABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STABLE_DEBT_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SUPPLY_CAP_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SUPPLY_TO_ATOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNBACKED_MINT_CAP_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_BALANCE_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_CANNOT_BE_RESCUED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "USER_IN_ISOLATION_MODE_OR_LTV_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "VARIABLE_DEBT_SUPPLY_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "WITHDRAW_TO_ATOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ZERO_ADDRESS_NOT_VALID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x611293610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061055e575f3560e01c80638aa3ca4c116102ca578063c08a114611610191578063de24948c116100fa578063f10727db116100b4578063f9b6e9a11161008f578063f9b6e9a11461118d578063fa163a83146111ae578063fae82791146111cf578063fd1828ff146111f0575f80fd5b8063f10727db1461112a578063f18206521461114b578063f479ea111461116c575f80fd5b8063de24948c14611065578063e02f07ee14611086578063e3fa20f5146110a6578063e4dd8b74146110c7578063e981483a146110e8578063f07f678514611109575f80fd5b8063d6f9fcde1161014b578063d6f9fcde14610f9f578063d9adda8514610fc0578063db3e2c5414610fe1578063dc191bd914611002578063dcc56db614611023578063dd1dd95f14611044575f80fd5b8063c08a114614610ed9578063c863808214610efa578063c899301a14610f1b578063cd23367c14610f3c578063d14bb17a14610f5d578063d1cd8b1d14610f7e575f80fd5b8063a4868dca11610233578063b4a45730116101ed578063b4a4573014610e14578063b5e7936614610e35578063b68774e914610e55578063b7f5e22414610e76578063b87041c214610e97578063bad8308c14610eb8575f80fd5b8063a4868dca14610d4f578063a8c9785314610d70578063ab883ca014610d91578063abd351b114610db2578063ac75323614610dd3578063b051005414610df3575f80fd5b8063952633c511610284578063952633c514610c895780639527e9d914610caa57806399ce53f314610ccb578063a2797c8014610cec578063a2e976c614610d0d578063a3402a3814610d2e575f80fd5b80638aa3ca4c14610bc35780638b8b98d714610be45780638e83874814610c055780638eda46bd14610c265780638f7722b214610c4757806394f9fd8a14610c68575f80fd5b80634e01e3c1116104285780636b3f7cc71161039157806376ae8fca1161034b5780638596aad5116103265780638596aad514610b3f578063895f7dc814610b6057806389c5d45f14610b815780638a34400014610ba2575f80fd5b806376ae8fca14610adc5780637aa0767e14610afd5780637fea6f3614610b1e575f80fd5b80636b3f7cc714610a165780636cd3cfbc14610a37578063712f536a14610a5857806373dea5e314610a7957806374459b1414610a9a578063747fa55614610abb575f80fd5b80635d9c76c0116103e25780635d9c76c01461095157806360c3de80146109725780636177a9321461099257806361c111d2146109b357806365a83bab146109d457806365e7ef4c146109f5575f80fd5b80634e01e3c11461088c5780634e3aed37146108ad5780634ef999ff146108ce5780634f77647b146108ef578063512674501461090f57806352ba9dbe14610930575f80fd5b80632c8e3b4c116104ca578063471df68511610484578063471df685146107c757806347ba93d8146107e857806347cf152314610809578063480702ae1461082a578063485c8ff61461084b5780634d86f3931461086b575f80fd5b80632c8e3b4c146107025780632eed17e814610722578063335763de14610743578063366eb54d1461076457806337930782146107855780634105ab65146107a6575f80fd5b8063227602451161051b578063227602451461063d57806322a734461461065e578063231ec1411461067f57806326bbd053146106a057806326e7b312146106c15780632926c971146106e1575f80fd5b8063084dfa0d1461056257806311d7b0061461059957806312dcade8146105b957806314dcfbbc146105da578063198d6a6b146105fb5780631abbb0011461061c575b5f80fd5b61058360405180604001604052806002815260200161062760f31b81525081565b6040516105909190611211565b60405180910390f35b610583604051806040016040528060018152602001603960f81b81525081565b610583604051806040016040528060028152602001610c4d60f21b81525081565b610583604051806040016040528060028152602001611c1b60f11b81525081565b61058360405180604001604052806002815260200161070760f31b81525081565b61058360405180604001604052806002815260200161383760f01b81525081565b61058360405180604001604052806002815260200161393960f01b81525081565b61058360405180604001604052806002815260200161343760f01b81525081565b610583604051806040016040528060028152602001610e4d60f21b81525081565b61058360405180604001604052806002815260200161363960f01b81525081565b610583604051806040016040528060018152602001603360f81b81525081565b610583604051806040016040528060028152602001610d0d60f21b81525081565b610583604051806040016040528060018152602001603560f81b81525081565b61058360405180604001604052806002815260200161035360f41b81525081565b61058360405180604001604052806002815260200161032360f41b81525081565b61058360405180604001604052806002815260200161333560f01b81525081565b61058360405180604001604052806002815260200161189960f11b81525081565b61058360405180604001604052806002815260200161072760f31b81525081565b61058360405180604001604052806002815260200161323360f01b81525081565b610583604051806040016040528060028152602001611b9960f11b81525081565b61058360405180604001604052806002815260200161323160f01b81525081565b610583604051806040016040528060028152602001611b1960f11b81525081565b610583604051806040016040528060018152602001601960f91b81525081565b61058360405180604001604052806002815260200161333160f01b81525081565b610583604051806040016040528060028152602001610ccd60f21b81525081565b61058360405180604001604052806002815260200161383360f01b81525081565b61058360405180604001604052806002815260200161033360f41b81525081565b610583604051806040016040528060018152602001601b60f91b81525081565b61058360405180604001604052806002815260200161323560f01b81525081565b61058360405180604001604052806002815260200161323760f01b81525081565b61058360405180604001604052806002815260200161313760f01b81525081565b610583604051806040016040528060018152602001600760fb1b81525081565b61058360405180604001604052806002815260200161393360f01b81525081565b61058360405180604001604052806002815260200161031360f41b81525081565b61058360405180604001604052806002815260200161353360f01b81525081565b61058360405180604001604052806002815260200161353560f01b81525081565b610583604051806040016040528060028152602001611a9960f11b81525081565b61058360405180604001604052806002815260200161064760f31b81525081565b61058360405180604001604052806002815260200161034360f41b81525081565b61058360405180604001604052806002815260200161343960f01b81525081565b61058360405180604001604052806002815260200161343160f01b81525081565b61058360405180604001604052806002815260200161313960f01b81525081565b61058360405180604001604052806002815260200161313560f01b81525081565b61058360405180604001604052806002815260200161191960f11b81525081565b61058360405180604001604052806002815260200161313360f01b81525081565b61058360405180604001604052806002815260200161036360f41b81525081565b610583604051806040016040528060028152602001611a1b60f11b81525081565b61058360405180604001604052806002815260200161333360f01b81525081565b61058360405180604001604052806002815260200161333760f01b81525081565b61058360405180604001604052806002815260200161393160f01b81525081565b61058360405180604001604052806002815260200161038360f41b81525081565b610583604051806040016040528060028152602001611c9b60f11b81525081565b61058360405180604001604052806002815260200161037360f41b81525081565b6105836040518060400160405280600281526020016106a760f31b81525081565b610583604051806040016040528060028152602001610d4d60f21b81525081565b61058360405180604001604052806002815260200161343560f01b81525081565b61058360405180604001604052806002815260200161363560f01b81525081565b61058360405180604001604052806002815260200161363360f01b81525081565b61058360405180604001604052806002815260200161343360f01b81525081565b61058360405180604001604052806002815260200161313160f01b81525081565b61058360405180604001604052806002815260200161373960f01b81525081565b61058360405180604001604052806002815260200161363760f01b81525081565b61058360405180604001604052806002815260200161373160f01b81525081565b61058360405180604001604052806002815260200161383560f01b81525081565b610583604051806040016040528060028152602001610c8d60f21b81525081565b610583604051806040016040528060018152602001603160f81b81525081565b61058360405180604001604052806002815260200161353160f01b81525081565b610583604051806040016040528060028152602001611a1960f11b81525081565b610583604051806040016040528060018152602001600d60fa1b81525081565b61058360405180604001604052806002815260200161323960f01b81525081565b61058360405180604001604052806002815260200161199960f11b81525081565b61058360405180604001604052806002815260200161353760f01b81525081565b610583604051806040016040528060028152602001611b9b60f11b81525081565b6105836040518060400160405280600281526020016106e760f31b81525081565b61058360405180604001604052806002815260200161353960f01b81525081565b610583604051806040016040528060028152602001610e0d60f21b81525081565b610583604051806040016040528060028152602001611c1960f11b81525081565b61058360405180604001604052806002815260200161373760f01b81525081565b610583604051806040016040528060028152602001610dcd60f21b81525081565b6105836040518060400160405280600281526020016106c760f31b81525081565b61058360405180604001604052806002815260200161363160f01b81525081565b61058360405180604001604052806002815260200161393560f01b81525081565b61058360405180604001604052806002815260200161333960f01b81525081565b61058360405180604001604052806002815260200161373360f01b81525081565b610583604051806040016040528060028152602001610d8d60f21b81525081565b61058360405180604001604052806002815260200161383960f01b81525081565b610583604051806040016040528060018152602001603760f81b81525081565b61058360405180604001604052806002815260200161199b60f11b81525081565b61058360405180604001604052806002815260200161383160f01b81525081565b61058360405180604001604052806002815260200161039360f41b81525081565b61058360405180604001604052806002815260200161066760f31b81525081565b610583604051806040016040528060028152602001611a9b60f11b81525081565b61058360405180604001604052806002815260200161393760f01b81525081565b61058360405180604001604052806002815260200161189b60f11b81525081565b610583604051806040016040528060028152602001611c9960f11b81525081565b610583604051806040016040528060028152602001611b1b60f11b81525081565b61058360405180604001604052806002815260200161191b60f11b81525081565b61058360405180604001604052806002815260200161373560f01b81525081565b5f602080835283518060208501525f5b8181101561123d57858101830151858201604001528201611221565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220277e106deea35701f26fbbedb8f798ae0af618897570241f2a4cd24dc0c951aa64736f6c63430008160033', - methodIdentifiers: { - "ACL_ADMIN_CANNOT_BE_ZERO()": "fd1828ff", - "ADDRESSES_PROVIDER_ALREADY_ADDED()": "14dcfbbc", - "ADDRESSES_PROVIDER_NOT_REGISTERED()": "e02f07ee", - "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE()": "f07f6785", - "ASSET_NOT_BORROWABLE_IN_ISOLATION()": "8596aad5", - "ASSET_NOT_LISTED()": "cd23367c", - "BORROWING_NOT_ENABLED()": "4ef999ff", - "BORROW_CAP_EXCEEDED()": "2eed17e8", - "BRIDGE_PROTOCOL_FEE_INVALID()": "7aa0767e", - "CALLER_MUST_BE_POOL()": "471df685", - "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN()": "2c8e3b4c", - "CALLER_NOT_ATOKEN()": "a2e976c6", - "CALLER_NOT_BRIDGE()": "4f77647b", - "CALLER_NOT_EMERGENCY_ADMIN()": "485c8ff6", - "CALLER_NOT_POOL_ADMIN()": "ac753236", - "CALLER_NOT_POOL_CONFIGURATOR()": "61c111d2", - "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN()": "26e7b312", - "CALLER_NOT_RISK_OR_POOL_ADMIN()": "b5e79366", - "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN()": "8e838748", - "COLLATERAL_BALANCE_IS_ZERO()": "4e01e3c1", - "COLLATERAL_CANNOT_BE_LIQUIDATED()": "895f7dc8", - "COLLATERAL_CANNOT_COVER_NEW_BORROW()": "e3fa20f5", - "COLLATERAL_SAME_AS_BORROWING_CURRENCY()": "8a344000", - "DEBT_CEILING_EXCEEDED()": "65a83bab", - "DEBT_CEILING_NOT_ZERO()": "e4dd8b74", - "EMODE_CATEGORY_RESERVED()": "f479ea11", - "FLASHLOAN_DISABLED()": "8aa3ca4c", - "FLASHLOAN_PREMIUM_INVALID()": "747fa556", - "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD()": "366eb54d", - "HEALTH_FACTOR_NOT_BELOW_THRESHOLD()": "952633c5", - "INCONSISTENT_EMODE_CATEGORY()": "8f7722b2", - "INCONSISTENT_FLASHLOAN_PARAMS()": "73dea5e3", - "INCONSISTENT_PARAMS_LENGTH()": "bad8308c", - "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET()": "2926c971", - "INVALID_ADDRESSES_PROVIDER()": "37930782", - "INVALID_ADDRESSES_PROVIDER_ID()": "60c3de80", - "INVALID_AMOUNT()": "fae82791", - "INVALID_BORROW_CAP()": "d6f9fcde", - "INVALID_BURN_AMOUNT()": "51267450", - "INVALID_DEBT_CEILING()": "dcc56db6", - "INVALID_DECIMALS()": "fa163a83", - "INVALID_EMODE_CATEGORY()": "a8c97853", - "INVALID_EMODE_CATEGORY_ASSIGNMENT()": "5d9c76c0", - "INVALID_EMODE_CATEGORY_PARAMS()": "47cf1523", - "INVALID_EXPIRATION()": "c08a1146", - "INVALID_FLASHLOAN_EXECUTOR_RETURN()": "7fea6f36", - "INVALID_FREEZE_STATE()": "22760245", - "INVALID_GRACE_PERIOD()": "4105ab65", - "INVALID_INTEREST_RATE_MODE_SELECTED()": "89c5d45f", - "INVALID_LIQUIDATION_PROTOCOL_FEE()": "8eda46bd", - "INVALID_LIQ_BONUS()": "9527e9d9", - "INVALID_LIQ_THRESHOLD()": "dd1dd95f", - "INVALID_LTV()": "99ce53f3", - "INVALID_MAX_RATE()": "f9b6e9a1", - "INVALID_MINT_AMOUNT()": "abd351b1", - "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO()": "c899301a", - "INVALID_OPTIMAL_USAGE_RATIO()": "4e3aed37", - "INVALID_RESERVE_FACTOR()": "a4868dca", - "INVALID_RESERVE_INDEX()": "d1cd8b1d", - "INVALID_RESERVE_PARAMS()": "335763de", - "INVALID_SIGNATURE()": "a3402a38", - "INVALID_SUPPLY_CAP()": "26bbd053", - "INVALID_UNBACKED_MINT_CAP()": "47ba93d8", - "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED()": "f1820652", - "LTV_VALIDATION_FAILED()": "b87041c2", - "NOT_CONTRACT()": "11d7b006", - "NOT_ENOUGH_AVAILABLE_USER_BALANCE()": "b7f5e224", - "NO_DEBT_OF_SELECTED_TYPE()": "dc191bd9", - "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF()": "712f536a", - "NO_MORE_RESERVES_ALLOWED()": "76ae8fca", - "NO_OUTSTANDING_STABLE_DEBT()": "74459b14", - "NO_OUTSTANDING_VARIABLE_DEBT()": "b4a45730", - "OPERATION_NOT_SUPPORTED()": "8b8b98d7", - "POOL_ADDRESSES_DO_NOT_MATCH()": "1abbb001", - "PRICE_ORACLE_SENTINEL_CHECK_FAILED()": "c8638082", - "RESERVE_ALREADY_ADDED()": "12dcade8", - "RESERVE_ALREADY_INITIALIZED()": "d9adda85", - "RESERVE_DEBT_NOT_ZERO()": "e981483a", - "RESERVE_FROZEN()": "6cd3cfbc", - "RESERVE_INACTIVE()": "52ba9dbe", - "RESERVE_LIQUIDITY_NOT_ZERO()": "084dfa0d", - "RESERVE_PAUSED()": "b68774e9", - "SILOED_BORROWING_VIOLATION()": "de24948c", - "SLOPE_2_MUST_BE_GTE_SLOPE_1()": "db3e2c54", - "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER()": "22a73446", - "STABLE_BORROWING_ENABLED()": "198d6a6b", - "STABLE_BORROWING_NOT_ENABLED()": "4d86f393", - "STABLE_DEBT_NOT_ZERO()": "65e7ef4c", - "SUPPLY_CAP_EXCEEDED()": "b0510054", - "SUPPLY_TO_ATOKEN()": "231ec141", - "UNBACKED_MINT_CAP_EXCEEDED()": "6b3f7cc7", - "UNDERLYING_BALANCE_ZERO()": "a2797c80", - "UNDERLYING_CANNOT_BE_RESCUED()": "ab883ca0", - "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO()": "94f9fd8a", - "USER_IN_ISOLATION_MODE_OR_LTV_ZERO()": "480702ae", - "VARIABLE_DEBT_SUPPLY_NOT_ZERO()": "f10727db", - "WITHDRAW_TO_ATOKEN()": "6177a932", - "ZERO_ADDRESS_NOT_VALID()": "d14bb17a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts b/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts deleted file mode 100644 index ee58074c9..000000000 --- a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ErrorsLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ErrorsLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map b/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map deleted file mode 100644 index d0e287a8c..000000000 --- a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ErrorsLib.d.ts","sourceRoot":"","sources":["../src/ErrorsLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ErrorsLib.js b/packages/hyperdrive-artifacts/dist/ErrorsLib.js deleted file mode 100644 index cebadb1c2..000000000 --- a/packages/hyperdrive-artifacts/dist/ErrorsLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ErrorsLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c9cc56cd8ceefe4fe028ddf9f165d958af3b63952c40726213beb3e92239b66364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts b/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts deleted file mode 100644 index 8feace530..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts +++ /dev/null @@ -1,440 +0,0 @@ -export declare const EtchingUtils: { - abi: readonly [{ - readonly type: "function"; - readonly name: "IS_TEST"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "failed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifactSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifactSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetInterfaces"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedInterfaces_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzInterface[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "artifacts"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "log"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_address"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes32"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_int"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_address"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes32"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_string"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_string"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_uint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "logs"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "IS_TEST()": "fa7626d4"; - readonly "excludeArtifacts()": "b5508aa9"; - readonly "excludeContracts()": "e20c9f71"; - readonly "excludeSenders()": "1ed7831c"; - readonly "failed()": "ba414fa6"; - readonly "targetArtifactSelectors()": "66d9a9a0"; - readonly "targetArtifacts()": "85226c81"; - readonly "targetContracts()": "3f7286f4"; - readonly "targetInterfaces()": "2ade3880"; - readonly "targetSelectors()": "916a17c6"; - readonly "targetSenders()": "3e5e3c23"; - }; -}; -//# sourceMappingURL=EtchingUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map deleted file mode 100644 index 1d43e4e44..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EtchingUtils.d.ts","sourceRoot":"","sources":["../src/EtchingUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkiBqlL,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAc1nL,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingUtils.js b/packages/hyperdrive-artifacts/dist/EtchingUtils.js deleted file mode 100644 index 89c806479..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingUtils.js +++ /dev/null @@ -1,561 +0,0 @@ -export const EtchingUtils = { - abi: [ - { - "type": "function", - "name": "IS_TEST", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeArtifacts", - "inputs": [], - "outputs": [ - { - "name": "excludedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeContracts", - "inputs": [], - "outputs": [ - { - "name": "excludedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeSenders", - "inputs": [], - "outputs": [ - { - "name": "excludedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "failed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifactSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifactSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifacts", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetContracts", - "inputs": [], - "outputs": [ - { - "name": "targetedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetInterfaces", - "inputs": [], - "outputs": [ - { - "name": "targetedInterfaces_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzInterface[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "artifacts", - "type": "string[]", - "internalType": "string[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSenders", - "inputs": [], - "outputs": [ - { - "name": "targetedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "log", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_address", - "inputs": [ - { - "name": "", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes32", - "inputs": [ - { - "name": "", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_int", - "inputs": [ - { - "name": "", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_address", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes32", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_string", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_string", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_uint", - "inputs": [ - { - "name": "", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "logs", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002c575f80fd5b50610af38061003a5f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806385226c811161006e57806385226c8114610102578063916a17c614610117578063b5508aa91461011f578063ba414fa614610127578063e20c9f711461013f578063fa7626d414610147575f80fd5b80631ed7831c146100aa5780632ade3880146100c85780633e5e3c23146100dd5780633f7286f4146100e557806366d9a9a0146100ed575b5f80fd5b6100b2610154565b6040516100bf9190610802565b60405180910390f35b6100d06101b4565b6040516100bf919061084e565b6100b26102f0565b6100b261034e565b6100f56103ac565b6040516100bf919061093e565b61010a61048d565b6040516100bf91906109e1565b6100f5610558565b61010a610639565b61012f610704565b60405190151581526020016100bf565b6100b26107a4565b601e5461012f9060ff1681565b606060168054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161018c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156102d0578382905f5260205f2001805461024590610a6e565b80601f016020809104026020016040519081016040528092919081815260200182805461027190610a6e565b80156102bc5780601f10610293576101008083540402835291602001916102bc565b820191905f5260205f20905b81548152906001019060200180831161029f57829003601f168201915b505050505081526020019060010190610228565b5050505081525050815260200190600101906101d7565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047557602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104375790505b505050505081525050815260200190600101906103cf565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f200180546104cd90610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990610a6e565b80156105445780601f1061051b57610100808354040283529160200191610544565b820191905f5260205f20905b81548152906001019060200180831161052757829003601f168201915b5050505050815260200190600101906104b0565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561062157602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105e35790505b5050505050815250508152602001906001019061057b565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f2001805461067990610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546106a590610a6e565b80156106f05780601f106106c7576101008083540402835291602001916106f0565b820191905f5260205f20905b8154815290600101906020018083116106d357829003601f168201915b50505050508152602001906001019061065c565b6008545f9060ff161561071b575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa158015610779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079d9190610aa6565b1415905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b602080825282518282018190525f9190848201906040850190845b818110156108425783516001600160a01b03168352928401929184019160010161081d565b50909695505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b8601810191908601905f5b8181101561091a57878403605f19018352845180518086525f5b818110156108f4578e81840101518f82890101528e810190506108d6565b505f8682018f0152958d0195601f01601f19169094018c019350918b01916001016108bc565b5050509588019593505090860190600101610875565b509098975050505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b808310156109cc5783516001600160e01b0319168252928a019260019290920191908a01906109a2565b50968901969450505090860190600101610965565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b82811015610a6157878503603f19018452815180518087525f5b81811015610a3b578281018901518882018a01528801610a20565b505f878201890152601f01601f1916909501860194509285019290850190600101610a06565b5092979650505050505050565b600181811c90821680610a8257607f821691505b602082108103610aa057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610ab6575f80fd5b505191905056fea2646970667358221220f8e3f1e78d3a92b702c3b4390e0a0517b53bdb574b48e718842dcde2e095e5e564736f6c63430008160033', - methodIdentifiers: { - "IS_TEST()": "fa7626d4", - "excludeArtifacts()": "b5508aa9", - "excludeContracts()": "e20c9f71", - "excludeSenders()": "1ed7831c", - "failed()": "ba414fa6", - "targetArtifactSelectors()": "66d9a9a0", - "targetArtifacts()": "85226c81", - "targetContracts()": "3f7286f4", - "targetInterfaces()": "2ade3880", - "targetSelectors()": "916a17c6", - "targetSenders()": "3e5e3c23" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts b/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts deleted file mode 100644 index 21ecd95fa..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -export declare const EtchingVault: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_baseToken_"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_vaultSharePrice_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "asset()": "38d52e0f"; - readonly "convertToAssets(uint256)": "07a2d13a"; - }; -}; -//# sourceMappingURL=EtchingVault.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map b/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map deleted file mode 100644 index 2b747b4a7..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EtchingVault.d.ts","sourceRoot":"","sources":["../src/EtchingVault.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmD6xB,KAAK,MAAM,EAAE;;;;;CAKl0B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingVault.js b/packages/hyperdrive-artifacts/dist/EtchingVault.js deleted file mode 100644 index e594d1610..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingVault.js +++ /dev/null @@ -1,57 +0,0 @@ -export const EtchingVault = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_baseToken_", - "type": "address", - "internalType": "address" - }, - { - "name": "_vaultSharePrice_", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60c060405234801561000f575f80fd5b5060405161019138038061019183398101604081905261002e91610044565b6001600160a01b0390911660805260a05261007b565b5f8060408385031215610055575f80fd5b82516001600160a01b038116811461006b575f80fd5b6020939093015192949293505050565b60805160a05160f96100985f395f604201525f6084015260f95ff3fe6080604052348015600e575f80fd5b50600436106030575f3560e01c806307a2d13a14603457806338d52e0f146077575b5f80fd5b6064603f36600460ad565b507f000000000000000000000000000000000000000000000000000000000000000090565b6040519081526020015b60405180910390f35b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001606e565b5f6020828403121560bc575f80fd5b503591905056fea264697066735822122096e50bd5dc98c6d2bcb55b4e1b306bf05c1561d1057b9b404154025d00a265f464736f6c63430008160033', - methodIdentifiers: { - "asset()": "38d52e0f", - "convertToAssets(uint256)": "07a2d13a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts b/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts deleted file mode 100644 index 6f42e1f40..000000000 --- a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ExcessivelySafeCall: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ExcessivelySafeCall.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map b/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map deleted file mode 100644 index 914791433..000000000 --- a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ExcessivelySafeCall.d.ts","sourceRoot":"","sources":["../src/ExcessivelySafeCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;cAEkQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js b/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js deleted file mode 100644 index d1ab6381a..000000000 --- a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ExcessivelySafeCall = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212201e07a5e84cfc83e73639cab8548c1a55ca605d8a07d8c3d3a38cad377301094f64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts b/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts deleted file mode 100644 index aa163b9fa..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const EzETHBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map deleted file mode 100644 index a883d8af0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHBase.d.ts","sourceRoot":"","sources":["../src/EzETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHBase.js b/packages/hyperdrive-artifacts/dist/EzETHBase.js deleted file mode 100644 index c584920c0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const EzETHBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts deleted file mode 100644 index b8e9c3d18..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const EzETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map deleted file mode 100644 index 3dd98d6f7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHConversions.d.ts","sourceRoot":"","sources":["../src/EzETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHConversions.js b/packages/hyperdrive-artifacts/dist/EzETHConversions.js deleted file mode 100644 index e371b9c80..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const EzETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a2221d2867c29648bcbb93a06ec06af7d6f25879110496b212e45ec5eb2f99a564736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts deleted file mode 100644 index 8832bc558..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts +++ /dev/null @@ -1,1326 +0,0 @@ -export declare const EzETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=EzETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map deleted file mode 100644 index 540834f36..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/EzETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsmDo9X,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5/X,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js deleted file mode 100644 index 44fd2bdf8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js +++ /dev/null @@ -1,1670 +0,0 @@ -export const EzETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index ea741b8b4..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const EzETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 5466c84ad..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/EzETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMgpf,KAAK,MAAM,EAAE;;;;;CAKpsf,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js deleted file mode 100644 index be0fcda79..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const EzETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611f52380380611f5283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611ec96100895f395f81816075015260ce0152611ec95ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80638cc23ce0146200003c578063ff0996b5146200006f575b5f80fd5b620000536200004d366004620003b6565b62000097565b6040516001600160a01b03909116815260200160405180910390f35b620000537f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000fb9062000140565b6200010f99989796959493929190620005ce565b8190604051809103905ff59050801580156200012d573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b6117ee80620006a683390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200018957620001896200014e565b60405290565b5f82601f8301126200019f575f80fd5b813567ffffffffffffffff80821115620001bd57620001bd6200014e565b604051601f8301601f19908116603f01168101908282118183101715620001e857620001e86200014e565b8160405283815286602085880101111562000201575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000237575f80fd5b919050565b5f608082840312156200024d575f80fd5b6040516080810181811067ffffffffffffffff821117156200027357620002736200014e565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b6575f80fd5b620002c062000162565b9050620002cd8262000220565b8152620002dd6020830162000220565b6020820152620002f06040830162000220565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035b81840162000220565b908201526101806200036f83820162000220565b908201526101a06200038383820162000220565b908201526101c06200039783820162000220565b908201526101e0620003ac848483016200023c565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003d1575f80fd5b8a3567ffffffffffffffff80821115620003e9575f80fd5b620003f78e838f016200018f565b9b50620004088e60208f01620002a4565b9a50620004196102808e0162000220565b99506102a08d013591508082111562000430575f80fd5b506200043f8d828e016200018f565b975050620004516102c08c0162000220565b9550620004626102e08c0162000220565b9450620004736103008c0162000220565b9350620004846103208c0162000220565b9250620004956103408c0162000220565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d660208401826001600160a01b03169052565b506040810151620004f260408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015162000565828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b8082101562000604576020828e0101516103808386010152602082019150620005e0565b61038091505f82828601015281601f19601f830116850101925050506200062f602083018b620004ae565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200013256fe61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033a2646970667358221220710b355c8d17e3c6a99473b8cceee8e31a0be2c3ad016c28dfd1368d3e21367964736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 455ebbb30..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,689 +0,0 @@ -export declare const EzETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,address,uint256)": "5111bea2"; - readonly "convertToShares(address,address,address,uint256)": "079554e7"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "ezETH()": "13a73c78"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "renzoOracle()": "892866a4"; - readonly "restakeManager()": "ff0996b5"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EzETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 0fcd75675..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/EzETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1BmguB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuB9juB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index dd33c6790..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,879 +0,0 @@ -export const EzETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6101c060405234801562000011575f80fd5b5060405162002e0f38038062002e0f8339810160408190526200003491620001c1565b88888888888888885f620000498982620003ab565b506001600160a01b0396871660805294861660a05292851660c05290841660e052831661010052821661012052811661014052821661016081905260408051630274e78f60e31b815290519192506313a73c789160048083019260209291908290030181865afa158015620000c0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e6919062000477565b6001600160a01b03166101a0816001600160a01b031681525050610160516001600160a01b031663892866a46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000140573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000166919062000477565b6001600160a01b031661018052506200049c975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114620001ac575f80fd5b50565b8051620001bc8162000197565b919050565b5f805f805f805f805f6101208a8c031215620001db575f80fd5b89516001600160401b0380821115620001f2575f80fd5b818c0191508c601f83011262000206575f80fd5b8151818111156200021b576200021b62000183565b604051601f8201601f19908116603f0116810190838211818310171562000246576200024662000183565b81604052828152602093508f8484870101111562000262575f80fd5b5f91505b8282101562000285578482018401518183018501529083019062000266565b5f848483010152809d505050506200029f818d01620001af565b99505050620002b160408b01620001af565b9650620002c160608b01620001af565b9550620002d160808b01620001af565b9450620002e160a08b01620001af565b9350620002f160c08b01620001af565b92506200030160e08b01620001af565b9150620003126101008b01620001af565b90509295985092959850929598565b600181811c908216806200033657607f821691505b6020821081036200035557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003a657805f5260205f20601f840160051c81016020851015620003825750805b601f840160051c820191505b81811015620003a3575f81556001016200038e565b50505b505050565b81516001600160401b03811115620003c757620003c762000183565b620003df81620003d8845462000321565b846200035b565b602080601f83116001811462000415575f8415620003fd5750858301515b5f19600386901b1c1916600185901b1785556200046f565b5f85815260208120601f198616915b82811015620004455788860151825594840194600190910190840162000424565b50858210156200046357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000488575f80fd5b8151620004958162000197565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051612877620005985f395f818161019b0152818161145a0152818161148f015261161101525f818161034301526116c501525f818161052c01526116e601525f81816103760152610e3101525f81816103dc0152610cfe01525f81816104420152610bcb01525f81816103a90152610a9801525f818161040f015261088f01525f81816104c7015261118001525f818161049401528181610617015281816107b8015281816108bf01528181610ac801528181610bfb01528181610d2e01528181610e6101528181610f5401526111b101526128775ff3fe60806040526004361061011b575f3560e01c8063a085fa301161009d578063c45a015511610062578063c45a015514610483578063c83e1f51146104b6578063e990eba8146104e9578063e99be39614610508578063ff0996b51461051b575f80fd5b8063a085fa3014610398578063aa8cd6c4146103cb578063ab71905f146103fe578063b6cb111814610431578063c151061814610464575f80fd5b806337404017116100e357806337404017146101e85780635111bea2146102e457806354fd4d5014610303578063892866a414610332578063966ecd1c14610365575f80fd5b806304baa00b1461011f57806306fdde0314610149578063079554e71461015d57806313a73c781461018a57806316abfc70146101d5575b5f80fd5b34801561012a575f80fd5b5061013361054e565b6040516101409190611d2f565b60405180910390f35b348015610154575f80fd5b5061013361056a565b348015610168575f80fd5b5061017c610177366004611d65565b6105f5565b604051908152602001610140565b348015610195575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610140565b61017c6101e3366004611ec5565b61060b565b3480156101f3575f80fd5b506102d7610202366004611f83565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101409190611f9a565b3480156102ef575f80fd5b5061017c6102fe366004611d65565b61079f565b34801561030e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610133565b34801561033d575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610370575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a3575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d6575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610409575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561043c575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f575f80fd5b506101bd61047e36600461216e565b6107ac565b34801561048e575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c1575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f4575f80fd5b506101bd6105033660046121d7565b610f48565b348015610513575f80fd5b50600561017c565b348015610526575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040518060600160405280602281526020016128206022913981565b5f805461057690612271565b80601f01602080910402602001604051908101604052809291908181526020018280546105a290612271565b80156105ed5780601f106105c4576101008083540402835291602001916105ed565b820191905f5260205f20905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b5f610602858585856112bb565b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461065557604051634084351160e01b815260040160405180910390fd5b61065d611408565b5f868152600160205260409020600301546001600160a01b0316806106955760405163952b05cb60e01b815260040160405180910390fd5b5f6106a282888887611429565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106d5939291906122a9565b60206040518083038185885af11580156106f1573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061071691906122f8565b92505f610723823461230f565b90508015610793576040515f90339083908381818185875af1925050503d805f811461076a576040519150601f19603f3d011682016040523d82523d5f602084013e61076f565b606091505b5050905080610791576040516312171d8360e31b815260040160405180910390fd5b505b50505095945050505050565b5f610602858585856114c0565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107f657604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036109a65780541561082b57604051633be1b34d60e11b815260040160405180910390fd5b61083586866115c7565b5f61084087876116bf565b90505f87604051602001610854919061232e565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108818a611721565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108fb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016109309493929190612561565b6020604051808303815f875af115801561094c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097091906125a6565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610602565b5f87815260016020526040902054806109d25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109e4919061232e565b6040516020818303038152906040528051906020012014610a185760405163332ee11f60e01b815260040160405180910390fd5b60018201548651602088012014610a4257604051631a3272d160e31b815260040160405180910390fd5b610a4c87876115c7565b5f610a5688611721565b6002840154608082015290506001869003610b965760058301546001600160a01b031615610a965760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610afd939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b329493929190612561565b6020604051808303815f875af1158015610b4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7291906125a6565b6005840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600203610cc95760068301546001600160a01b031615610bc95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c30939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c659493929190612561565b6020604051808303815f875af1158015610c81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906125a6565b6006840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600303610dfc5760078301546001600160a01b031615610cfc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d63939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d989493929190612561565b6020604051808303815f875af1158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd891906125a6565b6007840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600403610f2f5760088301546001600160a01b031615610e2f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e96939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ecb9493929190612561565b6020604051808303815f875af1158015610ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b91906125a6565b6008840180546001600160a01b0319166001600160a01b0383161790559350610793565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103a57604051632c95caeb60e01b815260040160405180910390fd5b80516110595760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b0316158061107e575060a08101516001600160a01b0316155b80611094575060c08101516001600160a01b0316155b806110aa575060e08101516001600160a01b0316155b806110c157506101008101516001600160a01b0316155b156110df5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110f290879060200161232e565b60405160208183030381529060405280519060200120146111265760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461115157604051631a3272d160e31b815260040160405180910390fd5b61115b85856115c7565b5f61116586611721565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611207929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016112429a999897969594939291906125e2565b6020604051808303815f875af115801561125e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128291906125a6565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261131f91908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906122f8565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064015b602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd91906122f8565b979650505050505050565b341561142757604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001511561144d5760405163350b944160e11b815260040160405180910390fd5b6114826001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168530866117ef565b6114b66001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868561185c565b505f949350505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156114fd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261152491908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158991906122f8565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064016113be565b6115d182826118eb565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461160f57604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146116655760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611690576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c68000146116bb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6117187f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008560200151670de0b6b3a764000061079f565b90505b92915050565b611729611c0e565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526118569186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119ff565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118ad8482611a6a565b611856576040516001600160a01b0384811660248301525f60448301526118e191869182169063095ea7b390606401611824565b61185684826119ff565b6103e882608001511015611912576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361193757604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061196157508161010001518260e0015161195e91906127ca565b15155b1561197f5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119ab5750670de0b6b3a7640000826101c0015160200151115b806119c65750670de0b6b3a7640000826101c0015160400151115b806119e15750670de0b6b3a7640000826101c0015160600151115b156116bb576040516322f72cc360e11b815260040160405180910390fd5b5f611a136001600160a01b03841683611b07565b905080515f14158015611a37575080806020019051810190611a3591906127e9565b155b15611a6557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a859190612804565b5f604051808303815f865af19150503d805f8114611abe576040519150601f19603f3d011682016040523d82523d5f602084013e611ac3565b606091505b5091509150818015611aed575080511580611aed575080806020019051810190611aed91906127e9565b80156106025750505050506001600160a01b03163b151590565b606061171883835f845f80856001600160a01b03168486604051611b2b9190612804565b5f6040518083038185875af1925050503d805f8114611b65576040519150601f19603f3d011682016040523d82523d5f602084013e611b6a565b606091505b5091509150611b7a868383611b86565b925050505b9392505050565b606082611b9b57611b9682611be2565b611b7f565b8151158015611bb257506001600160a01b0384163b155b15611bdb57604051639996b31560e01b81526001600160a01b0385166004820152602401611a5c565b5080611b7f565b805115611bf25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cdd60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cfc578181015183820152602001611ce4565b50505f910152565b5f8151808452611d1b816020860160208601611ce2565b601f01601f19169290920160200192915050565b602081525f6117186020830184611d04565b6001600160a01b0381168114611c0b575f80fd5b8035611d6081611d41565b919050565b5f805f8060808587031215611d78575f80fd5b8435611d8381611d41565b93506020850135611d9381611d41565b92506040850135611da381611d41565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611dea57611dea611db3565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611dea57611dea611db3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e3d57611e3d611db3565b604052919050565b8015158114611c0b575f80fd5b5f67ffffffffffffffff831115611e6b57611e6b611db3565b611e7e601f8401601f1916602001611e14565b9050828152838383011115611e91575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112611eb6575f80fd5b61171883833560208501611e52565b5f805f805f60a08688031215611ed9575f80fd5b853594506020860135611eeb81611d41565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611f15575f80fd5b908701906060828a031215611f28575f80fd5b611f30611dc7565b8235611f3b81611d41565b81526020830135611f4b81611e45565b6020820152604083013582811115611f61575f80fd5b611f6d8b828601611ea7565b6040830152508093505050509295509295909350565b5f60208284031215611f93575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215612027575f80fd5b6040516080810181811067ffffffffffffffff8211171561204a5761204a611db3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561208c575f80fd5b612094611df0565b905061209f82611d55565b81526120ad60208301611d55565b60208201526120be60408301611d55565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061211b818401611d55565b9082015261016061212d838201611d55565b9082015261018061213f838201611d55565b908201526101a0612151838201611d55565b908201526101c061216484848301612017565b9082015292915050565b5f805f805f6102c08688031215612183575f80fd5b85359450612194876020880161207b565b935061026086013567ffffffffffffffff8111156121b0575f80fd5b6121bc88828901611ea7565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c086880312156121ec575f80fd5b85359450602086013567ffffffffffffffff8082111561220a575f80fd5b818801915088601f83011261221d575f80fd5b61222c89833560208501611e52565b955061223b8960408a0161207b565b9450610280880135915080821115612251575f80fd5b5061225e88828901611ea7565b959894975092956102a001359392505050565b600181811c9082168061228557607f821691505b6020821081036122a357634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526122ee60c0840182611d04565b9695505050505050565b5f60208284031215612308575f80fd5b5051919050565b8181038181111561171b57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161235a60208401826001600160a01b03169052565b50604083015161237560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516123db828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e08501526040810151610200850152606081015161022085015261200f565b80516001600160a01b03168252602081015161246b60208401826001600160a01b03169052565b50604081015161248660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124f8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611856565b5f6102c061256f8388612444565b6001600160a01b038616610260840152610280830181905261259381840186611d04565b915050826102a083015295945050505050565b5f602082840312156125b6575f80fd5b8151611b7f81611d41565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125f58184018e611d04565b9050612604602084018d612444565b6001600160a01b038b81166102808501528382036102a0850152612628828c611d04565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f67ffffffffffffffff82111561267d5761267d611db3565b5060051b60200190565b5f82601f830112612696575f80fd5b815160206126ab6126a683612664565b611e14565b8083825260208201915060208460051b8701019350868411156126cc575f80fd5b602086015b848110156126e857805183529183019183016126d1565b509695505050505050565b5f805f60608486031215612705575f80fd5b835167ffffffffffffffff8082111561271c575f80fd5b818601915086601f83011261272f575f80fd5b8151602061273f6126a683612664565b82815260059290921b8401810191818101908a84111561275d575f80fd5b8286015b8481101561279357805186811115612777575f80fd5b6127858d86838b0101612687565b845250918301918301612761565b50918901519197509093505050808211156127ac575f80fd5b506127b986828701612687565b925050604084015190509250925092565b5f826127e457634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156127f9575f80fd5b8151611b7f81611e45565b5f8251612815818460208701611ce2565b919091019291505056fe457a455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220c481fd737d68f65e134bf8a9ac399c7d6aa52f9ed8bea236e80df2c9feeab78664736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,address,uint256)": "5111bea2", - "convertToShares(address,address,address,uint256)": "079554e7", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "ezETH()": "13a73c78", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "renzoOracle()": "892866a4", - "restakeManager()": "ff0996b5", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts deleted file mode 100644 index 50f719257..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const EzETHLineaBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHLineaBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map deleted file mode 100644 index 288aa001e..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaBase.d.ts","sourceRoot":"","sources":["../src/EzETHLineaBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.js b/packages/hyperdrive-artifacts/dist/EzETHLineaBase.js deleted file mode 100644 index 60b480f48..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const EzETHLineaBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts deleted file mode 100644 index 323e4c43c..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const EzETHLineaConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHLineaConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map deleted file mode 100644 index 8889777f8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaConversions.d.ts","sourceRoot":"","sources":["../src/EzETHLineaConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;cAEgQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js b/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js deleted file mode 100644 index b0f24bf10..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const EzETHLineaConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f67ac4d85d125d3caac64e9417f531a496cfe1642a72ca2dae0bcef19b38f6fc64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts deleted file mode 100644 index 15fbd6ee5..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1326 +0,0 @@ -export declare const EzETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=EzETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map deleted file mode 100644 index 2a3210ab3..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/EzETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsmD+nX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5qX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js deleted file mode 100644 index 9914e1b5a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js +++ /dev/null @@ -1,1670 +0,0 @@ -export const EzETHLineaHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 1eebaf7b1..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const EzETHLineaHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 017b37392..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMyye,KAAK,MAAM,EAAE;;;;;CAKl2e,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js deleted file mode 100644 index 86f12b235..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const EzETHLineaHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c806312ae5e67146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033a2646970667358221220bc33a3244939269e39b725e0a7a6c69ccb69b66ee235df69a13cf49c27db1e0a64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index ffa55de77..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,615 +0,0 @@ -export declare const EzETHLineaHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 415c267fd..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/EzETHLineaHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyvBk/mB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBljnB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js deleted file mode 100644 index bcffe62e0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,783 +0,0 @@ -export const EzETHLineaHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002709380380620027098339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516122bc6200044d5f395f8181610158015281816106f5015261143701525f81816102ef0152610da501525f81816103550152610c7201525f81816103bb0152610b3f01525f81816103220152610a0c01525f8181610388015261080301525f818161045f01526110f401525f818161042c015281816105660152818161072c0152818161083301528181610a3c01528181610b6f01528181610ca201528181610dd501528181610ec8015261112501526122bc5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f592146103dd578063c83e1f511461044e578063e990eba814610481578063e99be396146104a0575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806337404017116100d857806337404017146101b357806354fd4d50146102af578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806312ae5e671461014757806316abfc7014610192575b5f80fd5b348015610114575f80fd5b5061011d6104b3565b60405161012a919061192c565b60405180910390f35b34801561013e575f80fd5b5061011d6104cf565b348015610152575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b6101a56101a0366004611a64565b61055a565b60405190815260200161012a565b3480156101be575f80fd5b506102a26101cd366004611b22565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611b39565b3480156102ba575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102e9575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506101a56103f7366004611b22565b6106ef565b348015610407575f80fd5b5061017a610416366004611d0d565b610720565b348015610426575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c575f80fd5b5061017a61049b366004611d76565b610ebc565b3480156104ab575f80fd5b5060056101a5565b6040518060600160405280602781526020016122606027913981565b5f80546104db90611e10565b80601f016020809104026020016040519081016040528092919081815260200182805461050790611e10565b80156105525780601f1061052957610100808354040283529160200191610552565b820191905f5260205f20905b81548152906001019060200180831161053557829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105a457604051634084351160e01b815260040160405180910390fd5b6105ac61122f565b5f868152600160205260409020600301546001600160a01b0316806105e45760405163952b05cb60e01b815260040160405180910390fd5b5f6105f182888887611250565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161062493929190611e48565b60206040518083038185885af1158015610640573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106659190611e97565b92505f6106728234611eae565b905080156106e2576040515f90339083908381818185875af1925050503d805f81146106b9576040519150601f19603f3d011682016040523d82523d5f602084013e6106be565b606091505b50509050806106e0576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071a7f00000000000000000000000000000000000000000000000000000000000000008361140c565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091a5780541561079f57604051633be1b34d60e11b815260040160405180910390fd5b6107a9868661142b565b5f6107b48787611582565b90505f876040516020016107c89190611ecd565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107f58a61159b565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161086f929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a49493929190612100565b6020604051808303815f875af11580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190612145565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106e6565b5f87815260016020526040902054806109465760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109589190611ecd565b604051602081830303815290604052805190602001201461098c5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109b657604051631a3272d160e31b815260040160405180910390fd5b6109c0878761142b565b5f6109ca8861159b565b6002840154608082015290506001869003610b0a5760058301546001600160a01b031615610a0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a7193929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aa69493929190612100565b6020604051808303815f875af1158015610ac2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae69190612145565b6005840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600203610c3d5760068301546001600160a01b031615610b3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba493929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bd99493929190612100565b6020604051808303815f875af1158015610bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190612145565b6006840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600303610d705760078301546001600160a01b031615610c705760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cd793929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d0c9493929190612100565b6020604051808303815f875af1158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c9190612145565b6007840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600403610ea35760088301546001600160a01b031615610da35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0a93929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e3f9493929190612100565b6020604051808303815f875af1158015610e5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612145565b6008840180546001600160a01b0319166001600160a01b03831617905593506106e2565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0657604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fae57604051632c95caeb60e01b815260040160405180910390fd5b8051610fcd5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff2575060a08101516001600160a01b0316155b80611008575060c08101516001600160a01b0316155b8061101e575060e08101516001600160a01b0316155b8061103557506101008101516001600160a01b0316155b156110535760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611066908790602001611ecd565b604051602081830303815290604052805190602001201461109a5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110c557604051631a3272d160e31b815260040160405180910390fd5b6110cf858561142b565b5f6110d98661159b565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161117b929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111b69a99989796959493929190612181565b6020604051808303815f875af11580156111d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f69190612145565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561124e57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112745760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190612145565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af115801561132c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113509190612203565b905080611370576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af11580156113bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e09190612203565b905080611400576040516340b27c2160e11b815260040160405180910390fd5b505f9695505050505050565b5f8061141784611669565b905061142383826116d2565b949350505050565b61143582826116e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663152b2c4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612145565b6001600160a01b031682602001516001600160a01b0316146114ea5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461152857604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611553576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461157e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611594670de0b6b3a76400006106ef565b9392505050565b6115a3611815565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156116a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ca919061221e565b509392505050565b5f6115948383670de0b6b3a76400006117fa565b6103e88260800151101561170d576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173257604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175c57508161010001518260e001516117599190612240565b15155b1561177a5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a65750670de0b6b3a7640000826101c0015160200151115b806117c15750670de0b6b3a7640000826101c0015160400151115b806117dc5750670de0b6b3a7640000826101c0015160600151115b1561157e576040516322f72cc360e11b815260040160405180910390fd5b5f825f19048411830215820261180e575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016118e460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561190d576020818501810151868301820152016118f1565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61159460208301846118e9565b6001600160a01b0381168114611952575f80fd5b50565b80356119608161193e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199c5761199c611965565b60405290565b6040516101e0810167ffffffffffffffff8111828210171561199c5761199c611965565b8015158114611952575f80fd5b5f67ffffffffffffffff808411156119ed576119ed611965565b604051601f8501601f19908116603f01168101908282118183101715611a1557611a15611965565b81604052809350858152868686011115611a2d575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611a55575f80fd5b611594838335602085016119d3565b5f805f805f60a08688031215611a78575f80fd5b853594506020860135611a8a8161193e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ab4575f80fd5b908701906060828a031215611ac7575f80fd5b611acf611979565b8235611ada8161193e565b81526020830135611aea816119c6565b6020820152604083013582811115611b00575f80fd5b611b0c8b828601611a46565b6040830152508093505050509295509295909350565b5f60208284031215611b32575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611bc6575f80fd5b6040516080810181811067ffffffffffffffff82111715611be957611be9611965565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611c2b575f80fd5b611c336119a2565b9050611c3e82611955565b8152611c4c60208301611955565b6020820152611c5d60408301611955565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611cba818401611955565b90820152610160611ccc838201611955565b90820152610180611cde838201611955565b908201526101a0611cf0838201611955565b908201526101c0611d0384848301611bb6565b9082015292915050565b5f805f805f6102c08688031215611d22575f80fd5b85359450611d338760208801611c1a565b935061026086013567ffffffffffffffff811115611d4f575f80fd5b611d5b88828901611a46565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611d8b575f80fd5b85359450602086013567ffffffffffffffff80821115611da9575f80fd5b818801915088601f830112611dbc575f80fd5b611dcb898335602085016119d3565b9550611dda8960408a01611c1a565b9450610280880135915080821115611df0575f80fd5b50611dfd88828901611a46565b959894975092956102a001359392505050565b600181811c90821680611e2457607f821691505b602082108103611e4257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611e8d60c08401826118e9565b9695505050505050565b5f60208284031215611ea7575f80fd5b5051919050565b8181038181111561071a57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611ef960208401826001600160a01b03169052565b506040830151611f1460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611f7a828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611bae565b80516001600160a01b03168252602081015161200a60208401826001600160a01b03169052565b50604081015161202560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612097828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061210e8388611fe3565b6001600160a01b0386166102608401526102808301819052612132818401866118e9565b915050826102a083015295945050505050565b5f60208284031215612155575f80fd5b81516115948161193e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526121948184018e6118e9565b90506121a3602084018d611fe3565b6001600160a01b038b81166102808501528382036102a08501526121c7828c6118e9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612213575f80fd5b8151611594816119c6565b5f806040838503121561222f575f80fd5b505080516020909101519092909150565b5f8261225a57634e487b7160e01b5f52601260045260245ffd5b50069056fe457a4554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212201eec5f311729a0457d96043dddf7c08546a2553822f7700393a7fb716a3861d564736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts deleted file mode 100644 index 4f1a92645..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts +++ /dev/null @@ -1,1546 +0,0 @@ -export declare const EzETHLineaTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map deleted file mode 100644 index ba14e4276..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget0.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw3D4q9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ctt9B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js deleted file mode 100644 index 413a54d52..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js +++ /dev/null @@ -1,1955 +0,0 @@ -export const EzETHLineaTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts deleted file mode 100644 index 8a7fba853..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map deleted file mode 100644 index fc2956687..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK8gjC,KAAK,MAAM,EAAE;;;;;CAKhkjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js deleted file mode 100644 index 81dd3bc5f..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161431038038061431083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142876100895f395f8181603d015260b801526142875ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d5b806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033a26469706673582212207c509fd1c03c2184a79d1586e62b90e86f23936009e3087a6adfe718a19b48b964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts deleted file mode 100644 index 739f8e266..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts +++ /dev/null @@ -1,774 +0,0 @@ -export declare const EzETHLineaTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map deleted file mode 100644 index 1d4849037..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget1.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA27Bk09B,KAAK,MAAM,EAAE;;;;;CAK529B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js deleted file mode 100644 index bef9e4471..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js +++ /dev/null @@ -1,961 +0,0 @@ -export const EzETHLineaTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts deleted file mode 100644 index 01f2e08e1..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map deleted file mode 100644 index 67c6e7d9a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKoqjC,KAAK,MAAM,EAAE;;;;;CAKttjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js deleted file mode 100644 index e8faf0a87..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161435b38038061435b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142d26100895f395f8181603d015260b801526142d25ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613da6806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033a2646970667358221220edcd677769f7f8da108f6ffb643080fa1e39bbc38d04fdd5ff6cdaefaa45048064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts deleted file mode 100644 index c999e52d6..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const EzETHLineaTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map deleted file mode 100644 index 250b9514d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget2.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+8Bwv+B,KAAK,MAAM,EAAE;;;;;CAKly+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js deleted file mode 100644 index 5f14af910..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js +++ /dev/null @@ -1,981 +0,0 @@ -export const EzETHLineaTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts deleted file mode 100644 index f60919a3d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map deleted file mode 100644 index 140449f7d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK0lkC,KAAK,MAAM,EAAE;;;;;CAK5okC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js deleted file mode 100644 index fb128b61b..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161443638038061443683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143ad6100895f395f8181603d015260b801526143ad5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e81806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033a2646970667358221220a97e8368c0814cab46c11d2986ccd59dc3a985683f9cdb9d42512a9b5fe33a2864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts deleted file mode 100644 index 59cb11424..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts +++ /dev/null @@ -1,806 +0,0 @@ -export declare const EzETHLineaTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map deleted file mode 100644 index 038db5888..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget3.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm+Bgl+B,KAAK,MAAM,EAAE;;;;;CAK1n+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js deleted file mode 100644 index 6d1c43683..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js +++ /dev/null @@ -1,1001 +0,0 @@ -export const EzETHLineaTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts deleted file mode 100644 index c46078fb7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map deleted file mode 100644 index c11f943f2..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKk7jC,KAAK,MAAM,EAAE;;;;;CAKp+jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js deleted file mode 100644 index 2fcf077c5..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516143e23803806143e283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143596100895f395f8181603d015260b801526143595ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e2d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033a264697066735822122053626dfe90230be3cfa3d38abf5dc5742e465b8cb62617b35fd8bbce0c214de364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts deleted file mode 100644 index 7fafb3428..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts +++ /dev/null @@ -1,789 +0,0 @@ -export declare const EzETHLineaTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map deleted file mode 100644 index c7da04398..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget4.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA68Bw7xB,KAAK,MAAM,EAAE;;;;;;CAMl+xB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js deleted file mode 100644 index 5b1ec0879..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js +++ /dev/null @@ -1,980 +0,0 @@ -export const EzETHLineaTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts deleted file mode 100644 index 6d7f68201..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map deleted file mode 100644 index 78bb71ea3..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK0x3B,KAAK,MAAM,EAAE;;;;;CAK503B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js deleted file mode 100644 index 8cbbb425f..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161379638038061379683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161370d6100895f395f8181603d015260b8015261370d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131e1806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033a264697066735822122077d7b6e575688ed2cfaaa88f74afafcd2c0f7b72e3b392651aeb3ee931a526e364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts deleted file mode 100644 index d2461be64..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts +++ /dev/null @@ -1,1553 +0,0 @@ -export declare const EzETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "renzo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "renzo()": "6a1a3f3d"; - readonly "renzoOracle()": "892866a4"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EzETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map deleted file mode 100644 index 9e54e8d8a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget0.d.ts","sourceRoot":"","sources":["../src/EzETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg4D+3hC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Cp6hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0.js b/packages/hyperdrive-artifacts/dist/EzETHTarget0.js deleted file mode 100644 index af9136f53..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0.js +++ /dev/null @@ -1,1964 +0,0 @@ -export const EzETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renzo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "renzo()": "6a1a3f3d", - "renzoOracle()": "892866a4", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts deleted file mode 100644 index cdfe9c068..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map deleted file mode 100644 index ce88ab584..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK6unC,KAAK,MAAM,EAAE;;;;;CAK1xnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js deleted file mode 100644 index 98c7a5ba4..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161477d38038061477d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146f46100895f395f8181606c015260bd01526146f45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141c280620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033a2646970667358221220ab739ef33eaf94485fcef00b116ea314b3ce3a4437577403003718fb86c8914664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts deleted file mode 100644 index 8038b2af9..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts +++ /dev/null @@ -1,770 +0,0 @@ -export declare const EzETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=EzETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map deleted file mode 100644 index 0a4742280..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget1.d.ts","sourceRoot":"","sources":["../src/EzETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs7B2liC,KAAK,MAAM,EAAE;;;;;CAKhoiC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1.js b/packages/hyperdrive-artifacts/dist/EzETHTarget1.js deleted file mode 100644 index 4f267eb82..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1.js +++ /dev/null @@ -1,956 +0,0 @@ -export const EzETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts deleted file mode 100644 index 0337f08a7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map deleted file mode 100644 index 20478a6d0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKy8nC,KAAK,MAAM,EAAE;;;;;CAKt/nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js deleted file mode 100644 index cd6f4b1c2..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516147eb3803806147eb83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147626100895f395f8181606c015260bd01526147625ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61423080620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033a264697066735822122034f17bafc1baa96bbd7b76eeb892deb03c1a1ca1a759390f81ad67babddacd7d64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts deleted file mode 100644 index b3ddeeed6..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const EzETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=EzETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map deleted file mode 100644 index 2bdf73b8b..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget2.d.ts","sourceRoot":"","sources":["../src/EzETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+8B62hC,KAAK,MAAM,EAAE;;;;;CAKl5hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2.js b/packages/hyperdrive-artifacts/dist/EzETHTarget2.js deleted file mode 100644 index 6c16ad568..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2.js +++ /dev/null @@ -1,981 +0,0 @@ -export const EzETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts deleted file mode 100644 index b092a21e8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map deleted file mode 100644 index b3ceda72c..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK2tnC,KAAK,MAAM,EAAE;;;;;CAKxwnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js deleted file mode 100644 index e3079455c..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161477438038061477483398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146eb6100895f395f8181606c015260bd01526146eb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141b980620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033a2646970667358221220216ab024a27b24bb8e1d911e87f55ef282ffbba02823d8779216ec4490216b2564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts deleted file mode 100644 index 9e98a4fa7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts +++ /dev/null @@ -1,806 +0,0 @@ -export declare const EzETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=EzETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map deleted file mode 100644 index cba982b03..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget3.d.ts","sourceRoot":"","sources":["../src/EzETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm+BuphC,KAAK,MAAM,EAAE;;;;;CAK5rhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3.js b/packages/hyperdrive-artifacts/dist/EzETHTarget3.js deleted file mode 100644 index 8e2a24364..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3.js +++ /dev/null @@ -1,1001 +0,0 @@ -export const EzETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts deleted file mode 100644 index f190216f6..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map deleted file mode 100644 index 313e1d2c8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKqgnC,KAAK,MAAM,EAAE;;;;;CAKljnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js deleted file mode 100644 index 307f67385..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161470938038061470983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146806100895f395f8181606c015260bd01526146805ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61414e80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033a2646970667358221220c3f64d7796630bb2699b928ac64d7d5b30f2a85202601cf4aa699f7f00a0ad8164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts deleted file mode 100644 index 438af0746..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts +++ /dev/null @@ -1,785 +0,0 @@ -export declare const EzETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=EzETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map deleted file mode 100644 index b75afa114..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget4.d.ts","sourceRoot":"","sources":["../src/EzETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw8Bit2B,KAAK,MAAM,EAAE;;;;;;CAMtv2B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4.js b/packages/hyperdrive-artifacts/dist/EzETHTarget4.js deleted file mode 100644 index 709a09d6d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4.js +++ /dev/null @@ -1,975 +0,0 @@ -export const EzETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts deleted file mode 100644 index 2e6c8b156..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map deleted file mode 100644 index e9a9a1a4f..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK+j8B,KAAK,MAAM,EAAE;;;;;CAK5m8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js deleted file mode 100644 index 7684db81a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051613c26380380613c2683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051613b9d6100895f395f8181606c015260bd0152613b9d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61366b80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033a264697066735822122003874c91623dcd3f30b860e583527274889c45dddc07c8c44e7764b7f32c49a564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts b/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts deleted file mode 100644 index 143f3a546..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const FixedPointMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=FixedPointMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map b/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map deleted file mode 100644 index 7853727bd..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FixedPointMath.d.ts","sourceRoot":"","sources":["../src/FixedPointMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMath.js b/packages/hyperdrive-artifacts/dist/FixedPointMath.js deleted file mode 100644 index e0101ec39..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const FixedPointMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ab5330a265c88664dbe0d7bcb7c41a09258e07d5e26b9d424694434026334e9264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts b/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts deleted file mode 100644 index df6d750e5..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const FixedPointMathLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=FixedPointMathLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map b/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map deleted file mode 100644 index 757abbc12..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FixedPointMathLib.d.ts","sourceRoot":"","sources":["../src/FixedPointMathLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.js b/packages/hyperdrive-artifacts/dist/FixedPointMathLib.js deleted file mode 100644 index cdcf31eba..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const FixedPointMathLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220690de1b5e79a420b769ad01df0747a97804fed65ed44ee4d1027828105eee6fc64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts b/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts deleted file mode 100644 index 95d8dd35c..000000000 --- a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts +++ /dev/null @@ -1,84 +0,0 @@ -export declare const FlashLoanLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeFlashLoan(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.FlashloanParams)": "2e7263ea"; - readonly "executeFlashLoanSimple(DataTypes.ReserveData storage,DataTypes.FlashloanSimpleParams)": "a1fe0e8d"; - }; -}; -//# sourceMappingURL=FlashLoanLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map deleted file mode 100644 index e64fba5d4..000000000 --- a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FlashLoanLogic.d.ts","sourceRoot":"","sources":["../src/FlashLoanLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Fu6oB,KAAK,MAAM,EAAE;;;;;CAK98oB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.js b/packages/hyperdrive-artifacts/dist/FlashLoanLogic.js deleted file mode 100644 index ccb830044..000000000 --- a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.js +++ /dev/null @@ -1,101 +0,0 @@ -export const FlashLoanLogic = { - abi: [ - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x6128a2610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80632e7263ea14610043578063a1fe0e8d14610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004612100565b610083565b005b81801561006f575f80fd5b5061006261007e3660046122a7565b610a3c565b6100968582602001518360400151610c5e565b6100e26040518060e001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b031681526020015f8152602001606081526020015f81526020015f81525090565b81602001515167ffffffffffffffff81111561010057610100611eb3565b604051908082528060200260200182016040528015610129578160200160208202803683370190505b50608082015281516001600160a01b031681526101c0820151610156578161010001518260e00151610159565b5f805b60c083015260a08201525f60208201525b816020015151816020015110156103e65781604001518160200151815181106101955761019561236c565b602090810291909101015160608201525f82606001518260200151815181106101c0576101c061236c565b602002602001015160028111156101d9576101d9612380565b60028111156101ea576101ea612380565b146101f5575f610208565b60a0810151606082015161020891610db0565b81608001518260200151815181106102225761022261236c565b602002602001018181525050610289865f846020015184602001518151811061024d5761024d61236c565b6020908102919091018101516001600160a01b031682528181019290925260409081015f20815192830190915254815251600160fc1b16151590565b156103275761029b8160600151610dd4565b865f84602001518460200151815181106102b7576102b761236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2060090160108282829054906101000a90046001600160801b031661030291906123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b855f83602001518360200151815181106103435761034361236c565b6020908102919091018101516001600160a01b0390811683529082019290925260409081015f20600490810154855160608601519351634efecaa560e01b8152908516928101929092526024820192909252911690634efecaa5906044015f604051808303815f87803b1580156103b8575f80fd5b505af11580156103ca573d5f803e3d5ffd5b50505060208201805191506103de826123cf565b90525061016a565b805f01516001600160a01b031663920f5c84836020015184604001518460800151338760a001516040518663ffffffff1660e01b815260040161042d959493929190612464565b6020604051808303815f875af1158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d91906124fe565b60405180604001604052806002815260200161313360f01b815250906104af5760405162461bcd60e51b81526004016104a69190612519565b60405180910390fd5b505f60208201525b81602001515181602001511015610a345781602001518160200151815181106104e2576104e261236c565b602002602001015181604001906001600160a01b031690816001600160a01b03168152505081604001518160200151815181106105215761052161236c565b602090810291909101015160608201525f826060015182602001518151811061054c5761054c61236c565b6020026020010151600281111561056557610565612380565b600281111561057657610576612380565b0361062557610620865f83604001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808460600151815260200184608001518560200151815181106105d3576105d361236c565b602002602001015181526020018460c00151815260200184604001516001600160a01b03168152602001855f01516001600160a01b031681526020018560c0015161ffff16815250610e40565b610a1c565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f98787878760405180610180016040528088604001516001600160a01b03168152602001336001600160a01b0316815260200189608001516001600160a01b031681526020018860600151815260200189606001518960200151815181106106a8576106a861236c565b602002602001015160028111156106c1576106c1612380565b60028111156106d2576106d2612380565b81526020018960c0015161ffff1681526020015f151581526020018961018001516001600160a01b031663e82fec2f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610752919061252b565b81526020018961018001516001600160a01b03166372218d046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610798573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bc919061252b565b81526020018961016001516001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610802573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108269190612542565b6001600160a01b031681526020016108bf8a61018001516001600160a01b031663eddf1b798c608001516040518263ffffffff1660e01b815260040161087b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ba919061252b565b6110c6565b60ff1681526020018961016001516001600160a01b0316635eb88d3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190612542565b6001600160a01b03168152506040518663ffffffff1660e01b815260040161095895949392919061257d565b5f6040518083038186803b15801561096e575f80fd5b505af4158015610980573d5f803e3d5ffd5b505050508160c0015161ffff1681604001516001600160a01b0316835f01516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033856060015187606001518760200151815181106109e9576109e961236c565b60200260200101516002811115610a0257610a02612380565b5f604051610a139493929190612671565b60405180910390a45b60208101805190610a2c826123cf565b9052506104b7565b505050505050565b610a4a828260400151611126565b805160c082015160408301515f91610a629190610db0565b6040805160208101909152855490819052909150600160fc1b1615610ad757610a8e8360400151610dd4565b600985018054601090610ab2908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60048481015484516040808701519051634efecaa560e01b81526001600160a01b039283169481019490945260248401521690634efecaa5906044015f604051808303815f87803b158015610b2a575f80fd5b505af1158015610b3c573d5f803e3d5ffd5b50505050602083015160408085015160608601519151631b11d0ff60e01b81526001600160a01b03861693631b11d0ff93610b7f939192879133916004016126a4565b6020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf91906124fe565b60405180604001604052806002815260200161313360f01b81525090610bf85760405162461bcd60e51b81526004016104a69190612519565b50610c58846040518060c00160405280866040015181526020018481526020018660a00151815260200186602001516001600160a01b03168152602001865f01516001600160a01b03168152602001866080015161ffff16815250610e40565b50505050565b805182511460405180604001604052806002815260200161343960f01b81525090610c9c5760405162461bcd60e51b81526004016104a69190612519565b505f5b8251811015610c58575f610cb48260016126e8565b90505b8351811015610d4a57838181518110610cd257610cd261236c565b60200260200101516001600160a01b0316848381518110610cf557610cf561236c565b60200260200101516001600160a01b0316141560405180604001604052806002815260200161343960f01b81525090610d415760405162461bcd60e51b81526004016104a69190612519565b50600101610cb7565b50610da8845f858481518110610d6257610d6261236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f20838381518110610d9b57610d9b61236c565b6020026020010151611126565b600101610c9f565b5f81156113881983900484111517610dc6575f80fd5b506127109102611388010490565b5f6001600160801b03821115610e3c5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016104a6565b5090565b5f610e5c82604001518360200151610db090919063ffffffff16565b90505f818360200151610e6f91906126fb565b90505f8360200151845f0151610e8591906126e8565b90505f610e91866112cf565b9050610e9d868261149a565b6101008101516008870154610f3691610ebf916001600160801b0316906114f2565b826101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f24919061252b565b610f2e91906126e8565b879085611533565b6101008201819052610f5290610f4d9086906115b7565b610dd4565b6008870180545f90610f6e9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610faf818660600151845f8a6115f290949392919063ffffffff16565b60808501516101e08201516060870151610fd5926001600160a01b03909116918561190d565b6101e081015160808601516040516337ecbb3b60e11b81526001600160a01b0391821660048201819052602482015260448101859052911690636fd97676906064015f604051808303815f87803b15801561102e575f80fd5b505af1158015611040573d5f803e3d5ffd5b505050508460a0015161ffff1685606001516001600160a01b031686608001516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033895f01515f60028111156110a1576110a1612380565b8b602001516040516110b69493929190612671565b60405180910390a4505050505050565b5f60ff821115610e3c5760405162461bcd60e51b815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2038604482015264206269747360d81b60648201526084016104a6565b604080516020810190915282548082526710000000000000001615151560405180604001604052806002815260200161323960f01b8152509061117c5760405162461bcd60e51b81526004016104a69190612519565b50805167010000000000000016151560405180604001604052806002815260200161323760f01b815250906111c45760405162461bcd60e51b81526004016104a69190612519565b50805167800000000000000016151560405180604001604052806002815260200161393160f01b8152509061120c5760405162461bcd60e51b81526004016104a69190612519565b508051600160fc1b161580611296575081836004015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611293919061252b565b10155b60405180604001604052806002815260200161191b60f11b81525090610c585760405162461bcd60e51b81526004016104a69190612519565b6112d7611e16565b6112df611e16565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156113ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f2919061252b565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015611443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611467919061272e565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036114ba575050565b6114c482826119ac565b6114ce8282611a89565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517611512575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f908190611580906001600160801b0316676765c793fa10079d601b1b61157061156188611be9565b61156a88611be9565b906115b7565b61157a91906126e8565b906114f2565b905061158b81610dd4565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b600284041904841117156115d8575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b61161960405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161162d916114f2565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e916116f491600401612775565b606060405180830381865afa15801561170f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061173391906127f7565b6040840152602083015280825261174990610dd4565b6001870180546001600160801b03928316600160801b029216919091179055602081015161177690610dd4565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516117a690610dd4565b6002870180546001600160801b03928316600160801b0292169190911790556040805160208101909152865481526117e49051600160fc1b16151590565b15611899578215611841576117f883610dd4565b60098701805460109061181c908490600160801b90046001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156118995761185082610dd4565b600987018054601090611874908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af161194f573d5f803e3d5ffd5b5061195985611c03565b6119a55760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d0000000000000060448201526064016104a6565b5050505050565b61016081015115611a1a575f6119cc826101600151836102400151611ca6565b90506119e58260e00151826114f290919063ffffffff16565b61010083018190526119f690610dd4565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611a85575f611a36826101800151836102400151611ceb565b9050611a50826101200151826114f290919063ffffffff16565b6101408301819052611a6190610dd4565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b611abc6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611acd57505050565b6101208201518251611ade916114f2565b60208201526101408201518251611af4916114f2565b60408201526060820151610260830151610240840151611b1c92919064ffffffffff16611cf3565b606082018190526040830151611b31916114f2565b808252602082015160808401516040840151611b4d91906126e8565b611b5791906126fb565b611b6191906126fb565b608082018190526101a0830151611b789190610db0565b60a0820181905215611be457611ba3610f4d8361010001518360a001516115b790919063ffffffff16565b6008840180545f90611bbf9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b633b9aca008181029081048214611bfe575f80fd5b919050565b5f611c25565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611c645760208114611c9557611c5f7f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611c09565b611ca0565b823b611c8c57611c8c7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611c09565b60019150611ca0565b3d5f803e5f51151591505b50919050565b5f80611cb964ffffffffff8416426126fb565b611cc39085612822565b6301e1338090049050611ce181676765c793fa10079d601b1b6126e8565b9150505b92915050565b5f6115b08383425b5f80611d0664ffffffffff8516846126fb565b9050805f03611d2357676765c793fa10079d601b1b9150506115b0565b5f1981015f808060028511611d38575f611d3d565b600285035b925066038882915c4000611d518a806114f2565b81611d5e57611d5e612839565b0491506301e13380611d70838b6114f2565b81611d7d57611d7d612839565b0490505f82611d8c8688612822565b611d969190612822565b6002900490505f8285611da9888a612822565b611db39190612822565b611dbd9190612822565b60069004905080826301e13380611dd48a8f612822565b611dde919061284d565b611df390676765c793fa10079d601b1b6126e8565b611dfd91906126e8565b611e0791906126e8565b9b9a5050505050505050505050565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001611e8b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b60405290565b60405160e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f3d57611f3d611eb3565b604052919050565b6001600160a01b0381168114611f59575f80fd5b50565b8035611bfe81611f45565b5f67ffffffffffffffff821115611f8057611f80611eb3565b5060051b60200190565b5f82601f830112611f99575f80fd5b81356020611fae611fa983611f67565b611f14565b8083825260208201915060208460051b870101935086841115611fcf575f80fd5b602086015b84811015611ff4578035611fe781611f45565b8352918301918301611fd4565b509695505050505050565b5f82601f83011261200e575f80fd5b8135602061201e611fa983611f67565b8083825260208201915060208460051b87010193508684111561203f575f80fd5b602086015b84811015611ff45780358352918301918301612044565b5f82601f83011261206a575f80fd5b813567ffffffffffffffff81111561208457612084611eb3565b612097601f8201601f1916602001611f14565b8181528460208386010111156120ab575f80fd5b816020850160208301375f918101602001919091529392505050565b803561ffff81168114611bfe575f80fd5b803560ff81168114611bfe575f80fd5b8015158114611f59575f80fd5b8035611bfe816120e8565b5f805f805f60a08688031215612114575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff80821115612147575f80fd5b908701906101e0828a03121561215b575f80fd5b612163611ec7565b61216c83611f5c565b815260208301358281111561217f575f80fd5b61218b8b828601611f8a565b6020830152506040830135828111156121a2575f80fd5b6121ae8b828601611fff565b6040830152506060830135828111156121c5575f80fd5b6121d18b828601611fff565b6060830152506121e360808401611f5c565b608082015260a0830135828111156121f9575f80fd5b6122058b82860161205b565b60a08301525061221760c084016120c7565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101609150612257828401611f5c565b82820152610180915061226b828401611f5c565b828201526101a0915061227f8284016120d8565b828201526101c091506122938284016120f5565b828201528093505050509295509295909350565b5f80604083850312156122b8575f80fd5b82359150602083013567ffffffffffffffff808211156122d6575f80fd5b9084019060e082870312156122e9575f80fd5b6122f1611ef1565b6122fa83611f5c565b815261230860208401611f5c565b602082015260408301356040820152606083013582811115612328575f80fd5b6123348882860161205b565b606083015250612346608084016120c7565b608082015260a083013560a082015260c083013560c08201528093505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038281168282160390808211156123c8576123c8612394565b5092915050565b5f600182016123e0576123e0612394565b5060010190565b5f815180845260208085019450602084015f5b83811015612416578151875295820195908201906001016123fa565b509495945050505050565b5f81518084525f5b8181101561244557602081850181015186830182015201612429565b505f602082860101526020601f19601f83011685010191505092915050565b60a080825286519082018190525f9060209060c0840190828a01845b828110156124a55781516001600160a01b031684529284019290840190600101612480565b50505083810360208501526124ba81896123e7565b91505082810360408401526124cf81876123e7565b6001600160a01b0386166060850152838103608085015290506124f28185612421565b98975050505050505050565b5f6020828403121561250e575f80fd5b81516115b0816120e8565b602081525f6115b06020830184612421565b5f6020828403121561253b575f80fd5b5051919050565b5f60208284031215612552575f80fd5b81516115b081611f45565b6003811061257957634e487b7160e01b5f52602160045260245ffd5b9052565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e083015260808301516101006125f28185018361255d565b60a0850151915061012061260b8186018461ffff169052565b60c086015192506101406126228187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e08501529050611ff4565b6001600160a01b03851681526020810184905260808101612695604083018561255d565b82606083015295945050505050565b6001600160a01b03868116825260208201869052604082018590528316606082015260a0608082018190525f906126dd90830184612421565b979650505050505050565b80820180821115611ce557611ce5612394565b81810381811115611ce557611ce5612394565b6001600160801b038181168382160190808211156123c8576123c8612394565b5f805f8060808587031215612741575f80fd5b845193506020850151925060408501519150606085015164ffffffffff8116811461276a575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516127d760e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612809575f80fd5b8351925060208401519150604084015190509250925092565b8082028115828204841417611ce557611ce5612394565b634e487b7160e01b5f52601260045260245ffd5b5f8261286757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220347a10409fa10aed1c7c663df78ec0314d1ba218f8888c5bdf40c377cb90785c64736f6c63430008160033', - methodIdentifiers: { - "executeFlashLoan(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.FlashloanParams)": "2e7263ea", - "executeFlashLoanSimple(DataTypes.ReserveData storage,DataTypes.FlashloanSimpleParams)": "a1fe0e8d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts b/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts deleted file mode 100644 index 70203be40..000000000 --- a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const GPv2SafeERC20: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=GPv2SafeERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map deleted file mode 100644 index fad7c1395..000000000 --- a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GPv2SafeERC20.d.ts","sourceRoot":"","sources":["../src/GPv2SafeERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEwQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js b/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js deleted file mode 100644 index ecbe251c3..000000000 --- a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js +++ /dev/null @@ -1,5 +0,0 @@ -export const GPv2SafeERC20 = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207fd976204a67fe387dde0e3f5b91594a03bb9474ecded0f0cec5f31f49530ec764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts b/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts deleted file mode 100644 index 8926aa02c..000000000 --- a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const GenericLogic: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=GenericLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map deleted file mode 100644 index 8c7968afc..000000000 --- a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GenericLogic.d.ts","sourceRoot":"","sources":["../src/GenericLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;cAEyQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GenericLogic.js b/packages/hyperdrive-artifacts/dist/GenericLogic.js deleted file mode 100644 index 47f345a0c..000000000 --- a/packages/hyperdrive-artifacts/dist/GenericLogic.js +++ /dev/null @@ -1,5 +0,0 @@ -export const GenericLogic = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212203216d6a937141bc98440dcdd944ec0c65652e17bc70b3418594ecdc84aa23c9064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Helpers.d.ts b/packages/hyperdrive-artifacts/dist/Helpers.d.ts deleted file mode 100644 index 10952ac38..000000000 --- a/packages/hyperdrive-artifacts/dist/Helpers.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const Helpers: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=Helpers.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Helpers.d.ts.map b/packages/hyperdrive-artifacts/dist/Helpers.d.ts.map deleted file mode 100644 index 942eed666..000000000 --- a/packages/hyperdrive-artifacts/dist/Helpers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Helpers.d.ts","sourceRoot":"","sources":["../src/Helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Helpers.js b/packages/hyperdrive-artifacts/dist/Helpers.js deleted file mode 100644 index 6addd58cd..000000000 --- a/packages/hyperdrive-artifacts/dist/Helpers.js +++ /dev/null @@ -1,5 +0,0 @@ -export const Helpers = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220696d957db5182146bba93b0e3509553cedcf65a26663dfb9cf78d4a5c870740464736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts deleted file mode 100644 index 64072c0b3..000000000 --- a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts +++ /dev/null @@ -1,1204 +0,0 @@ -export declare const Hyperdrive: { - abi: readonly [{ - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map deleted file mode 100644 index 5eeb285e0..000000000 --- a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Hyperdrive.d.ts","sourceRoot":"","sources":["../src/Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA28CH,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Hyperdrive.js b/packages/hyperdrive-artifacts/dist/Hyperdrive.js deleted file mode 100644 index aeb09aae3..000000000 --- a/packages/hyperdrive-artifacts/dist/Hyperdrive.js +++ /dev/null @@ -1,1515 +0,0 @@ -export const Hyperdrive = { - abi: [ - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts deleted file mode 100644 index 114e38dd6..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveAdmin: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveAdmin.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map deleted file mode 100644 index f1fc95baf..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveAdmin.d.ts","sourceRoot":"","sources":["../src/HyperdriveAdmin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js b/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js deleted file mode 100644 index 7ff4baab0..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveAdmin = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts deleted file mode 100644 index 971e08faa..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map deleted file mode 100644 index 1cacd2076..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveBase.d.ts","sourceRoot":"","sources":["../src/HyperdriveBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveBase.js b/packages/hyperdrive-artifacts/dist/HyperdriveBase.js deleted file mode 100644 index 9789f3c1b..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts deleted file mode 100644 index 7c8173cbd..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveCheckpoint: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveCheckpoint.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map deleted file mode 100644 index 1c70eb272..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveCheckpoint.d.ts","sourceRoot":"","sources":["../src/HyperdriveCheckpoint.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBb,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js deleted file mode 100644 index 8ea18f9dc..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveCheckpoint = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts deleted file mode 100644 index f7b9d890e..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts +++ /dev/null @@ -1,174 +0,0 @@ -export declare const HyperdriveCheckpointRewarder: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_subrewarder"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "claimCheckpointReward"; - readonly inputs: readonly [{ - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "subrewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSubrewarder"; - readonly inputs: readonly [{ - readonly name: "_subrewarder"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewardClaimed"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "claimant"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "isTrader"; - readonly type: "bool"; - readonly indexed: true; - readonly internalType: "bool"; - }, { - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "contract IERC20"; - }, { - readonly name: "rewardAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SubrewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "subrewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "claimCheckpointReward(address,uint256,bool)": "69114d4e"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "subrewarder()": "3d7f7b24"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateSubrewarder(address)": "9b06ae49"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveCheckpointRewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map deleted file mode 100644 index 270042bb5..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveCheckpointRewarder.d.ts","sourceRoot":"","sources":["../src/HyperdriveCheckpointRewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Mi+H,KAAK,MAAM,EAAE;;;;;;;;;;;CAWthI,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js deleted file mode 100644 index 4dcb85777..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js +++ /dev/null @@ -1,219 +0,0 @@ -export const HyperdriveCheckpointRewarder = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_subrewarder", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimCheckpointReward", - "inputs": [ - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "subrewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSubrewarder", - "inputs": [ - { - "name": "_subrewarder", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewardClaimed", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimant", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "isTrader", - "type": "bool", - "indexed": true, - "internalType": "bool" - }, - { - "name": "checkpointTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "rewardToken", - "type": "address", - "indexed": false, - "internalType": "contract IERC20" - }, - { - "name": "rewardAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SubrewarderUpdated", - "inputs": [ - { - "name": "subrewarder", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506040516107fb3803806107fb83398101604081905261002e91610099565b60018054336001600160a01b031991821617909155600280549091166001600160a01b0383161790555f61006283826101f0565b5050506102af565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114610094575f80fd5b919050565b5f80604083850312156100aa575f80fd5b82516001600160401b03808211156100c0575f80fd5b818501915085601f8301126100d3575f80fd5b8151818111156100e5576100e561006a565b604051601f8201601f19908116603f0116810190838211818310171561010d5761010d61006a565b81604052828152602093508884848701011115610128575f80fd5b5f91505b82821015610149578482018401518183018501529083019061012c565b5f84848301015280965050505061016181860161007e565b925050509250929050565b600181811c9082168061018057607f821691505b60208210810361019e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101eb57805f5260205f20601f840160051c810160208510156101c95750805b601f840160051c820191505b818110156101e8575f81556001016101d5565b50505b505050565b81516001600160401b038111156102095761020961006a565b61021d81610217845461016c565b846101a4565b602080601f831160018114610250575f84156102395750858301515b5f19600386901b1c1916600185901b1785556102a7565b5f85815260208120601f198616915b8281101561027e5788860151825594840194600190910190840161025f565b508582101561029b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61053f806102bc5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c806369114d4e1161005857806369114d4e146101345780639b06ae4914610149578063e2f273bd1461015c578063f851a4401461016f575f80fd5b806304baa00b1461008957806306fdde03146100db5780633d7f7b24146100e357806354fd4d501461010e575b5f80fd5b6100c56040518060400160405280601c81526020017f48797065726472697665436865636b706f696e7452657761726465720000000081525081565b6040516100d291906103dd565b60405180910390f35b6100c5610182565b6002546100f6906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100c560405180604001604052806007815260200166076312e302e32360cc1b81525081565b610147610142366004610440565b61020d565b005b610147610157366004610483565b6102f7565b61014761016a366004610483565b61036a565b6001546100f6906001600160a01b031681565b5f805461018e906104a5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ba906104a5565b80156102055780601f106101dc57610100808354040283529160200191610205565b820191905f5260205f20905b8154815290600101906020018083116101e857829003601f168201915b505050505081565b60025460405163e9f4604160e01b81523360048201526001600160a01b0385811660248301526044820185905283151560648301525f92839291169063e9f460419060840160408051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029191906104dd565b909250905080156102f057604080518581526001600160a01b0384811660208301529181018390528415159187169033907f458cb4864d237cf3ef21835340aeec96759e685bd06793180e8cf7a7cd69cd5e9060600160405180910390a45b5050505050565b6001546001600160a01b03163314610321576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f4a847489062ccada272e291a747bfecff5d74ded500da0a156faca0bd8394dc6905f90a250565b6001546001600160a01b03163314610394576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f602080835283518060208501525f5b81811015610409578581018301518582016040015282016103ed565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461043d575f80fd5b50565b5f805f60608486031215610452575f80fd5b833561045d81610429565b92506020840135915060408401358015158114610478575f80fd5b809150509250925092565b5f60208284031215610493575f80fd5b813561049e81610429565b9392505050565b600181811c908216806104b957607f821691505b6020821081036104d757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f80604083850312156104ee575f80fd5b82516104f981610429565b602093909301519294929350505056fea26469706673582212209883b177773d0f7ac2191c2fef31721ffed01848dae9984a91967ab2106bb24764736f6c63430008160033', - methodIdentifiers: { - "admin()": "f851a440", - "claimCheckpointReward(address,uint256,bool)": "69114d4e", - "kind()": "04baa00b", - "name()": "06fdde03", - "subrewarder()": "3d7f7b24", - "updateAdmin(address)": "e2f273bd", - "updateSubrewarder(address)": "9b06ae49", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts deleted file mode 100644 index 213e514eb..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts +++ /dev/null @@ -1,338 +0,0 @@ -export declare const HyperdriveCheckpointSubrewarder: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_rewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_source"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_registry"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }, { - readonly name: "_rewardToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_minterRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_traderRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minterRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "processReward"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "registry"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "source"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "traderRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinterRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_minterRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRegistry"; - readonly inputs: readonly [{ - readonly name: "_registry"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRewardToken"; - readonly inputs: readonly [{ - readonly name: "_rewardToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSource"; - readonly inputs: readonly [{ - readonly name: "_source"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateTraderRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_traderRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinterRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "minterRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RegistryUpdated"; - readonly inputs: readonly [{ - readonly name: "registry"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RewardTokenUpdated"; - readonly inputs: readonly [{ - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IERC20"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SourceUpdated"; - readonly inputs: readonly [{ - readonly name: "source"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TraderRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "traderRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "kind()": "04baa00b"; - readonly "minterRewardAmount()": "62498576"; - readonly "name()": "06fdde03"; - readonly "processReward(address,address,uint256,bool)": "e9f46041"; - readonly "registry()": "7b103999"; - readonly "rewardToken()": "f7c618c1"; - readonly "rewarder()": "dcc3e06e"; - readonly "source()": "67e828bf"; - readonly "traderRewardAmount()": "5b338e07"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateMinterRewardAmount(uint256)": "2057b1c7"; - readonly "updateRegistry(address)": "1a5da6c8"; - readonly "updateRewardToken(address)": "f8cf31cb"; - readonly "updateSource(address)": "f24bab65"; - readonly "updateTraderRewardAmount(uint256)": "9183219f"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveCheckpointSubrewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map deleted file mode 100644 index d086b6018..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveCheckpointSubrewarder.d.ts","sourceRoot":"","sources":["../src/HyperdriveCheckpointSubrewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4Z85Q,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBt9Q,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js deleted file mode 100644 index 8a5b1efa0..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js +++ /dev/null @@ -1,433 +0,0 @@ -export const HyperdriveCheckpointSubrewarder = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_rewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "_source", - "type": "address", - "internalType": "address" - }, - { - "name": "_registry", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - }, - { - "name": "_rewardToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_minterRewardAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_traderRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minterRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "processReward", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - }, - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "registry", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "source", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "traderRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinterRewardAmount", - "inputs": [ - { - "name": "_minterRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRegistry", - "inputs": [ - { - "name": "_registry", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRewardToken", - "inputs": [ - { - "name": "_rewardToken", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSource", - "inputs": [ - { - "name": "_source", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateTraderRewardAmount", - "inputs": [ - { - "name": "_traderRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinterRewardAmountUpdated", - "inputs": [ - { - "name": "minterRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RegistryUpdated", - "inputs": [ - { - "name": "registry", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveRegistry" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RewardTokenUpdated", - "inputs": [ - { - "name": "rewardToken", - "type": "address", - "indexed": true, - "internalType": "contract IERC20" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SourceUpdated", - "inputs": [ - { - "name": "source", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TraderRewardAmountUpdated", - "inputs": [ - { - "name": "traderRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x60a060405234801562000010575f80fd5b50604051620010db380380620010db8339810160408190526200003391620000d3565b5f62000040888262000286565b50600180546001600160a01b031990811633179091556001600160a01b0396871660805260028054968816968216969096179095556003805494871694861694909417909355600480549290951691909316179092556005556006555062000352565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000ce575f80fd5b919050565b5f805f805f805f60e0888a031215620000ea575f80fd5b87516001600160401b038082111562000101575f80fd5b818a0191508a601f83011262000115575f80fd5b8151818111156200012a576200012a620000a3565b604051601f8201601f19908116603f01168101908382118183101715620001555762000155620000a3565b81604052828152602093508d8484870101111562000171575f80fd5b5f91505b8282101562000194578482018401518183018501529083019062000175565b5f848483010152809b50505050620001ae818b01620000b7565b97505050620001c060408901620000b7565b9450620001d060608901620000b7565b9350620001e060808901620000b7565b925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200021157607f821691505b6020821081036200023057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028157805f5260205f20601f840160051c810160208510156200025d5750805b601f840160051c820191505b818110156200027e575f815560010162000269565b50505b505050565b81516001600160401b03811115620002a257620002a2620000a3565b620002ba81620002b38454620001fc565b8462000236565b602080601f831160018114620002f0575f8415620002d85750858301515b5f19600386901b1c1916600185901b1785556200034a565b5f85815260208120601f198616915b828110156200032057888601518255948401946001909101908401620002ff565b50858210156200033e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051610d69620003725f395f818161022801526105110152610d695ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80637b1039991161009e578063e9f460411161006e578063e9f460411461025d578063f24bab651461028f578063f7c618c1146102a2578063f851a440146102b5578063f8cf31cb146102c8575f80fd5b80637b103999146101fd5780639183219f14610210578063dcc3e06e14610223578063e2f273bd1461024a575f80fd5b806354fd4d50116100d957806354fd4d501461018c5780635b338e07146101b257806362498576146101c957806367e828bf146101d2575f80fd5b806304baa00b1461010a57806306fdde031461015c5780631a5da6c8146101645780632057b1c714610179575b5f80fd5b6101466040518060400160405280601f81526020017f48797065726472697665436865636b706f696e7453756272657761726465720081525081565b604051610153919061099e565b60405180910390f35b6101466102db565b6101776101723660046109e4565b610366565b005b6101776101873660046109ff565b6103d9565b61014660405180604001604052806007815260200166076312e302e32360cc1b81525081565b6101bb60065481565b604051908152602001610153565b6101bb60055481565b6002546101e5906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b6003546101e5906001600160a01b031681565b61017761021e3660046109ff565b610435565b6101e57f000000000000000000000000000000000000000000000000000000000000000081565b6101776102583660046109e4565b610491565b61027061026b366004610a23565b610504565b604080516001600160a01b039093168352602083019190915201610153565b61017761029d3660046109e4565b6106a6565b6004546101e5906001600160a01b031681565b6001546101e5906001600160a01b031681565b6101776102d63660046109e4565b610719565b5f80546102e790610a73565b80601f016020809104026020016040519081016040528092919081815260200182805461031390610a73565b801561035e5780601f106103355761010080835404028352916020019161035e565b820191905f5260205f20905b81548152906001019060200180831161034157829003601f168201915b505050505081565b6001546001600160a01b03163314610390576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd905f90a250565b6001546001600160a01b03163314610403576040516282b42960e81b815260040160405180910390fd5b600581905560405181907faa8ae98398382187f26cba5014456be39e5486e84a5347fc41a234a6c4f03d25905f90a250565b6001546001600160a01b0316331461045f576040516282b42960e81b815260040160405180910390fd5b600681905560405181907fcbfc476043808accf425b48e528723c20dfc23e022fc8b6b63247ba91f9ee396905f90a250565b6001546001600160a01b031633146104bb576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461054e576040516282b42960e81b815260040160405180910390fd5b5f60045f9054906101000a90046001600160a01b031690506105d542886001600160a01b031663b0d965806040518163ffffffff1660e01b815260040161026060405180830381865afa1580156105a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cb9190610b61565b610120015161078c565b85146105e55791505f905061069d565b60035460405163062eced560e21b81526001600160a01b038981166004830152909116906318bb3b54906024016040805180830381865afa15801561062c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106509190610c5f565b516001146106625791505f905061069d565b5f8461067057600554610674565b6006545b9050801561069757600254610697906001600160a01b03848116911689846107aa565b90925090505b94509492505050565b6001546001600160a01b031633146106d0576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517ff2d025ce2c36cbd78cd7a2dd4607f7c5ef6b207ee59dfceb74aa73b80c1c53ae905f90a250565b6001546001600160a01b03163314610743576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fa5289ba11778999f4dfb9415023783188d42bbb5db0612cbfbe55999069612a0905f90a250565b5f6107978284610cbf565b6107a19084610cde565b90505b92915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261080490859061080a565b50505050565b5f61081e6001600160a01b03841683610875565b905080515f141580156108425750808060200190518101906108409190610cfd565b155b1561087057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606107a183835f845f80856001600160a01b031684866040516108999190610d18565b5f6040518083038185875af1925050503d805f81146108d3576040519150601f19603f3d011682016040523d82523d5f602084013e6108d8565b606091505b50915091506108e88683836108f4565b925050505b9392505050565b6060826109095761090482610950565b6108ed565b815115801561092057506001600160a01b0384163b155b1561094957604051639996b31560e01b81526001600160a01b0385166004820152602401610867565b50806108ed565b8051156109605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b8381101561099657818101518382015260200161097e565b50505f910152565b602081525f82518060208401526109bc81604085016020870161097c565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610979575f80fd5b5f602082840312156109f4575f80fd5b81356108ed816109d0565b5f60208284031215610a0f575f80fd5b5035919050565b8015158114610979575f80fd5b5f805f8060808587031215610a36575f80fd5b8435610a41816109d0565b93506020850135610a51816109d0565b9250604085013591506060850135610a6881610a16565b939692955090935050565b600181811c90821680610a8757607f821691505b602082108103610aa557634e487b7160e01b5f52602260045260245ffd5b50919050565b604051610200810167ffffffffffffffff81118282101715610adb57634e487b7160e01b5f52604160045260245ffd5b60405290565b8051610aec816109d0565b919050565b5f60808284031215610b01575f80fd5b6040516080810181811067ffffffffffffffff82111715610b3057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215610b72575f80fd5b610b7a610aab565b610b8383610ae1565b8152610b9160208401610ae1565b6020820152610ba260408401610ae1565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140808401518183015250610160610c0b818501610ae1565b90820152610180610c1d848201610ae1565b908201526101a0610c2f848201610ae1565b908201526101c0610c41848201610ae1565b908201526101e0610c5485858301610af1565b908201529392505050565b5f60408284031215610c6f575f80fd5b6040516040810181811067ffffffffffffffff82111715610c9e57634e487b7160e01b5f52604160045260245ffd5b604052825181526020830151610cb3816109d0565b60208201529392505050565b5f82610cd957634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156107a457634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610d0d575f80fd5b81516108ed81610a16565b5f8251610d2981846020870161097c565b919091019291505056fea2646970667358221220f4b1145022da47caf294d648d4347ec3f42c6c13cdaae0c32add7e23800bc40264736f6c63430008160033', - methodIdentifiers: { - "admin()": "f851a440", - "kind()": "04baa00b", - "minterRewardAmount()": "62498576", - "name()": "06fdde03", - "processReward(address,address,uint256,bool)": "e9f46041", - "registry()": "7b103999", - "rewardToken()": "f7c618c1", - "rewarder()": "dcc3e06e", - "source()": "67e828bf", - "traderRewardAmount()": "5b338e07", - "updateAdmin(address)": "e2f273bd", - "updateMinterRewardAmount(uint256)": "2057b1c7", - "updateRegistry(address)": "1a5da6c8", - "updateRewardToken(address)": "f8cf31cb", - "updateSource(address)": "f24bab65", - "updateTraderRewardAmount(uint256)": "9183219f", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 814be110d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,526 +0,0 @@ -export declare const HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 2d305dd89..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyoBtB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js deleted file mode 100644 index 84e1226aa..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,668 +0,0 @@ -export const HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts deleted file mode 100644 index 3b7f155a9..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts +++ /dev/null @@ -1,1675 +0,0 @@ -export declare const HyperdriveFactory: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_factoryConfig"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveFactory.FactoryConfig"; - readonly components: readonly [{ - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deployerCoordinatorManager"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "defaultPausers"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointDurationResolution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "maxFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }, { - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "_instancesToDeployerCoordinators"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "deployCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpointDurationResolution"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployAndInitialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployerCoordinatorManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorByInstances"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "coordinators"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorsInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfDeployerCoordinators"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "governance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isInstance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "linkerCodeHash"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "linkerFactory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "removeDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointDurationResolution"; - readonly inputs: readonly [{ - readonly name: "_checkpointDurationResolution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointRewarder"; - readonly inputs: readonly [{ - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDefaultPausers"; - readonly inputs: readonly [{ - readonly name: "_defaultPausers_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDeployerCoordinatorManager"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinatorManager"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFeeCollector"; - readonly inputs: readonly [{ - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateGovernance"; - readonly inputs: readonly [{ - readonly name: "_governance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateHyperdriveGovernance"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerCodeHash"; - readonly inputs: readonly [{ - readonly name: "_linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerFactory"; - readonly inputs: readonly [{ - readonly name: "_linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_maxCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_maxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFees"; - readonly inputs: readonly [{ - readonly name: "__maxFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_maxFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_maxPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_maxTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_minCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_minCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFees"; - readonly inputs: readonly [{ - readonly name: "__minFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_minFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_minPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_minTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSweepCollector"; - readonly inputs: readonly [{ - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "CheckpointDurationResolutionUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointDurationResolution"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointRewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DefaultPausersUpdated"; - readonly inputs: readonly [{ - readonly name: "newDefaultPausers"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deployed"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "config"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorAdded"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorManagerUpdated"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinatorManager"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorRemoved"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FeeCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newFeeCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "GovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "governance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "HyperdriveGovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "hyperdriveGovernance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerCodeHashUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerCodeHash"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerFactoryUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerFactory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SweepCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newSweepCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorAlreadyAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorIndexMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorNotAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDurationResolution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployerCoordinator"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReceiveLocked"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_instancesToDeployerCoordinators(address)": "2b58f418"; - readonly "addDeployerCoordinator(address)": "421caba8"; - readonly "checkpointDurationResolution()": "d0f96b92"; - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971"; - readonly "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7"; - readonly "deployerCoordinatorManager()": "e4e7148f"; - readonly "feeCollector()": "c415b95c"; - readonly "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb"; - readonly "getDeployerCoordinatorByInstances(address[])": "1b59be0c"; - readonly "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfDeployerCoordinators()": "e1b39c80"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "governance()": "5aa6e675"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "isDeployerCoordinator(address)": "f8c09e59"; - readonly "isInstance(address)": "6b44e6be"; - readonly "kind()": "04baa00b"; - readonly "linkerCodeHash()": "c905a4b5"; - readonly "linkerFactory()": "99623bb1"; - readonly "maxCheckpointDuration()": "e0e2daaa"; - readonly "maxCircuitBreakerDelta()": "4554f9a9"; - readonly "maxFees()": "e83e34b1"; - readonly "maxFixedAPR()": "bf9bd5cd"; - readonly "maxPositionDuration()": "8efc0986"; - readonly "maxTimeStretchAPR()": "48800760"; - readonly "minCheckpointDuration()": "5720c9d5"; - readonly "minCircuitBreakerDelta()": "1ecda0fe"; - readonly "minFees()": "c1722563"; - readonly "minFixedAPR()": "d23d7ea3"; - readonly "minPositionDuration()": "daf012e6"; - readonly "minTimeStretchAPR()": "d6f50169"; - readonly "name()": "06fdde03"; - readonly "removeDeployerCoordinator(address,uint256)": "411c3035"; - readonly "sweepCollector()": "10780f73"; - readonly "updateCheckpointDurationResolution(uint256)": "11e77bfe"; - readonly "updateCheckpointRewarder(address)": "3e2d2014"; - readonly "updateDefaultPausers(address[])": "9af25262"; - readonly "updateDeployerCoordinatorManager(address)": "a98a46db"; - readonly "updateFeeCollector(address)": "d2c35ce8"; - readonly "updateGovernance(address)": "b2561263"; - readonly "updateHyperdriveGovernance(address)": "dd2b8fbb"; - readonly "updateLinkerCodeHash(bytes32)": "4fbfee77"; - readonly "updateLinkerFactory(address)": "85229785"; - readonly "updateMaxCheckpointDuration(uint256)": "6f6d5c4a"; - readonly "updateMaxCircuitBreakerDelta(uint256)": "84c19aab"; - readonly "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac"; - readonly "updateMaxFixedAPR(uint256)": "97b0e8ce"; - readonly "updateMaxPositionDuration(uint256)": "eb71f66c"; - readonly "updateMaxTimeStretchAPR(uint256)": "628027a3"; - readonly "updateMinCheckpointDuration(uint256)": "8e127cf5"; - readonly "updateMinCircuitBreakerDelta(uint256)": "2907d3dd"; - readonly "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e"; - readonly "updateMinFixedAPR(uint256)": "1978ebcf"; - readonly "updateMinPositionDuration(uint256)": "e71f34b3"; - readonly "updateMinTimeStretchAPR(uint256)": "83b361e8"; - readonly "updateSweepCollector(address)": "8627a4f0"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map deleted file mode 100644 index 3d92f379b..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveFactory.d.ts","sourceRoot":"","sources":["../src/HyperdriveFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6hE0hgC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEpkgC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.js b/packages/hyperdrive-artifacts/dist/HyperdriveFactory.js deleted file mode 100644 index a317635aa..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.js +++ /dev/null @@ -1,2142 +0,0 @@ -export const HyperdriveFactory = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_factoryConfig", - "type": "tuple", - "internalType": "struct HyperdriveFactory.FactoryConfig", - "components": [ - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "deployerCoordinatorManager", - "type": "address", - "internalType": "address" - }, - { - "name": "hyperdriveGovernance", - "type": "address", - "internalType": "address" - }, - { - "name": "defaultPausers", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointDurationResolution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minPositionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPositionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minFixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxFixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "maxFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ] - }, - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "_instancesToDeployerCoordinators", - "inputs": [ - { - "name": "instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "deployCoordinator", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpointDurationResolution", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployAndInitialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdrive" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployerCoordinatorManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorByInstances", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "coordinators", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorsInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfDeployerCoordinators", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "governance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDeployerCoordinator", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isInstance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "linkerCodeHash", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "linkerFactory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateCheckpointDurationResolution", - "inputs": [ - { - "name": "_checkpointDurationResolution", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateCheckpointRewarder", - "inputs": [ - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDefaultPausers", - "inputs": [ - { - "name": "_defaultPausers_", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDeployerCoordinatorManager", - "inputs": [ - { - "name": "_deployerCoordinatorManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFeeCollector", - "inputs": [ - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateGovernance", - "inputs": [ - { - "name": "_governance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateHyperdriveGovernance", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerCodeHash", - "inputs": [ - { - "name": "_linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerFactory", - "inputs": [ - { - "name": "_linkerFactory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCheckpointDuration", - "inputs": [ - { - "name": "_maxCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCircuitBreakerDelta", - "inputs": [ - { - "name": "_maxCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFees", - "inputs": [ - { - "name": "__maxFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFixedAPR", - "inputs": [ - { - "name": "_maxFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxPositionDuration", - "inputs": [ - { - "name": "_maxPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxTimeStretchAPR", - "inputs": [ - { - "name": "_maxTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCheckpointDuration", - "inputs": [ - { - "name": "_minCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCircuitBreakerDelta", - "inputs": [ - { - "name": "_minCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFees", - "inputs": [ - { - "name": "__minFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFixedAPR", - "inputs": [ - { - "name": "_minFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinPositionDuration", - "inputs": [ - { - "name": "_minPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinTimeStretchAPR", - "inputs": [ - { - "name": "_minTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSweepCollector", - "inputs": [ - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "CheckpointDurationResolutionUpdated", - "inputs": [ - { - "name": "newCheckpointDurationResolution", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewarderUpdated", - "inputs": [ - { - "name": "newCheckpointRewarder", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DefaultPausersUpdated", - "inputs": [ - { - "name": "newDefaultPausers", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deployed", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "hyperdrive", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "config", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorAdded", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorManagerUpdated", - "inputs": [ - { - "name": "deployerCoordinatorManager", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorRemoved", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FeeCollectorUpdated", - "inputs": [ - { - "name": "newFeeCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "GovernanceUpdated", - "inputs": [ - { - "name": "governance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "HyperdriveGovernanceUpdated", - "inputs": [ - { - "name": "hyperdriveGovernance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerCodeHashUpdated", - "inputs": [ - { - "name": "newLinkerCodeHash", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerFactoryUpdated", - "inputs": [ - { - "name": "newLinkerFactory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMaxCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMaxCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFeesUpdated", - "inputs": [ - { - "name": "newMaxFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFixedAPRUpdated", - "inputs": [ - { - "name": "newMaxFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxPositionDurationUpdated", - "inputs": [ - { - "name": "newMaxPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMaxTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMinCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMinCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFeesUpdated", - "inputs": [ - { - "name": "newMinFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFixedAPRUpdated", - "inputs": [ - { - "name": "newMinFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinPositionDurationUpdated", - "inputs": [ - { - "name": "newMinPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMinTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SweepCollectorUpdated", - "inputs": [ - { - "name": "newSweepCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DeployerCoordinatorAlreadyAdded", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorIndexMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorNotAdded", - "inputs": [] - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDurationResolution", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployConfig", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployerCoordinator", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "ReceiveLocked", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x6080604052600260015534801562000015575f80fd5b5060405162004012380380620040128339810160408190526200003891620006f6565b5f6200004582826200094e565b508160e0015182610100015110806200007357508160e0015182610100015162000070919062000a1a565b15155b156200009257604051630219d66360e11b815260040160405180910390fd5b610100820151600b8190556101208301511080620000c557508160e00151826101200151620000c2919062000a1a565b15155b15620000e45760405163f9c0959d60e01b815260040160405180910390fd5b610120820151600c81905561014083015110806200011757508160e0015182610140015162000114919062000a1a565b15155b156200013657604051633007ad0160e11b815260040160405180910390fd5b610140820151600d81905561016083015110806200016957508160e0015182610160015162000166919062000a1a565b15155b15620001885760405163cfb699cb60e01b815260040160405180910390fd5b610160820151600e556101a08201516101808301511115620001bd5760405163ef9bc65f60e01b815260040160405180910390fd5b610180820151600f556101a08201516010556101e08201516101c08301511115620001fb576040516330554de160e01b815260040160405180910390fd5b6101c08201516011556101e0820151601255610220820151610200830151111562000239576040516383ebdfb760e01b815260040160405180910390fd5b61020082015160135561022082015160145561026082015151670de0b6b3a76400001080620002785750670de0b6b3a764000082610260015160200151115b80620002945750670de0b6b3a764000082610260015160400151115b80620002b05750670de0b6b3a764000082610260015160600151115b15620002cf5760405163161071fb60e11b815260040160405180910390fd5b610260820151805160198190556020820151601a556040820151601b55606090910151601c556102408301515111806200031a57508161026001516020015182610240015160200151115b806200033757508161026001516040015182610240015160400151115b806200035457508161026001516060015182610240015160600151115b1562000373576040516315b05a8f60e01b815260040160405180910390fd5b61024082015180516015556020808201516016556040808301516017556060928301516018558451600280546001600160a01b03199081166001600160a01b03938416179091558387015160038054831691841691909117905591860151600480548416918316919091179055608086015160078054841691831691909117905560a086015160088054841691831691909117905560c08601516009805490931691161790559083015180516200042f92601d9201906200046c565b5050610280810151600580546001600160a01b0319166001600160a01b039092169190911790556102a081015160065560e00151600a5562000a3a565b828054828255905f5260205f20908101928215620004c2579160200282015b82811115620004c257825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200048b565b50620004d0929150620004d4565b5090565b5b80821115620004d0575f8155600101620004d5565b634e487b7160e01b5f52604160045260245ffd5b6040516102c081016001600160401b0381118282101715620005245762000524620004ea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005555762000555620004ea565b604052919050565b80516001600160a01b038116811462000574575f80fd5b919050565b5f82601f83011262000589575f80fd5b815160206001600160401b03821115620005a757620005a7620004ea565b8160051b620005b88282016200052a565b9283528481018201928281019087851115620005d2575f80fd5b83870192505b84831015620005fc57620005ec836200055d565b82529183019190830190620005d8565b979650505050505050565b5f6080828403121562000618575f80fd5b604051608081016001600160401b03811182821017156200063d576200063d620004ea565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f82601f8301126200067e575f80fd5b81516001600160401b038111156200069a576200069a620004ea565b6020620006b0601f8301601f191682016200052a565b8281528582848701011115620006c4575f80fd5b5f5b83811015620006e3578581018301518282018401528201620006c6565b505f928101909101919091529392505050565b5f806040838503121562000708575f80fd5b82516001600160401b03808211156200071f575f80fd5b90840190610380828703121562000734575f80fd5b6200073e620004fe565b62000749836200055d565b815262000759602084016200055d565b60208201526200076c604084016200055d565b604082015260608301518281111562000783575f80fd5b620007918882860162000579565b606083015250620007a5608084016200055d565b6080820152620007b860a084016200055d565b60a0820152620007cb60c084016200055d565b60c082015260e08381015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a080840151908201526101c080840151908201526101e0808401519082015261020080840151908201526102208084015190820152610240620008598882860162000607565b908201526200086d876102c0850162000607565b6102608201526200088261034084016200055d565b61028082015261036092909201516102a0830152602085015191935080821115620008ab575f80fd5b50620008ba858286016200066e565b9150509250929050565b600181811c90821680620008d957607f821691505b602082108103620008f857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200094957805f5260205f20601f840160051c81016020851015620009255750805b601f840160051c820191505b8181101562000946575f815560010162000931565b50505b505050565b81516001600160401b038111156200096a576200096a620004ea565b62000982816200097b8454620008c4565b84620008fe565b602080601f831160018114620009b8575f8415620009a05750858301515b5f19600386901b1c1916600185901b17855562000a12565b5f85815260208120601f198616915b82811015620009e857888601518255948401946001909101908401620009c7565b508582101562000a0657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8262000a3557634e487b7160e01b5f52601260045260245ffd5b500690565b6135ca8062000a485f395ff3fe608060405260043610610395575f3560e01c80638e127cf5116101de578063d2c35ce811610108578063e4e7148f1161009d578063ec895f111161006d578063ec895f1114610a9d578063f259645814610abc578063f8c09e5914610adb578063fe3d5aeb14610b09575f80fd5b8063e4e7148f14610a2c578063e71f34b314610a4b578063e83e34b114610a6a578063eb71f66c14610a7e575f80fd5b8063dd2b8fbb116100d8578063dd2b8fbb146109c5578063e0e2daaa146109e4578063e1b39c80146109f9578063e333155514610a0d575f80fd5b8063d2c35ce81461095d578063d6f501691461097c578063daac24da14610991578063daf012e6146109b0575f80fd5b8063b25612631161017e578063c415b95c1161014e578063c415b95c146108ff578063c905a4b51461091e578063d0f96b9214610933578063d23d7ea314610948575f80fd5b8063b25612631461088b578063bc30e7a1146108aa578063bf9bd5cd146108c9578063c1722563146108de575f80fd5b806399623bb1116101b957806399623bb11461081a5780639af2526214610839578063a64c90bf14610858578063a98a46db1461086c575f80fd5b80638e127cf5146107c75780638efc0986146107e657806397b0e8ce146107fb575f80fd5b80634554f9a9116102bf578063628027a31161025f57806383b361e81161022f57806383b361e81461074b57806384c19aab1461076a57806385229785146107895780638627a4f0146107a8575f80fd5b8063628027a3146106bb5780636b44e6be146106da5780636e95d67c146107185780636f6d5c4a1461072c575f80fd5b80634fbfee771161029a5780634fbfee771461063657806354fd4d50146106555780635720c9d5146106875780635aa6e6751461069c575f80fd5b80634554f9a9146105ed578063488007601461060257806349f13de714610617575f80fd5b80631ecda0fe116103355780632e7cd971116103055780632e7cd9711461057d5780633e2d201414610590578063411c3035146105af578063421caba8146105ce575f80fd5b80631ecda0fe146104e95780632885e3ac1461050c5780632907d3dd1461052b5780632b58f4181461054a575f80fd5b806310d1dc3e1161037057806310d1dc3e1461046057806311e77bfe1461047f5780631978ebcf1461049e5780631b59be0c146104bd575f80fd5b806304baa00b146103c357806306fdde031461041557806310780f7314610429575f80fd5b366103bf576002600154036103bd57604051630aac75b560e31b815260040160405180910390fd5b005b5f80fd5b3480156103ce575f80fd5b506103ff6040518060400160405280601181526020017048797065726472697665466163746f727960781b81525081565b60405161040c9190612c3a565b60405180910390f35b348015610420575f80fd5b506103ff610b28565b348015610434575f80fd5b50600854610448906001600160a01b031681565b6040516001600160a01b03909116815260200161040c565b34801561046b575f80fd5b506103bd61047a366004612c4c565b610bb3565b34801561048a575f80fd5b506103bd610499366004612c5c565b610ccc565b3480156104a9575f80fd5b506103bd6104b8366004612c5c565b610da5565b3480156104c8575f80fd5b506104dc6104d7366004612c73565b610e27565b60405161040c9190612ce2565b3480156104f4575f80fd5b506104fe600f5481565b60405190815260200161040c565b348015610517575f80fd5b506103bd610526366004612c4c565b610eff565b348015610536575f80fd5b506103bd610545366004612c5c565b611065565b348015610555575f80fd5b50610448610564366004612d55565b602080525f90815260409020546001600160a01b031681565b61044861058b36600461301f565b6110e7565b34801561059b575f80fd5b506103bd6105aa366004612d55565b61150e565b3480156105ba575f80fd5b506103bd6105c93660046130f7565b611581565b3480156105d9575f80fd5b506103bd6105e8366004612d55565b611749565b3480156105f8575f80fd5b506104fe60105481565b34801561060d575f80fd5b506104fe60145481565b348015610622575f80fd5b50610448610631366004613121565b611850565b348015610641575f80fd5b506103bd610650366004612c5c565b61193d565b348015610660575f80fd5b506103ff60405180604001604052806007815260200166076312e302e32360cc1b81525081565b348015610692575f80fd5b506104fe600b5481565b3480156106a7575f80fd5b50600254610448906001600160a01b031681565b3480156106c6575f80fd5b506103bd6106d5366004612c5c565b611999565b3480156106e5575f80fd5b506107086106f4366004612d55565b60226020525f908152604090205460ff1681565b604051901515815260200161040c565b348015610723575f80fd5b506021546104fe565b348015610737575f80fd5b506103bd610746366004612c5c565b611a1b565b348015610756575f80fd5b506103bd610765366004612c5c565b611abf565b348015610775575f80fd5b506103bd610784366004612c5c565b611b41565b348015610794575f80fd5b506103bd6107a3366004612d55565b611bc3565b3480156107b3575f80fd5b506103bd6107c2366004612d55565b611c36565b3480156107d2575f80fd5b506103bd6107e1366004612c5c565b611ca9565b3480156107f1575f80fd5b506104fe600e5481565b348015610806575f80fd5b506103bd610815366004612c5c565b611d4d565b348015610825575f80fd5b50600554610448906001600160a01b031681565b348015610844575f80fd5b506103bd610853366004612c73565b611dcf565b348015610863575f80fd5b506104dc611e37565b348015610877575f80fd5b506103bd610886366004612d55565b611e97565b348015610896575f80fd5b506103bd6108a5366004612d55565b611f0a565b3480156108b5575f80fd5b506104dc6108c43660046131af565b611f7d565b3480156108d4575f80fd5b506104fe60125481565b3480156108e9575f80fd5b506108f261207c565b60405161040c91906131cf565b34801561090a575f80fd5b50600754610448906001600160a01b031681565b348015610929575f80fd5b506104fe60065481565b34801561093e575f80fd5b506104fe600a5481565b348015610953575f80fd5b506104fe60115481565b348015610968575f80fd5b506103bd610977366004612d55565b6120d0565b348015610987575f80fd5b506104fe60135481565b34801561099c575f80fd5b506104486109ab366004612c5c565b612143565b3480156109bb575f80fd5b506104fe600d5481565b3480156109d0575f80fd5b506103bd6109df366004612d55565b612171565b3480156109ef575f80fd5b506104fe600c5481565b348015610a04575f80fd5b50601e546104fe565b348015610a18575f80fd5b50600454610448906001600160a01b031681565b348015610a37575f80fd5b50600354610448906001600160a01b031681565b348015610a56575f80fd5b506103bd610a65366004612c5c565b6121e4565b348015610a75575f80fd5b506108f2612288565b348015610a89575f80fd5b506103bd610a98366004612c5c565b6122dc565b348015610aa8575f80fd5b506104dc610ab73660046131af565b612374565b348015610ac7575f80fd5b50600954610448906001600160a01b031681565b348015610ae6575f80fd5b50610708610af5366004612d55565b601f6020525f908152604090205460ff1681565b348015610b14575f80fd5b50610448610b23366004612c5c565b612473565b5f8054610b34906131fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610b60906131fa565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b505050505081565b6002546001600160a01b03163314610bdd576040516282b42960e81b815260040160405180910390fd5b60408051608081018252601954808252601a546020830152601b5492820192909252601c5460608201529082351180610c1d575080602001518260200135115b80610c2f575080604001518260400135115b80610c41575080606001518260600135115b15610c5f576040516315b05a8f60e01b815260040160405180910390fd5b81356015819055602080840135601681905560408086013560178190556060808801356018819055835196875294860193909352908401528201527fe1c45f8aeb543f30b37cc2fccfbac0f32cc8f234284df921d71cff04e51ef421906080015b60405180910390a15050565b6002546001600160a01b03163314610cf6576040516282b42960e81b815260040160405180910390fd5b80600b54610d04919061322c565b151580610d1d575080600c54610d1a919061322c565b15155b80610d34575080600d54610d31919061322c565b15155b80610d4b575080600e54610d48919061322c565b15155b15610d69576040516311b75c1560e31b815260040160405180910390fd5b600a8190556040518181527f04ed835b488b4fcf0a212a46ed67cbbffc2fc81b5cb6a12c546572cbf7b7e06a906020015b60405180910390a150565b6002546001600160a01b03163314610dcf576040516282b42960e81b815260040160405180910390fd5b601254811115610df257604051631670f79760e01b815260040160405180910390fd5b60118190556040518181527faab0ee9100629c405a4d75336e1640cc81e0608fb0d7f17389c06ee8d4f0219190602001610d9a565b60215460609067ffffffffffffffff811115610e4557610e45612d70565b604051908082528060200260200182016040528015610e6e578160200160208202803683370190505b5090505f5b82811015610ef75760205f858584818110610e9057610e9061324b565b9050602002016020810190610ea59190612d55565b6001600160a01b03908116825260208201929092526040015f20548351911690839083908110610ed757610ed761324b565b6001600160a01b0390921660209283029190910190910152600101610e73565b505b92915050565b6002546001600160a01b03163314610f29576040516282b42960e81b815260040160405180910390fd5b6040805160808101825260155481526016546020820152601754918101919091526018546060820152670de0b6b3a764000082351180610f745750670de0b6b3a76400008260200135115b80610f8a5750670de0b6b3a76400008260400135115b80610fa05750670de0b6b3a76400008260600135115b80610fac575080518235105b80610fbe575080602001518260200135105b80610fd0575080604001518260400135105b80610fe2575080606001518260600135105b156110005760405163161071fb60e11b815260040160405180910390fd5b81356019819055602080840135601a819055604080860135601b819055606080880135601c819055835196875294860193909352908401528201527f8c6093c7e65dd862e88162770c4e156e8a0da57d25d961e0fb6f28cfb7ff89a790608001610cc0565b6002546001600160a01b0316331461108f576040516282b42960e81b815260040160405180910390fd5b6010548111156110b2576040516328a2d9a960e01b815260040160405180910390fd5b600f8190556040518181527f41f729b931ad8e33d697fff6bc6736a1ac6ee09e8265efae2794ac1635c217a690602001610d9a565b6001600160a01b0389165f908152601f602052604081205460ff1661111f57604051636e623f0f60e01b815260040160405180910390fd5b61112a888686612487565b60408051336020808301919091528183018e905282518083038401815260608301938490528051910120631d321d7560e31b9092525f916001600160a01b038d169163e990eba891611186918e908e908e908a90606401613370565b6020604051808303815f875af11580156111a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c691906133bf565b90508a60205f836001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060045f9054906101000a90046001600160a01b03168961014001906001600160a01b031690816001600160a01b0316815250508a6001600160a01b03167fb25b0f0f93209be08152122f1321f6b0ef559a93a67695fff5fea3e5ed234465828c8c8c60405161128194939291906133da565b60405180910390a26021805460018082019092557f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180546001600160a01b0319166001600160a01b038481169182179092555f90815260226020908152604091829020805460ff1916851790559280558051339381019390935282018e90528c16906316abfc7090349060600160405160208183030381529060405280519060200120338b8b8a6040518763ffffffff1660e01b815260040161134995949392919061342b565b60206040518083038185885af1158015611365573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061138a919061348d565b5060026001555f5b601d5481101561143057816001600160a01b0316637180c8ca601d83815481106113be576113be61324b565b5f9182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b039091166004820152600160248201526044015f604051808303815f87803b15801561140e575f80fd5b505af1158015611420573d5f803e3d5ffd5b5050600190920191506113929050565b506004805460405163ab033ea960e01b81526001600160a01b039182169281019290925282169063ab033ea9906024015f604051808303815f87803b158015611477575f80fd5b505af1158015611489573d5f803e3d5ffd5b5047925050811590506114fe576040515f90339083908381818185875af1925050503d805f81146114d5576040519150601f19603f3d011682016040523d82523d5f602084013e6114da565b606091505b50509050806114fc576040516312171d8360e31b815260040160405180910390fd5b505b509b9a5050505050505050505050565b6002546001600160a01b03163314611538576040516282b42960e81b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040517fae062fb82c932c653cd44617343ecda1d13e375e0d6f20d969c944fbda1963d3905f90a250565b6002546001600160a01b031633148015906115a757506003546001600160a01b03163314155b156115c4576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0382165f908152601f602052604090205460ff166115fc57604051634bf121ab60e01b815260040160405180910390fd5b816001600160a01b0316601e82815481106116195761161961324b565b5f918252602090912001546001600160a01b03161461164b57604051630f2700cb60e21b815260040160405180910390fd5b6001600160a01b0382165f908152601f60205260409020805460ff19169055601e805461167a906001906134b8565b8154811061168a5761168a61324b565b5f91825260209091200154601e80546001600160a01b0390921691839081106116b5576116b561324b565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550601e8054806116f1576116f16134cb565b5f8281526020812082015f1990810180546001600160a01b03191690559091019091556040516001600160a01b038416917f709b7450bfafda93efd91d29149870a794637ac9d696ca61625fd2f53548afe091a25050565b6002546001600160a01b0316331480159061176f57506003546001600160a01b03163314155b1561178c576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f908152601f602052604090205460ff16156117c55760405163bd34634f60e01b815260040160405180910390fd5b6001600160a01b0381165f818152601f6020526040808220805460ff19166001908117909155601e8054918201815583527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b03191684179055517f16ce88285cfd59829a5aa04370a5ec8090a18c14e7e7fb9d4b12a42291c098e39190a250565b6001600160a01b0387165f908152601f602052604081205460ff1661188857604051636e623f0f60e01b815260040160405180910390fd5b611893878686612487565b60408051336020808301919091528183018c90528251808303840181526060830193849052805191012063182a20c360e31b9092525f916001600160a01b038b169163c1510618916118ef918c908c908a908a906064016134df565b6020604051808303815f875af115801561190b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192f91906133bf565b9a9950505050505050505050565b6002546001600160a01b03163314611967576040516282b42960e81b815260040160405180910390fd5b600681905560405181907f395a61259037298d1c4cd4bf177b64ad5995d38a9394573fcd9060d649314ad0905f90a250565b6002546001600160a01b031633146119c3576040516282b42960e81b815260040160405180910390fd5b6013548110156119e657604051630a35539d60e41b815260040160405180910390fd5b60148190556040518181527fa9e7961bb3342715dbecc208087a6a9df8986d524b3a0a829fd90f5a2f5ba53e90602001610d9a565b6002546001600160a01b03163314611a45576040516282b42960e81b815260040160405180910390fd5b600b54811080611a605750600a54611a5d908261322c565b15155b80611a6c5750600d5481115b15611a8a5760405163f9c0959d60e01b815260040160405180910390fd5b600c8190556040518181527f31407ddd1722f500b8aa2c18e112398626dd7c2869a5f80731ec30b244d9b5f290602001610d9a565b6002546001600160a01b03163314611ae9576040516282b42960e81b815260040160405180910390fd5b601454811115611b0c57604051635a8f655760e01b815260040160405180910390fd5b60138190556040518181527f490eb2a91746aa933c9ffe2f7939aa06498f3259139f8805f008b12c8c697a4690602001610d9a565b6002546001600160a01b03163314611b6b576040516282b42960e81b815260040160405180910390fd5b600f54811015611b8e57604051637edc061360e11b815260040160405180910390fd5b60108190556040518181527f0e56d83f54e6f5b08716a54b3abdb59b3025bf12c1875c87ab98ab081d6f838190602001610d9a565b6002546001600160a01b03163314611bed576040516282b42960e81b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517f03aa5b0fb65014eea89fda04a7bc11742014881f3c078f2c75b7226ce10d9418905f90a250565b6002546001600160a01b03163314611c60576040516282b42960e81b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040517fc049058b1df2dd8902739ceb78992df12fa8369c06c450b3c6787137b452fdd2905f90a250565b6002546001600160a01b03163314611cd3576040516282b42960e81b815260040160405180910390fd5b600a54811080611cee5750600a54611ceb908261322c565b15155b80611cfa5750600c5481115b15611d1857604051630219d66360e11b815260040160405180910390fd5b600b8190556040518181527f6f8175cdbac1b4d238abba24a17d2554d7b9750bbeda6414e191c478384b763190602001610d9a565b6002546001600160a01b03163314611d77576040516282b42960e81b815260040160405180910390fd5b601154811015611d9a5760405163019cfb7b60e61b815260040160405180910390fd5b60128190556040518181527f4fa35c11ce9a45ae882c154ecb53ab5cac52a74a5b9b0373be36deb30c78297890602001610d9a565b6002546001600160a01b03163314611df9576040516282b42960e81b815260040160405180910390fd5b611e05601d8383612b8b565b507f2a85276cf604a3822e19b29a3e97aebfbc47a19025c2e8f6e80b3af774dcbc388282604051610cc092919061351d565b6060601d805480602002602001604051908101604052809291908181526020018280548015611e8d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611e6f575b5050505050905090565b6002546001600160a01b03163314611ec1576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517f6f717fb0ab51206dea4064a35c94c2784f8714b012fbde820e0ddee36265eb6a905f90a250565b6002546001600160a01b03163314611f34576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f9d3e522e1e47a2f6009739342b9cc7b252a1888154e843ab55ee1c81745795ab905f90a250565b6060818310611f9f57604051633b2735ab60e11b815260040160405180910390fd5b602154821115611fc25760405163e0f7becb60e01b815260040160405180910390fd5b611fcc83836134b8565b67ffffffffffffffff811115611fe457611fe4612d70565b60405190808252806020026020018201604052801561200d578160200160208202803683370190505b509050825b82811015610ef7576021818154811061202d5761202d61324b565b905f5260205f20015f9054906101000a90046001600160a01b0316828583038151811061205c5761205c61324b565b6001600160a01b0390921660209283029190910190910152600101612012565b6120a360405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526015548152601654602082015260175491810191909152601854606082015290565b6002546001600160a01b031633146120fa576040516282b42960e81b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f905f90a250565b5f602182815481106121575761215761324b565b5f918252602090912001546001600160a01b031692915050565b6002546001600160a01b0316331461219b576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517ff3e07b4bb4394f2ff320bd1dd151551dff304d5e948b401d8558b228482c97d8905f90a250565b6002546001600160a01b0316331461220e576040516282b42960e81b815260040160405180910390fd5b600c548110806122295750600a54612226908261322c565b15155b806122355750600e5481115b1561225357604051633007ad0160e11b815260040160405180910390fd5b600d8190556040518181527fe9ef3e93dff799d4db8a12ff79e0918a5a78d75b10527864f4b1c920f6f4f17890602001610d9a565b6122af60405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526019548152601a546020820152601b5491810191909152601c54606082015290565b6002546001600160a01b03163314612306576040516282b42960e81b815260040160405180910390fd5b600d548110806123215750600a5461231e908261322c565b15155b1561233f5760405163cfb699cb60e01b815260040160405180910390fd5b600e8190556040518181527f866fe9485f9983afceaa1385307b6eb0fd3df5a250ae2b0bf76dc9ddd316926b90602001610d9a565b606081831061239657604051633b2735ab60e11b815260040160405180910390fd5b601e548211156123b95760405163e0f7becb60e01b815260040160405180910390fd5b6123c383836134b8565b67ffffffffffffffff8111156123db576123db612d70565b604051908082528060200260200182016040528015612404578160200160208202803683370190505b509050825b82811015610ef757601e81815481106124245761242461324b565b905f5260205f20015f9054906101000a90046001600160a01b031682858303815181106124535761245361324b565b6001600160a01b0390921660209283029190910190910152600101612409565b5f601e82815481106121575761215761324b565b600b5483610100015110806124a25750600c54836101000151115b806124be5750600a548361010001516124bb919061322c565b15155b156124dc57604051635428734d60e01b815260040160405180910390fd5b600d548360e0015110806124f55750600e548360e00151115b8061251357508261010001518360e00151612510919061322c565b15155b156125315760405163253fffcf60e11b815260040160405180910390fd5b600f548360c00151108061254a57506010548360c00151115b156125685760405163ef9bc65f60e01b815260040160405180910390fd5b6019546101c084015151118061259c5750601a5460e08401516101c08501516020015161259a916301e13380906127f6565b115b806125b15750601b546101c084015160400151115b806125c65750601c546101c084015160600151115b806125d857506015546101c084015151105b80612601575060165460e08401516101c0850151602001516125ff916301e1338090612819565b105b8061261657506017546101c084015160400151105b8061262b57506018546101c084015160600151105b1561264957604051632d8768f960e01b815260040160405180910390fd5b60115482108061265a575060125482115b15612678576040516330554de160e01b815260040160405180910390fd5b5f61269c6611c37937e0800061269685671bc16d674ec80000612834565b9061284f565b6013549091506126ac908261284f565b8210806126df57506126dc6126d3671bc16d674ec800006126cd868561284f565b90612864565b60145490612878565b82115b156126fd576040516383ebdfb760e01b815260040160405180910390fd5b5f61270c838660e0015161288c565b60055460408701519192506001600160a01b0391821691161415806127375750600654856060015114155b8061275657506007546101608601516001600160a01b03908116911614155b8061277557506008546101808601516001600160a01b03908116911614155b8061279457506009546101a08601516001600160a01b03908116911614155b806127b357506004546101408601516001600160a01b03908116911614155b806127c2575061012085015115155b156127e05760405163e8c02dd760e01b815260040160405180910390fd5b3061014086015261012090940193909352505050565b5f825f19048411830215820261280a575f80fd5b50910281810615159190040190565b5f825f19048411830215820261282d575f80fd5b5091020490565b5f61284883670de0b6b3a764000084612819565b9392505050565b5f81831161285d5781612848565b5090919050565b5f6128488383670de0b6b3a7640000612819565b5f8183116128865782612848565b50919050565b5f806128bc6128ad61289f86606461356a565b66a5bbed86c5a00090612864565b6748cd4072281e000090612834565b90506128d0670de0b6b3a764000082612834565b9050612928816126cd6128fb6128f66128f189670de0b6b3a7640000613581565b612930565b61295d565b6129226128f66129108a8a6301e13380612819565b6128f190670de0b6b3a7640000613581565b90612834565b949350505050565b5f6001600160ff1b038211156129595760405163396ea70160e11b815260040160405180910390fd5b5090565b5f80821361297e5760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612a0a9084901c612930565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b828054828255905f5260205f20908101928215612bdc579160200282015b82811115612bdc5781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190612ba9565b506129599291505b80821115612959575f8155600101612be4565b5f81518084525f5b81811015612c1b57602081850181015186830182015201612bff565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6128486020830184612bf7565b5f60808284031215612886575f80fd5b5f60208284031215612c6c575f80fd5b5035919050565b5f8060208385031215612c84575f80fd5b823567ffffffffffffffff80821115612c9b575f80fd5b818501915085601f830112612cae575f80fd5b813581811115612cbc575f80fd5b8660208260051b8501011115612cd0575f80fd5b60209290920196919550909350505050565b602080825282518282018190525f9190848201906040850190845b81811015612d225783516001600160a01b031683529284019291840191600101612cfd565b50909695505050505050565b6001600160a01b0381168114612d42575f80fd5b50565b8035612d5081612d2e565b919050565b5f60208284031215612d65575f80fd5b813561284881612d2e565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715612da857612da8612d70565b60405290565b5f82601f830112612dbd575f80fd5b813567ffffffffffffffff80821115612dd857612dd8612d70565b604051601f8301601f19908116603f01168101908282118183101715612e0057612e00612d70565b81604052838152866020858801011115612e18575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215612e47575f80fd5b6040516080810181811067ffffffffffffffff82111715612e6a57612e6a612d70565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215612eac575f80fd5b612eb4612d84565b9050612ebf82612d45565b8152612ecd60208301612d45565b6020820152612ede60408301612d45565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140612f3b818401612d45565b90820152610160612f4d838201612d45565b90820152610180612f5f838201612d45565b908201526101a0612f71838201612d45565b908201526101c0612f8484848301612e37565b9082015292915050565b5f60608284031215612f9e575f80fd5b6040516060810167ffffffffffffffff8282108183111715612fc257612fc2612d70565b8160405282935084359150612fd682612d2e565b9082526020840135908115158214612fec575f80fd5b8160208401526040850135915080821115613005575f80fd5b5061301285828601612dae565b6040830152505092915050565b5f805f805f805f805f806103608b8d031215613039575f80fd5b8a35995061304960208c01612d45565b985060408b013567ffffffffffffffff80821115613065575f80fd5b6130718e838f01612dae565b99506130808e60608f01612e9b565b98506102a08d0135915080821115613096575f80fd5b6130a28e838f01612dae565b97506102c08d013596506102e08d013595506103008d013594506103208d01359150808211156130d0575f80fd5b506130dd8d828e01612f8e565b9250506103408b013590509295989b9194979a5092959850565b5f8060408385031215613108575f80fd5b823561311381612d2e565b946020939093013593505050565b5f805f805f805f80610320898b031215613139575f80fd5b88359750602089013561314b81612d2e565b965061315a8a60408b01612e9b565b955061028089013567ffffffffffffffff811115613176575f80fd5b6131828b828c01612dae565b989b979a5095986102a0810135976102c082013597506102e0820135965061030090910135945092505050565b5f80604083850312156131c0575f80fd5b50508035926020909101359150565b8151815260208083015190820152604080830151908201526060808301519082015260808101610ef9565b600181811c9082168061320e57607f821691505b60208210810361288657634e487b7160e01b5f52602260045260245ffd5b5f8261324657634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52603260045260245ffd5b80516001600160a01b03168252602081015161328660208401826001600160a01b03169052565b5060408101516132a160408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151613307828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b5f6102c087835280602084015261338981840188612bf7565b9050613398604084018761325f565b8281036102808401526133ab8186612bf7565b915050826102a08301529695505050505050565b5f602082840312156133cf575f80fd5b815161284881612d2e565b6001600160a01b03851681526102a0602082018190525f906133fe83820187612bf7565b905061340d604084018661325f565b8281036102808401526134208185612bf7565b979650505050505050565b8581525f60018060a01b03808716602084015285604084015284606084015260a060808401528084511660a0840152506020830151151560c08301526040830151606060e0840152613481610100840182612bf7565b98975050505050505050565b5f6020828403121561349d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ef957610ef96134a4565b634e487b7160e01b5f52603160045260245ffd5b5f6102c08783526134f3602084018861325f565b8061026084015261350681840187612bf7565b61028084019590955250506102a001529392505050565b60208082528181018390525f908460408401835b8681101561355f57823561354481612d2e565b6001600160a01b031682529183019190830190600101613531565b509695505050505050565b8082028115828204841417610ef957610ef96134a4565b80820180821115610ef957610ef96134a456fea2646970667358221220a1e514bf85e79a36a06a6b5cba470da19dd8126fb4e92a14dbe5b9d89c3e2ddf64736f6c63430008160033', - methodIdentifiers: { - "_instancesToDeployerCoordinators(address)": "2b58f418", - "addDeployerCoordinator(address)": "421caba8", - "checkpointDurationResolution()": "d0f96b92", - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", - "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", - "deployerCoordinatorManager()": "e4e7148f", - "feeCollector()": "c415b95c", - "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", - "getDeployerCoordinatorByInstances(address[])": "1b59be0c", - "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfDeployerCoordinators()": "e1b39c80", - "getNumberOfInstances()": "6e95d67c", - "governance()": "5aa6e675", - "hyperdriveGovernance()": "e3331555", - "isDeployerCoordinator(address)": "f8c09e59", - "isInstance(address)": "6b44e6be", - "kind()": "04baa00b", - "linkerCodeHash()": "c905a4b5", - "linkerFactory()": "99623bb1", - "maxCheckpointDuration()": "e0e2daaa", - "maxCircuitBreakerDelta()": "4554f9a9", - "maxFees()": "e83e34b1", - "maxFixedAPR()": "bf9bd5cd", - "maxPositionDuration()": "8efc0986", - "maxTimeStretchAPR()": "48800760", - "minCheckpointDuration()": "5720c9d5", - "minCircuitBreakerDelta()": "1ecda0fe", - "minFees()": "c1722563", - "minFixedAPR()": "d23d7ea3", - "minPositionDuration()": "daf012e6", - "minTimeStretchAPR()": "d6f50169", - "name()": "06fdde03", - "removeDeployerCoordinator(address,uint256)": "411c3035", - "sweepCollector()": "10780f73", - "updateCheckpointDurationResolution(uint256)": "11e77bfe", - "updateCheckpointRewarder(address)": "3e2d2014", - "updateDefaultPausers(address[])": "9af25262", - "updateDeployerCoordinatorManager(address)": "a98a46db", - "updateFeeCollector(address)": "d2c35ce8", - "updateGovernance(address)": "b2561263", - "updateHyperdriveGovernance(address)": "dd2b8fbb", - "updateLinkerCodeHash(bytes32)": "4fbfee77", - "updateLinkerFactory(address)": "85229785", - "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", - "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", - "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", - "updateMaxFixedAPR(uint256)": "97b0e8ce", - "updateMaxPositionDuration(uint256)": "eb71f66c", - "updateMaxTimeStretchAPR(uint256)": "628027a3", - "updateMinCheckpointDuration(uint256)": "8e127cf5", - "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", - "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", - "updateMinFixedAPR(uint256)": "1978ebcf", - "updateMinPositionDuration(uint256)": "e71f34b3", - "updateMinTimeStretchAPR(uint256)": "83b361e8", - "updateSweepCollector(address)": "8627a4f0", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts deleted file mode 100644 index 3d89c5173..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveLP: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveLP.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map deleted file mode 100644 index cb1b25761..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveLP.d.ts","sourceRoot":"","sources":["../src/HyperdriveLP.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBL,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLP.js b/packages/hyperdrive-artifacts/dist/HyperdriveLP.js deleted file mode 100644 index 5aded063d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLP.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveLP = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts deleted file mode 100644 index 6c08f53c7..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveLong: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveLong.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map deleted file mode 100644 index 58c4dc82c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveLong.d.ts","sourceRoot":"","sources":["../src/HyperdriveLong.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLong.js b/packages/hyperdrive-artifacts/dist/HyperdriveLong.js deleted file mode 100644 index daa3932de..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLong.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveLong = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts deleted file mode 100644 index 85b5cc0ba..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const HyperdriveMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map deleted file mode 100644 index 8ee00ab7d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveMath.d.ts","sourceRoot":"","sources":["../src/HyperdriveMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMath.js b/packages/hyperdrive-artifacts/dist/HyperdriveMath.js deleted file mode 100644 index 8e9f9b16d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const HyperdriveMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f750f6fbf60495e97c0a539b86ad20c1304cba5840bc52023fe0f4c42006d81b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts deleted file mode 100644 index ba49e5f6f..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveMultiToken: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveMultiToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map deleted file mode 100644 index 3caab0dd7..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveMultiToken.d.ts","sourceRoot":"","sources":["../src/HyperdriveMultiToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBb,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js b/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js deleted file mode 100644 index 8bdcd5524..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveMultiToken = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts deleted file mode 100644 index 0cffb8455..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts +++ /dev/null @@ -1,541 +0,0 @@ -export declare const HyperdriveRegistry: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoriesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfos"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfos"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfFactories"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isInitialized"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }, { - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateName"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FactoryInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "InstanceInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NameUpdated"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RegistryAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "getFactoriesInRange(uint256,uint256)": "716ba5f6"; - readonly "getFactoryAtIndex(uint256)": "a587bbe1"; - readonly "getFactoryInfo(address)": "9b724ad4"; - readonly "getFactoryInfoWithMetadata(address)": "f32c9e34"; - readonly "getFactoryInfos(address[])": "ea350321"; - readonly "getFactoryInfosWithMetadata(address[])": "b73e3fab"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstanceInfo(address)": "18bb3b54"; - readonly "getInstanceInfoWithMetadata(address)": "2ad19de8"; - readonly "getInstanceInfos(address[])": "4db6c0e0"; - readonly "getInstanceInfosWithMetadata(address[])": "d2f72d52"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfFactories()": "f59d00b9"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "initialize(string,address)": "7ab4339d"; - readonly "isInitialized()": "392e53cd"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "setFactoryInfo(address[],uint128[])": "e967e388"; - readonly "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateName(string)": "84da92a7"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveRegistry.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map deleted file mode 100644 index 470ecc9cf..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveRegistry.d.ts","sourceRoot":"","sources":["../src/HyperdriveRegistry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgqB6woB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BxzoB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js b/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js deleted file mode 100644 index a09bd114d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js +++ /dev/null @@ -1,700 +0,0 @@ -export const HyperdriveRegistry = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoriesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfo", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfoWithMetadata", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfos", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfosWithMetadata", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfo", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfoWithMetadata", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfos", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfosWithMetadata", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfFactories", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isInitialized", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setFactoryInfo", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setInstanceInfo", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - }, - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateName", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FactoryInfoUpdated", - "inputs": [ - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InstanceInfoUpdated", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NameUpdated", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFactory", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "RegistryAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061286f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c80639b724ad4116100bf578063e2f273bd11610079578063e2f273bd146103ee578063e967e38814610401578063ea35032114610414578063f32c9e3414610434578063f59d00b914610454578063f851a4401461045c575f80fd5b80639b724ad414610307578063a587bbe11461035d578063b73e3fab14610388578063bc30e7a1146103a8578063d2f72d52146103bb578063daac24da146103db575f80fd5b80634db6c0e0116101105780634db6c0e01461026957806354fd4d50146102895780636e95d67c146102af578063716ba5f6146102c15780637ab4339d146102e157806384da92a7146102f4575f80fd5b806304baa00b1461015757806306fdde031461019e57806318bb3b54146101a65780631ff30ad2146102185780632ad19de81461022d578063392e53cd1461024d575b5f80fd5b6101886040518060400160405280601281526020017148797065726472697665526567697374727960701b81525081565b6040516101959190611f2a565b60405180910390f35b61018861046f565b61020b6101b4366004611f5e565b604080518082019091525f8082526020820152506040805180820182526001600160a01b039283165f8181526006602081815294822080546001600160801b03168552929091528352600101549092169082015290565b6040516101959190611f77565b61022b610226366004611fde565b6104fb565b005b61024061023b366004611f5e565b6108c1565b60405161019591906120dc565b5f546102599060ff1681565b6040519015158152602001610195565b61027c6102773660046120ee565b610a44565b604051610195919061212c565b61018860405180604001604052806007815260200166076312e302e32360cc1b81525081565b6005545b604051908152602001610195565b6102d46102cf36600461218b565b610b88565b60405161019591906121ab565b61022b6102ef3660046121f7565b610c86565b61022b6103023660046122da565b610d26565b61034e610315366004611f5e565b60408051602080820183525f91829052825180820184526001600160a01b039490941682526004905220546001600160801b0316815290565b60405190518152602001610195565b61037061036b366004612353565b610d9d565b6040516001600160a01b039091168152602001610195565b61039b6103963660046120ee565b610dcb565b60405161019591906123bb565b6102d46103b636600461218b565b611047565b6103ce6103c93660046120ee565b611145565b604051610195919061241d565b6103706103e9366004612353565b6113f4565b61022b6103fc366004611f5e565b611408565b61022b61040f366004612472565b61147b565b6104276104223660046120ee565b611821565b60405161019591906124d8565b610447610442366004611f5e565b611907565b6040516101959190612510565b6003546102b3565b600254610370906001600160a01b031681565b6001805461047c90612522565b80601f01602080910402602001604051908101604052809291908181526020018280546104a890612522565b80156104f35780601f106104ca576101008083540402835291602001916104f3565b820191905f5260205f20905b8154815290600101906020018083116104d657829003601f168201915b505050505081565b6002546001600160a01b03163314610525576040516282b42960e81b815260040160405180910390fd5b84831415806105345750848114155b156105525760405163aaad13f760e01b815260040160405180910390fd5b5f5b858110156108b8575f60065f8989858181106105725761057261255a565b90506020020160208101906105879190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508585838181106105bd576105bd61255a565b90506020020160208101906105d2919061256e565b6001600160801b03161580156105e757508015155b1561066f575f8484848181106105ff576105ff61255a565b90506020020160208101906106149190611f5e565b6001600160a01b03161461063b57604051637a44db9560e01b815260040160405180910390fd5b61066a8888848181106106505761065061255a565b90506020020160208101906106659190611f5e565b611998565b6107f2565b8585838181106106815761068161255a565b9050602002016020810190610696919061256e565b6001600160801b0316158015906106ac57508015155b1561072e5761066a8888848181106106c6576106c661255a565b90506020020160208101906106db9190611f5e565b8787858181106106ed576106ed61255a565b9050602002016020810190610702919061256e565b8686868181106107145761071461255a565b90506020020160208101906107299190611f5e565b611ae6565b8585838181106107405761074061255a565b9050602002016020810190610755919061256e565b6001600160801b03161580159061076a575080155b156107ec5761066a8888848181106107845761078461255a565b90506020020160208101906107999190611f5e565b8787858181106107ab576107ab61255a565b90506020020160208101906107c0919061256e565b8686868181106107d2576107d261255a565b90506020020160208101906107e79190611f5e565b611c29565b506108b0565b8383838181106108045761080461255a565b90506020020160208101906108199190611f5e565b6001600160a01b03168686848181106108345761083461255a565b9050602002016020810190610849919061256e565b6001600160801b03168989858181106108645761086461255a565b90506020020160208101906108799190611f5e565b6001600160a01b03167fdcdda2b8267b8fe0ebfeb2cc8f266807b412bec096d16cbbe576d46d122553e060405160405180910390a4505b600101610554565b50505050505050565b6108c9611ea7565b6040805160a0810182526001600160a01b038085165f8181526006602081815286832080546001600160801b031687528484529181526001909101549093169284019290925283516306fdde0360e01b8152845187958501936306fdde0392600480820193918290030181865afa158015610946573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096d9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156109ad573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109d49190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a14573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a3b9190810190612594565b90529392505050565b6060816001600160401b03811115610a5e57610a5e612270565b604051908082528060200260200182016040528015610aa257816020015b604080518082019091525f8082526020820152815260200190600190039081610a7c5790505b5090505f5b82811015610b8057604051806040016040528060065f878786818110610acf57610acf61255a565b9050602002016020810190610ae49190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b03168352910190600690878786818110610b2357610b2361255a565b9050602002016020810190610b389190611f5e565b6001600160a01b03908116825260208201929092526040015f20600101541690528251839083908110610b6d57610b6d61255a565b6020908102919091010152600101610aa7565b505b92915050565b6060818310610baa57604051633b2735ab60e11b815260040160405180910390fd5b600354821115610bcd5760405163e0f7becb60e01b815260040160405180910390fd5b610bd783836125fc565b6001600160401b03811115610bee57610bee612270565b604051908082528060200260200182016040528015610c17578160200160208202803683370190505b509050825b82811015610b805760038181548110610c3757610c3761255a565b5f918252602090912001546001600160a01b031682610c5686846125fc565b81518110610c6657610c6661255a565b6001600160a01b0390921660209283029190910190910152600101610c1c565b5f5460ff1615610ca95760405163722c395b60e11b815260040160405180910390fd5b5f805460ff19166001908117909155610cc3838583612664565b50600280546001600160a01b0319166001600160a01b038316908117909155604051610cf2908590859061271d565b604051908190038120907fe57439d837715589a751e391f73a95929ecc96ae6aa09a16be8ae312d6147157905f90a3505050565b6002546001600160a01b03163314610d50576040516282b42960e81b815260040160405180910390fd5b6001610d5c828261272c565b5080604051610d6b91906127eb565b604051908190038120907f9f7688a97f1ac51fe03bac18af18d6810f9f11f0db08c59b1938a9ac825ef744905f90a250565b5f60038281548110610db157610db161255a565b5f918252602090912001546001600160a01b031692915050565b6060816001600160401b03811115610de557610de5612270565b604051908082528060200260200182016040528015610e4057816020015b610e2d60405180608001604052805f81526020016060815260200160608152602001606081525090565b815260200190600190039081610e035790505b5090505f5b82811015610b80575f848483818110610e6057610e6061255a565b9050602002016020810190610e759190611f5e565b9050604051806080016040528060045f888887818110610e9757610e9761255a565b9050602002016020810190610eac9190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f205f015f9054906101000a90046001600160801b03166001600160801b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f509190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f90573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fb79190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ff7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261101e9190810190612594565b8152508383815181106110335761103361255a565b602090810291909101015250600101610e45565b606081831061106957604051633b2735ab60e11b815260040160405180910390fd5b60055482111561108c5760405163e0f7becb60e01b815260040160405180910390fd5b61109683836125fc565b6001600160401b038111156110ad576110ad612270565b6040519080825280602002602001820160405280156110d6578160200160208202803683370190505b509050825b82811015610b8057600581815481106110f6576110f661255a565b5f918252602090912001546001600160a01b03168261111586846125fc565b815181106111255761112561255a565b6001600160a01b03909216602092830291909101909101526001016110db565b6060816001600160401b0381111561115f5761115f612270565b60405190808252806020026020018201604052801561119857816020015b611185611ea7565b81526020019060019003908161117d5790505b5090505f5b82811015610b80575f8484838181106111b8576111b861255a565b90506020020160208101906111cd9190611f5e565b90506040518060a0016040528060065f8888878181106111ef576111ef61255a565b90506020020160208101906112049190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b031683529101906006908888878181106112435761124361255a565b90506020020160208101906112589190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f206001015f9054906101000a90046001600160a01b03166001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112d6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112fd9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561133d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113649190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa1580156113a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113cb9190810190612594565b8152508383815181106113e0576113e061255a565b60209081029190910101525060010161119d565b5f60058281548110610db157610db161255a565b6002546001600160a01b03163314611432576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b6002546001600160a01b031633146114a5576040516282b42960e81b815260040160405180910390fd5b8281146114c55760405163aaad13f760e01b815260040160405180910390fd5b5f5b8381101561181a575f60045f8787858181106114e5576114e561255a565b90506020020160208101906114fa9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508383838181106115305761153061255a565b9050602002016020810190611545919061256e565b6001600160801b031615801561155a57508015155b156115935761158e8686848181106115745761157461255a565b90506020020160208101906115899190611f5e565b611d6b565b611784565b8383838181106115a5576115a561255a565b90506020020160208101906115ba919061256e565b6001600160801b0316158015906115d057508015155b1561165e5761158e8686848181106115ea576115ea61255a565b90506020020160208101906115ff9190611f5e565b8585858181106116115761161161255a565b9050602002016020810190611626919061256e565b6001600160a01b03919091165f90815260046020526040902080546001600160801b0319166001600160801b03909216919091179055565b8383838181106116705761167061255a565b9050602002016020810190611685919061256e565b6001600160801b03161580159061169a575080155b1561177e5761158e8686848181106116b4576116b461255a565b90506020020160208101906116c99190611f5e565b8585858181106116db576116db61255a565b90506020020160208101906116f0919061256e565b60038054600181019091557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810180546001600160a01b039094166001600160a01b0319909416841790556040805180820182526001600160801b03938416815291831660208381019182525f958652600490529320905192518216600160801b0292909116919091179055565b50611812565b8383838181106117965761179661255a565b90506020020160208101906117ab919061256e565b6001600160801b03168686848181106117c6576117c661255a565b90506020020160208101906117db9190611f5e565b6001600160a01b03167fd840ea8cb042bc840d3e55a04618ab268434d3d0a218638360a30fdb80de63f660405160405180910390a3505b6001016114c7565b5050505050565b6060816001600160401b0381111561183b5761183b612270565b60405190808252806020026020018201604052801561187a57816020015b60408051602081019091525f81528152602001906001900390816118595790505b5090505f5b82811015610b8057604051806020016040528060045f8787868181106118a7576118a761255a565b90506020020160208101906118bc9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b0316905282518390839081106118f4576118f461255a565b602090810291909101015260010161187f565b61193160405180608001604052805f81526020016060815260200160608152602001606081525090565b604080516080810182526001600160a01b0384165f81815260046020818152858320546001600160801b0316855285516306fdde0360e01b81529551889691860194936306fdde0393838101939192918290030181865afa158015610946573d5f803e3d5ffd5b6001600160a01b0381165f90815260066020526040902054600554600160801b9091046001600160801b0316906119d06001826125fc565b826001600160801b031614611a83575f60056119ed6001846125fc565b815481106119fd576119fd61255a565b5f9182526020808320909101546001600160a01b03168083526006909152604090912080546001600160801b03808716600160801b810291909216179091556005805492935083929091908110611a5657611a5661255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6005805480611a9457611a94612806565b5f828152602080822083015f1990810180546001600160a01b031990811690915593019093556001600160a01b0395909516855260069091526040842093845560019390930180549093169092555050565b6001600160a01b038084165f90815260066020526040902060010154168015801590611b245750816001600160a01b0316816001600160a01b031614155b80611bba57506001600160a01b038116158015611b4957506001600160a01b03821615155b8015611bba57506040516335a2735f60e11b81526001600160a01b038581166004830152831690636b44e6be90602401602060405180830381865afa158015611b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb8919061281a565b155b15611bd857604051637a44db9560e01b815260040160405180910390fd5b506001600160a01b039283165f90815260066020526040902080546001600160801b0319166001600160801b0393909316929092178255600190910180546001600160a01b03191691909216179055565b6001600160a01b03811615801590611ca657506040516335a2735f60e11b81526001600160a01b038481166004830152821690636b44e6be90602401602060405180830381865afa158015611c80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca4919061281a565b155b15611cc457604051637a44db9560e01b815260040160405180910390fd5b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0810180546001600160a01b039687166001600160a01b03199182168117909255604080516060810182526001600160801b03978816815293871660208581019182529689168583019081525f94855260069097529220925191518616600160801b0291909516178155915191018054919093169116179055565b6001600160a01b0381165f90815260046020526040902054600354600160801b9091046001600160801b031690611da36001826125fc565b826001600160801b031614611e56575f6003611dc06001846125fc565b81548110611dd057611dd061255a565b5f9182526020808320909101546001600160a01b03168083526004909152604090912080546001600160801b03808716600160801b810291909216179091556003805492935083929091908110611e2957611e2961255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6003805480611e6757611e67612806565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03949094168152600490935250506040812055565b6040518060a001604052805f81526020015f6001600160a01b031681526020016060815260200160608152602001606081525090565b5f5b83811015611ef7578181015183820152602001611edf565b50505f910152565b5f8151808452611f16816020860160208601611edd565b601f01601f19169290920160200192915050565b602081525f611f3c6020830184611eff565b9392505050565b80356001600160a01b0381168114611f59575f80fd5b919050565b5f60208284031215611f6e575f80fd5b611f3c82611f43565b815181526020808301516001600160a01b03169082015260408101610b82565b5f8083601f840112611fa7575f80fd5b5081356001600160401b03811115611fbd575f80fd5b6020830191508360208260051b8501011115611fd7575f80fd5b9250929050565b5f805f805f8060608789031215611ff3575f80fd5b86356001600160401b0380821115612009575f80fd5b6120158a838b01611f97565b9098509650602089013591508082111561202d575f80fd5b6120398a838b01611f97565b90965094506040890135915080821115612051575f80fd5b5061205e89828a01611f97565b979a9699509497509295939492505050565b8051825260018060a01b0360208201511660208301525f604082015160a060408501526120a060a0850182611eff565b9050606083015184820360608601526120b98282611eff565b915050608083015184820360808601526120d38282611eff565b95945050505050565b602081525f611f3c6020830184612070565b5f80602083850312156120ff575f80fd5b82356001600160401b03811115612114575f80fd5b61212085828601611f97565b90969095509350505050565b602080825282518282018190525f919060409081850190868401855b8281101561217e5761216e848351805182526020908101516001600160a01b0316910152565b9284019290850190600101612148565b5091979650505050505050565b5f806040838503121561219c575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b818110156121eb5783516001600160a01b0316835292840192918401916001016121c6565b50909695505050505050565b5f805f60408486031215612209575f80fd5b83356001600160401b038082111561221f575f80fd5b818601915086601f830112612232575f80fd5b813581811115612240575f80fd5b876020828501011115612251575f80fd5b6020928301955093506122679186019050611f43565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156122ac576122ac612270565b604052919050565b5f6001600160401b038211156122cc576122cc612270565b50601f01601f191660200190565b5f602082840312156122ea575f80fd5b81356001600160401b038111156122ff575f80fd5b8201601f8101841361230f575f80fd5b803561232261231d826122b4565b612284565b818152856020838501011115612336575f80fd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215612363575f80fd5b5035919050565b805182525f6020820151608060208501526123886080850182611eff565b9050604083015184820360408601526123a18282611eff565b915050606083015184820360608601526120d38282611eff565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f198886030184526123fe85835161236a565b945092850192908501906001016123e2565b5092979650505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f19888603018452612460858351612070565b94509285019290850190600101612444565b5f805f8060408587031215612485575f80fd5b84356001600160401b038082111561249b575f80fd5b6124a788838901611f97565b909650945060208701359150808211156124bf575f80fd5b506124cc87828801611f97565b95989497509550505050565b602080825282518282018190525f9190848201906040850190845b818110156121eb57835151835292840192918401916001016124f3565b602081525f611f3c602083018461236a565b600181811c9082168061253657607f821691505b60208210810361255457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561257e575f80fd5b81356001600160801b0381168114611f3c575f80fd5b5f602082840312156125a4575f80fd5b81516001600160401b038111156125b9575f80fd5b8201601f810184136125c9575f80fd5b80516125d761231d826122b4565b8181528560208385010111156125eb575f80fd5b6120d3826020830160208601611edd565b81810381811115610b8257634e487b7160e01b5f52601160045260245ffd5b601f82111561265f57805f5260205f20601f840160051c810160208510156126405750805b601f840160051c820191505b8181101561181a575f815560010161264c565b505050565b6001600160401b0383111561267b5761267b612270565b61268f836126898354612522565b8361261b565b5f601f8411600181146126c0575f85156126a95750838201355b5f19600387901b1c1916600186901b17835561181a565b5f83815260208120601f198716915b828110156126ef57868501358255602094850194600190920191016126cf565b508682101561270b575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b818382375f9101908152919050565b81516001600160401b0381111561274557612745612270565b612759816127538454612522565b8461261b565b602080601f83116001811461278c575f84156127755750858301515b5f19600386901b1c1916600185901b1785556127e3565b5f85815260208120601f198616915b828110156127ba5788860151825594840194600190910190840161279b565b50858210156127d757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516127fc818460208701611edd565b9190910192915050565b634e487b7160e01b5f52603160045260245ffd5b5f6020828403121561282a575f80fd5b81518015158114611f3c575f80fdfea264697066735822122090609514c01730f9b6bb56485879b709dcc1984706fd1e114bcbdba52e3aa30a64736f6c63430008160033', - methodIdentifiers: { - "admin()": "f851a440", - "getFactoriesInRange(uint256,uint256)": "716ba5f6", - "getFactoryAtIndex(uint256)": "a587bbe1", - "getFactoryInfo(address)": "9b724ad4", - "getFactoryInfoWithMetadata(address)": "f32c9e34", - "getFactoryInfos(address[])": "ea350321", - "getFactoryInfosWithMetadata(address[])": "b73e3fab", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstanceInfo(address)": "18bb3b54", - "getInstanceInfoWithMetadata(address)": "2ad19de8", - "getInstanceInfos(address[])": "4db6c0e0", - "getInstanceInfosWithMetadata(address[])": "d2f72d52", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfFactories()": "f59d00b9", - "getNumberOfInstances()": "6e95d67c", - "initialize(string,address)": "7ab4339d", - "isInitialized()": "392e53cd", - "kind()": "04baa00b", - "name()": "06fdde03", - "setFactoryInfo(address[],uint128[])": "e967e388", - "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", - "updateAdmin(address)": "e2f273bd", - "updateName(string)": "84da92a7", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts deleted file mode 100644 index 93745ffeb..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveShort: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveShort.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map deleted file mode 100644 index 3bab8ec5c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveShort.d.ts","sourceRoot":"","sources":["../src/HyperdriveShort.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveShort.js b/packages/hyperdrive-artifacts/dist/HyperdriveShort.js deleted file mode 100644 index eddf897de..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveShort.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveShort = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts deleted file mode 100644 index da5525e57..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const HyperdriveStorage: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map deleted file mode 100644 index 3901fd307..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveStorage.d.ts","sourceRoot":"","sources":["../src/HyperdriveStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;cAQV,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.js b/packages/hyperdrive-artifacts/dist/HyperdriveStorage.js deleted file mode 100644 index 185866a99..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.js +++ /dev/null @@ -1,11 +0,0 @@ -export const HyperdriveStorage = { - abi: [ - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts deleted file mode 100644 index 943edb64c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts +++ /dev/null @@ -1,1429 +0,0 @@ -export declare const HyperdriveTarget0: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map deleted file mode 100644 index 25358b46c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget0.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAouDV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js deleted file mode 100644 index 2b0211297..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js +++ /dev/null @@ -1,1806 +0,0 @@ -export const HyperdriveTarget0 = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts deleted file mode 100644 index 47df46fa3..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts +++ /dev/null @@ -1,668 +0,0 @@ -export declare const HyperdriveTarget1: { - abi: readonly [{ - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=HyperdriveTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map deleted file mode 100644 index 931addb93..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget1.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAozBV,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js deleted file mode 100644 index 3fa9136c9..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js +++ /dev/null @@ -1,826 +0,0 @@ -export const HyperdriveTarget1 = { - abi: [ - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts deleted file mode 100644 index b95a77e5f..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts +++ /dev/null @@ -1,684 +0,0 @@ -export declare const HyperdriveTarget2: { - abi: readonly [{ - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=HyperdriveTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map deleted file mode 100644 index 04a6e3a49..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget2.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw0BV,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js deleted file mode 100644 index 0e645e5ff..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js +++ /dev/null @@ -1,846 +0,0 @@ -export const HyperdriveTarget2 = { - abi: [ - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts deleted file mode 100644 index 3fcb89f1e..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts +++ /dev/null @@ -1,700 +0,0 @@ -export declare const HyperdriveTarget3: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=HyperdriveTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map deleted file mode 100644 index 6c935356a..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget3.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA41BV,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js deleted file mode 100644 index 1229a6a43..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js +++ /dev/null @@ -1,866 +0,0 @@ -export const HyperdriveTarget3 = { - abi: [ - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts deleted file mode 100644 index e510ce08c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts +++ /dev/null @@ -1,683 +0,0 @@ -export declare const HyperdriveTarget4: { - abi: readonly [{ - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=HyperdriveTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map deleted file mode 100644 index 2adc130e2..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget4.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs0BV,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js deleted file mode 100644 index 332f3294c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js +++ /dev/null @@ -1,845 +0,0 @@ -export const HyperdriveTarget4 = { - abi: [ - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts deleted file mode 100644 index b9e4f9987..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const HyperdriveUtils: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map deleted file mode 100644 index caba62e5d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveUtils.d.ts","sourceRoot":"","sources":["../src/HyperdriveUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.js b/packages/hyperdrive-artifacts/dist/HyperdriveUtils.js deleted file mode 100644 index 8d58d9417..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.js +++ /dev/null @@ -1,5 +0,0 @@ -export const HyperdriveUtils = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220317a95d9702a7c5baacdc9bd0720fc8fa59b2c3bd6ca2145a819cafee039a0a464736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts b/packages/hyperdrive-artifacts/dist/IACLManager.d.ts deleted file mode 100644 index 9db629997..000000000 --- a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts +++ /dev/null @@ -1,321 +0,0 @@ -export declare const IACLManager: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ASSET_LISTING_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "EMERGENCY_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASH_BORROWER_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RISK_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addAssetListingAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addBridge"; - readonly inputs: readonly [{ - readonly name: "bridge"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addEmergencyAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addFlashBorrower"; - readonly inputs: readonly [{ - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addPoolAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addRiskAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isAssetListingAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isBridge"; - readonly inputs: readonly [{ - readonly name: "bridge"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isEmergencyAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isFlashBorrower"; - readonly inputs: readonly [{ - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPoolAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isRiskAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "removeAssetListingAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeBridge"; - readonly inputs: readonly [{ - readonly name: "bridge"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeEmergencyAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeFlashBorrower"; - readonly inputs: readonly [{ - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removePoolAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeRiskAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleAdmin"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "adminRole"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "ASSET_LISTING_ADMIN_ROLE()": "78bb0a43"; - readonly "BRIDGE_ROLE()": "b5bfddea"; - readonly "EMERGENCY_ADMIN_ROLE()": "6e76fc8f"; - readonly "FLASH_BORROWER_ROLE()": "5577b7a9"; - readonly "POOL_ADMIN_ROLE()": "b8f6dba7"; - readonly "RISK_ADMIN_ROLE()": "4f16b425"; - readonly "addAssetListingAdmin(address)": "9a2b96f7"; - readonly "addBridge(address)": "9712fdf8"; - readonly "addEmergencyAdmin(address)": "179efb09"; - readonly "addFlashBorrower(address)": "9ac9d80b"; - readonly "addPoolAdmin(address)": "22650caf"; - readonly "addRiskAdmin(address)": "5b9a94e4"; - readonly "isAssetListingAdmin(address)": "13ee32e0"; - readonly "isBridge(address)": "726600ce"; - readonly "isEmergencyAdmin(address)": "2500f2b6"; - readonly "isFlashBorrower(address)": "fa50f297"; - readonly "isPoolAdmin(address)": "7be53ca1"; - readonly "isRiskAdmin(address)": "674b5e4d"; - readonly "removeAssetListingAdmin(address)": "a21bce15"; - readonly "removeBridge(address)": "04df017d"; - readonly "removeEmergencyAdmin(address)": "7a9a93f4"; - readonly "removeFlashBorrower(address)": "253cf980"; - readonly "removePoolAdmin(address)": "f83695cb"; - readonly "removeRiskAdmin(address)": "3c5a08e5"; - readonly "setRoleAdmin(bytes32,bytes32)": "1e4e0091"; - }; -}; -//# sourceMappingURL=IACLManager.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map b/packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map deleted file mode 100644 index d6ca261f7..000000000 --- a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IACLManager.d.ts","sourceRoot":"","sources":["../src/IACLManager.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8XJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IACLManager.js b/packages/hyperdrive-artifacts/dist/IACLManager.js deleted file mode 100644 index 9e56ea4c4..000000000 --- a/packages/hyperdrive-artifacts/dist/IACLManager.js +++ /dev/null @@ -1,412 +0,0 @@ -export const IACLManager = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ASSET_LISTING_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EMERGENCY_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_BORROWER_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RISK_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addAssetListingAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addBridge", - "inputs": [ - { - "name": "bridge", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addEmergencyAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addFlashBorrower", - "inputs": [ - { - "name": "borrower", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addPoolAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addRiskAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isAssetListingAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isBridge", - "inputs": [ - { - "name": "bridge", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isEmergencyAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isFlashBorrower", - "inputs": [ - { - "name": "borrower", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPoolAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isRiskAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeAssetListingAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeBridge", - "inputs": [ - { - "name": "bridge", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeEmergencyAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeFlashBorrower", - "inputs": [ - { - "name": "borrower", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removePoolAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeRiskAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "adminRole", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "ASSET_LISTING_ADMIN_ROLE()": "78bb0a43", - "BRIDGE_ROLE()": "b5bfddea", - "EMERGENCY_ADMIN_ROLE()": "6e76fc8f", - "FLASH_BORROWER_ROLE()": "5577b7a9", - "POOL_ADMIN_ROLE()": "b8f6dba7", - "RISK_ADMIN_ROLE()": "4f16b425", - "addAssetListingAdmin(address)": "9a2b96f7", - "addBridge(address)": "9712fdf8", - "addEmergencyAdmin(address)": "179efb09", - "addFlashBorrower(address)": "9ac9d80b", - "addPoolAdmin(address)": "22650caf", - "addRiskAdmin(address)": "5b9a94e4", - "isAssetListingAdmin(address)": "13ee32e0", - "isBridge(address)": "726600ce", - "isEmergencyAdmin(address)": "2500f2b6", - "isFlashBorrower(address)": "fa50f297", - "isPoolAdmin(address)": "7be53ca1", - "isRiskAdmin(address)": "674b5e4d", - "removeAssetListingAdmin(address)": "a21bce15", - "removeBridge(address)": "04df017d", - "removeEmergencyAdmin(address)": "7a9a93f4", - "removeFlashBorrower(address)": "253cf980", - "removePoolAdmin(address)": "f83695cb", - "removeRiskAdmin(address)": "3c5a08e5", - "setRoleAdmin(bytes32,bytes32)": "1e4e0091" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts b/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts deleted file mode 100644 index 8325740c7..000000000 --- a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts +++ /dev/null @@ -1,613 +0,0 @@ -export declare const IAL2Token: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_TREASURY_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiverOfUnderlying"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "handleRepayment"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOnLiquidation"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferUnderlyingTo"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "BalanceTransfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "POOL()": "7535d246"; - readonly "RESERVE_TREASURY_ADDRESS()": "ae167335"; - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,address,uint256,uint256)": "d7020d0a"; - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "handleRepayment(address,address,uint256)": "6fd97676"; - readonly "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "mintToTreasury(uint256,uint256)": "7df5bd3b"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOnLiquidation(address,address,uint256)": "f866c319"; - readonly "transferUnderlyingTo(address,uint256)": "4efecaa5"; - }; -}; -//# sourceMappingURL=IAL2Token.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map b/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map deleted file mode 100644 index 93cead405..000000000 --- a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAL2Token.d.ts","sourceRoot":"","sources":["../src/IAL2Token.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8uBF,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAL2Token.js b/packages/hyperdrive-artifacts/dist/IAL2Token.js deleted file mode 100644 index b11774ef7..000000000 --- a/packages/hyperdrive-artifacts/dist/IAL2Token.js +++ /dev/null @@ -1,778 +0,0 @@ -export const IAL2Token = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_TREASURY_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "receiverOfUnderlying", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "handleRepayment", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "treasury", - "type": "address", - "internalType": "address" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOnLiquidation", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferUnderlyingTo", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "BalanceTransfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "treasury", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "POOL()": "7535d246", - "RESERVE_TREASURY_ADDRESS()": "ae167335", - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(address,address,uint256,uint256)": "d7020d0a", - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "handleRepayment(address,address,uint256)": "6fd97676", - "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "mintToTreasury(uint256,uint256)": "7df5bd3b", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "rescueTokens(address,address,uint256)": "cea9d26f", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOnLiquidation(address,address,uint256)": "f866c319", - "transferUnderlyingTo(address,uint256)": "4efecaa5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAToken.d.ts b/packages/hyperdrive-artifacts/dist/IAToken.d.ts deleted file mode 100644 index 1c351e25e..000000000 --- a/packages/hyperdrive-artifacts/dist/IAToken.d.ts +++ /dev/null @@ -1,602 +0,0 @@ -export declare const IAToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_TREASURY_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiverOfUnderlying"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "handleRepayment"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOnLiquidation"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferUnderlyingTo"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "BalanceTransfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "RESERVE_TREASURY_ADDRESS()": "ae167335"; - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,address,uint256,uint256)": "d7020d0a"; - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "handleRepayment(address,address,uint256)": "6fd97676"; - readonly "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "mintToTreasury(uint256,uint256)": "7df5bd3b"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOnLiquidation(address,address,uint256)": "f866c319"; - readonly "transferUnderlyingTo(address,uint256)": "4efecaa5"; - }; -}; -//# sourceMappingURL=IAToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IAToken.d.ts.map deleted file mode 100644 index 2f2a4c17f..000000000 --- a/packages/hyperdrive-artifacts/dist/IAToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAToken.d.ts","sourceRoot":"","sources":["../src/IAToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiuBA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAToken.js b/packages/hyperdrive-artifacts/dist/IAToken.js deleted file mode 100644 index e56aec2ae..000000000 --- a/packages/hyperdrive-artifacts/dist/IAToken.js +++ /dev/null @@ -1,764 +0,0 @@ -export const IAToken = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_TREASURY_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "receiverOfUnderlying", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "handleRepayment", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "treasury", - "type": "address", - "internalType": "address" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOnLiquidation", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferUnderlyingTo", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "BalanceTransfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "treasury", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "RESERVE_TREASURY_ADDRESS()": "ae167335", - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(address,address,uint256,uint256)": "d7020d0a", - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "handleRepayment(address,address,uint256)": "6fd97676", - "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "mintToTreasury(uint256,uint256)": "7df5bd3b", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "rescueTokens(address,address,uint256)": "cea9d26f", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOnLiquidation(address,address,uint256)": "f866c319", - "transferUnderlyingTo(address,uint256)": "4efecaa5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts deleted file mode 100644 index b4fd2f8fd..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IAaveHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map deleted file mode 100644 index 2044b919f..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveHyperdrive.d.ts","sourceRoot":"","sources":["../src/IAaveHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1ER,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js b/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js deleted file mode 100644 index f09e68bfe..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IAaveHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index c3960abac..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,443 +0,0 @@ -export declare const IAaveHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 76317dbf8..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IAaveHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsiB3B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js deleted file mode 100644 index 65604a02a..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,563 +0,0 @@ -export const IAaveHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts deleted file mode 100644 index 149317a59..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts +++ /dev/null @@ -1,586 +0,0 @@ -export declare const IAaveHyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveHyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map deleted file mode 100644 index a0cb1d3f3..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveHyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IAaveHyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAotBZ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js deleted file mode 100644 index 5ff6f83ba..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js +++ /dev/null @@ -1,755 +0,0 @@ -export const IAaveHyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts b/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts deleted file mode 100644 index 5bbc362d1..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export declare const IAaveIncentivesController: { - abi: readonly [{ - readonly type: "function"; - readonly name: "handleAction"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "totalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "userBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "handleAction(address,uint256,uint256)": "31873e2e"; - }; -}; -//# sourceMappingURL=IAaveIncentivesController.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map deleted file mode 100644 index c6c9e1d97..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveIncentivesController.d.ts","sourceRoot":"","sources":["../src/IAaveIncentivesController.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;cA0BlB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js b/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js deleted file mode 100644 index cca977453..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js +++ /dev/null @@ -1,31 +0,0 @@ -export const IAaveIncentivesController = { - abi: [ - { - "type": "function", - "name": "handleAction", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "totalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "userBalance", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "handleAction(address,uint256,uint256)": "31873e2e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts deleted file mode 100644 index 305ddd673..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IAaveL2Hyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveL2Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map deleted file mode 100644 index a83bf28c9..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveL2Hyperdrive.d.ts","sourceRoot":"","sources":["../src/IAaveL2Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1EV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js b/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js deleted file mode 100644 index a6193139e..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IAaveL2Hyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 083935b7c..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,443 +0,0 @@ -export declare const IAaveL2HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveL2HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 5dba991b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveL2HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IAaveL2HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsiB7B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js deleted file mode 100644 index 6c8f077b5..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,563 +0,0 @@ -export const IAaveL2HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts deleted file mode 100644 index b20fcf854..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts +++ /dev/null @@ -1,586 +0,0 @@ -export declare const IAaveL2HyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveL2HyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map deleted file mode 100644 index 1e0da7587..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveL2HyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IAaveL2HyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAotBd,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js deleted file mode 100644 index d54eee488..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js +++ /dev/null @@ -1,755 +0,0 @@ -export const IAaveL2HyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts b/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts deleted file mode 100644 index 8d414becc..000000000 --- a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts +++ /dev/null @@ -1,146 +0,0 @@ -export declare const IAccessControl: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getRoleAdmin"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "grantRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "hasRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renounceRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revokeRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "RoleAdminChanged"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "previousAdminRole"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "newAdminRole"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleGranted"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleRevoked"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getRoleAdmin(bytes32)": "248a9ca3"; - readonly "grantRole(bytes32,address)": "2f2ff15d"; - readonly "hasRole(bytes32,address)": "91d14854"; - readonly "renounceRole(bytes32,address)": "36568abe"; - readonly "revokeRole(bytes32,address)": "d547741f"; - }; -}; -//# sourceMappingURL=IAccessControl.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map b/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map deleted file mode 100644 index 349960a6c..000000000 --- a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAccessControl.d.ts","sourceRoot":"","sources":["../src/IAccessControl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+KP,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAccessControl.js b/packages/hyperdrive-artifacts/dist/IAccessControl.js deleted file mode 100644 index db5a6f661..000000000 --- a/packages/hyperdrive-artifacts/dist/IAccessControl.js +++ /dev/null @@ -1,184 +0,0 @@ -export const IAccessControl = { - abi: [ - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts deleted file mode 100644 index 14f1572a1..000000000 --- a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts +++ /dev/null @@ -1,1943 +0,0 @@ -export declare const IAerodromeLpHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "gauge"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "gauge()": "a6f19c84"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getReward()": "3d18b912"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAerodromeLpHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map deleted file mode 100644 index b8cc92b2a..000000000 --- a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAerodromeLpHyperdrive.d.ts","sourceRoot":"","sources":["../src/IAerodromeLpHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo2Ef,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js b/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js deleted file mode 100644 index c7c377189..000000000 --- a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js +++ /dev/null @@ -1,2464 +0,0 @@ -export const IAerodromeLpHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "gauge", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReward", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "gauge()": "a6f19c84", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getReward()": "3d18b912", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts b/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts deleted file mode 100644 index 64d325a28..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts +++ /dev/null @@ -1,109 +0,0 @@ -export declare const IChainlinkAggregatorV3: { - abi: readonly [{ - readonly type: "function"; - readonly name: "aggregator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "description"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRoundData"; - readonly inputs: readonly [{ - readonly name: "_roundId"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }]; - readonly outputs: readonly [{ - readonly name: "roundId"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }, { - readonly name: "answer"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "startedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "updatedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "answeredInRound"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "latestRoundData"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "roundId"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }, { - readonly name: "answer"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "startedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "updatedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "answeredInRound"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "aggregator()": "245a7bfc"; - readonly "decimals()": "313ce567"; - readonly "description()": "7284e416"; - readonly "getRoundData(uint80)": "9a6fc8f5"; - readonly "latestRoundData()": "feaf968c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IChainlinkAggregatorV3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map b/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map deleted file mode 100644 index 4b369468a..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IChainlinkAggregatorV3.d.ts","sourceRoot":"","sources":["../src/IChainlinkAggregatorV3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Hf,KAAK,MAAM,EAAE;;;;;;;;;CAShC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js b/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js deleted file mode 100644 index 006cdfe97..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js +++ /dev/null @@ -1,137 +0,0 @@ -export const IChainlinkAggregatorV3 = { - abi: [ - { - "type": "function", - "name": "aggregator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "description", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoundData", - "inputs": [ - { - "name": "_roundId", - "type": "uint80", - "internalType": "uint80" - } - ], - "outputs": [ - { - "name": "roundId", - "type": "uint80", - "internalType": "uint80" - }, - { - "name": "answer", - "type": "int256", - "internalType": "int256" - }, - { - "name": "startedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "updatedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "answeredInRound", - "type": "uint80", - "internalType": "uint80" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "latestRoundData", - "inputs": [], - "outputs": [ - { - "name": "roundId", - "type": "uint80", - "internalType": "uint80" - }, - { - "name": "answer", - "type": "int256", - "internalType": "int256" - }, - { - "name": "startedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "updatedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "answeredInRound", - "type": "uint80", - "internalType": "uint80" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "aggregator()": "245a7bfc", - "decimals()": "313ce567", - "description()": "7284e416", - "getRoundData(uint80)": "9a6fc8f5", - "latestRoundData()": "feaf968c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts deleted file mode 100644 index 353d69771..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IChainlinkHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "aggregator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "aggregator()": "245a7bfc"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IChainlinkHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map deleted file mode 100644 index 91d6712f6..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IChainlinkHyperdrive.d.ts","sourceRoot":"","sources":["../src/IChainlinkHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1Eb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js b/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js deleted file mode 100644 index 3760aa97a..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IChainlinkHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "aggregator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "aggregator()": "245a7bfc", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts deleted file mode 100644 index 9f46aa303..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const ICornHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "cornSilo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "cornSilo()": "7d1849ab"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ICornHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map deleted file mode 100644 index e8d417ddb..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ICornHyperdrive.d.ts","sourceRoot":"","sources":["../src/ICornHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1ER,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.js b/packages/hyperdrive-artifacts/dist/ICornHyperdrive.js deleted file mode 100644 index 3273eff45..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const ICornHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cornSilo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "cornSilo()": "7d1849ab", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts b/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts deleted file mode 100644 index 0b700cc3c..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts +++ /dev/null @@ -1,565 +0,0 @@ -export declare const ICornSilo: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addApprovedToken"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "bridgeAllTokens"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "cost"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxGas"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gasPriceBid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "bridgeToken"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "maxGas"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gasPriceBid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "depositFor"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableBridge"; - readonly inputs: readonly [{ - readonly name: "gatewayRouter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "erc20Inbox"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "swapFacilityVault"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "from18DecimalsToAssetDecimals"; - readonly inputs: readonly [{ - readonly name: "amountIn18Decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "fromAssetDecimalsTo18Decimals"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApprovedTokens"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGatewayRouter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "gatewayRouter"; - readonly type: "address"; - readonly internalType: "contract IGatewayRouter"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mintAndDepositBitcorn"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintAndDepositBitcornFor"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemAll"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "approvedTokens"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "depositedAssets"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "bitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minterAssetReturned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemBitcorn"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemToken"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "unpause"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BridgeEnabled"; - readonly inputs: readonly [{ - readonly name: "gatewayRouter"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "swapFacilityVault"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TokenBridged"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maxGas"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "gasPriceBid"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TokenDeposited"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TokenWithdrawn"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowOneSatoshiOfShares"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "oneSatoshiOfBitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "BitcornMinterAssetMustNotBeApprovedToken"; - readonly inputs: readonly [{ - readonly name: "bitcornMinterAsset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BitcornMustNotBeApprovedToken"; - readonly inputs: readonly [{ - readonly name: "bitcorn"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BridgeIsEnabled"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BridgeIsNotSet"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BridgeNotEnabled"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBitcornSharesToBridge"; - readonly inputs: readonly [{ - readonly name: "cachedShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "requiredShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "InsufficientShares"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "cachedShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "SharesNotMultipleOfOneSatoshi"; - readonly inputs: readonly [{ - readonly name: "bitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "oneSatoshiOfBitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "TokenAlreadyApproved"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TokenNotApproved"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "WithdrawalFeeAboveMax"; - readonly inputs: readonly [{ - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroDeposit"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroShares"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroSharesForAnyToken"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroWithdraw"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addApprovedToken(address)": "cd10534b"; - readonly "bridgeAllTokens(address,uint256,uint256,uint256,bytes)": "3d169812"; - readonly "bridgeToken(address,address,uint256,uint256,bytes)": "b9d64e9f"; - readonly "deposit(address,uint256)": "47e7ef24"; - readonly "depositFor(address,address,uint256)": "b3db428b"; - readonly "enableBridge(address,address,address)": "15ec1f6f"; - readonly "from18DecimalsToAssetDecimals(uint256)": "789680f4"; - readonly "fromAssetDecimalsTo18Decimals(uint256)": "101ab12c"; - readonly "getApprovedTokens()": "6afc0c5f"; - readonly "getGatewayRouter()": "87f0cf2e"; - readonly "mintAndDepositBitcorn(uint256)": "ce75d53e"; - readonly "mintAndDepositBitcornFor(address,uint256)": "55ae9046"; - readonly "pause()": "8456cb59"; - readonly "redeemAll()": "2f4350c2"; - readonly "redeemBitcorn(uint256)": "bdafe351"; - readonly "redeemToken(address,uint256)": "830cbbbd"; - readonly "sharesOf(address,address)": "0a7292f5"; - readonly "totalShares(address)": "bf6b874e"; - readonly "unpause()": "3f4ba83a"; - }; -}; -//# sourceMappingURL=ICornSilo.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map b/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map deleted file mode 100644 index b61cbed0d..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ICornSilo.d.ts","sourceRoot":"","sources":["../src/ICornSilo.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAksBF,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornSilo.js b/packages/hyperdrive-artifacts/dist/ICornSilo.js deleted file mode 100644 index 91e8dbf4d..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornSilo.js +++ /dev/null @@ -1,729 +0,0 @@ -export const ICornSilo = { - abi: [ - { - "type": "function", - "name": "addApprovedToken", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "bridgeAllTokens", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "cost", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxGas", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gasPriceBid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "bridgeToken", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "maxGas", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gasPriceBid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "depositFor", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableBridge", - "inputs": [ - { - "name": "gatewayRouter", - "type": "address", - "internalType": "address" - }, - { - "name": "erc20Inbox", - "type": "address", - "internalType": "address" - }, - { - "name": "swapFacilityVault", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "from18DecimalsToAssetDecimals", - "inputs": [ - { - "name": "amountIn18Decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "fromAssetDecimalsTo18Decimals", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApprovedTokens", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGatewayRouter", - "inputs": [], - "outputs": [ - { - "name": "gatewayRouter", - "type": "address", - "internalType": "contract IGatewayRouter" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mintAndDepositBitcorn", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintAndDepositBitcornFor", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pause", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemAll", - "inputs": [], - "outputs": [ - { - "name": "approvedTokens", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "depositedAssets", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "bitcornShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minterAssetReturned", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemBitcorn", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemToken", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "unpause", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BridgeEnabled", - "inputs": [ - { - "name": "gatewayRouter", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "swapFacilityVault", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TokenBridged", - "inputs": [ - { - "name": "token", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maxGas", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "gasPriceBid", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TokenDeposited", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TokenWithdrawn", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowOneSatoshiOfShares", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "oneSatoshiOfBitcornShares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "BitcornMinterAssetMustNotBeApprovedToken", - "inputs": [ - { - "name": "bitcornMinterAsset", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BitcornMustNotBeApprovedToken", - "inputs": [ - { - "name": "bitcorn", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BridgeIsEnabled", - "inputs": [] - }, - { - "type": "error", - "name": "BridgeIsNotSet", - "inputs": [] - }, - { - "type": "error", - "name": "BridgeNotEnabled", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBitcornSharesToBridge", - "inputs": [ - { - "name": "cachedShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "requiredShares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "InsufficientShares", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "cachedShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "SharesNotMultipleOfOneSatoshi", - "inputs": [ - { - "name": "bitcornShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "oneSatoshiOfBitcornShares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "TokenAlreadyApproved", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TokenNotApproved", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "WithdrawalFeeAboveMax", - "inputs": [ - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ZeroDeposit", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ZeroShares", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ZeroSharesForAnyToken", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ZeroWithdraw", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addApprovedToken(address)": "cd10534b", - "bridgeAllTokens(address,uint256,uint256,uint256,bytes)": "3d169812", - "bridgeToken(address,address,uint256,uint256,bytes)": "b9d64e9f", - "deposit(address,uint256)": "47e7ef24", - "depositFor(address,address,uint256)": "b3db428b", - "enableBridge(address,address,address)": "15ec1f6f", - "from18DecimalsToAssetDecimals(uint256)": "789680f4", - "fromAssetDecimalsTo18Decimals(uint256)": "101ab12c", - "getApprovedTokens()": "6afc0c5f", - "getGatewayRouter()": "87f0cf2e", - "mintAndDepositBitcorn(uint256)": "ce75d53e", - "mintAndDepositBitcornFor(address,uint256)": "55ae9046", - "pause()": "8456cb59", - "redeemAll()": "2f4350c2", - "redeemBitcorn(uint256)": "bdafe351", - "redeemToken(address,uint256)": "830cbbbd", - "sharesOf(address,address)": "0a7292f5", - "totalShares(address)": "bf6b874e", - "unpause()": "3f4ba83a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts b/packages/hyperdrive-artifacts/dist/ICreateX.d.ts deleted file mode 100644 index 3174f0e98..000000000 --- a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts +++ /dev/null @@ -1,705 +0,0 @@ -export declare const ICreateX: { - abi: readonly [{ - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployCreate"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateClone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Create3ProxyContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "FailedContractCreation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedContractInitialisation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedEtherTransfer"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidNonceValue"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidSalt"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreate3Address(bytes32)": "6cec2536"; - readonly "computeCreate3Address(bytes32,address)": "42d654fc"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "computeCreateAddress(uint256)": "28ddd046"; - readonly "deployCreate(bytes)": "27fe1822"; - readonly "deployCreate2(bytes)": "26a32fc7"; - readonly "deployCreate2(bytes32,bytes)": "26307668"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2"; - readonly "deployCreate2Clone(address,bytes)": "81503da1"; - readonly "deployCreate2Clone(bytes32,address,bytes)": "2852527a"; - readonly "deployCreate3(bytes)": "7f565360"; - readonly "deployCreate3(bytes32,bytes)": "9c36a286"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077"; - readonly "deployCreateClone(address,bytes)": "f9664498"; - }; -}; -//# sourceMappingURL=ICreateX.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map b/packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map deleted file mode 100644 index cc3aa55d2..000000000 --- a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ICreateX.d.ts","sourceRoot":"","sources":["../src/ICreateX.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+3BD,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICreateX.js b/packages/hyperdrive-artifacts/dist/ICreateX.js deleted file mode 100644 index 15469fd97..000000000 --- a/packages/hyperdrive-artifacts/dist/ICreateX.js +++ /dev/null @@ -1,923 +0,0 @@ -export const ICreateX = { - abi: [ - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployCreate", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateClone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Create3ProxyContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "FailedContractCreation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedContractInitialisation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "FailedEtherTransfer", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "InvalidNonceValue", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "InvalidSalt", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: { - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreate3Address(bytes32)": "6cec2536", - "computeCreate3Address(bytes32,address)": "42d654fc", - "computeCreateAddress(address,uint256)": "74637a7a", - "computeCreateAddress(uint256)": "28ddd046", - "deployCreate(bytes)": "27fe1822", - "deployCreate2(bytes)": "26a32fc7", - "deployCreate2(bytes32,bytes)": "26307668", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", - "deployCreate2Clone(address,bytes)": "81503da1", - "deployCreate2Clone(bytes32,address,bytes)": "2852527a", - "deployCreate3(bytes)": "7f565360", - "deployCreate3(bytes32,bytes)": "9c36a286", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", - "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", - "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", - "deployCreateClone(address,bytes)": "f9664498" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts b/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts deleted file mode 100644 index 08645e6b2..000000000 --- a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -export declare const IDepositQueue: { - abi: readonly [{ - readonly type: "function"; - readonly name: "depositETHFromProtocol"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "totalEarned"; - readonly inputs: readonly [{ - readonly name: "tokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "depositETHFromProtocol()": "d123ccd5"; - readonly "totalEarned(address)": "649aca4a"; - }; -}; -//# sourceMappingURL=IDepositQueue.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map b/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map deleted file mode 100644 index 5d4beba05..000000000 --- a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IDepositQueue.d.ts","sourceRoot":"","sources":["../src/IDepositQueue.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;cA6BN,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDepositQueue.js b/packages/hyperdrive-artifacts/dist/IDepositQueue.js deleted file mode 100644 index 7bcb80ae9..000000000 --- a/packages/hyperdrive-artifacts/dist/IDepositQueue.js +++ /dev/null @@ -1,35 +0,0 @@ -export const IDepositQueue = { - abi: [ - { - "type": "function", - "name": "depositETHFromProtocol", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "totalEarned", - "inputs": [ - { - "name": "tokenAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "depositETHFromProtocol()": "d123ccd5", - "totalEarned(address)": "649aca4a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts b/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts deleted file mode 100644 index 161ba3871..000000000 --- a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts +++ /dev/null @@ -1,705 +0,0 @@ -export declare const IDeterministicDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployCreate"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateClone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Create3ProxyContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "FailedContractCreation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedContractInitialisation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedEtherTransfer"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidNonceValue"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidSalt"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreate3Address(bytes32)": "6cec2536"; - readonly "computeCreate3Address(bytes32,address)": "42d654fc"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "computeCreateAddress(uint256)": "28ddd046"; - readonly "deployCreate(bytes)": "27fe1822"; - readonly "deployCreate2(bytes)": "26a32fc7"; - readonly "deployCreate2(bytes32,bytes)": "26307668"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2"; - readonly "deployCreate2Clone(address,bytes)": "81503da1"; - readonly "deployCreate2Clone(bytes32,address,bytes)": "2852527a"; - readonly "deployCreate3(bytes)": "7f565360"; - readonly "deployCreate3(bytes32,bytes)": "9c36a286"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077"; - readonly "deployCreateClone(address,bytes)": "f9664498"; - }; -}; -//# sourceMappingURL=IDeterministicDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map deleted file mode 100644 index 7886c1738..000000000 --- a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IDeterministicDeployer.d.ts","sourceRoot":"","sources":["../src/IDeterministicDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+3Bf,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js b/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js deleted file mode 100644 index fb65270a0..000000000 --- a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js +++ /dev/null @@ -1,923 +0,0 @@ -export const IDeterministicDeployer = { - abi: [ - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployCreate", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateClone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Create3ProxyContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "FailedContractCreation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedContractInitialisation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "FailedEtherTransfer", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "InvalidNonceValue", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "InvalidSalt", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: { - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreate3Address(bytes32)": "6cec2536", - "computeCreate3Address(bytes32,address)": "42d654fc", - "computeCreateAddress(address,uint256)": "74637a7a", - "computeCreateAddress(uint256)": "28ddd046", - "deployCreate(bytes)": "27fe1822", - "deployCreate2(bytes)": "26a32fc7", - "deployCreate2(bytes32,bytes)": "26307668", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", - "deployCreate2Clone(address,bytes)": "81503da1", - "deployCreate2Clone(bytes32,address,bytes)": "2852527a", - "deployCreate3(bytes)": "7f565360", - "deployCreate3(bytes32,bytes)": "9c36a286", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", - "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", - "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", - "deployCreateClone(address,bytes)": "f9664498" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEETH.d.ts b/packages/hyperdrive-artifacts/dist/IEETH.d.ts deleted file mode 100644 index e7077b804..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETH.d.ts +++ /dev/null @@ -1,183 +0,0 @@ -export declare const IEETH: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burnShares"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_share"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintShares"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_share"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "shares"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burnShares(address,uint256)": "ee7a7c04"; - readonly "decimals()": "313ce567"; - readonly "initialize(address)": "c4d66de8"; - readonly "mintShares(address,uint256)": "528c198a"; - readonly "name()": "06fdde03"; - readonly "shares(address)": "ce7c2ac2"; - readonly "symbol()": "95d89b41"; - readonly "totalShares()": "3a98ef39"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IEETH.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETH.d.ts.map b/packages/hyperdrive-artifacts/dist/IEETH.d.ts.map deleted file mode 100644 index 32dab5b9f..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETH.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEETH.d.ts","sourceRoot":"","sources":["../src/IEETH.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2NE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAehC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETH.js b/packages/hyperdrive-artifacts/dist/IEETH.js deleted file mode 100644 index 7f30226a9..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETH.js +++ /dev/null @@ -1,235 +0,0 @@ -export const IEETH = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burnShares", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_share", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintShares", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_share", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "shares", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burnShares(address,uint256)": "ee7a7c04", - "decimals()": "313ce567", - "initialize(address)": "c4d66de8", - "mintShares(address,uint256)": "528c198a", - "name()": "06fdde03", - "shares(address)": "ce7c2ac2", - "symbol()": "95d89b41", - "totalShares()": "3a98ef39", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts deleted file mode 100644 index 6f2c41ae4..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IEETHHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "liquidityPool()": "665a11ca"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map deleted file mode 100644 index a4756b13a..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/IEETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1ER,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js deleted file mode 100644 index c4f7df574..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IEETHHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "liquidityPool()": "665a11ca", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts b/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts deleted file mode 100644 index 2d99f8193..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -export declare const IERC1155Errors: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ERC1155InsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidArrayLength"; - readonly inputs: readonly [{ - readonly name: "idsLength"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "valuesLength"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidOperator"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155MissingApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IERC1155Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map deleted file mode 100644 index d0161cee1..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC1155Errors.d.ts","sourceRoot":"","sources":["../src/IERC1155Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyGP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC1155Errors.js b/packages/hyperdrive-artifacts/dist/IERC1155Errors.js deleted file mode 100644 index 4fde8d96a..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC1155Errors.js +++ /dev/null @@ -1,108 +0,0 @@ -export const IERC1155Errors = { - abi: [ - { - "type": "error", - "name": "ERC1155InsufficientBalance", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidArrayLength", - "inputs": [ - { - "name": "idsLength", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "valuesLength", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidOperator", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155MissingApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC165.d.ts b/packages/hyperdrive-artifacts/dist/IERC165.d.ts deleted file mode 100644 index dff64a959..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC165.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -export declare const IERC165: { - abi: readonly [{ - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "supportsInterface(bytes4)": "01ffc9a7"; - }; -}; -//# sourceMappingURL=IERC165.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC165.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC165.d.ts.map deleted file mode 100644 index 6e6c18a8b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC165.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC165.d.ts","sourceRoot":"","sources":["../src/IERC165.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;cAsBA,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC165.js b/packages/hyperdrive-artifacts/dist/IERC165.js deleted file mode 100644 index 0b4d07e27..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC165.js +++ /dev/null @@ -1,27 +0,0 @@ -export const IERC165 = { - abi: [ - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "supportsInterface(bytes4)": "01ffc9a7" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20.d.ts b/packages/hyperdrive-artifacts/dist/IERC20.d.ts deleted file mode 100644 index 5f3bdeb2c..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -export declare const IERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20.d.ts.map deleted file mode 100644 index 7689c281c..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20.d.ts","sourceRoot":"","sources":["../src/IERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiOC,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20.js b/packages/hyperdrive-artifacts/dist/IERC20.js deleted file mode 100644 index 648622844..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20.js +++ /dev/null @@ -1,238 +0,0 @@ -export const IERC20 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts deleted file mode 100644 index c10e2304c..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -export declare const IERC20Detailed: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20Detailed.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map deleted file mode 100644 index 7f0594311..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Detailed.d.ts","sourceRoot":"","sources":["../src/IERC20Detailed.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiOP,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Detailed.js b/packages/hyperdrive-artifacts/dist/IERC20Detailed.js deleted file mode 100644 index 355b4b494..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Detailed.js +++ /dev/null @@ -1,238 +0,0 @@ -export const IERC20Detailed = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts deleted file mode 100644 index fddc0cafc..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -export declare const IERC20Errors: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ERC20InsufficientAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSpender"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IERC20Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map deleted file mode 100644 index 92d0f2f08..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Errors.d.ts","sourceRoot":"","sources":["../src/IERC20Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyFL,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Errors.js b/packages/hyperdrive-artifacts/dist/IERC20Errors.js deleted file mode 100644 index 7700b982f..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Errors.js +++ /dev/null @@ -1,92 +0,0 @@ -export const IERC20Errors = { - abi: [ - { - "type": "error", - "name": "ERC20InsufficientAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "allowance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InsufficientBalance", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSpender", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts deleted file mode 100644 index f5638822a..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts +++ /dev/null @@ -1,314 +0,0 @@ -export declare const IERC20Forwarder: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "token"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "token()": "fc0c546a"; - readonly "tokenId()": "17d70f7c"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IERC20Forwarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map deleted file mode 100644 index 65b290f80..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Forwarder.d.ts","sourceRoot":"","sources":["../src/IERC20Forwarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4XR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.js b/packages/hyperdrive-artifacts/dist/IERC20Forwarder.js deleted file mode 100644 index f2f78d0b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.js +++ /dev/null @@ -1,401 +0,0 @@ -export const IERC20Forwarder = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "token", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "kind()": "04baa00b", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "token()": "fc0c546a", - "tokenId()": "17d70f7c", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts b/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts deleted file mode 100644 index 64bbc5d20..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts +++ /dev/null @@ -1,108 +0,0 @@ -export declare const IERC20ForwarderFactory: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ERC20LINK_HASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "create"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20Forwarder"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getDeployDetails"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getForwarder"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "InvalidForwarderAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ERC20LINK_HASH()": "d13053bb"; - readonly "create(address,uint256)": "0ecaea73"; - readonly "getDeployDetails()": "600eb4ba"; - readonly "getForwarder(address,uint256)": "0710fd58"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IERC20ForwarderFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map deleted file mode 100644 index 69d8f0c92..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20ForwarderFactory.d.ts","sourceRoot":"","sources":["../src/IERC20ForwarderFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Hf,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js b/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js deleted file mode 100644 index ca10d3ca4..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js +++ /dev/null @@ -1,137 +0,0 @@ -export const IERC20ForwarderFactory = { - abi: [ - { - "type": "function", - "name": "ERC20LINK_HASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "create", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20Forwarder" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getDeployDetails", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getForwarder", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "InvalidForwarderAddress", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "ERC20LINK_HASH()": "d13053bb", - "create(address,uint256)": "0ecaea73", - "getDeployDetails()": "600eb4ba", - "getForwarder(address,uint256)": "0710fd58", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts deleted file mode 100644 index 1e92f6381..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -export declare const IERC20Metadata: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20Metadata.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map deleted file mode 100644 index ca7dedd9d..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Metadata.d.ts","sourceRoot":"","sources":["../src/IERC20Metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiOP,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Metadata.js b/packages/hyperdrive-artifacts/dist/IERC20Metadata.js deleted file mode 100644 index 79e5ff3af..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Metadata.js +++ /dev/null @@ -1,238 +0,0 @@ -export const IERC20Metadata = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts deleted file mode 100644 index edfc56eaf..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -export declare const IERC20Permit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - }; -}; -//# sourceMappingURL=IERC20Permit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map deleted file mode 100644 index a7f1685a5..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Permit.d.ts","sourceRoot":"","sources":["../src/IERC20Permit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8EL,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Permit.js b/packages/hyperdrive-artifacts/dist/IERC20Permit.js deleted file mode 100644 index 9c375c0f3..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Permit.js +++ /dev/null @@ -1,85 +0,0 @@ -export const IERC20Permit = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts b/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts deleted file mode 100644 index 5a07730d3..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts +++ /dev/null @@ -1,188 +0,0 @@ -export declare const IERC20WithPermit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20WithPermit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map deleted file mode 100644 index ab70dac50..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20WithPermit.d.ts","sourceRoot":"","sources":["../src/IERC20WithPermit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqOT,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.js b/packages/hyperdrive-artifacts/dist/IERC20WithPermit.js deleted file mode 100644 index e1cfea35b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.js +++ /dev/null @@ -1,240 +0,0 @@ -export const IERC20WithPermit = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts b/packages/hyperdrive-artifacts/dist/IERC4626.d.ts deleted file mode 100644 index 3c9dd4c85..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts +++ /dev/null @@ -1,492 +0,0 @@ -export declare const IERC4626: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "totalAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "balanceOf(address)": "70a08231"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256,address,address)": "b460af94"; - }; -}; -//# sourceMappingURL=IERC4626.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map deleted file mode 100644 index 0a1db7e25..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC4626.d.ts","sourceRoot":"","sources":["../src/IERC4626.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAimBD,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626.js b/packages/hyperdrive-artifacts/dist/IERC4626.js deleted file mode 100644 index 65cfe5014..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626.js +++ /dev/null @@ -1,638 +0,0 @@ -export const IERC4626 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "totalAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 810a8e8e3..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const IERC4626HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IERC4626HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 9285db7a7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC4626HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IERC4626HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB9B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js deleted file mode 100644 index 0c09aa06a..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const IERC4626HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721.d.ts b/packages/hyperdrive-artifacts/dist/IERC721.d.ts deleted file mode 100644 index bec6e9a2e..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721.d.ts +++ /dev/null @@ -1,237 +0,0 @@ -export declare const IERC721: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_approved"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC721.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721.d.ts.map deleted file mode 100644 index 78ac04283..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721.d.ts","sourceRoot":"","sources":["../src/IERC721.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgSA,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAahC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721.js b/packages/hyperdrive-artifacts/dist/IERC721.js deleted file mode 100644 index 5655002d9..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721.js +++ /dev/null @@ -1,302 +0,0 @@ -export const IERC721 = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_approved", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "_operator", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts b/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts deleted file mode 100644 index 8e4259ba6..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts +++ /dev/null @@ -1,282 +0,0 @@ -export declare const IERC721Enumerable: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_approved"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenByIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenOfOwnerByIndex"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "tokenByIndex(uint256)": "4f6ccce7"; - readonly "tokenOfOwnerByIndex(address,uint256)": "2f745c59"; - readonly "totalSupply()": "18160ddd"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC721Enumerable.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map deleted file mode 100644 index 128ef4068..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721Enumerable.d.ts","sourceRoot":"","sources":["../src/IERC721Enumerable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwVV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.js b/packages/hyperdrive-artifacts/dist/IERC721Enumerable.js deleted file mode 100644 index 15def6a55..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.js +++ /dev/null @@ -1,361 +0,0 @@ -export const IERC721Enumerable = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_approved", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "_operator", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenByIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenOfOwnerByIndex", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts b/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts deleted file mode 100644 index fafb6d972..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -export declare const IERC721Errors: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ERC721IncorrectOwner"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InsufficientApproval"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidOperator"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidOwner"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721NonexistentToken"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IERC721Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map deleted file mode 100644 index 041ebacf8..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721Errors.d.ts","sourceRoot":"","sources":["../src/IERC721Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0GN,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Errors.js b/packages/hyperdrive-artifacts/dist/IERC721Errors.js deleted file mode 100644 index fe3e1d33b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Errors.js +++ /dev/null @@ -1,109 +0,0 @@ -export const IERC721Errors = { - abi: [ - { - "type": "error", - "name": "ERC721IncorrectOwner", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InsufficientApproval", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidOperator", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidOwner", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721NonexistentToken", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts b/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts deleted file mode 100644 index 49e592218..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts +++ /dev/null @@ -1,274 +0,0 @@ -export declare const IERC721Metadata: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_approved"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_symbol"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenURI"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name()": "06fdde03"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "symbol()": "95d89b41"; - readonly "tokenURI(uint256)": "c87b56dd"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC721Metadata.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map deleted file mode 100644 index e2fa3b87b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721Metadata.d.ts","sourceRoot":"","sources":["../src/IERC721Metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6UR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Metadata.js b/packages/hyperdrive-artifacts/dist/IERC721Metadata.js deleted file mode 100644 index 9bf250e48..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Metadata.js +++ /dev/null @@ -1,350 +0,0 @@ -export const IERC721Metadata = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_approved", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "_operator", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "_symbol", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenURI", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts b/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts deleted file mode 100644 index a3155a928..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -export declare const IERC721TokenReceiver: { - abi: readonly [{ - readonly type: "function"; - readonly name: "onERC721Received"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "onERC721Received(address,address,uint256,bytes)": "150b7a02"; - }; -}; -//# sourceMappingURL=IERC721TokenReceiver.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map deleted file mode 100644 index 0ec0379b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721TokenReceiver.d.ts","sourceRoot":"","sources":["../src/IERC721TokenReceiver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqCb,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js b/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js deleted file mode 100644 index 7b0ddcee7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js +++ /dev/null @@ -1,42 +0,0 @@ -export const IERC721TokenReceiver = { - abi: [ - { - "type": "function", - "name": "onERC721Received", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "onERC721Received(address,address,uint256,bytes)": "150b7a02" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts deleted file mode 100644 index 5482d0dc6..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts +++ /dev/null @@ -1,1943 +0,0 @@ -export declare const IEzETHHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "renzo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "renzo()": "6a1a3f3d"; - readonly "renzoOracle()": "892866a4"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEzETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map deleted file mode 100644 index f8e841b70..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/IEzETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo2ET,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js deleted file mode 100644 index 4f5b2207c..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js +++ /dev/null @@ -1,2464 +0,0 @@ -export const IEzETHHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renzo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "renzo()": "6a1a3f3d", - "renzoOracle()": "892866a4", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 415afe765..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,451 +0,0 @@ -export declare const IEzETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,address,uint256)": "5111bea2"; - readonly "convertToShares(address,address,address,uint256)": "079554e7"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEzETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index a62c63ffa..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IEzETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgjB5B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index bbe0696f1..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,573 +0,0 @@ -export const IEzETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,address,address,uint256)": "5111bea2", - "convertToShares(address,address,address,uint256)": "079554e7", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts deleted file mode 100644 index 21f7d830a..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts +++ /dev/null @@ -1,597 +0,0 @@ -export declare const IEzETHHyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "renzo()": "6a1a3f3d"; - readonly "renzoOracle()": "892866a4"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEzETHHyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map deleted file mode 100644 index 4b8cfa523..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHHyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IEzETHHyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiuBb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js deleted file mode 100644 index 34db8a748..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js +++ /dev/null @@ -1,769 +0,0 @@ -export const IEzETHHyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "renzo()": "6a1a3f3d", - "renzoOracle()": "892866a4", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts deleted file mode 100644 index 2a23aae6c..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IEzETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=IEzETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map deleted file mode 100644 index b1ebff91c..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/IEzETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1Ed,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js deleted file mode 100644 index 038ad2723..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IEzETHLineaHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts b/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts deleted file mode 100644 index 3d76a8563..000000000 --- a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export declare const IFiatTokenProxy: { - abi: readonly [{ - readonly type: "function"; - readonly name: "implementation"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "implementation()": "5c60da1b"; - }; -}; -//# sourceMappingURL=IFiatTokenProxy.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map b/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map deleted file mode 100644 index 1e4c203af..000000000 --- a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IFiatTokenProxy.d.ts","sourceRoot":"","sources":["../src/IFiatTokenProxy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;cAgBR,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js b/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js deleted file mode 100644 index c4da2f6d8..000000000 --- a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js +++ /dev/null @@ -1,21 +0,0 @@ -export const IFiatTokenProxy = { - abi: [ - { - "type": "function", - "name": "implementation", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "implementation()": "5c60da1b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts b/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts deleted file mode 100644 index 37c2363ac..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -export declare const IFlashLoanReceiver: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "executeOperation"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "premiums"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "POOL()": "7535d246"; - readonly "executeOperation(address[],uint256[],uint256[],address,bytes)": "920f5c84"; - }; -}; -//# sourceMappingURL=IFlashLoanReceiver.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map b/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map deleted file mode 100644 index ee470fbf2..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IFlashLoanReceiver.d.ts","sourceRoot":"","sources":["../src/IFlashLoanReceiver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEX,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js b/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js deleted file mode 100644 index 9474d9664..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js +++ /dev/null @@ -1,75 +0,0 @@ -export const IFlashLoanReceiver = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "executeOperation", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "premiums", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "initiator", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "POOL()": "7535d246", - "executeOperation(address[],uint256[],uint256[],address,bytes)": "920f5c84" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts b/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts deleted file mode 100644 index 3d5923258..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -export declare const IFlashLoanSimpleReceiver: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "executeOperation"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "POOL()": "7535d246"; - readonly "executeOperation(address,uint256,uint256,address,bytes)": "1b11d0ff"; - }; -}; -//# sourceMappingURL=IFlashLoanSimpleReceiver.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map b/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map deleted file mode 100644 index 4e31a0a42..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IFlashLoanSimpleReceiver.d.ts","sourceRoot":"","sources":["../src/IFlashLoanSimpleReceiver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEjB,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js b/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js deleted file mode 100644 index 6e95e3da7..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js +++ /dev/null @@ -1,75 +0,0 @@ -export const IFlashLoanSimpleReceiver = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "executeOperation", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "premium", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initiator", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "POOL()": "7535d246", - "executeOperation(address,uint256,uint256,address,bytes)": "1b11d0ff" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts b/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts deleted file mode 100644 index d38cd6daa..000000000 --- a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -export declare const IGatewayRouter: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getGateway"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "outboundTransferCustomRefund"; - readonly inputs: readonly [{ - readonly name: "_l1Token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_refundTo"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxGas"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_gasPriceBid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "payable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getGateway(address)": "bda009fe"; - readonly "outboundTransferCustomRefund(address,address,address,uint256,uint256,uint256,bytes)": "4fb1a07b"; - }; -}; -//# sourceMappingURL=IGatewayRouter.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map b/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map deleted file mode 100644 index 2c364e156..000000000 --- a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IGatewayRouter.d.ts","sourceRoot":"","sources":["../src/IGatewayRouter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuEP,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGatewayRouter.js b/packages/hyperdrive-artifacts/dist/IGatewayRouter.js deleted file mode 100644 index ffafc3599..000000000 --- a/packages/hyperdrive-artifacts/dist/IGatewayRouter.js +++ /dev/null @@ -1,77 +0,0 @@ -export const IGatewayRouter = { - abi: [ - { - "type": "function", - "name": "getGateway", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "outboundTransferCustomRefund", - "inputs": [ - { - "name": "_l1Token", - "type": "address", - "internalType": "address" - }, - { - "name": "_refundTo", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxGas", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_gasPriceBid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "payable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getGateway(address)": "bda009fe", - "outboundTransferCustomRefund(address,address,address,uint256,uint256,uint256,bytes)": "4fb1a07b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IGauge.d.ts b/packages/hyperdrive-artifacts/dist/IGauge.d.ts deleted file mode 100644 index c66167d85..000000000 --- a/packages/hyperdrive-artifacts/dist/IGauge.d.ts +++ /dev/null @@ -1,441 +0,0 @@ -export declare const IGauge: { - abi: readonly [{ - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "earned"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "_earned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "fees0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "fees1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feesVotingReward"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lastTimeRewardApplicable"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_time"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lastUpdateTime"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "left"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "notifyRewardAmount"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "notifyRewardWithoutClaim"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "periodFinish"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardPerToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_rewardPerToken"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardPerTokenStored"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardRateByEpoch"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewards"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "stakingToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "userRewardPerTokenPaid"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ve"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "voter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "ClaimFees"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "claimed0"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "claimed1"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ClaimRewards"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NotifyReward"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "NotAlive"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotAuthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotTeam"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotVoter"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RewardRateTooHigh"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ZeroAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ZeroRewardRate"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "balanceOf(address)": "70a08231"; - readonly "deposit(uint256)": "b6b55f25"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "earned(address)": "008cc262"; - readonly "fees0()": "93f1c442"; - readonly "fees1()": "4c02a21c"; - readonly "feesVotingReward()": "0fe2f711"; - readonly "getReward(address)": "c00007b0"; - readonly "isPool()": "e2e1c6db"; - readonly "lastTimeRewardApplicable()": "80faa57d"; - readonly "lastUpdateTime()": "c8f33c91"; - readonly "left()": "16e64048"; - readonly "notifyRewardAmount(uint256)": "3c6b16ab"; - readonly "notifyRewardWithoutClaim(uint256)": "dcdc18dc"; - readonly "periodFinish()": "ebe2b12b"; - readonly "rewardPerToken()": "cd3daf9d"; - readonly "rewardPerTokenStored()": "df136d65"; - readonly "rewardRate()": "7b0a47ee"; - readonly "rewardRateByEpoch(uint256)": "94af5b63"; - readonly "rewardToken()": "f7c618c1"; - readonly "rewards(address)": "0700037d"; - readonly "stakingToken()": "72f702f3"; - readonly "totalSupply()": "18160ddd"; - readonly "userRewardPerTokenPaid(address)": "8b876347"; - readonly "ve()": "1f850716"; - readonly "voter()": "46c96aac"; - readonly "withdraw(uint256)": "2e1a7d4d"; - }; -}; -//# sourceMappingURL=IGauge.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGauge.d.ts.map b/packages/hyperdrive-artifacts/dist/IGauge.d.ts.map deleted file mode 100644 index 54b6987d5..000000000 --- a/packages/hyperdrive-artifacts/dist/IGauge.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IGauge.d.ts","sourceRoot":"","sources":["../src/IGauge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmhBC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGauge.js b/packages/hyperdrive-artifacts/dist/IGauge.js deleted file mode 100644 index 7f91d87bd..000000000 --- a/packages/hyperdrive-artifacts/dist/IGauge.js +++ /dev/null @@ -1,562 +0,0 @@ -export const IGauge = { - abi: [ - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "earned", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "_earned", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "fees0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "fees1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feesVotingReward", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReward", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lastTimeRewardApplicable", - "inputs": [], - "outputs": [ - { - "name": "_time", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lastUpdateTime", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "left", - "inputs": [], - "outputs": [ - { - "name": "_left", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "notifyRewardAmount", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "notifyRewardWithoutClaim", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "periodFinish", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardPerToken", - "inputs": [], - "outputs": [ - { - "name": "_rewardPerToken", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardPerTokenStored", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardRateByEpoch", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewards", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "stakingToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "userRewardPerTokenPaid", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ve", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "voter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "ClaimFees", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimed0", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "claimed1", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ClaimRewards", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NotifyReward", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "NotAlive", - "inputs": [] - }, - { - "type": "error", - "name": "NotAuthorized", - "inputs": [] - }, - { - "type": "error", - "name": "NotTeam", - "inputs": [] - }, - { - "type": "error", - "name": "NotVoter", - "inputs": [] - }, - { - "type": "error", - "name": "RewardRateTooHigh", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroAmount", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroRewardRate", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "balanceOf(address)": "70a08231", - "deposit(uint256)": "b6b55f25", - "deposit(uint256,address)": "6e553f65", - "earned(address)": "008cc262", - "fees0()": "93f1c442", - "fees1()": "4c02a21c", - "feesVotingReward()": "0fe2f711", - "getReward(address)": "c00007b0", - "isPool()": "e2e1c6db", - "lastTimeRewardApplicable()": "80faa57d", - "lastUpdateTime()": "c8f33c91", - "left()": "16e64048", - "notifyRewardAmount(uint256)": "3c6b16ab", - "notifyRewardWithoutClaim(uint256)": "dcdc18dc", - "periodFinish()": "ebe2b12b", - "rewardPerToken()": "cd3daf9d", - "rewardPerTokenStored()": "df136d65", - "rewardRate()": "7b0a47ee", - "rewardRateByEpoch(uint256)": "94af5b63", - "rewardToken()": "f7c618c1", - "rewards(address)": "0700037d", - "stakingToken()": "72f702f3", - "totalSupply()": "18160ddd", - "userRewardPerTokenPaid(address)": "8b876347", - "ve()": "1f850716", - "voter()": "46c96aac", - "withdraw(uint256)": "2e1a7d4d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts deleted file mode 100644 index f312a05d9..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts +++ /dev/null @@ -1,1921 +0,0 @@ -export declare const IHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map deleted file mode 100644 index 04b5956f4..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdrive.d.ts","sourceRoot":"","sources":["../src/IHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA00EJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdrive.js b/packages/hyperdrive-artifacts/dist/IHyperdrive.js deleted file mode 100644 index 757e0015b..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdrive.js +++ /dev/null @@ -1,2436 +0,0 @@ -export const IHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts deleted file mode 100644 index cad4b3902..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -export declare const IHyperdriveAdminController: { - abi: readonly [{ - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "feeCollector()": "c415b95c"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "sweepCollector()": "10780f73"; - }; -}; -//# sourceMappingURL=IHyperdriveAdminController.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map deleted file mode 100644 index 12c887989..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveAdminController.d.ts","sourceRoot":"","sources":["../src/IHyperdriveAdminController.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEnB,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js b/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js deleted file mode 100644 index d834d421d..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js +++ /dev/null @@ -1,77 +0,0 @@ -export const IHyperdriveAdminController = { - abi: [ - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "feeCollector()": "c415b95c", - "hyperdriveGovernance()": "e3331555", - "sweepCollector()": "10780f73" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts deleted file mode 100644 index a2a24cc58..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts +++ /dev/null @@ -1,162 +0,0 @@ -export declare const IHyperdriveCheckpointRewarder: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "claimCheckpointReward"; - readonly inputs: readonly [{ - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "subrewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSubrewarder"; - readonly inputs: readonly [{ - readonly name: "_subrewarder"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewardClaimed"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "claimant"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "isTrader"; - readonly type: "bool"; - readonly indexed: true; - readonly internalType: "bool"; - }, { - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "contract IERC20"; - }, { - readonly name: "rewardAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SubrewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "subrewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "claimCheckpointReward(address,uint256,bool)": "69114d4e"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "subrewarder()": "3d7f7b24"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateSubrewarder(address)": "9b06ae49"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveCheckpointRewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map deleted file mode 100644 index afa54f480..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCheckpointRewarder.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCheckpointRewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+LtB,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js deleted file mode 100644 index 722db21c0..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js +++ /dev/null @@ -1,203 +0,0 @@ -export const IHyperdriveCheckpointRewarder = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimCheckpointReward", - "inputs": [ - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "subrewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSubrewarder", - "inputs": [ - { - "name": "_subrewarder", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewardClaimed", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimant", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "isTrader", - "type": "bool", - "indexed": true, - "internalType": "bool" - }, - { - "name": "checkpointTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "rewardToken", - "type": "address", - "indexed": false, - "internalType": "contract IERC20" - }, - { - "name": "rewardAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SubrewarderUpdated", - "inputs": [ - { - "name": "subrewarder", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "admin()": "f851a440", - "claimCheckpointReward(address,uint256,bool)": "69114d4e", - "kind()": "04baa00b", - "name()": "06fdde03", - "subrewarder()": "3d7f7b24", - "updateAdmin(address)": "e2f273bd", - "updateSubrewarder(address)": "9b06ae49", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts deleted file mode 100644 index b12f58d75..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts +++ /dev/null @@ -1,278 +0,0 @@ -export declare const IHyperdriveCheckpointSubrewarder: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "minterRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "processReward"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "registry"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "source"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "traderRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinterRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_minterRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRegistry"; - readonly inputs: readonly [{ - readonly name: "_registry"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRewardToken"; - readonly inputs: readonly [{ - readonly name: "_rewardToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSource"; - readonly inputs: readonly [{ - readonly name: "_source"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateTraderRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_traderRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinterRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "minterRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RegistryUpdated"; - readonly inputs: readonly [{ - readonly name: "registry"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RewardTokenUpdated"; - readonly inputs: readonly [{ - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IERC20"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SourceUpdated"; - readonly inputs: readonly [{ - readonly name: "source"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TraderRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "traderRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "kind()": "04baa00b"; - readonly "minterRewardAmount()": "62498576"; - readonly "name()": "06fdde03"; - readonly "processReward(address,address,uint256,bool)": "e9f46041"; - readonly "registry()": "7b103999"; - readonly "rewardToken()": "f7c618c1"; - readonly "rewarder()": "dcc3e06e"; - readonly "source()": "67e828bf"; - readonly "traderRewardAmount()": "5b338e07"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateMinterRewardAmount(uint256)": "2057b1c7"; - readonly "updateRegistry(address)": "1a5da6c8"; - readonly "updateRewardToken(address)": "f8cf31cb"; - readonly "updateSource(address)": "f24bab65"; - readonly "updateTraderRewardAmount(uint256)": "9183219f"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveCheckpointSubrewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map deleted file mode 100644 index cabe47123..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCheckpointSubrewarder.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCheckpointSubrewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6UzB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js deleted file mode 100644 index 7ef9d8453..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js +++ /dev/null @@ -1,354 +0,0 @@ -export const IHyperdriveCheckpointSubrewarder = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "minterRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "processReward", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - }, - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "registry", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "source", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "traderRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinterRewardAmount", - "inputs": [ - { - "name": "_minterRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRegistry", - "inputs": [ - { - "name": "_registry", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRewardToken", - "inputs": [ - { - "name": "_rewardToken", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSource", - "inputs": [ - { - "name": "_source", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateTraderRewardAmount", - "inputs": [ - { - "name": "_traderRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinterRewardAmountUpdated", - "inputs": [ - { - "name": "minterRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RegistryUpdated", - "inputs": [ - { - "name": "registry", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveRegistry" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RewardTokenUpdated", - "inputs": [ - { - "name": "rewardToken", - "type": "address", - "indexed": true, - "internalType": "contract IERC20" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SourceUpdated", - "inputs": [ - { - "name": "source", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TraderRewardAmountUpdated", - "inputs": [ - { - "name": "traderRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "admin()": "f851a440", - "kind()": "04baa00b", - "minterRewardAmount()": "62498576", - "name()": "06fdde03", - "processReward(address,address,uint256,bool)": "e9f46041", - "registry()": "7b103999", - "rewardToken()": "f7c618c1", - "rewarder()": "dcc3e06e", - "source()": "67e828bf", - "traderRewardAmount()": "5b338e07", - "updateAdmin(address)": "e2f273bd", - "updateMinterRewardAmount(uint256)": "2057b1c7", - "updateRegistry(address)": "1a5da6c8", - "updateRewardToken(address)": "f8cf31cb", - "updateSource(address)": "f24bab65", - "updateTraderRewardAmount(uint256)": "9183219f", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts deleted file mode 100644 index 0fa954d5e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts +++ /dev/null @@ -1,591 +0,0 @@ -export declare const IHyperdriveCore: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=IHyperdriveCore.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map deleted file mode 100644 index c15a0a2ac..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCore.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCore.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6tBR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCore.js deleted file mode 100644 index c50e50150..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.js +++ /dev/null @@ -1,758 +0,0 @@ -export const IHyperdriveCore = { - abi: [ - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts deleted file mode 100644 index efe60e51a..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const IHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=IHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 699458754..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2KhB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js deleted file mode 100644 index b5f51c808..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const IHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 0ed73b2d0..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,397 +0,0 @@ -export declare const IHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index ce1d340e4..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4evB,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js deleted file mode 100644 index a91012ded..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,503 +0,0 @@ -export const IHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts deleted file mode 100644 index 8d7814bb1..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts +++ /dev/null @@ -1,531 +0,0 @@ -export declare const IHyperdriveEvents: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IHyperdriveEvents.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map deleted file mode 100644 index e6541554e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveEvents.d.ts","sourceRoot":"","sources":["../src/IHyperdriveEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwoBV,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js b/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js deleted file mode 100644 index f6e6a6cf9..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js +++ /dev/null @@ -1,651 +0,0 @@ -export const IHyperdriveEvents = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts deleted file mode 100644 index c2699d680..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts +++ /dev/null @@ -1,1514 +0,0 @@ -export declare const IHyperdriveFactory: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpointDurationResolution"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployAndInitialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployerCoordinatorManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorByInstances"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "coordinators"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorsInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfDeployerCoordinators"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "governance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isInstance"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "linkerCodeHash"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "linkerFactory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "removeDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointDurationResolution"; - readonly inputs: readonly [{ - readonly name: "_checkpointDurationResolution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointRewarder"; - readonly inputs: readonly [{ - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDefaultPausers"; - readonly inputs: readonly [{ - readonly name: "_defaultPausers_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDeployerCoordinatorManager"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinatorManager"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFeeCollector"; - readonly inputs: readonly [{ - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateGovernance"; - readonly inputs: readonly [{ - readonly name: "_governance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateHyperdriveGovernance"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerCodeHash"; - readonly inputs: readonly [{ - readonly name: "_linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerFactory"; - readonly inputs: readonly [{ - readonly name: "_linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_maxCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_maxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFees"; - readonly inputs: readonly [{ - readonly name: "__maxFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_maxFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_maxPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_maxTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_minCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_minCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFees"; - readonly inputs: readonly [{ - readonly name: "__minFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_minFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_minPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_minTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSweepCollector"; - readonly inputs: readonly [{ - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "CheckpointDurationResolutionUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointDurationResolution"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointRewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DefaultPausersUpdated"; - readonly inputs: readonly [{ - readonly name: "newDefaultPausers"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deployed"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "config"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorAdded"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorManagerUpdated"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinatorManager"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorRemoved"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FeeCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newFeeCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "GovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "governance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "HyperdriveGovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "hyperdriveGovernance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerCodeHashUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerCodeHash"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerFactoryUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerFactory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SweepCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newSweepCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorAlreadyAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorIndexMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorNotAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDurationResolution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployerCoordinator"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReceiveLocked"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addDeployerCoordinator(address)": "421caba8"; - readonly "checkpointDurationResolution()": "d0f96b92"; - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971"; - readonly "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7"; - readonly "deployerCoordinatorManager()": "e4e7148f"; - readonly "feeCollector()": "c415b95c"; - readonly "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb"; - readonly "getDeployerCoordinatorByInstances(address[])": "1b59be0c"; - readonly "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfDeployerCoordinators()": "e1b39c80"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "governance()": "5aa6e675"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "isDeployerCoordinator(address)": "f8c09e59"; - readonly "isInstance(address)": "6b44e6be"; - readonly "kind()": "04baa00b"; - readonly "linkerCodeHash()": "c905a4b5"; - readonly "linkerFactory()": "99623bb1"; - readonly "maxCheckpointDuration()": "e0e2daaa"; - readonly "maxCircuitBreakerDelta()": "4554f9a9"; - readonly "maxFees()": "e83e34b1"; - readonly "maxFixedAPR()": "bf9bd5cd"; - readonly "maxPositionDuration()": "8efc0986"; - readonly "maxTimeStretchAPR()": "48800760"; - readonly "minCheckpointDuration()": "5720c9d5"; - readonly "minCircuitBreakerDelta()": "1ecda0fe"; - readonly "minFees()": "c1722563"; - readonly "minFixedAPR()": "d23d7ea3"; - readonly "minPositionDuration()": "daf012e6"; - readonly "minTimeStretchAPR()": "d6f50169"; - readonly "name()": "06fdde03"; - readonly "removeDeployerCoordinator(address,uint256)": "411c3035"; - readonly "sweepCollector()": "10780f73"; - readonly "updateCheckpointDurationResolution(uint256)": "11e77bfe"; - readonly "updateCheckpointRewarder(address)": "3e2d2014"; - readonly "updateDefaultPausers(address[])": "9af25262"; - readonly "updateDeployerCoordinatorManager(address)": "a98a46db"; - readonly "updateFeeCollector(address)": "d2c35ce8"; - readonly "updateGovernance(address)": "b2561263"; - readonly "updateHyperdriveGovernance(address)": "dd2b8fbb"; - readonly "updateLinkerCodeHash(bytes32)": "4fbfee77"; - readonly "updateLinkerFactory(address)": "85229785"; - readonly "updateMaxCheckpointDuration(uint256)": "6f6d5c4a"; - readonly "updateMaxCircuitBreakerDelta(uint256)": "84c19aab"; - readonly "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac"; - readonly "updateMaxFixedAPR(uint256)": "97b0e8ce"; - readonly "updateMaxPositionDuration(uint256)": "eb71f66c"; - readonly "updateMaxTimeStretchAPR(uint256)": "628027a3"; - readonly "updateMinCheckpointDuration(uint256)": "8e127cf5"; - readonly "updateMinCircuitBreakerDelta(uint256)": "2907d3dd"; - readonly "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e"; - readonly "updateMinFixedAPR(uint256)": "1978ebcf"; - readonly "updateMinPositionDuration(uint256)": "e71f34b3"; - readonly "updateMinTimeStretchAPR(uint256)": "83b361e8"; - readonly "updateSweepCollector(address)": "8627a4f0"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map deleted file mode 100644 index 64d1494f6..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveFactory.d.ts","sourceRoot":"","sources":["../src/IHyperdriveFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg1DX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js b/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js deleted file mode 100644 index d3a50b61c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js +++ /dev/null @@ -1,1936 +0,0 @@ -export const IHyperdriveFactory = { - abi: [ - { - "type": "function", - "name": "addDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpointDurationResolution", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployAndInitialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdrive" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployerCoordinatorManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorByInstances", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "coordinators", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorsInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfDeployerCoordinators", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "governance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isInstance", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "linkerCodeHash", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "linkerFactory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateCheckpointDurationResolution", - "inputs": [ - { - "name": "_checkpointDurationResolution", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateCheckpointRewarder", - "inputs": [ - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDefaultPausers", - "inputs": [ - { - "name": "_defaultPausers_", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDeployerCoordinatorManager", - "inputs": [ - { - "name": "_deployerCoordinatorManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFeeCollector", - "inputs": [ - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateGovernance", - "inputs": [ - { - "name": "_governance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateHyperdriveGovernance", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerCodeHash", - "inputs": [ - { - "name": "_linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerFactory", - "inputs": [ - { - "name": "_linkerFactory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCheckpointDuration", - "inputs": [ - { - "name": "_maxCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCircuitBreakerDelta", - "inputs": [ - { - "name": "_maxCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFees", - "inputs": [ - { - "name": "__maxFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFixedAPR", - "inputs": [ - { - "name": "_maxFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxPositionDuration", - "inputs": [ - { - "name": "_maxPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxTimeStretchAPR", - "inputs": [ - { - "name": "_maxTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCheckpointDuration", - "inputs": [ - { - "name": "_minCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCircuitBreakerDelta", - "inputs": [ - { - "name": "_minCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFees", - "inputs": [ - { - "name": "__minFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFixedAPR", - "inputs": [ - { - "name": "_minFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinPositionDuration", - "inputs": [ - { - "name": "_minPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinTimeStretchAPR", - "inputs": [ - { - "name": "_minTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSweepCollector", - "inputs": [ - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "CheckpointDurationResolutionUpdated", - "inputs": [ - { - "name": "newCheckpointDurationResolution", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewarderUpdated", - "inputs": [ - { - "name": "newCheckpointRewarder", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DefaultPausersUpdated", - "inputs": [ - { - "name": "newDefaultPausers", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deployed", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "hyperdrive", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "config", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorAdded", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorManagerUpdated", - "inputs": [ - { - "name": "deployerCoordinatorManager", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorRemoved", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FeeCollectorUpdated", - "inputs": [ - { - "name": "newFeeCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "GovernanceUpdated", - "inputs": [ - { - "name": "governance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "HyperdriveGovernanceUpdated", - "inputs": [ - { - "name": "hyperdriveGovernance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerCodeHashUpdated", - "inputs": [ - { - "name": "newLinkerCodeHash", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerFactoryUpdated", - "inputs": [ - { - "name": "newLinkerFactory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMaxCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMaxCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFeesUpdated", - "inputs": [ - { - "name": "newMaxFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFixedAPRUpdated", - "inputs": [ - { - "name": "newMaxFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxPositionDurationUpdated", - "inputs": [ - { - "name": "newMaxPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMaxTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMinCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMinCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFeesUpdated", - "inputs": [ - { - "name": "newMinFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFixedAPRUpdated", - "inputs": [ - { - "name": "newMinFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinPositionDurationUpdated", - "inputs": [ - { - "name": "newMinPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMinTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SweepCollectorUpdated", - "inputs": [ - { - "name": "newSweepCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DeployerCoordinatorAlreadyAdded", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorIndexMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorNotAdded", - "inputs": [] - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDurationResolution", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployConfig", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployerCoordinator", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "ReceiveLocked", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addDeployerCoordinator(address)": "421caba8", - "checkpointDurationResolution()": "d0f96b92", - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", - "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", - "deployerCoordinatorManager()": "e4e7148f", - "feeCollector()": "c415b95c", - "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", - "getDeployerCoordinatorByInstances(address[])": "1b59be0c", - "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfDeployerCoordinators()": "e1b39c80", - "getNumberOfInstances()": "6e95d67c", - "governance()": "5aa6e675", - "hyperdriveGovernance()": "e3331555", - "isDeployerCoordinator(address)": "f8c09e59", - "isInstance(address)": "6b44e6be", - "kind()": "04baa00b", - "linkerCodeHash()": "c905a4b5", - "linkerFactory()": "99623bb1", - "maxCheckpointDuration()": "e0e2daaa", - "maxCircuitBreakerDelta()": "4554f9a9", - "maxFees()": "e83e34b1", - "maxFixedAPR()": "bf9bd5cd", - "maxPositionDuration()": "8efc0986", - "maxTimeStretchAPR()": "48800760", - "minCheckpointDuration()": "5720c9d5", - "minCircuitBreakerDelta()": "1ecda0fe", - "minFees()": "c1722563", - "minFixedAPR()": "d23d7ea3", - "minPositionDuration()": "daf012e6", - "minTimeStretchAPR()": "d6f50169", - "name()": "06fdde03", - "removeDeployerCoordinator(address,uint256)": "411c3035", - "sweepCollector()": "10780f73", - "updateCheckpointDurationResolution(uint256)": "11e77bfe", - "updateCheckpointRewarder(address)": "3e2d2014", - "updateDefaultPausers(address[])": "9af25262", - "updateDeployerCoordinatorManager(address)": "a98a46db", - "updateFeeCollector(address)": "d2c35ce8", - "updateGovernance(address)": "b2561263", - "updateHyperdriveGovernance(address)": "dd2b8fbb", - "updateLinkerCodeHash(bytes32)": "4fbfee77", - "updateLinkerFactory(address)": "85229785", - "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", - "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", - "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", - "updateMaxFixedAPR(uint256)": "97b0e8ce", - "updateMaxPositionDuration(uint256)": "eb71f66c", - "updateMaxTimeStretchAPR(uint256)": "628027a3", - "updateMinCheckpointDuration(uint256)": "8e127cf5", - "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", - "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", - "updateMinFixedAPR(uint256)": "1978ebcf", - "updateMinPositionDuration(uint256)": "e71f34b3", - "updateMinTimeStretchAPR(uint256)": "83b361e8", - "updateSweepCollector(address)": "8627a4f0", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts deleted file mode 100644 index 508be3a3f..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts +++ /dev/null @@ -1,541 +0,0 @@ -export declare const IHyperdriveGovernedRegistry: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoriesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfos"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfos"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfFactories"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isInitialized"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }, { - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateName"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FactoryInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "InstanceInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NameUpdated"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RegistryAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "getFactoriesInRange(uint256,uint256)": "716ba5f6"; - readonly "getFactoryAtIndex(uint256)": "a587bbe1"; - readonly "getFactoryInfo(address)": "9b724ad4"; - readonly "getFactoryInfoWithMetadata(address)": "f32c9e34"; - readonly "getFactoryInfos(address[])": "ea350321"; - readonly "getFactoryInfosWithMetadata(address[])": "b73e3fab"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstanceInfo(address)": "18bb3b54"; - readonly "getInstanceInfoWithMetadata(address)": "2ad19de8"; - readonly "getInstanceInfos(address[])": "4db6c0e0"; - readonly "getInstanceInfosWithMetadata(address[])": "d2f72d52"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfFactories()": "f59d00b9"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "initialize(string,address)": "7ab4339d"; - readonly "isInitialized()": "392e53cd"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "setFactoryInfo(address[],uint128[])": "e967e388"; - readonly "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateName(string)": "84da92a7"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveGovernedRegistry.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map deleted file mode 100644 index a1132dc4c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveGovernedRegistry.d.ts","sourceRoot":"","sources":["../src/IHyperdriveGovernedRegistry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgqBpB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js deleted file mode 100644 index eec46900e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js +++ /dev/null @@ -1,700 +0,0 @@ -export const IHyperdriveGovernedRegistry = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoriesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfo", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfoWithMetadata", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfos", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfosWithMetadata", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfo", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfoWithMetadata", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfos", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfosWithMetadata", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfFactories", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isInitialized", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setFactoryInfo", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setInstanceInfo", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - }, - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateName", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FactoryInfoUpdated", - "inputs": [ - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InstanceInfoUpdated", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NameUpdated", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFactory", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "RegistryAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "admin()": "f851a440", - "getFactoriesInRange(uint256,uint256)": "716ba5f6", - "getFactoryAtIndex(uint256)": "a587bbe1", - "getFactoryInfo(address)": "9b724ad4", - "getFactoryInfoWithMetadata(address)": "f32c9e34", - "getFactoryInfos(address[])": "ea350321", - "getFactoryInfosWithMetadata(address[])": "b73e3fab", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstanceInfo(address)": "18bb3b54", - "getInstanceInfoWithMetadata(address)": "2ad19de8", - "getInstanceInfos(address[])": "4db6c0e0", - "getInstanceInfosWithMetadata(address[])": "d2f72d52", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfFactories()": "f59d00b9", - "getNumberOfInstances()": "6e95d67c", - "initialize(string,address)": "7ab4339d", - "isInitialized()": "392e53cd", - "kind()": "04baa00b", - "name()": "06fdde03", - "setFactoryInfo(address[],uint128[])": "e967e388", - "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", - "updateAdmin(address)": "e2f273bd", - "updateName(string)": "84da92a7", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts deleted file mode 100644 index 4c0106b7c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -export declare const IHyperdriveGovernedRegistryEvents: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FactoryInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "InstanceInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NameUpdated"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IHyperdriveGovernedRegistryEvents.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map deleted file mode 100644 index f4d5ee614..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveGovernedRegistryEvents.d.ts","sourceRoot":"","sources":["../src/IHyperdriveGovernedRegistryEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4F1B,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js deleted file mode 100644 index 19f221b74..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js +++ /dev/null @@ -1,95 +0,0 @@ -export const IHyperdriveGovernedRegistryEvents = { - abi: [ - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FactoryInfoUpdated", - "inputs": [ - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InstanceInfoUpdated", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NameUpdated", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts deleted file mode 100644 index fb56e9cad..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts +++ /dev/null @@ -1,575 +0,0 @@ -export declare const IHyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map deleted file mode 100644 index fde0fa74c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IHyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAusBR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IHyperdriveRead.js deleted file mode 100644 index bc984a95d..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.js +++ /dev/null @@ -1,741 +0,0 @@ -export const IHyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts deleted file mode 100644 index 07346c3c8..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts +++ /dev/null @@ -1,354 +0,0 @@ -export declare const IHyperdriveRegistry: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getFactoriesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfos"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfos"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfFactories"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getFactoriesInRange(uint256,uint256)": "716ba5f6"; - readonly "getFactoryAtIndex(uint256)": "a587bbe1"; - readonly "getFactoryInfo(address)": "9b724ad4"; - readonly "getFactoryInfoWithMetadata(address)": "f32c9e34"; - readonly "getFactoryInfos(address[])": "ea350321"; - readonly "getFactoryInfosWithMetadata(address[])": "b73e3fab"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstanceInfo(address)": "18bb3b54"; - readonly "getInstanceInfoWithMetadata(address)": "2ad19de8"; - readonly "getInstanceInfos(address[])": "4db6c0e0"; - readonly "getInstanceInfosWithMetadata(address[])": "d2f72d52"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfFactories()": "f59d00b9"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveRegistry.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map deleted file mode 100644 index df861d589..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveRegistry.d.ts","sourceRoot":"","sources":["../src/IHyperdriveRegistry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0bZ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js b/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js deleted file mode 100644 index afb7f3d90..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js +++ /dev/null @@ -1,463 +0,0 @@ -export const IHyperdriveRegistry = { - abi: [ - { - "type": "function", - "name": "getFactoriesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfo", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfoWithMetadata", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfos", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfosWithMetadata", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfo", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfoWithMetadata", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfos", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfosWithMetadata", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfFactories", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getFactoriesInRange(uint256,uint256)": "716ba5f6", - "getFactoryAtIndex(uint256)": "a587bbe1", - "getFactoryInfo(address)": "9b724ad4", - "getFactoryInfoWithMetadata(address)": "f32c9e34", - "getFactoryInfos(address[])": "ea350321", - "getFactoryInfosWithMetadata(address[])": "b73e3fab", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstanceInfo(address)": "18bb3b54", - "getInstanceInfoWithMetadata(address)": "2ad19de8", - "getInstanceInfos(address[])": "4db6c0e0", - "getInstanceInfosWithMetadata(address[])": "d2f72d52", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfFactories()": "f59d00b9", - "getNumberOfInstances()": "6e95d67c", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts deleted file mode 100644 index 117e5f378..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const IHyperdriveTargetDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=IHyperdriveTargetDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map deleted file mode 100644 index 30a23d14e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveTargetDeployer.d.ts","sourceRoot":"","sources":["../src/IHyperdriveTargetDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IlB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js b/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js deleted file mode 100644 index f4db40649..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const IHyperdriveTargetDeployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts b/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts deleted file mode 100644 index 19863275f..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts +++ /dev/null @@ -1,91 +0,0 @@ -export declare const IInitializableAToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413"; - }; -}; -//# sourceMappingURL=IInitializableAToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map deleted file mode 100644 index 69827d18a..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IInitializableAToken.d.ts","sourceRoot":"","sources":["../src/IInitializableAToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0Gb,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableAToken.js b/packages/hyperdrive-artifacts/dist/IInitializableAToken.js deleted file mode 100644 index 71063bc5b..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableAToken.js +++ /dev/null @@ -1,111 +0,0 @@ -export const IInitializableAToken = { - abi: [ - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "treasury", - "type": "address", - "internalType": "address" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "treasury", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts b/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts deleted file mode 100644 index 94e78577a..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -export declare const IInitializableDebtToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a"; - }; -}; -//# sourceMappingURL=IInitializableDebtToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map deleted file mode 100644 index 20bdcc865..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IInitializableDebtToken.d.ts","sourceRoot":"","sources":["../src/IInitializableDebtToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+FhB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js b/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js deleted file mode 100644 index 39d2b5188..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js +++ /dev/null @@ -1,100 +0,0 @@ -export const IInitializableDebtToken = { - abi: [ - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IIrm.d.ts b/packages/hyperdrive-artifacts/dist/IIrm.d.ts deleted file mode 100644 index 858d2947b..000000000 --- a/packages/hyperdrive-artifacts/dist/IIrm.d.ts +++ /dev/null @@ -1,137 +0,0 @@ -export declare const IIrm: { - abi: readonly [{ - readonly type: "function"; - readonly name: "borrowRate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "market"; - readonly type: "tuple"; - readonly internalType: "struct Market"; - readonly components: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrowRateView"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "market"; - readonly type: "tuple"; - readonly internalType: "struct Market"; - readonly components: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "borrowRate((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "9451fed4"; - readonly "borrowRateView((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "8c00bf6b"; - }; -}; -//# sourceMappingURL=IIrm.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IIrm.d.ts.map b/packages/hyperdrive-artifacts/dist/IIrm.d.ts.map deleted file mode 100644 index f74274cf1..000000000 --- a/packages/hyperdrive-artifacts/dist/IIrm.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IIrm.d.ts","sourceRoot":"","sources":["../src/IIrm.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyKG,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IIrm.js b/packages/hyperdrive-artifacts/dist/IIrm.js deleted file mode 100644 index cf0721704..000000000 --- a/packages/hyperdrive-artifacts/dist/IIrm.js +++ /dev/null @@ -1,175 +0,0 @@ -export const IIrm = { - abi: [ - { - "type": "function", - "name": "borrowRate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "market", - "type": "tuple", - "internalType": "struct Market", - "components": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrowRateView", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "market", - "type": "tuple", - "internalType": "struct Market", - "components": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "borrowRate((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "9451fed4", - "borrowRateView((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "8c00bf6b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts b/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts deleted file mode 100644 index 08d31e35f..000000000 --- a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts +++ /dev/null @@ -1,164 +0,0 @@ -export declare const IL2Pool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "args1"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "args2"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "borrow(bytes32)": "d5eed868"; - readonly "liquidationCall(bytes32,bytes32)": "fd21ecff"; - readonly "rebalanceStableBorrowRate(bytes32)": "427da177"; - readonly "repay(bytes32)": "563dd613"; - readonly "repayWithATokens(bytes32)": "dc7c0bff"; - readonly "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de"; - readonly "setUserUseReserveAsCollateral(bytes32)": "4d013f03"; - readonly "supply(bytes32)": "f7a73840"; - readonly "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c"; - readonly "swapBorrowRateMode(bytes32)": "1fe3c6f3"; - readonly "withdraw(bytes32)": "8e19899e"; - }; -}; -//# sourceMappingURL=IL2Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map deleted file mode 100644 index d895fe1f3..000000000 --- a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IL2Pool.d.ts","sourceRoot":"","sources":["../src/IL2Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IL2Pool.js b/packages/hyperdrive-artifacts/dist/IL2Pool.js deleted file mode 100644 index d9f1496e2..000000000 --- a/packages/hyperdrive-artifacts/dist/IL2Pool.js +++ /dev/null @@ -1,210 +0,0 @@ -export const IL2Pool = { - abi: [ - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "args1", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "args2", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "borrow(bytes32)": "d5eed868", - "liquidationCall(bytes32,bytes32)": "fd21ecff", - "rebalanceStableBorrowRate(bytes32)": "427da177", - "repay(bytes32)": "563dd613", - "repayWithATokens(bytes32)": "dc7c0bff", - "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", - "setUserUseReserveAsCollateral(bytes32)": "4d013f03", - "supply(bytes32)": "f7a73840", - "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", - "swapBorrowRateMode(bytes32)": "1fe3c6f3", - "withdraw(bytes32)": "8e19899e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ILido.d.ts b/packages/hyperdrive-artifacts/dist/ILido.d.ts deleted file mode 100644 index 1e58c8337..000000000 --- a/packages/hyperdrive-artifacts/dist/ILido.d.ts +++ /dev/null @@ -1,321 +0,0 @@ -export declare const ILido: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBufferedEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPooledEthByShares"; - readonly inputs: readonly [{ - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSharesByPooledEth"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "getBufferedEther()": "47b714e0"; - readonly "getPooledEthByShares(uint256)": "7a28fb88"; - readonly "getSharesByPooledEth(uint256)": "19208451"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "name()": "06fdde03"; - readonly "sharesOf(address)": "f5eb42dc"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=ILido.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILido.d.ts.map b/packages/hyperdrive-artifacts/dist/ILido.d.ts.map deleted file mode 100644 index 49775e535..000000000 --- a/packages/hyperdrive-artifacts/dist/ILido.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ILido.d.ts","sourceRoot":"","sources":["../src/ILido.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyYE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILido.js b/packages/hyperdrive-artifacts/dist/ILido.js deleted file mode 100644 index c180f044c..000000000 --- a/packages/hyperdrive-artifacts/dist/ILido.js +++ /dev/null @@ -1,415 +0,0 @@ -export const ILido = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBufferedEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPooledEthByShares", - "inputs": [ - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSharesByPooledEth", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "getBufferedEther()": "47b714e0", - "getPooledEthByShares(uint256)": "7a28fb88", - "getSharesByPooledEth(uint256)": "19208451", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "name()": "06fdde03", - "sharesOf(address)": "f5eb42dc", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts b/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts deleted file mode 100644 index 30e0608ea..000000000 --- a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts +++ /dev/null @@ -1,223 +0,0 @@ -export declare const ILiquidityPool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addEthAmountLockedForWithdrawal"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "amountForShare"; - readonly inputs: readonly [{ - readonly name: "_share"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "depositToRecipient"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "eETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IEETH"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalEtherClaimOf"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "numPendingDeposits"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rebase"; - readonly inputs: readonly [{ - readonly name: "_accruedRewards"; - readonly type: "int128"; - readonly internalType: "int128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "reduceEthAmountLockedForWithdrawal"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesForAmount"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesForWithdrawalAmount"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalValueInLp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalValueOutOfLp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addEthAmountLockedForWithdrawal(uint128)": "1665f66d"; - readonly "amountForShare(uint256)": "561bddf8"; - readonly "deposit()": "d0e30db0"; - readonly "deposit(address)": "f340fa01"; - readonly "deposit(address,address)": "f9609f08"; - readonly "depositToRecipient(address,uint256,address)": "b46a130e"; - readonly "eETH()": "0de371e2"; - readonly "getTotalEtherClaimOf(address)": "51199700"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "numPendingDeposits()": "e4537934"; - readonly "rebase(int128)": "c00b2d61"; - readonly "reduceEthAmountLockedForWithdrawal(uint128)": "8a1b58b1"; - readonly "sharesForAmount(uint256)": "3a53acb0"; - readonly "sharesForWithdrawalAmount(uint256)": "917266fa"; - readonly "totalValueInLp()": "7c90fbf0"; - readonly "totalValueOutOfLp()": "456a23a6"; - }; -}; -//# sourceMappingURL=ILiquidityPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map b/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map deleted file mode 100644 index 41004a2be..000000000 --- a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ILiquidityPool.d.ts","sourceRoot":"","sources":["../src/ILiquidityPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4QP,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILiquidityPool.js b/packages/hyperdrive-artifacts/dist/ILiquidityPool.js deleted file mode 100644 index ea031579b..000000000 --- a/packages/hyperdrive-artifacts/dist/ILiquidityPool.js +++ /dev/null @@ -1,288 +0,0 @@ -export const ILiquidityPool = { - abi: [ - { - "type": "function", - "name": "addEthAmountLockedForWithdrawal", - "inputs": [ - { - "name": "_amount", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "amountForShare", - "inputs": [ - { - "name": "_share", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "depositToRecipient", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "eETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IEETH" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalEtherClaimOf", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "numPendingDeposits", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint32", - "internalType": "uint32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rebase", - "inputs": [ - { - "name": "_accruedRewards", - "type": "int128", - "internalType": "int128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "reduceEthAmountLockedForWithdrawal", - "inputs": [ - { - "name": "_amount", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesForAmount", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesForWithdrawalAmount", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalValueInLp", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalValueOutOfLp", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "addEthAmountLockedForWithdrawal(uint128)": "1665f66d", - "amountForShare(uint256)": "561bddf8", - "deposit()": "d0e30db0", - "deposit(address)": "f340fa01", - "deposit(address,address)": "f9609f08", - "depositToRecipient(address,uint256,address)": "b46a130e", - "eETH()": "0de371e2", - "getTotalEtherClaimOf(address)": "51199700", - "getTotalPooledEther()": "37cfdaca", - "numPendingDeposits()": "e4537934", - "rebase(int128)": "c00b2d61", - "reduceEthAmountLockedForWithdrawal(uint128)": "8a1b58b1", - "sharesForAmount(uint256)": "3a53acb0", - "sharesForWithdrawalAmount(uint256)": "917266fa", - "totalValueInLp()": "7c90fbf0", - "totalValueOutOfLp()": "456a23a6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 72cde61bc..000000000 --- a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const ILsETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ILsETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index a613cb31a..000000000 --- a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ILsETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/ILsETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB5B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 6fb55e24c..000000000 --- a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const ILsETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts b/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts deleted file mode 100644 index 99d4edb02..000000000 --- a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts +++ /dev/null @@ -1,562 +0,0 @@ -export declare const IMetaMorpho: { - abi: readonly [{ - readonly type: "function"; - readonly name: "MORPHO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fee"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint96"; - readonly internalType: "uint96"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "totalAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawQueue"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "withdrawQueueLength"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "MORPHO()": "3acb5624"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "balanceOf(address)": "70a08231"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "fee()": "ddca3f43"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "owner()": "8da5cb5b"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "setFee(uint256)": "69fe0e2d"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256,address,address)": "b460af94"; - readonly "withdrawQueue(uint256)": "62518ddf"; - readonly "withdrawQueueLength()": "33f91ebb"; - }; -}; -//# sourceMappingURL=IMetaMorpho.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map b/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map deleted file mode 100644 index b7381c378..000000000 --- a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMetaMorpho.d.ts","sourceRoot":"","sources":["../src/IMetaMorpho.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqrBJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMetaMorpho.js b/packages/hyperdrive-artifacts/dist/IMetaMorpho.js deleted file mode 100644 index 6637f1f07..000000000 --- a/packages/hyperdrive-artifacts/dist/IMetaMorpho.js +++ /dev/null @@ -1,728 +0,0 @@ -export const IMetaMorpho = { - abi: [ - { - "type": "function", - "name": "MORPHO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMorpho" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fee", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint96", - "internalType": "uint96" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "totalAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawQueue", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "Id" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawQueueLength", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "MORPHO()": "3acb5624", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "fee()": "ddca3f43", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "setFee(uint256)": "69fe0e2d", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94", - "withdrawQueue(uint256)": "62518ddf", - "withdrawQueueLength()": "33f91ebb" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts deleted file mode 100644 index 8ce5c9161..000000000 --- a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -export declare const IMockHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "__external_transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "__setBalanceOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "accrue"; - readonly inputs: readonly [{ - readonly name: "time"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "apr"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemaining"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemainingScaled"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGovernanceFeesAccrued"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "latestCheckpoint"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserves"; - readonly inputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLiquidity"; - readonly inputs: readonly [{ - readonly name: "shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a"; - readonly "__setBalanceOf(uint256,address,uint256)": "94a97cdb"; - readonly "accrue(uint256,int256)": "68096239"; - readonly "burn(uint256,address,uint256)": "9eea5f66"; - readonly "calculateTimeRemaining(uint256)": "68c2ecb8"; - readonly "calculateTimeRemainingScaled(uint256)": "ca6d38f7"; - readonly "getGovernanceFeesAccrued()": "8e67f87e"; - readonly "latestCheckpoint()": "907c0f92"; - readonly "mint(uint256,address,uint256)": "836a1040"; - readonly "setReserves(uint256,uint256)": "8392b8c0"; - readonly "updateLiquidity(uint256)": "ced09112"; - }; -}; -//# sourceMappingURL=IMockHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map deleted file mode 100644 index 63cef8a78..000000000 --- a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMockHyperdrive.d.ts","sourceRoot":"","sources":["../src/IMockHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0NR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.js b/packages/hyperdrive-artifacts/dist/IMockHyperdrive.js deleted file mode 100644 index bada19cbe..000000000 --- a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.js +++ /dev/null @@ -1,233 +0,0 @@ -export const IMockHyperdrive = { - abi: [ - { - "type": "function", - "name": "__external_transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "__setBalanceOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_who", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "accrue", - "inputs": [ - { - "name": "time", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "apr", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "calculateTimeRemaining", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateTimeRemainingScaled", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGovernanceFeesAccrued", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "latestCheckpoint", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserves", - "inputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLiquidity", - "inputs": [ - { - "name": "shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", - "__setBalanceOf(uint256,address,uint256)": "94a97cdb", - "accrue(uint256,int256)": "68096239", - "burn(uint256,address,uint256)": "9eea5f66", - "calculateTimeRemaining(uint256)": "68c2ecb8", - "calculateTimeRemainingScaled(uint256)": "ca6d38f7", - "getGovernanceFeesAccrued()": "8e67f87e", - "latestCheckpoint()": "907c0f92", - "mint(uint256,address,uint256)": "836a1040", - "setReserves(uint256,uint256)": "8392b8c0", - "updateLiquidity(uint256)": "ced09112" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts b/packages/hyperdrive-artifacts/dist/IMorpho.d.ts deleted file mode 100644 index a65ca3bc2..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts +++ /dev/null @@ -1,822 +0,0 @@ -export declare const IMorpho: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "accrueInterest"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createMarket"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableIrm"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableLltv"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "extSloads"; - readonly inputs: readonly [{ - readonly name: "slots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeRecipient"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "idToMarketParams"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isAuthorized"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isIrmEnabled"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLltvEnabled"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "seizedAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "repaidShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "market"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: "m"; - readonly type: "tuple"; - readonly internalType: "struct Market"; - readonly components: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonce"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "position"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "p"; - readonly type: "tuple"; - readonly internalType: "struct Position"; - readonly components: readonly [{ - readonly name: "supplyShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "borrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "collateral"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorization"; - readonly inputs: readonly [{ - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newIsAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorizationWithSig"; - readonly inputs: readonly [{ - readonly name: "authorization"; - readonly type: "tuple"; - readonly internalType: "struct Authorization"; - readonly components: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "signature"; - readonly type: "tuple"; - readonly internalType: "struct Signature"; - readonly components: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "newFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFeeRecipient"; - readonly inputs: readonly [{ - readonly name: "newFeeRecipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setOwner"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "accrueInterest((address,address,address,address,uint256))": "151c1ade"; - readonly "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b"; - readonly "createMarket((address,address,address,address,uint256))": "8c1358a2"; - readonly "enableIrm(address)": "5a64f51e"; - readonly "enableLltv(uint256)": "4d98a93b"; - readonly "extSloads(bytes32[])": "7784c685"; - readonly "feeRecipient()": "46904840"; - readonly "flashLoan(address,uint256,bytes)": "e0232b42"; - readonly "idToMarketParams(bytes32)": "2c3c9157"; - readonly "isAuthorized(address,address)": "65e4ad9e"; - readonly "isIrmEnabled(address)": "f2b863ce"; - readonly "isLltvEnabled(uint256)": "b485f3b8"; - readonly "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8"; - readonly "market(bytes32)": "5c60e39a"; - readonly "nonce(address)": "70ae92d2"; - readonly "owner()": "8da5cb5b"; - readonly "position(bytes32,address)": "93c52062"; - readonly "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81"; - readonly "setAuthorization(address,bool)": "eecea000"; - readonly "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f"; - readonly "setFee((address,address,address,address,uint256),uint256)": "2b4f013c"; - readonly "setFeeRecipient(address)": "e74b981b"; - readonly "setOwner(address)": "13af4035"; - readonly "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89"; - readonly "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579"; - readonly "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49"; - readonly "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d"; - }; -}; -//# sourceMappingURL=IMorpho.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map deleted file mode 100644 index d64017d4f..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorpho.d.ts","sourceRoot":"","sources":["../src/IMorpho.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAigCA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorpho.js b/packages/hyperdrive-artifacts/dist/IMorpho.js deleted file mode 100644 index 58dc3f4b5..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorpho.js +++ /dev/null @@ -1,1057 +0,0 @@ -export const IMorpho = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accrueInterest", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsBorrowed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesBorrowed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createMarket", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableIrm", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableLltv", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "extSloads", - "inputs": [ - { - "name": "slots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeRecipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "idToMarketParams", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isAuthorized", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isIrmEnabled", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLltvEnabled", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "borrower", - "type": "address", - "internalType": "address" - }, - { - "name": "seizedAssets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "repaidShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "market", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "m", - "type": "tuple", - "internalType": "struct Market", - "components": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonce", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "position", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "p", - "type": "tuple", - "internalType": "struct Position", - "components": [ - { - "name": "supplyShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "borrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "collateral", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsRepaid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesRepaid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorization", - "inputs": [ - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "newIsAuthorized", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorizationWithSig", - "inputs": [ - { - "name": "authorization", - "type": "tuple", - "internalType": "struct Authorization", - "components": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "isAuthorized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "signature", - "type": "tuple", - "internalType": "struct Signature", - "components": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFeeRecipient", - "inputs": [ - { - "name": "newFeeRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOwner", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsSupplied", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesSupplied", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsWithdrawn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "accrueInterest((address,address,address,address,uint256))": "151c1ade", - "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", - "createMarket((address,address,address,address,uint256))": "8c1358a2", - "enableIrm(address)": "5a64f51e", - "enableLltv(uint256)": "4d98a93b", - "extSloads(bytes32[])": "7784c685", - "feeRecipient()": "46904840", - "flashLoan(address,uint256,bytes)": "e0232b42", - "idToMarketParams(bytes32)": "2c3c9157", - "isAuthorized(address,address)": "65e4ad9e", - "isIrmEnabled(address)": "f2b863ce", - "isLltvEnabled(uint256)": "b485f3b8", - "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", - "market(bytes32)": "5c60e39a", - "nonce(address)": "70ae92d2", - "owner()": "8da5cb5b", - "position(bytes32,address)": "93c52062", - "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", - "setAuthorization(address,bool)": "eecea000", - "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", - "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", - "setFeeRecipient(address)": "e74b981b", - "setOwner(address)": "13af4035", - "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", - "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", - "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", - "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts b/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts deleted file mode 100644 index 709c0e97f..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts +++ /dev/null @@ -1,714 +0,0 @@ -export declare const IMorphoBase: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "accrueInterest"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createMarket"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableIrm"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableLltv"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "extSloads"; - readonly inputs: readonly [{ - readonly name: "slots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeRecipient"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isAuthorized"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isIrmEnabled"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLltvEnabled"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "seizedAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "repaidShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nonce"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorization"; - readonly inputs: readonly [{ - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newIsAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorizationWithSig"; - readonly inputs: readonly [{ - readonly name: "authorization"; - readonly type: "tuple"; - readonly internalType: "struct Authorization"; - readonly components: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "signature"; - readonly type: "tuple"; - readonly internalType: "struct Signature"; - readonly components: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "newFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFeeRecipient"; - readonly inputs: readonly [{ - readonly name: "newFeeRecipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setOwner"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "accrueInterest((address,address,address,address,uint256))": "151c1ade"; - readonly "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b"; - readonly "createMarket((address,address,address,address,uint256))": "8c1358a2"; - readonly "enableIrm(address)": "5a64f51e"; - readonly "enableLltv(uint256)": "4d98a93b"; - readonly "extSloads(bytes32[])": "7784c685"; - readonly "feeRecipient()": "46904840"; - readonly "flashLoan(address,uint256,bytes)": "e0232b42"; - readonly "isAuthorized(address,address)": "65e4ad9e"; - readonly "isIrmEnabled(address)": "f2b863ce"; - readonly "isLltvEnabled(uint256)": "b485f3b8"; - readonly "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8"; - readonly "nonce(address)": "70ae92d2"; - readonly "owner()": "8da5cb5b"; - readonly "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81"; - readonly "setAuthorization(address,bool)": "eecea000"; - readonly "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f"; - readonly "setFee((address,address,address,address,uint256),uint256)": "2b4f013c"; - readonly "setFeeRecipient(address)": "e74b981b"; - readonly "setOwner(address)": "13af4035"; - readonly "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89"; - readonly "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579"; - readonly "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49"; - readonly "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d"; - }; -}; -//# sourceMappingURL=IMorphoBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map deleted file mode 100644 index 725613afa..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorphoBase.d.ts","sourceRoot":"","sources":["../src/IMorphoBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu3BJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBase.js b/packages/hyperdrive-artifacts/dist/IMorphoBase.js deleted file mode 100644 index b9a7c0648..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBase.js +++ /dev/null @@ -1,916 +0,0 @@ -export const IMorphoBase = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accrueInterest", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsBorrowed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesBorrowed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createMarket", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableIrm", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableLltv", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "extSloads", - "inputs": [ - { - "name": "slots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeRecipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isAuthorized", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isIrmEnabled", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLltvEnabled", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "borrower", - "type": "address", - "internalType": "address" - }, - { - "name": "seizedAssets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "repaidShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nonce", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsRepaid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesRepaid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorization", - "inputs": [ - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "newIsAuthorized", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorizationWithSig", - "inputs": [ - { - "name": "authorization", - "type": "tuple", - "internalType": "struct Authorization", - "components": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "isAuthorized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "signature", - "type": "tuple", - "internalType": "struct Signature", - "components": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFeeRecipient", - "inputs": [ - { - "name": "newFeeRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOwner", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsSupplied", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesSupplied", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsWithdrawn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "accrueInterest((address,address,address,address,uint256))": "151c1ade", - "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", - "createMarket((address,address,address,address,uint256))": "8c1358a2", - "enableIrm(address)": "5a64f51e", - "enableLltv(uint256)": "4d98a93b", - "extSloads(bytes32[])": "7784c685", - "feeRecipient()": "46904840", - "flashLoan(address,uint256,bytes)": "e0232b42", - "isAuthorized(address,address)": "65e4ad9e", - "isIrmEnabled(address)": "f2b863ce", - "isLltvEnabled(uint256)": "b485f3b8", - "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", - "nonce(address)": "70ae92d2", - "owner()": "8da5cb5b", - "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", - "setAuthorization(address,bool)": "eecea000", - "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", - "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", - "setFeeRecipient(address)": "e74b981b", - "setOwner(address)": "13af4035", - "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", - "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", - "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", - "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts deleted file mode 100644 index f29246073..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts +++ /dev/null @@ -1,1987 +0,0 @@ -export declare const IMorphoBlueHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collateralToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "id"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "irm"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lltv"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "oracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collateralToken()": "b2016bd4"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "id()": "af640d0f"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "irm()": "28e8fe7d"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "lltv()": "217b7ffe"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "oracle()": "7dc0d1d0"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IMorphoBlueHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map deleted file mode 100644 index b101d7daf..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorphoBlueHyperdrive.d.ts","sourceRoot":"","sources":["../src/IMorphoBlueHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw5Ed,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js b/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js deleted file mode 100644 index fa80ccaeb..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js +++ /dev/null @@ -1,2520 +0,0 @@ -export const IMorphoBlueHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collateralToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "id", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "Id" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "irm", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lltv", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "oracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collateralToken()": "b2016bd4", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "id()": "af640d0f", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "irm()": "28e8fe7d", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "lltv()": "217b7ffe", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "oracle()": "7dc0d1d0", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts b/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts deleted file mode 100644 index 062384d44..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts +++ /dev/null @@ -1,807 +0,0 @@ -export declare const IMorphoStaticTyping: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "accrueInterest"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createMarket"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableIrm"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableLltv"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "extSloads"; - readonly inputs: readonly [{ - readonly name: "slots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeRecipient"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "idToMarketParams"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isAuthorized"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isIrmEnabled"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLltvEnabled"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "seizedAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "repaidShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "market"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonce"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "position"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "supplyShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "borrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "collateral"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorization"; - readonly inputs: readonly [{ - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newIsAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorizationWithSig"; - readonly inputs: readonly [{ - readonly name: "authorization"; - readonly type: "tuple"; - readonly internalType: "struct Authorization"; - readonly components: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "signature"; - readonly type: "tuple"; - readonly internalType: "struct Signature"; - readonly components: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "newFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFeeRecipient"; - readonly inputs: readonly [{ - readonly name: "newFeeRecipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setOwner"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "accrueInterest((address,address,address,address,uint256))": "151c1ade"; - readonly "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b"; - readonly "createMarket((address,address,address,address,uint256))": "8c1358a2"; - readonly "enableIrm(address)": "5a64f51e"; - readonly "enableLltv(uint256)": "4d98a93b"; - readonly "extSloads(bytes32[])": "7784c685"; - readonly "feeRecipient()": "46904840"; - readonly "flashLoan(address,uint256,bytes)": "e0232b42"; - readonly "idToMarketParams(bytes32)": "2c3c9157"; - readonly "isAuthorized(address,address)": "65e4ad9e"; - readonly "isIrmEnabled(address)": "f2b863ce"; - readonly "isLltvEnabled(uint256)": "b485f3b8"; - readonly "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8"; - readonly "market(bytes32)": "5c60e39a"; - readonly "nonce(address)": "70ae92d2"; - readonly "owner()": "8da5cb5b"; - readonly "position(bytes32,address)": "93c52062"; - readonly "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81"; - readonly "setAuthorization(address,bool)": "eecea000"; - readonly "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f"; - readonly "setFee((address,address,address,address,uint256),uint256)": "2b4f013c"; - readonly "setFeeRecipient(address)": "e74b981b"; - readonly "setOwner(address)": "13af4035"; - readonly "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89"; - readonly "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579"; - readonly "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49"; - readonly "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d"; - }; -}; -//# sourceMappingURL=IMorphoStaticTyping.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map deleted file mode 100644 index 3232a0407..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorphoStaticTyping.d.ts","sourceRoot":"","sources":["../src/IMorphoStaticTyping.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4+BZ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js b/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js deleted file mode 100644 index 6dab09fd1..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js +++ /dev/null @@ -1,1036 +0,0 @@ -export const IMorphoStaticTyping = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accrueInterest", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsBorrowed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesBorrowed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createMarket", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableIrm", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableLltv", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "extSloads", - "inputs": [ - { - "name": "slots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeRecipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "idToMarketParams", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isAuthorized", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isIrmEnabled", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLltvEnabled", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "borrower", - "type": "address", - "internalType": "address" - }, - { - "name": "seizedAssets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "repaidShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "market", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonce", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "position", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "supplyShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "borrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "collateral", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsRepaid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesRepaid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorization", - "inputs": [ - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "newIsAuthorized", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorizationWithSig", - "inputs": [ - { - "name": "authorization", - "type": "tuple", - "internalType": "struct Authorization", - "components": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "isAuthorized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "signature", - "type": "tuple", - "internalType": "struct Signature", - "components": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFeeRecipient", - "inputs": [ - { - "name": "newFeeRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOwner", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsSupplied", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesSupplied", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsWithdrawn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "accrueInterest((address,address,address,address,uint256))": "151c1ade", - "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", - "createMarket((address,address,address,address,uint256))": "8c1358a2", - "enableIrm(address)": "5a64f51e", - "enableLltv(uint256)": "4d98a93b", - "extSloads(bytes32[])": "7784c685", - "feeRecipient()": "46904840", - "flashLoan(address,uint256,bytes)": "e0232b42", - "idToMarketParams(bytes32)": "2c3c9157", - "isAuthorized(address,address)": "65e4ad9e", - "isIrmEnabled(address)": "f2b863ce", - "isLltvEnabled(uint256)": "b485f3b8", - "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", - "market(bytes32)": "5c60e39a", - "nonce(address)": "70ae92d2", - "owner()": "8da5cb5b", - "position(bytes32,address)": "93c52062", - "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", - "setAuthorization(address,bool)": "eecea000", - "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", - "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", - "setFeeRecipient(address)": "e74b981b", - "setOwner(address)": "13af4035", - "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", - "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", - "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", - "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts b/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts deleted file mode 100644 index 587a6c596..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts +++ /dev/null @@ -1,396 +0,0 @@ -export declare const IMultiToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=IMultiToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map deleted file mode 100644 index 46865d828..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiToken.d.ts","sourceRoot":"","sources":["../src/IMultiToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmeJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiToken.js b/packages/hyperdrive-artifacts/dist/IMultiToken.js deleted file mode 100644 index e54352791..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiToken.js +++ /dev/null @@ -1,504 +0,0 @@ -export const IMultiToken = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "balanceOf(uint256,address)": "3656eec2", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "isApprovedForAll(address,address)": "e985e9c5", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "symbol(uint256)": "4e41a1fb", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts deleted file mode 100644 index 78a83d615..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts +++ /dev/null @@ -1,172 +0,0 @@ -export declare const IMultiTokenCore: { - abi: readonly [{ - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=IMultiTokenCore.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map deleted file mode 100644 index c29d1dda9..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenCore.d.ts","sourceRoot":"","sources":["../src/IMultiTokenCore.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4MR,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.js b/packages/hyperdrive-artifacts/dist/IMultiTokenCore.js deleted file mode 100644 index 48e33c34d..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.js +++ /dev/null @@ -1,215 +0,0 @@ -export const IMultiTokenCore = { - abi: [ - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts deleted file mode 100644 index e7ddd1a9d..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -export declare const IMultiTokenEvents: { - abi: readonly [{ - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IMultiTokenEvents.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map deleted file mode 100644 index 4827bdf07..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenEvents.d.ts","sourceRoot":"","sources":["../src/IMultiTokenEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0FV,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js b/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js deleted file mode 100644 index b1f58f8e1..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js +++ /dev/null @@ -1,93 +0,0 @@ -export const IMultiTokenEvents = { - abi: [ - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts deleted file mode 100644 index 71f69ff5a..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -export declare const IMultiTokenMetadata: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "domainSeparator()": "f698da25"; - }; -}; -//# sourceMappingURL=IMultiTokenMetadata.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map deleted file mode 100644 index 677fcaa3c..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenMetadata.d.ts","sourceRoot":"","sources":["../src/IMultiTokenMetadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;cA6BZ,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js b/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js deleted file mode 100644 index 117c9e712..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js +++ /dev/null @@ -1,35 +0,0 @@ -export const IMultiTokenMetadata = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "domainSeparator()": "f698da25" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts deleted file mode 100644 index 34af0b545..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts +++ /dev/null @@ -1,139 +0,0 @@ -export declare const IMultiTokenRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "decimals()": "313ce567"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalSupply(uint256)": "bd85b039"; - }; -}; -//# sourceMappingURL=IMultiTokenRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map deleted file mode 100644 index 31d2adf77..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenRead.d.ts","sourceRoot":"","sources":["../src/IMultiTokenRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyKR,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.js b/packages/hyperdrive-artifacts/dist/IMultiTokenRead.js deleted file mode 100644 index 212fb9b4b..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.js +++ /dev/null @@ -1,181 +0,0 @@ -export const IMultiTokenRead = { - abi: [ - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "balanceOf(uint256,address)": "3656eec2", - "decimals()": "313ce567", - "isApprovedForAll(address,address)": "e985e9c5", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalSupply(uint256)": "bd85b039" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts b/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts deleted file mode 100644 index bd393e058..000000000 --- a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts +++ /dev/null @@ -1,354 +0,0 @@ -export declare const IMulticall3: { - abi: readonly [{ - readonly type: "function"; - readonly name: "aggregate"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "returnData"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "aggregate3"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call3[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowFailure"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "aggregate3Value"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call3Value[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowFailure"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "blockAndAggregate"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "getBasefee"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "basefee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockHash"; - readonly inputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockNumber"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getChainId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "chainid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockCoinbase"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "coinbase"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockDifficulty"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "difficulty"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockGasLimit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "gaslimit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockTimestamp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEthBalance"; - readonly inputs: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLastBlockHash"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tryAggregate"; - readonly inputs: readonly [{ - readonly name: "requireSuccess"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "tryBlockAndAggregate"; - readonly inputs: readonly [{ - readonly name: "requireSuccess"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "aggregate((address,bytes)[])": "252dba42"; - readonly "aggregate3((address,bool,bytes)[])": "82ad56cb"; - readonly "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71"; - readonly "blockAndAggregate((address,bytes)[])": "c3077fa9"; - readonly "getBasefee()": "3e64a696"; - readonly "getBlockHash(uint256)": "ee82ac5e"; - readonly "getBlockNumber()": "42cbb15c"; - readonly "getChainId()": "3408e470"; - readonly "getCurrentBlockCoinbase()": "a8b0574e"; - readonly "getCurrentBlockDifficulty()": "72425d9d"; - readonly "getCurrentBlockGasLimit()": "86d516e8"; - readonly "getCurrentBlockTimestamp()": "0f28c97d"; - readonly "getEthBalance(address)": "4d2301cc"; - readonly "getLastBlockHash()": "27e86d6e"; - readonly "tryAggregate(bool,(address,bytes)[])": "bce38bd7"; - readonly "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9"; - }; -}; -//# sourceMappingURL=IMulticall3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map b/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map deleted file mode 100644 index c12825d07..000000000 --- a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMulticall3.d.ts","sourceRoot":"","sources":["../src/IMulticall3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAybJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMulticall3.js b/packages/hyperdrive-artifacts/dist/IMulticall3.js deleted file mode 100644 index e5ebe4720..000000000 --- a/packages/hyperdrive-artifacts/dist/IMulticall3.js +++ /dev/null @@ -1,461 +0,0 @@ -export const IMulticall3 = { - abi: [ - { - "type": "function", - "name": "aggregate", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "returnData", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "aggregate3", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call3[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "allowFailure", - "type": "bool", - "internalType": "bool" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "aggregate3Value", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call3Value[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "allowFailure", - "type": "bool", - "internalType": "bool" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "blockAndAggregate", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "getBasefee", - "inputs": [], - "outputs": [ - { - "name": "basefee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockHash", - "inputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockNumber", - "inputs": [], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getChainId", - "inputs": [], - "outputs": [ - { - "name": "chainid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockCoinbase", - "inputs": [], - "outputs": [ - { - "name": "coinbase", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockDifficulty", - "inputs": [], - "outputs": [ - { - "name": "difficulty", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockGasLimit", - "inputs": [], - "outputs": [ - { - "name": "gaslimit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockTimestamp", - "inputs": [], - "outputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEthBalance", - "inputs": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLastBlockHash", - "inputs": [], - "outputs": [ - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tryAggregate", - "inputs": [ - { - "name": "requireSuccess", - "type": "bool", - "internalType": "bool" - }, - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "tryBlockAndAggregate", - "inputs": [ - { - "name": "requireSuccess", - "type": "bool", - "internalType": "bool" - }, - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "aggregate((address,bytes)[])": "252dba42", - "aggregate3((address,bool,bytes)[])": "82ad56cb", - "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71", - "blockAndAggregate((address,bytes)[])": "c3077fa9", - "getBasefee()": "3e64a696", - "getBlockHash(uint256)": "ee82ac5e", - "getBlockNumber()": "42cbb15c", - "getChainId()": "3408e470", - "getCurrentBlockCoinbase()": "a8b0574e", - "getCurrentBlockDifficulty()": "72425d9d", - "getCurrentBlockGasLimit()": "86d516e8", - "getCurrentBlockTimestamp()": "0f28c97d", - "getEthBalance(address)": "4d2301cc", - "getLastBlockHash()": "27e86d6e", - "tryAggregate(bool,(address,bytes)[])": "bce38bd7", - "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPool.d.ts b/packages/hyperdrive-artifacts/dist/IPool.d.ts deleted file mode 100644 index 5bd79dd82..000000000 --- a/packages/hyperdrive-artifacts/dist/IPool.d.ts +++ /dev/null @@ -1,1626 +0,0 @@ -export declare const IPool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "config"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "bridgeProtocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - }; -}; -//# sourceMappingURL=IPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPool.d.ts.map b/packages/hyperdrive-artifacts/dist/IPool.d.ts.map deleted file mode 100644 index 817bad1cb..000000000 --- a/packages/hyperdrive-artifacts/dist/IPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPool.d.ts","sourceRoot":"","sources":["../src/IPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9DE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPool.js b/packages/hyperdrive-artifacts/dist/IPool.js deleted file mode 100644 index 6ccdb934b..000000000 --- a/packages/hyperdrive-artifacts/dist/IPool.js +++ /dev/null @@ -1,2065 +0,0 @@ -export const IPool = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "config", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "bridgeProtocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "repay(address,uint256,uint256,address)": "573ade81", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "supply(address,uint256,address,uint16)": "617ba037", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts b/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts deleted file mode 100644 index 9d54e6d12..000000000 --- a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts +++ /dev/null @@ -1,413 +0,0 @@ -export declare const IPoolAddressesProvider: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getACLAdmin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getACLManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getAddress"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfigurator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolDataProvider"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPriceOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPriceOracleSentinel"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setACLAdmin"; - readonly inputs: readonly [{ - readonly name: "newAclAdmin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setACLManager"; - readonly inputs: readonly [{ - readonly name: "newAclManager"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAddress"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAddressAsProxy"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newImplementationAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMarketId"; - readonly inputs: readonly [{ - readonly name: "newMarketId"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPoolConfiguratorImpl"; - readonly inputs: readonly [{ - readonly name: "newPoolConfiguratorImpl"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPoolDataProvider"; - readonly inputs: readonly [{ - readonly name: "newDataProvider"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPoolImpl"; - readonly inputs: readonly [{ - readonly name: "newPoolImpl"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPriceOracle"; - readonly inputs: readonly [{ - readonly name: "newPriceOracle"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPriceOracleSentinel"; - readonly inputs: readonly [{ - readonly name: "newPriceOracleSentinel"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "ACLAdminUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ACLManagerUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AddressSet"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AddressSetAsProxy"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "proxyAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "oldImplementationAddress"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "newImplementationAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MarketIdSet"; - readonly inputs: readonly [{ - readonly name: "oldMarketId"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "newMarketId"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PoolConfiguratorUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PoolDataProviderUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PoolUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PriceOracleSentinelUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PriceOracleUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ProxyCreated"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "proxyAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "implementationAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getACLAdmin()": "0e67178c"; - readonly "getACLManager()": "707cd716"; - readonly "getAddress(bytes32)": "21f8a721"; - readonly "getMarketId()": "568ef470"; - readonly "getPool()": "026b1d5f"; - readonly "getPoolConfigurator()": "631adfca"; - readonly "getPoolDataProvider()": "e860accb"; - readonly "getPriceOracle()": "fca513a8"; - readonly "getPriceOracleSentinel()": "5eb88d3d"; - readonly "setACLAdmin(address)": "76d84ffc"; - readonly "setACLManager(address)": "ed301ca9"; - readonly "setAddress(bytes32,address)": "ca446dd9"; - readonly "setAddressAsProxy(bytes32,address)": "5dcc528c"; - readonly "setMarketId(string)": "f67b1847"; - readonly "setPoolConfiguratorImpl(address)": "e4ca28b7"; - readonly "setPoolDataProvider(address)": "e44e9ed1"; - readonly "setPoolImpl(address)": "a1564406"; - readonly "setPriceOracle(address)": "530e784f"; - readonly "setPriceOracleSentinel(address)": "74944cec"; - }; -}; -//# sourceMappingURL=IPoolAddressesProvider.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map b/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map deleted file mode 100644 index f4a63c741..000000000 --- a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPoolAddressesProvider.d.ts","sourceRoot":"","sources":["../src/IPoolAddressesProvider.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmff,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js b/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js deleted file mode 100644 index e7e17f9ef..000000000 --- a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js +++ /dev/null @@ -1,522 +0,0 @@ -export const IPoolAddressesProvider = { - abi: [ - { - "type": "function", - "name": "getACLAdmin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getACLManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getAddress", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfigurator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolDataProvider", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPriceOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPriceOracleSentinel", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setACLAdmin", - "inputs": [ - { - "name": "newAclAdmin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setACLManager", - "inputs": [ - { - "name": "newAclManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAddress", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAddressAsProxy", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newImplementationAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMarketId", - "inputs": [ - { - "name": "newMarketId", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolConfiguratorImpl", - "inputs": [ - { - "name": "newPoolConfiguratorImpl", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolDataProvider", - "inputs": [ - { - "name": "newDataProvider", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolImpl", - "inputs": [ - { - "name": "newPoolImpl", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPriceOracle", - "inputs": [ - { - "name": "newPriceOracle", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPriceOracleSentinel", - "inputs": [ - { - "name": "newPriceOracleSentinel", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "ACLAdminUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ACLManagerUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AddressSet", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AddressSetAsProxy", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "proxyAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "oldImplementationAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "newImplementationAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MarketIdSet", - "inputs": [ - { - "name": "oldMarketId", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "newMarketId", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolConfiguratorUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolDataProviderUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PriceOracleSentinelUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PriceOracleUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ProxyCreated", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "proxyAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "implementationAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "getACLAdmin()": "0e67178c", - "getACLManager()": "707cd716", - "getAddress(bytes32)": "21f8a721", - "getMarketId()": "568ef470", - "getPool()": "026b1d5f", - "getPoolConfigurator()": "631adfca", - "getPoolDataProvider()": "e860accb", - "getPriceOracle()": "fca513a8", - "getPriceOracleSentinel()": "5eb88d3d", - "setACLAdmin(address)": "76d84ffc", - "setACLManager(address)": "ed301ca9", - "setAddress(bytes32,address)": "ca446dd9", - "setAddressAsProxy(bytes32,address)": "5dcc528c", - "setMarketId(string)": "f67b1847", - "setPoolConfiguratorImpl(address)": "e4ca28b7", - "setPoolDataProvider(address)": "e44e9ed1", - "setPoolImpl(address)": "a1564406", - "setPriceOracle(address)": "530e784f", - "setPriceOracleSentinel(address)": "74944cec" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts b/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts deleted file mode 100644 index 6e9eca144..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -export declare const IPriceOracleGetter: { - abi: readonly [{ - readonly type: "function"; - readonly name: "BASE_CURRENCY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BASE_CURRENCY_UNIT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getAssetPrice"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "BASE_CURRENCY()": "e19f4700"; - readonly "BASE_CURRENCY_UNIT()": "8c89b64f"; - readonly "getAssetPrice(address)": "b3596f07"; - }; -}; -//# sourceMappingURL=IPriceOracleGetter.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map b/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map deleted file mode 100644 index f7eb999bf..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPriceOracleGetter.d.ts","sourceRoot":"","sources":["../src/IPriceOracleGetter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgDX,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js b/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js deleted file mode 100644 index 92591921b..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js +++ /dev/null @@ -1,55 +0,0 @@ -export const IPriceOracleGetter = { - abi: [ - { - "type": "function", - "name": "BASE_CURRENCY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BASE_CURRENCY_UNIT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getAssetPrice", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "BASE_CURRENCY()": "e19f4700", - "BASE_CURRENCY_UNIT()": "8c89b64f", - "getAssetPrice(address)": "b3596f07" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts b/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts deleted file mode 100644 index 0428561fd..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts +++ /dev/null @@ -1,104 +0,0 @@ -export declare const IPriceOracleSentinel: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGracePeriod"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSequencerOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isBorrowAllowed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLiquidationAllowed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setGracePeriod"; - readonly inputs: readonly [{ - readonly name: "newGracePeriod"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setSequencerOracle"; - readonly inputs: readonly [{ - readonly name: "newSequencerOracle"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "GracePeriodUpdated"; - readonly inputs: readonly [{ - readonly name: "newGracePeriod"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SequencerOracleUpdated"; - readonly inputs: readonly [{ - readonly name: "newSequencerOracle"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "getGracePeriod()": "dbd18388"; - readonly "getSequencerOracle()": "12168dc2"; - readonly "isBorrowAllowed()": "49aa2e81"; - readonly "isLiquidationAllowed()": "7a5d20ea"; - readonly "setGracePeriod(uint256)": "f2f65960"; - readonly "setSequencerOracle(address)": "f0aef31c"; - }; -}; -//# sourceMappingURL=IPriceOracleSentinel.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map b/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map deleted file mode 100644 index e86fbd2ba..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPriceOracleSentinel.d.ts","sourceRoot":"","sources":["../src/IPriceOracleSentinel.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwHb,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js b/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js deleted file mode 100644 index b5b180c0b..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js +++ /dev/null @@ -1,131 +0,0 @@ -export const IPriceOracleSentinel = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGracePeriod", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSequencerOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isBorrowAllowed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLiquidationAllowed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setGracePeriod", - "inputs": [ - { - "name": "newGracePeriod", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setSequencerOracle", - "inputs": [ - { - "name": "newSequencerOracle", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "GracePeriodUpdated", - "inputs": [ - { - "name": "newGracePeriod", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SequencerOracleUpdated", - "inputs": [ - { - "name": "newSequencerOracle", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "getGracePeriod()": "dbd18388", - "getSequencerOracle()": "12168dc2", - "isBorrowAllowed()": "49aa2e81", - "isLiquidationAllowed()": "7a5d20ea", - "setGracePeriod(uint256)": "f2f65960", - "setSequencerOracle(address)": "f0aef31c" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index be5989091..000000000 --- a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const IRETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IRETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index ef9f07664..000000000 --- a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IRETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB3B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 555f30aa1..000000000 --- a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const IRETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts b/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts deleted file mode 100644 index a85ab2579..000000000 --- a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -export declare const IRSETHPoolV2: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "referralId"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "feeBps"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rsETHOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "wrsETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deposit(string)": "a26e1186"; - readonly "feeBps()": "24a9d853"; - readonly "getRate()": "679aefce"; - readonly "rsETHOracle()": "54d1d5e4"; - readonly "wrsETH()": "e129200f"; - }; -}; -//# sourceMappingURL=IRSETHPoolV2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map b/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map deleted file mode 100644 index 9dce14543..000000000 --- a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRSETHPoolV2.d.ts","sourceRoot":"","sources":["../src/IRSETHPoolV2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEL,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js b/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js deleted file mode 100644 index 6718b3861..000000000 --- a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js +++ /dev/null @@ -1,77 +0,0 @@ -export const IRSETHPoolV2 = { - abi: [ - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "referralId", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "feeBps", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rsETHOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "wrsETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "deposit(string)": "a26e1186", - "feeBps()": "24a9d853", - "getRate()": "679aefce", - "rsETHOracle()": "54d1d5e4", - "wrsETH()": "e129200f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts b/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts deleted file mode 100644 index 5d609df83..000000000 --- a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts +++ /dev/null @@ -1,110 +0,0 @@ -export declare const IRenzoOracle: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateMintAmount"; - readonly inputs: readonly [{ - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_newValueAdded"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateRedeemAmount"; - readonly inputs: readonly [{ - readonly name: "_ezETHBeingBurned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lookupTokenAmountFromValue"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValue"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValues"; - readonly inputs: readonly [{ - readonly name: "_tokens"; - readonly type: "address[]"; - readonly internalType: "contract IERC20[]"; - }, { - readonly name: "_balances"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a"; - readonly "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0"; - readonly "lookupTokenAmountFromValue(address,uint256)": "37933625"; - readonly "lookupTokenValue(address,uint256)": "0052e3fd"; - readonly "lookupTokenValues(address[],uint256[])": "ba28a571"; - }; -}; -//# sourceMappingURL=IRenzoOracle.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map b/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map deleted file mode 100644 index a11deabb5..000000000 --- a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRenzoOracle.d.ts","sourceRoot":"","sources":["../src/IRenzoOracle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqIL,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRenzoOracle.js b/packages/hyperdrive-artifacts/dist/IRenzoOracle.js deleted file mode 100644 index 45d850b59..000000000 --- a/packages/hyperdrive-artifacts/dist/IRenzoOracle.js +++ /dev/null @@ -1,142 +0,0 @@ -export const IRenzoOracle = { - abi: [ - { - "type": "function", - "name": "calculateMintAmount", - "inputs": [ - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_newValueAdded", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateRedeemAmount", - "inputs": [ - { - "name": "_ezETHBeingBurned", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lookupTokenAmountFromValue", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lookupTokenValue", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_balance", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lookupTokenValues", - "inputs": [ - { - "name": "_tokens", - "type": "address[]", - "internalType": "contract IERC20[]" - }, - { - "name": "_balances", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", - "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", - "lookupTokenAmountFromValue(address,uint256)": "37933625", - "lookupTokenValue(address,uint256)": "0052e3fd", - "lookupTokenValues(address[],uint256[])": "ba28a571" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts b/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts deleted file mode 100644 index 612d93839..000000000 --- a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -export declare const IReserveInterestRateStrategy: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateInterestRates"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.CalculateInterestRatesParams"; - readonly components: readonly [{ - readonly name: "unbacked"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityAdded"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityTaken"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalStableDebt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalVariableDebt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "averageStableBorrowRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "reserveFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "reserve"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "usingVirtualBalance"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setInterestRateParams"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateInterestRates((uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,bool,uint256))": "f6849b9e"; - readonly "setInterestRateParams(address,bytes)": "a8d9e56f"; - }; -}; -//# sourceMappingURL=IReserveInterestRateStrategy.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map b/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map deleted file mode 100644 index 29a65c049..000000000 --- a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IReserveInterestRateStrategy.d.ts","sourceRoot":"","sources":["../src/IReserveInterestRateStrategy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsGrB,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js b/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js deleted file mode 100644 index 1f02cb194..000000000 --- a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js +++ /dev/null @@ -1,108 +0,0 @@ -export const IReserveInterestRateStrategy = { - abi: [ - { - "type": "function", - "name": "calculateInterestRates", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct DataTypes.CalculateInterestRatesParams", - "components": [ - { - "name": "unbacked", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "liquidityAdded", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "liquidityTaken", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalStableDebt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalVariableDebt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "averageStableBorrowRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "reserveFactor", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "reserve", - "type": "address", - "internalType": "address" - }, - { - "name": "usingVirtualBalance", - "type": "bool", - "internalType": "bool" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setInterestRateParams", - "inputs": [ - { - "name": "reserve", - "type": "address", - "internalType": "address" - }, - { - "name": "rateData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "calculateInterestRates((uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,bool,uint256))": "f6849b9e", - "setInterestRateParams(address,bytes)": "a8d9e56f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts b/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts deleted file mode 100644 index 5a0bcab55..000000000 --- a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -export declare const IRestakeManager: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateTVLs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[][]"; - readonly internalType: "uint256[][]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "depositETH"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "ezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateTVLs()": "ff9969cd"; - readonly "depositETH()": "f6326fb3"; - readonly "ezETH()": "13a73c78"; - readonly "renzoOracle()": "892866a4"; - }; -}; -//# sourceMappingURL=IRestakeManager.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map b/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map deleted file mode 100644 index 1301a8c77..000000000 --- a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRestakeManager.d.ts","sourceRoot":"","sources":["../src/IRestakeManager.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2DR,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRestakeManager.js b/packages/hyperdrive-artifacts/dist/IRestakeManager.js deleted file mode 100644 index 8611b37ab..000000000 --- a/packages/hyperdrive-artifacts/dist/IRestakeManager.js +++ /dev/null @@ -1,67 +0,0 @@ -export const IRestakeManager = { - abi: [ - { - "type": "function", - "name": "calculateTVLs", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256[][]", - "internalType": "uint256[][]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositETH", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "ezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "calculateTVLs()": "ff9969cd", - "depositETH()": "f6326fb3", - "ezETH()": "13a73c78", - "renzoOracle()": "892866a4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts b/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts deleted file mode 100644 index 7f48b57f8..000000000 --- a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -export declare const IRiverV1: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOfUnderlying"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesFromUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "_underlyingAssetAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalUnderlyingSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "underlyingBalanceFromShares"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "balanceOfUnderlying(address)": "3af9e669"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "sharesFromUnderlyingBalance(uint256)": "799a1954"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "totalUnderlyingSupply()": "143a08d4"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "underlyingBalanceFromShares(uint256)": "f79c3f02"; - }; -}; -//# sourceMappingURL=IRiverV1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map b/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map deleted file mode 100644 index 02b9b9991..000000000 --- a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRiverV1.d.ts","sourceRoot":"","sources":["../src/IRiverV1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuSD,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRiverV1.js b/packages/hyperdrive-artifacts/dist/IRiverV1.js deleted file mode 100644 index b5cab3a6e..000000000 --- a/packages/hyperdrive-artifacts/dist/IRiverV1.js +++ /dev/null @@ -1,312 +0,0 @@ -export const IRiverV1 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOfUnderlying", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesFromUnderlyingBalance", - "inputs": [ - { - "name": "_underlyingAssetAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalUnderlyingSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "underlyingBalanceFromShares", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "balanceOfUnderlying(address)": "3af9e669", - "decimals()": "313ce567", - "name()": "06fdde03", - "sharesFromUnderlyingBalance(uint256)": "799a1954", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "totalUnderlyingSupply()": "143a08d4", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "underlyingBalanceFromShares(uint256)": "f79c3f02" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts b/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts deleted file mode 100644 index 2045fda0e..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts +++ /dev/null @@ -1,141 +0,0 @@ -export declare const IRocketDepositPool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "assignDeposits"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "getBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getExcessBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNodeBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maybeAssignDeposits"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nodeCreditWithdrawal"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nodeDeposit"; - readonly inputs: readonly [{ - readonly name: "_totalAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "recycleDissolvedDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "recycleExcessCollateral"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "recycleLiquidatedStake"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "withdrawExcessBalance"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "assignDeposits()": "27c8f193"; - readonly "deposit()": "d0e30db0"; - readonly "getBalance()": "12065fe0"; - readonly "getExcessBalance()": "888b042f"; - readonly "getMaximumDepositAmount()": "1eddb626"; - readonly "getNodeBalance()": "1e35fed8"; - readonly "getUserBalance()": "b7013dc1"; - readonly "maybeAssignDeposits()": "3b36f592"; - readonly "nodeCreditWithdrawal(uint256)": "606b6497"; - readonly "nodeDeposit(uint256)": "22b1751d"; - readonly "recycleDissolvedDeposit()": "72f5158d"; - readonly "recycleExcessCollateral()": "db82047b"; - readonly "recycleLiquidatedStake()": "1b7dd4c0"; - readonly "withdrawExcessBalance(uint256)": "63a5db9e"; - }; -}; -//# sourceMappingURL=IRocketDepositPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map deleted file mode 100644 index 2e73805c1..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketDepositPool.d.ts","sourceRoot":"","sources":["../src/IRocketDepositPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2JX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.js b/packages/hyperdrive-artifacts/dist/IRocketDepositPool.js deleted file mode 100644 index 81214a2fd..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.js +++ /dev/null @@ -1,173 +0,0 @@ -export const IRocketDepositPool = { - abi: [ - { - "type": "function", - "name": "assignDeposits", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "getBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getExcessBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNodeBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maybeAssignDeposits", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nodeCreditWithdrawal", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nodeDeposit", - "inputs": [ - { - "name": "_totalAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "recycleDissolvedDeposit", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "recycleExcessCollateral", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "recycleLiquidatedStake", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "withdrawExcessBalance", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "assignDeposits()": "27c8f193", - "deposit()": "d0e30db0", - "getBalance()": "12065fe0", - "getExcessBalance()": "888b042f", - "getMaximumDepositAmount()": "1eddb626", - "getNodeBalance()": "1e35fed8", - "getUserBalance()": "b7013dc1", - "maybeAssignDeposits()": "3b36f592", - "nodeCreditWithdrawal(uint256)": "606b6497", - "nodeDeposit(uint256)": "22b1751d", - "recycleDissolvedDeposit()": "72f5158d", - "recycleExcessCollateral()": "db82047b", - "recycleLiquidatedStake()": "1b7dd4c0", - "withdrawExcessBalance(uint256)": "63a5db9e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts b/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts deleted file mode 100644 index 9ecaabcae..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts +++ /dev/null @@ -1,119 +0,0 @@ -export declare const IRocketNetworkBalances: { - abi: readonly [{ - readonly type: "function"; - readonly name: "executeUpdateBalances"; - readonly inputs: readonly [{ - readonly name: "_block"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_totalEth"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_stakingEth"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_rethSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBalancesBlock"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getETHUtilizationRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLatestReportableBlock"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getStakingETHBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalETHBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalRETHSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submitBalances"; - readonly inputs: readonly [{ - readonly name: "_block"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_total"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_staking"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_rethSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeUpdateBalances(uint256,uint256,uint256,uint256)": "56ff3625"; - readonly "getBalancesBlock()": "9100c13d"; - readonly "getETHUtilizationRate()": "9dba66af"; - readonly "getLatestReportableBlock()": "a9bb16ed"; - readonly "getStakingETHBalance()": "f1eda634"; - readonly "getTotalETHBalance()": "964d042c"; - readonly "getTotalRETHSupply()": "c4c8d0ad"; - readonly "submitBalances(uint256,uint256,uint256,uint256)": "32db5470"; - }; -}; -//# sourceMappingURL=IRocketNetworkBalances.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map deleted file mode 100644 index 2f49788d4..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketNetworkBalances.d.ts","sourceRoot":"","sources":["../src/IRocketNetworkBalances.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyIf,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js b/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js deleted file mode 100644 index 52eec5abb..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js +++ /dev/null @@ -1,149 +0,0 @@ -export const IRocketNetworkBalances = { - abi: [ - { - "type": "function", - "name": "executeUpdateBalances", - "inputs": [ - { - "name": "_block", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_totalEth", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_stakingEth", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_rethSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBalancesBlock", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getETHUtilizationRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLatestReportableBlock", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getStakingETHBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalETHBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalRETHSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submitBalances", - "inputs": [ - { - "name": "_block", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_total", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_staking", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_rethSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "executeUpdateBalances(uint256,uint256,uint256,uint256)": "56ff3625", - "getBalancesBlock()": "9100c13d", - "getETHUtilizationRate()": "9dba66af", - "getLatestReportableBlock()": "a9bb16ed", - "getStakingETHBalance()": "f1eda634", - "getTotalETHBalance()": "964d042c", - "getTotalRETHSupply()": "c4c8d0ad", - "submitBalances(uint256,uint256,uint256,uint256)": "32db5470" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts b/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts deleted file mode 100644 index 6617ad598..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts +++ /dev/null @@ -1,84 +0,0 @@ -export declare const IRocketPoolDAOProtocolSettingsDeposit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getAssignDepositsEnabled"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDepositEnabled"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDepositFee"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositAssignments"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositPoolSize"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositSocialisedAssignments"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMinimumDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getAssignDepositsEnabled()": "47fa434a"; - readonly "getDepositEnabled()": "6ada7847"; - readonly "getDepositFee()": "0de705b5"; - readonly "getMaximumDepositAssignments()": "3b474a65"; - readonly "getMaximumDepositPoolSize()": "fd6ce89e"; - readonly "getMaximumDepositSocialisedAssignments()": "f19b4106"; - readonly "getMinimumDeposit()": "035cf142"; - }; -}; -//# sourceMappingURL=IRocketPoolDAOProtocolSettingsDeposit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map deleted file mode 100644 index 35142dcc6..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketPoolDAOProtocolSettingsDeposit.d.ts","sourceRoot":"","sources":["../src/IRocketPoolDAOProtocolSettingsDeposit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8F9B,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js b/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js deleted file mode 100644 index 9e6209e5e..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js +++ /dev/null @@ -1,105 +0,0 @@ -export const IRocketPoolDAOProtocolSettingsDeposit = { - abi: [ - { - "type": "function", - "name": "getAssignDepositsEnabled", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDepositEnabled", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDepositFee", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositAssignments", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositPoolSize", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositSocialisedAssignments", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMinimumDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getAssignDepositsEnabled()": "47fa434a", - "getDepositEnabled()": "6ada7847", - "getDepositFee()": "0de705b5", - "getMaximumDepositAssignments()": "3b474a65", - "getMaximumDepositPoolSize()": "fd6ce89e", - "getMaximumDepositSocialisedAssignments()": "f19b4106", - "getMinimumDeposit()": "035cf142" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts b/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts deleted file mode 100644 index 5f47ac7a2..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts +++ /dev/null @@ -1,424 +0,0 @@ -export declare const IRocketStorage: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "confirmGuardian"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "confirmWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteAddress"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteBool"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteBytes"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteBytes32"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteInt"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteString"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getAddress"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBool"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBytes"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBytes32"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployedStatus"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGuardian"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInt"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNodePendingWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNodeWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getString"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAddress"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setBool"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setBytes"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setBytes32"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGuardian"; - readonly inputs: readonly [{ - readonly name: "_newAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setInt"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setString"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_newWithdrawalAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_confirm"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "subUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addUint(bytes32,uint256)": "adb353dc"; - readonly "confirmGuardian()": "1e0ea61e"; - readonly "confirmWithdrawalAddress(address)": "bd439126"; - readonly "deleteAddress(bytes32)": "0e14a376"; - readonly "deleteBool(bytes32)": "2c62ff2d"; - readonly "deleteBytes(bytes32)": "616b59f6"; - readonly "deleteBytes32(bytes32)": "0b9adc57"; - readonly "deleteInt(bytes32)": "8c160095"; - readonly "deleteString(bytes32)": "f6bb3cc4"; - readonly "deleteUint(bytes32)": "e2b202bf"; - readonly "getAddress(bytes32)": "21f8a721"; - readonly "getBool(bytes32)": "7ae1cfca"; - readonly "getBytes(bytes32)": "c031a180"; - readonly "getBytes32(bytes32)": "a6ed563e"; - readonly "getDeployedStatus()": "1bed5241"; - readonly "getGuardian()": "a75b87d2"; - readonly "getInt(bytes32)": "dc97d962"; - readonly "getNodePendingWithdrawalAddress(address)": "fd412513"; - readonly "getNodeWithdrawalAddress(address)": "5b49ff62"; - readonly "getString(bytes32)": "986e791a"; - readonly "getUint(bytes32)": "bd02d0f5"; - readonly "setAddress(bytes32,address)": "ca446dd9"; - readonly "setBool(bytes32,bool)": "abfdcced"; - readonly "setBytes(bytes32,bytes)": "2e28d084"; - readonly "setBytes32(bytes32,bytes32)": "4e91db08"; - readonly "setGuardian(address)": "8a0dac4a"; - readonly "setInt(bytes32,int256)": "3e49bed0"; - readonly "setString(bytes32,string)": "6e899550"; - readonly "setUint(bytes32,uint256)": "e2a4853a"; - readonly "setWithdrawalAddress(address,address,bool)": "a543ccea"; - readonly "subUint(bytes32,uint256)": "ebb9d8c9"; - }; -}; -//# sourceMappingURL=IRocketStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map deleted file mode 100644 index 3dfb0ec92..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketStorage.d.ts","sourceRoot":"","sources":["../src/IRocketStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6fP,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketStorage.js b/packages/hyperdrive-artifacts/dist/IRocketStorage.js deleted file mode 100644 index b8eb93b5b..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketStorage.js +++ /dev/null @@ -1,544 +0,0 @@ -export const IRocketStorage = { - abi: [ - { - "type": "function", - "name": "addUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "confirmGuardian", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "confirmWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteAddress", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteBool", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteBytes", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteBytes32", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteInt", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteString", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getAddress", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBool", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBytes", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBytes32", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployedStatus", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGuardian", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInt", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNodePendingWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNodeWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getString", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAddress", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBool", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBytes", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBytes32", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGuardian", - "inputs": [ - { - "name": "_newAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setInt", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setString", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "_newWithdrawalAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "_confirm", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "subUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "addUint(bytes32,uint256)": "adb353dc", - "confirmGuardian()": "1e0ea61e", - "confirmWithdrawalAddress(address)": "bd439126", - "deleteAddress(bytes32)": "0e14a376", - "deleteBool(bytes32)": "2c62ff2d", - "deleteBytes(bytes32)": "616b59f6", - "deleteBytes32(bytes32)": "0b9adc57", - "deleteInt(bytes32)": "8c160095", - "deleteString(bytes32)": "f6bb3cc4", - "deleteUint(bytes32)": "e2b202bf", - "getAddress(bytes32)": "21f8a721", - "getBool(bytes32)": "7ae1cfca", - "getBytes(bytes32)": "c031a180", - "getBytes32(bytes32)": "a6ed563e", - "getDeployedStatus()": "1bed5241", - "getGuardian()": "a75b87d2", - "getInt(bytes32)": "dc97d962", - "getNodePendingWithdrawalAddress(address)": "fd412513", - "getNodeWithdrawalAddress(address)": "5b49ff62", - "getString(bytes32)": "986e791a", - "getUint(bytes32)": "bd02d0f5", - "setAddress(bytes32,address)": "ca446dd9", - "setBool(bytes32,bool)": "abfdcced", - "setBytes(bytes32,bytes)": "2e28d084", - "setBytes32(bytes32,bytes32)": "4e91db08", - "setGuardian(address)": "8a0dac4a", - "setInt(bytes32,int256)": "3e49bed0", - "setString(bytes32,string)": "6e899550", - "setUint(bytes32,uint256)": "e2a4853a", - "setWithdrawalAddress(address,address,bool)": "a543ccea", - "subUint(bytes32,uint256)": "ebb9d8c9" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts b/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts deleted file mode 100644 index 708e26c34..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts +++ /dev/null @@ -1,289 +0,0 @@ -export declare const IRocketTokenRETH: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "_rethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "depositExcess"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "depositExcessCollateral"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getCollateralRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEthValue"; - readonly inputs: readonly [{ - readonly name: "_rethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getExchangeRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRethValue"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalCollateral"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(uint256)": "42966c68"; - readonly "decimals()": "313ce567"; - readonly "depositExcess()": "6c985a88"; - readonly "depositExcessCollateral()": "188e0dc6"; - readonly "getCollateralRate()": "852185fc"; - readonly "getEthValue(uint256)": "8b32fa23"; - readonly "getExchangeRate()": "e6aa216c"; - readonly "getRethValue(uint256)": "4346f03e"; - readonly "getTotalCollateral()": "d6eb5910"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IRocketTokenRETH.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map deleted file mode 100644 index d0ae48610..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketTokenRETH.d.ts","sourceRoot":"","sources":["../src/IRocketTokenRETH.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2VT,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js b/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js deleted file mode 100644 index 3ddd4df68..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js +++ /dev/null @@ -1,369 +0,0 @@ -export const IRocketTokenRETH = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "_rethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositExcess", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "depositExcessCollateral", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getCollateralRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEthValue", - "inputs": [ - { - "name": "_rethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getExchangeRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRethValue", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalCollateral", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "decimals()": "313ce567", - "depositExcess()": "6c985a88", - "depositExcessCollateral()": "188e0dc6", - "getCollateralRate()": "852185fc", - "getEthValue(uint256)": "8b32fa23", - "getExchangeRate()": "e6aa216c", - "getRethValue(uint256)": "4346f03e", - "getTotalCollateral()": "d6eb5910", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts deleted file mode 100644 index 1956892b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IRsETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "rsETHPool()": "7df91ba8"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IRsETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map deleted file mode 100644 index 885fef018..000000000 --- a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRsETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/IRsETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1Ed,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js deleted file mode 100644 index 99cbb4c9a..000000000 --- a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IRsETHLineaHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "rsETHPool()": "7df91ba8", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts b/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts deleted file mode 100644 index 564eebd91..000000000 --- a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts +++ /dev/null @@ -1,127 +0,0 @@ -export declare const IScaledBalanceToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - }; -}; -//# sourceMappingURL=IScaledBalanceToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map deleted file mode 100644 index 9c069ad1b..000000000 --- a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IScaledBalanceToken.d.ts","sourceRoot":"","sources":["../src/IScaledBalanceToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJZ,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js b/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js deleted file mode 100644 index 2bf769e0b..000000000 --- a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js +++ /dev/null @@ -1,160 +0,0 @@ -export const IScaledBalanceToken = { - abi: [ - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts b/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts deleted file mode 100644 index bd589b9f1..000000000 --- a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -export declare const ISharesManagerV1: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOfUnderlying"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesFromUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "_underlyingAssetAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalUnderlyingSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "underlyingBalanceFromShares"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "balanceOfUnderlying(address)": "3af9e669"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "sharesFromUnderlyingBalance(uint256)": "799a1954"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "totalUnderlyingSupply()": "143a08d4"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "underlyingBalanceFromShares(uint256)": "f79c3f02"; - }; -}; -//# sourceMappingURL=ISharesManagerV1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map b/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map deleted file mode 100644 index 782458d30..000000000 --- a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ISharesManagerV1.d.ts","sourceRoot":"","sources":["../src/ISharesManagerV1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuST,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.js b/packages/hyperdrive-artifacts/dist/ISharesManagerV1.js deleted file mode 100644 index a4b9bfd7f..000000000 --- a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.js +++ /dev/null @@ -1,312 +0,0 @@ -export const ISharesManagerV1 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOfUnderlying", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesFromUnderlyingBalance", - "inputs": [ - { - "name": "_underlyingAssetAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalUnderlyingSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "underlyingBalanceFromShares", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "balanceOfUnderlying(address)": "3af9e669", - "decimals()": "313ce567", - "name()": "06fdde03", - "sharesFromUnderlyingBalance(uint256)": "799a1954", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "totalUnderlyingSupply()": "143a08d4", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "underlyingBalanceFromShares(uint256)": "f79c3f02" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index ee6d61594..000000000 --- a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const IStETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IStETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 6216a7ebb..000000000 --- a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IStETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB5B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index b76e294ca..000000000 --- a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const IStETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts b/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts deleted file mode 100644 index b54eaf500..000000000 --- a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts +++ /dev/null @@ -1,336 +0,0 @@ -export declare const IStableDebtToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getAverageStableRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyData"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalSupplyAndAvgRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalSupplyLastUpdated"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserLastUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserStableRate"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "rate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "principalBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "currentBalance"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "avgStableRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "newTotalSupply"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "currentBalance"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "newRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "avgStableRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "newTotalSupply"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "getAverageStableRate()": "90f6fcf2"; - readonly "getSupplyData()": "79774338"; - readonly "getTotalSupplyAndAvgRate()": "f731e9be"; - readonly "getTotalSupplyLastUpdated()": "e7484890"; - readonly "getUserLastUpdated(address)": "79ce6b8c"; - readonly "getUserStableRate(address)": "e78c9b3b"; - readonly "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "principalBalanceOf(address)": "c634dfaa"; - }; -}; -//# sourceMappingURL=IStableDebtToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map deleted file mode 100644 index 229aef371..000000000 --- a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStableDebtToken.d.ts","sourceRoot":"","sources":["../src/IStableDebtToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwZT,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStableDebtToken.js b/packages/hyperdrive-artifacts/dist/IStableDebtToken.js deleted file mode 100644 index 2f512d66d..000000000 --- a/packages/hyperdrive-artifacts/dist/IStableDebtToken.js +++ /dev/null @@ -1,423 +0,0 @@ -export const IStableDebtToken = { - abi: [ - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getAverageStableRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyData", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalSupplyAndAvgRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalSupplyLastUpdated", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserLastUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserStableRate", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "rate", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "principalBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "currentBalance", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "avgStableRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newTotalSupply", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "currentBalance", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "avgStableRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newTotalSupply", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "burn(address,uint256)": "9dc29fac", - "getAverageStableRate()": "90f6fcf2", - "getSupplyData()": "79774338", - "getTotalSupplyAndAvgRate()": "f731e9be", - "getTotalSupplyLastUpdated()": "e7484890", - "getUserLastUpdated(address)": "79ce6b8c", - "getUserStableRate(address)": "e78c9b3b", - "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "principalBalanceOf(address)": "c634dfaa" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts b/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts deleted file mode 100644 index 9ec73529d..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts +++ /dev/null @@ -1,253 +0,0 @@ -export declare const IStakedToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "REWARD_TOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STAKED_TOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "stake"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakerRewardsToClaim"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "REWARD_TOKEN()": "99248ea7"; - readonly "STAKED_TOKEN()": "312f6b83"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "claimRewards(address,uint256)": "9a99b4f0"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "stake(address,uint256)": "adc9772e"; - readonly "stakerRewardsToClaim(address)": "7e90d7ef"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IStakedToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map deleted file mode 100644 index 5d6c3456a..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStakedToken.d.ts","sourceRoot":"","sources":["../src/IStakedToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkTL,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakedToken.js b/packages/hyperdrive-artifacts/dist/IStakedToken.js deleted file mode 100644 index fd66743da..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakedToken.js +++ /dev/null @@ -1,324 +0,0 @@ -export const IStakedToken = { - abi: [ - { - "type": "function", - "name": "REWARD_TOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STAKED_TOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakerRewardsToClaim", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "REWARD_TOKEN()": "99248ea7", - "STAKED_TOKEN()": "312f6b83", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "claimRewards(address,uint256)": "9a99b4f0", - "decimals()": "313ce567", - "name()": "06fdde03", - "stake(address,uint256)": "adc9772e", - "stakerRewardsToClaim(address)": "7e90d7ef", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts b/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts deleted file mode 100644 index 28fab88c8..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -export declare const IStakingUSDS: { - abi: readonly [{ - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "earned"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "exit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rewardsToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "stake"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referral"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stake"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakingToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "balanceOf(address)": "70a08231"; - readonly "earned(address)": "008cc262"; - readonly "exit()": "e9fad8ee"; - readonly "getReward()": "3d18b912"; - readonly "rewardsToken()": "d1af0c7d"; - readonly "stake(uint256)": "a694fc3a"; - readonly "stake(uint256,uint16)": "42ea02c1"; - readonly "stakingToken()": "72f702f3"; - readonly "totalSupply()": "18160ddd"; - readonly "withdraw(uint256)": "2e1a7d4d"; - }; -}; -//# sourceMappingURL=IStakingUSDS.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map b/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map deleted file mode 100644 index e202d1a95..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStakingUSDS.d.ts","sourceRoot":"","sources":["../src/IStakingUSDS.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0IL,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAahC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDS.js b/packages/hyperdrive-artifacts/dist/IStakingUSDS.js deleted file mode 100644 index 4c95e3e4f..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDS.js +++ /dev/null @@ -1,152 +0,0 @@ -export const IStakingUSDS = { - abi: [ - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "earned", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "exit", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getReward", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rewardsToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referral", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakingToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "balanceOf(address)": "70a08231", - "earned(address)": "008cc262", - "exit()": "e9fad8ee", - "getReward()": "3d18b912", - "rewardsToken()": "d1af0c7d", - "stake(uint256)": "a694fc3a", - "stake(uint256,uint16)": "42ea02c1", - "stakingToken()": "72f702f3", - "totalSupply()": "18160ddd", - "withdraw(uint256)": "2e1a7d4d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts deleted file mode 100644 index 0354bbf0b..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts +++ /dev/null @@ -1,1939 +0,0 @@ -export declare const IStakingUSDSHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakingUSDS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "stakingUSDS()": "10cded21"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IStakingUSDSHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map deleted file mode 100644 index e868368e8..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStakingUSDSHyperdrive.d.ts","sourceRoot":"","sources":["../src/IStakingUSDSHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA81Ef,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js b/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js deleted file mode 100644 index 916fbbf8b..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js +++ /dev/null @@ -1,2458 +0,0 @@ -export const IStakingUSDSHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakingUSDS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "stakingUSDS()": "10cded21", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts deleted file mode 100644 index f85fc230e..000000000 --- a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts +++ /dev/null @@ -1,1928 +0,0 @@ -export declare const IStkWellHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IStkWellHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map deleted file mode 100644 index ba724d9c3..000000000 --- a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStkWellHyperdrive.d.ts","sourceRoot":"","sources":["../src/IStkWellHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi1EX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js b/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js deleted file mode 100644 index 485a28b68..000000000 --- a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js +++ /dev/null @@ -1,2444 +0,0 @@ -export const IStkWellHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts b/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts deleted file mode 100644 index 832fc211f..000000000 --- a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts +++ /dev/null @@ -1,175 +0,0 @@ -export declare const ISwapRouter: { - abi: readonly [{ - readonly type: "function"; - readonly name: "exactInput"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "exactInputSingle"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputSingleParams"; - readonly components: readonly [{ - readonly name: "tokenIn"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenOut"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fee"; - readonly type: "uint24"; - readonly internalType: "uint24"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sqrtPriceLimitX96"; - readonly type: "uint160"; - readonly internalType: "uint160"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "exactOutput"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactOutputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountInMaximum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "exactOutputSingle"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactOutputSingleParams"; - readonly components: readonly [{ - readonly name: "tokenIn"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenOut"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fee"; - readonly type: "uint24"; - readonly internalType: "uint24"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountInMaximum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sqrtPriceLimitX96"; - readonly type: "uint160"; - readonly internalType: "uint160"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59"; - readonly "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "414bf389"; - readonly "exactOutput((bytes,address,uint256,uint256,uint256))": "f28c0498"; - readonly "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "db3e2198"; - }; -}; -//# sourceMappingURL=ISwapRouter.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map b/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map deleted file mode 100644 index dc5f34289..000000000 --- a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ISwapRouter.d.ts","sourceRoot":"","sources":["../src/ISwapRouter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyNJ,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISwapRouter.js b/packages/hyperdrive-artifacts/dist/ISwapRouter.js deleted file mode 100644 index 0d420173e..000000000 --- a/packages/hyperdrive-artifacts/dist/ISwapRouter.js +++ /dev/null @@ -1,225 +0,0 @@ -export const ISwapRouter = { - abi: [ - { - "type": "function", - "name": "exactInput", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "exactInputSingle", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputSingleParams", - "components": [ - { - "name": "tokenIn", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenOut", - "type": "address", - "internalType": "address" - }, - { - "name": "fee", - "type": "uint24", - "internalType": "uint24" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sqrtPriceLimitX96", - "type": "uint160", - "internalType": "uint160" - } - ] - } - ], - "outputs": [ - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "exactOutput", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactOutputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountInMaximum", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "exactOutputSingle", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactOutputSingleParams", - "components": [ - { - "name": "tokenIn", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenOut", - "type": "address", - "internalType": "address" - }, - { - "name": "fee", - "type": "uint24", - "internalType": "uint24" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountInMaximum", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sqrtPriceLimitX96", - "type": "uint160", - "internalType": "uint160" - } - ] - } - ], - "outputs": [ - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59", - "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "414bf389", - "exactOutput((bytes,address,uint256,uint256,uint256))": "f28c0498", - "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "db3e2198" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts b/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts deleted file mode 100644 index 44eb3f875..000000000 --- a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts +++ /dev/null @@ -1,657 +0,0 @@ -export declare const IUniV3Zap: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "closeLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalSharesZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapRouter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ISwapRouter"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "InvalidInputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidOutputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidRecipient"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAsset"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSwap"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTransfer"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ShouldWrapAssets"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6"; - readonly "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838"; - readonly "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586"; - readonly "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046"; - readonly "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d"; - readonly "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5"; - readonly "swapRouter()": "c31c9c07"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IUniV3Zap.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map b/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map deleted file mode 100644 index 0596d8896..000000000 --- a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IUniV3Zap.d.ts","sourceRoot":"","sources":["../src/IUniV3Zap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2zBF,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IUniV3Zap.js b/packages/hyperdrive-artifacts/dist/IUniV3Zap.js deleted file mode 100644 index 8d67b742b..000000000 --- a/packages/hyperdrive-artifacts/dist/IUniV3Zap.js +++ /dev/null @@ -1,842 +0,0 @@ -export const IUniV3Zap = { - abi: [ - { - "type": "function", - "name": "addLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "closeLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "redeemWithdrawalSharesZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapRouter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ISwapRouter" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "InvalidInputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidOutputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidRecipient", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAsset", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSwap", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTransfer", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "ShouldWrapAssets", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", - "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", - "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", - "kind()": "04baa00b", - "name()": "06fdde03", - "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", - "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", - "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", - "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", - "swapRouter()": "c31c9c07", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts b/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts deleted file mode 100644 index fd3920aec..000000000 --- a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts +++ /dev/null @@ -1,267 +0,0 @@ -export declare const IVariableDebtToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "burn(address,uint256,uint256)": "f5298aca"; - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - }; -}; -//# sourceMappingURL=IVariableDebtToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map deleted file mode 100644 index b4ef9782a..000000000 --- a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IVariableDebtToken.d.ts","sourceRoot":"","sources":["../src/IVariableDebtToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqUX,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.js b/packages/hyperdrive-artifacts/dist/IVariableDebtToken.js deleted file mode 100644 index b38485c97..000000000 --- a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.js +++ /dev/null @@ -1,337 +0,0 @@ -export const IVariableDebtToken = { - abi: [ - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "burn(address,uint256,uint256)": "f5298aca", - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IWETH.d.ts b/packages/hyperdrive-artifacts/dist/IWETH.d.ts deleted file mode 100644 index f7a4ebcef..000000000 --- a/packages/hyperdrive-artifacts/dist/IWETH.d.ts +++ /dev/null @@ -1,204 +0,0 @@ -export declare const IWETH: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "wad"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "deposit()": "d0e30db0"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256)": "2e1a7d4d"; - }; -}; -//# sourceMappingURL=IWETH.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWETH.d.ts.map b/packages/hyperdrive-artifacts/dist/IWETH.d.ts.map deleted file mode 100644 index 8a9db7320..000000000 --- a/packages/hyperdrive-artifacts/dist/IWETH.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IWETH.d.ts","sourceRoot":"","sources":["../src/IWETH.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqPE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWETH.js b/packages/hyperdrive-artifacts/dist/IWETH.js deleted file mode 100644 index b287f5df4..000000000 --- a/packages/hyperdrive-artifacts/dist/IWETH.js +++ /dev/null @@ -1,260 +0,0 @@ -export const IWETH = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "wad", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "deposit()": "d0e30db0", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256)": "2e1a7d4d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts b/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts deleted file mode 100644 index 021918ebe..000000000 --- a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts +++ /dev/null @@ -1,201 +0,0 @@ -export declare const IWrappedERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "wrap"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "wrap(uint256)": "ea598cb0"; - }; -}; -//# sourceMappingURL=IWrappedERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map deleted file mode 100644 index 4996a3a8e..000000000 --- a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IWrappedERC20.d.ts","sourceRoot":"","sources":["../src/IWrappedERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoPN,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAahC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWrappedERC20.js b/packages/hyperdrive-artifacts/dist/IWrappedERC20.js deleted file mode 100644 index d776068d6..000000000 --- a/packages/hyperdrive-artifacts/dist/IWrappedERC20.js +++ /dev/null @@ -1,258 +0,0 @@ -export const IWrappedERC20 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "wrap", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "wrap(uint256)": "ea598cb0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts b/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts deleted file mode 100644 index 7997074b0..000000000 --- a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -export declare const IXRenzoDeposit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getMintRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "lastPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lastPriceTimestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "xezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getMintRate()": "96f0bd61"; - readonly "xezETH()": "152b2c4f"; - }; -}; -//# sourceMappingURL=IXRenzoDeposit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map b/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map deleted file mode 100644 index 4e02d1ae0..000000000 --- a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IXRenzoDeposit.d.ts","sourceRoot":"","sources":["../src/IXRenzoDeposit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;cAkCP,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js b/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js deleted file mode 100644 index f109a0bf4..000000000 --- a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js +++ /dev/null @@ -1,40 +0,0 @@ -export const IXRenzoDeposit = { - abi: [ - { - "type": "function", - "name": "getMintRate", - "inputs": [], - "outputs": [ - { - "name": "lastPrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lastPriceTimestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "xezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getMintRate()": "96f0bd61", - "xezETH()": "152b2c4f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts b/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts deleted file mode 100644 index 34c2404e6..000000000 --- a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts +++ /dev/null @@ -1,257 +0,0 @@ -export declare const IncentivizedERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decreaseAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "subtractedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getIncentivesController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "increaseAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "addedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setIncentivesController"; - readonly inputs: readonly [{ - readonly name: "controller"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "POOL()": "7535d246"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "decreaseAllowance(address,uint256)": "a457c2d7"; - readonly "getIncentivesController()": "75d26413"; - readonly "increaseAllowance(address,uint256)": "39509351"; - readonly "name()": "06fdde03"; - readonly "setIncentivesController(address)": "e655dbd8"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IncentivizedERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map deleted file mode 100644 index 2cd775fab..000000000 --- a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IncentivizedERC20.d.ts","sourceRoot":"","sources":["../src/IncentivizedERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwTV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.js b/packages/hyperdrive-artifacts/dist/IncentivizedERC20.js deleted file mode 100644 index 4059a729e..000000000 --- a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.js +++ /dev/null @@ -1,330 +0,0 @@ -export const IncentivizedERC20 = { - abi: [ - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decreaseAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "subtractedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getIncentivesController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IAaveIncentivesController" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "increaseAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "addedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setIncentivesController", - "inputs": [ - { - "name": "controller", - "type": "address", - "internalType": "contract IAaveIncentivesController" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "POOL()": "7535d246", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "getIncentivesController()": "75d26413", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "setIncentivesController(address)": "e655dbd8", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts b/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts deleted file mode 100644 index efa07361e..000000000 --- a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export declare const IsolationModeLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IsolationModeLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map deleted file mode 100644 index 836b815d0..000000000 --- a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IsolationModeLogic.d.ts","sourceRoot":"","sources":["../src/IsolationModeLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;cAsBmQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.js b/packages/hyperdrive-artifacts/dist/IsolationModeLogic.js deleted file mode 100644 index a9acdd1db..000000000 --- a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.js +++ /dev/null @@ -1,25 +0,0 @@ -export const IsolationModeLogic = { - abi: [ - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c170b3081f9db79231c9a778cf578b6f91949997cf2eb4b07eb95309c94484e964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts b/packages/hyperdrive-artifacts/dist/L2Pool.d.ts deleted file mode 100644 index c7d66b532..000000000 --- a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts +++ /dev/null @@ -1,1829 +0,0 @@ -export declare const L2Pool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "category"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "args1"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "args2"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "protocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "borrow(bytes32)": "d5eed868"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "initialize(address)": "c4d66de8"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "liquidationCall(bytes32,bytes32)": "fd21ecff"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "rebalanceStableBorrowRate(bytes32)": "427da177"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repay(bytes32)": "563dd613"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithATokens(bytes32)": "dc7c0bff"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "setUserUseReserveAsCollateral(bytes32)": "4d013f03"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supply(bytes32)": "f7a73840"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapBorrowRateMode(bytes32)": "1fe3c6f3"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - readonly "withdraw(bytes32)": "8e19899e"; - }; -}; -//# sourceMappingURL=L2Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map deleted file mode 100644 index 023af49fa..000000000 --- a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"L2Pool.d.ts","sourceRoot":"","sources":["../src/L2Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0sEC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/L2Pool.js b/packages/hyperdrive-artifacts/dist/L2Pool.js deleted file mode 100644 index f14295f39..000000000 --- a/packages/hyperdrive-artifacts/dist/L2Pool.js +++ /dev/null @@ -1,2325 +0,0 @@ -export const L2Pool = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "category", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "args1", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "args2", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "protocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "borrow(bytes32)": "d5eed868", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "initialize(address)": "c4d66de8", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "liquidationCall(bytes32,bytes32)": "fd21ecff", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "rebalanceStableBorrowRate(bytes32)": "427da177", - "repay(address,uint256,uint256,address)": "573ade81", - "repay(bytes32)": "563dd613", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithATokens(bytes32)": "dc7c0bff", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "setUserUseReserveAsCollateral(bytes32)": "4d013f03", - "supply(address,uint256,address,uint16)": "617ba037", - "supply(bytes32)": "f7a73840", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapBorrowRateMode(bytes32)": "1fe3c6f3", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec", - "withdraw(bytes32)": "8e19899e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LPMath.d.ts b/packages/hyperdrive-artifacts/dist/LPMath.d.ts deleted file mode 100644 index ef658d951..000000000 --- a/packages/hyperdrive-artifacts/dist/LPMath.d.ts +++ /dev/null @@ -1,350 +0,0 @@ -export declare const LPMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateDistributeExcessIdle"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateInitialReserves"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculatePresentValue"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculatePresentValueSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateUpdateLiquiditySafe"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateDistributeExcessIdle(LPMath.DistributeExcessIdleParams,uint256)": "2c03ef68"; - readonly "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e"; - readonly "calculatePresentValue(LPMath.PresentValueParams)": "bf3aa156"; - readonly "calculatePresentValueSafe(LPMath.PresentValueParams)": "5a1b419e"; - readonly "calculateUpdateLiquiditySafe(uint256,int256,uint256,uint256,int256)": "d0b457ce"; - }; -}; -//# sourceMappingURL=LPMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LPMath.d.ts.map b/packages/hyperdrive-artifacts/dist/LPMath.d.ts.map deleted file mode 100644 index 9b03789f7..000000000 --- a/packages/hyperdrive-artifacts/dist/LPMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LPMath.d.ts","sourceRoot":"","sources":["../src/LPMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAobuvgB,KAAK,MAAM,EAAE;;;;;;;;CAQtxgB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LPMath.js b/packages/hyperdrive-artifacts/dist/LPMath.js deleted file mode 100644 index 45ad5cf12..000000000 --- a/packages/hyperdrive-artifacts/dist/LPMath.js +++ /dev/null @@ -1,445 +0,0 @@ -export const LPMath = { - abi: [ - { - "type": "function", - "name": "calculateDistributeExcessIdle", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateInitialReserves", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculatePresentValue", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculatePresentValueSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateUpdateLiquiditySafe", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareReservesDelta", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x612046610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80632c03ef68146100645780635a1b419e14610091578063b29e1d1e146100b9578063bf3aa156146100e7578063d0b457ce14610108575b5f80fd5b610077610072366004611e11565b61013d565b604080519283526020830191909152015b60405180910390f35b6100a461009f366004611ead565b610223565b60408051928352901515602083015201610088565b6100cc6100c7366004611ec8565b6102a9565b60408051938452602084019290925290820152606001610088565b6100fa6100f5366004611ead565b61035d565b604051908152602001610088565b61011b610116366004611f07565b610392565b6040805194855260208501939093529183015215156060820152608001610088565b5f805f806101538660c001518760e001516104a2565b9150915080610169575f8093509350505061021c565b5f61017487846104da565b92509050811580610183575080155b15610196575f809450945050505061021c565b5f6101a188836105e1565b9050805f036101b9575f80955095505050505061021c565b876060015181116101d0579450925061021c915050565b5060608701515f6101e38986858b6106b1565b9050805f036101fc575f8096509650505050505061021c565b828110610213575f8096509650505050505061021c565b90955093505050505b9250929050565b5f805f805f61023186610bac565b915091508061024757505f958695509350505050565b6102548660a00151610ec3565b61025d87610ef0565b8361026a895f0151610ec3565b6102749190611f52565b61027e9190611f52565b6102889190611f79565b925050505f81121561029f57505f93849350915050565b9360019350915050565b5f8080806102bb866301e13380610f5d565b90505f6102ec6102cb8984610f78565b6102dd90670de0b6b3a7640000611f98565b670de0b6b3a764000090610f8c565b8b955090506103406102fe8b87610f78565b6103088b84610fa0565b61032e610327610320670de0b6b3a76400008c610f5d565b8690610fb4565b8e90610fa0565b6103389190611f98565b8b9190611019565b925061034d83828c611019565b9350505096509650969350505050565b5f805f61036984610223565b915091508061038b57604051635516328b60e11b815260040160405180910390fd5b5092915050565b5f805f80845f036103ae57508792508691508590506001610496565b5f856103b98b610ec3565b6103c39190611f52565b90506103ce87610ec3565b8112156103e7575f805f80945094509450945050610496565b8094505f891261040b576104046103ff868b8d611019565b610ec3565b935061042e565b6104226103ff61041a8b611fab565b87908d611034565b61042b90611fab565b93505b5f8061043a8c8c6104a2565b9150915080610457575f805f809650965096509650505050610496565b5f61046288886104a2565b9250905081610480575f805f80975097509750975050505050610496565b61048b8b8285611019565b955060019450505050505b95509550955095915050565b5f805f836104af86610ec3565b6104b99190611f79565b90505f8112156104cf575f80925092505061021c565b946001945092505050565b5f805f8460a00151126104f55750506080820151600161021c565b5f8460a0015161050490611fab565b90505f61053e85876101000151885f015160e00151670de0b6b3a764000061052c9190611fc5565b89516060810151608090910151611057565b9350905082158061054d575080155b1561055f575f8093509350505061021c565b5f61056a8383610f8c565b9050670de0b6b3a764000081116105a65780670de0b6b3a764000003945061059f8760c0015186610f7890919063ffffffff16565b94506105b4565b5f809450945050505061021c565b86608001518511156105d357866080015160019450945050505061021c565b506001925050509250929050565b5f806106108460c001518560e00151866101000151875f015160a0015161060788610ec3565b61011690611fab565b87516040810192909252602082019290925291909152905080610636575f9150506106ab565b5f610643855f0151610223565b9250905081610656575f925050506106ab565b8460200151811061066b575f925050506106ab565b5f856060015186604001516106809190611f98565b905061069b828760200151836110199092919063ffffffff16565b6106a59082611fc5565b93505050505b92915050565b5f80856060015186604001516106c79190611f98565b602087015160608801519192505f916106e09184611019565b90508660a001515f036106f6579150610ba49050565b5f808089600488101561070857600497505b5f5b88811015610a535761071c868b611106565b95505f6107438360c001518460e00151856101000151865f015160a001516106078c610ec3565b86516040810192909252602082019290925291909152905080610770575f98505050505050505050610ba4565b5f61077d8e5f0151610223565b9250905081610797575f9950505050505050505050610ba4565b6107a284828b61111a565b156107b857879950505050505050505050610ba4565b5f8460a00151131561091a57835180516020820151604083015160a084015160e0909401515f9461080a949392916107f890670de0b6b3a7640000611fc5565b8a516060810151608090910151611185565b9350905082610825575f9a5050505050505050505050610ba4565b808560a00151106109185761083985611288565b909950925082610855575f9a5050505050505050505050610ba4565b6108798560c001518660e00151876101000151885f015160a001516106078e610ec3565b885160408101929092526020820192909252919091529250826108a8575f9a5050505050505050505050610ba4565b845180516020820151604083015160a084015160e0909401516108d894906107f890670de0b6b3a7640000611fc5565b93509050826108f3575f9a5050505050505050505050610ba4565b8e60a00151811161091057889a5050505050505050505050610ba4565b505050610a4b565b505b5f61092a858f8760a00151611355565b935090508215806109435750670de0b6b3a76400008110155b1561095a575f9a5050505050505050505050610ba4565b80670de0b6b3a76400000390505f6109866103ff87604001518860200151610fa090919063ffffffff16565b6109936103ff858e610f78565b61099d9190611f79565b90508815806109bb57506109b0896116a0565b6109b9826116a0565b105b156109ca578098508997508296505b5f8113156109f7576109e68b6109e08385610f5d565b90610f5d565b6109f0908b611f98565b9950610a46565b5f811215610a3d575f610a0f8c6109e0858186611fab565b90508a811015610a2357808b039a50610a37565b5f9c50505050505050505050505050610ba4565b50610a46565b50505050610a53565b505050505b60010161070a565b505f610a798260c001518360e00151846101000151855f015160a001516106078b610ec3565b85516040810192909252602082019290925291909152905080610aa5575f975050505050505050610ba4565b5f610ab2835f015161035d565b90505f610ad36103ff85604001518660200151610fa090919063ffffffff16565b610ae06103ff848c610f78565b610aea9190611f79565b9050610af5876116a0565b610afe826116a0565b1015610b0b578795508194505b610b32610b26655af3107a4000670de0b6b3a7640000611fc5565b6020860151908b611034565b6040850151610b42908790610f5d565b1080610b825750610b70610b64655af3107a4000670de0b6b3a7640000611f98565b6020860151908b611019565b6040850151610b80908790610f8c565b115b15610b98575f9950505050505050505050610ba4565b50939750505050505050505b949350505050565b5f805f610bcf6103ff856101600151866101400151610f7890919063ffffffff16565b610bef6103ff866101200151876101000151610fa090919063ffffffff16565b610bf99190611f79565b90505f80610c0e865f015187602001516104a2565b9150915080610c2457505f958695509350505050565b5f831315610d6b575f8390505f610c6e885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610c5f9190611fc5565b8d606001518e60800151611185565b9350905082610c8657505f9788975095505050505050565b818110610d21575f610cbf858a60400151858c60e00151670de0b6b3a7640000610cb09190611fc5565b8d606001518e608001516116b1565b9450905083158015610cd457508860c0015183105b15610cea57505f98600198509650505050505050565b83610cff57505f988998509650505050505050565b610d0881610ec3565b610d1190611fab565b9960019950975050505050505050565b5f886020015112610d5757610d3f8860a00151856103ff9190611fc5565b610d4890611fab565b98600198509650505050505050565b60a08801518851610d3f916103ff91611fc5565b5f831215610eb5575f610d7d84611fab565b90505f610db08489604001518a60e00151670de0b6b3a7640000610da19190611fc5565b8b606001518c60800151611057565b9350905082610dc857505f9788975095505050505050565b818110610e4a575f610e01858a60400151858c60e00151670de0b6b3a7640000610df29190611fc5565b8d606001518e60800151611770565b9450905083158015610e1657508860c0015183105b15610e2c57505f98600198509650505050505050565b83610e4157505f988998509650505050505050565b610d1181610ec3565b5f610e7b858a604001518b60e00151670de0b6b3a7640000610e6c9190611fc5565b8c606001518d60800151611842565b9450905083610e9457505f988998509650505050505050565b610d11610eab8a6060015184866109e09190611fc5565b6103ff9083611f98565b505f95600195509350505050565b5f6001600160ff1b03821115610eec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f610f226103ff836101200151670de0b6b3a7640000610f109190611fc5565b60608501516101008601519190611034565b610f536103ff846101600151670de0b6b3a7640000610f419190611fc5565b60608601516101408701519190611019565b6106ab9190611f79565b5f610f7183670de0b6b3a764000084611019565b9392505050565b5f610f718383670de0b6b3a7640000611019565b5f610f7183670de0b6b3a764000084611034565b5f610f718383670de0b6b3a7640000611034565b5f815f03610fcb5750670de0b6b3a76400006106ab565b825f03610fd957505f6106ab565b5f610fe383610ec3565b90505f610ff7610ff286610ec3565b6118f4565b905081810261100e670de0b6b3a764000082611fd8565b90506106a581611b22565b5f825f19048411830215820261102d575f80fd5b5091020490565b5f825f190484118302158202611048575f80fd5b50910281810615159190040190565b5f805f6110678888888888611cbe565b90505f611091670de0b6b3a76400006110808888610f5d565b61108a9190611f98565b8390610f8c565b9050670de0b6b3a764000081106110c5576110be6110b7670de0b6b3a764000089610f8c565b8290610fb4565b90506110dd565b6110da6110b7670de0b6b3a764000089610f5d565b90505b808810156110f2575f809350935050506110fc565b8703925060019150505b9550959350505050565b5f8183116111145782610f71565b50919050565b60208301515f9061112b9084610f8c565b604085015161113b908490610f5d565b10158015610ba45750602084015161116b9084611164633b9aca00670de0b6b3a7640000611f98565b9190611019565b604085015161117b908490610f8c565b1115949350505050565b5f805f8812156111a55761119888611fab565b6111a29087611f98565b95505b5f806111b18b8b6104a2565b91509150806111c7575f8093509350505061127c565b5f6111d5838b8a8a8a611cec565b90505f6111f76111ef8a6111e98a8e610fa0565b90610fb4565b899089611034565b905080821015611210575f80955095505050505061127c565b808203670de0b6b3a7640000811061123e576112376110b7670de0b6b3a76400008c610f5d565b9050611256565b6112536110b7670de0b6b3a76400008c610f8c565b90505b8b81101561126e575f8096509650505050505061127c565b8b9003955060019450505050505b97509795505050505050565b5f805f8360e001511361129f57505f928392509050565b5f6112ac845f0151610ef0565b90505f6112d78560400151866060015187604001516112cb9190611f98565b60208801519190611034565b90505f82126112fc57808210156112f057819003611312565b505f9485945092505050565b61130582611fab565b61130f9082611f98565b90505b60e085015160c0860151611327918390611034565b9050808560c00151101561134157505f9485945092505050565b808560c00151036001935093505050915091565b5f805f80841261137757855160400151611370908590611f98565b90506113b0565b5f61138185611fab565b8751604001519091508110156113a15786516040015181900391506113ae565b5f80935093505050611698565b505b855180516020909101515f9182916113c891906104a2565b91509150806113df575f8094509450505050611698565b875160e08101516040909101515f9161141391611407916114009190610fb4565b8a90610f78565b6101008b015190610f8c565b895160e081015160809091015161143e91611432916111e99088610f78565b8b516060015190610f8c565b6114489190611f98565b90505f61147e61147261146b8c5f015160e0015188610fb490919063ffffffff16565b8b90610fa0565b6101008c015190610f5d565b905080821015611498575f80965096505050505050611698565b80820391505f6114d7858c5f0151604001518d5f015160e00151670de0b6b3a76400006114c59190611fc5565b8e516060810151608090910151611cbe565b90505f6114ff8c5f015160e00151670de0b6b3a76400006114f89190611fc5565b8890610fb4565b90508082101561151b575f809850985050505050505050611698565b8b51608081015160609091015191830391611537918391611034565b9050670de0b6b3a7640000811061157b578b5160e00151611574906110b79061156890670de0b6b3a7640000611fc5565b8e5160e0015190610f8c565b90506115aa565b8b5160e001516115a7906110b79061159b90670de0b6b3a7640000611fc5565b8e5160e0015190610f5d565b90505b8b51606001516115bd9085908390611034565b935083670de0b6b3a764000011156115e15783670de0b6b3a76400000393506115f4565b5f60019850985050505050505050611698565b5f8c60e00151126116555760c08c015160e08d015161161291610f8c565b9250670de0b6b3a7640000831115611636575f809850985050505050505050611698565b670de0b6b3a7640000929092039161164e8484610f78565b935061168a565b61168761166e8d60c001518e60e001516109e090611fab565b61168090670de0b6b3a7640000611f98565b8590610f78565b93505b509196506001955050505050505b935093915050565b5f80821215610eec57815f036106ab565b5f805f6116c18989888888611cbe565b90506116d1866111e9898b611f98565b9750878110156116e7575f809250925050611765565b8781036116f5818688611034565b9050670de0b6b3a764000081106117225761171b6110b7670de0b6b3a764000089610f8c565b905061173a565b6117376110b7670de0b6b3a764000089610f5d565b90505b6117448186610f8c565b9050808a101561175b575f80935093505050611765565b8903925060019150505b965096945050505050565b5f805f6117808989888888611cbe565b905086881015611796575f809250925050611765565b96869003966117a58887610fb4565b9750878110156117bb575f809250925050611765565b8781036117c9818688611034565b9050670de0b6b3a764000081106117f6576117ef6110b7670de0b6b3a764000089610f8c565b905061180e565b61180b6110b7670de0b6b3a764000089610f5d565b90505b6118188186610f8c565b90508981101561182f575f80935093505050611765565b9890980398600198509650505050505050565b5f805f6118528888888888611cec565b90505f61187c670de0b6b3a764000061186b8888610f8c565b6118759190611f98565b8390610f5d565b9050670de0b6b3a764000081106118a9576118a26110b7670de0b6b3a764000089610f5d565b90506118c1565b6118be6110b7670de0b6b3a764000089610f8c565b90505b6118cb8186610f5d565b9050888110156118e2575f809350935050506110fc565b97909703976001975095505050505050565b5f8082136119155760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906119a19084901c610ec3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611b3b57505f919050565b680755bf798b4a1bf1e58212611b64576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611cb474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610ec3565b9695505050505050565b5f611cc98585610fb4565b611ce2611cda866111e9868b610fa0565b859085611034565b611cb49190611f98565b5f611cf78585610fb4565b611ce2611d08866111e9868b610f78565b859085611019565b604051610180810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b5f6101808284031215611d87575f80fd5b611d8f611d10565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f808284036102a0811215611e24575f80fd5b61028080821215611e33575f80fd5b611e3b611d46565b9150611e478686611d76565b825261018085013560208301526101a085013560408301526101c085013560608301526101e0850135608083015261020085013560a083015261022085013560c083015261024085013560e0830152610260850135610100830152909593013593505050565b5f6101808284031215611ebe575f80fd5b610f718383611d76565b5f805f805f8060c08789031215611edd575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a08688031215611f1b575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715611f7157611f71611f3e565b505092915050565b8181035f83128015838313168383128216171561038b5761038b611f3e565b808201808211156106ab576106ab611f3e565b5f600160ff1b8201611fbf57611fbf611f3e565b505f0390565b818103818111156106ab576106ab611f3e565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561200b5761200b611f3e565b50059056fea26469706673582212207d30891a36a0c36041d9662f91afa37ca8b7d83beba8fda2cbd821e451bebe4564736f6c63430008160033', - methodIdentifiers: { - "calculateDistributeExcessIdle(LPMath.DistributeExcessIdleParams,uint256)": "2c03ef68", - "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", - "calculatePresentValue(LPMath.PresentValueParams)": "bf3aa156", - "calculatePresentValueSafe(LPMath.PresentValueParams)": "5a1b419e", - "calculateUpdateLiquiditySafe(uint256,int256,uint256,uint256,int256)": "d0b457ce" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Lib.d.ts b/packages/hyperdrive-artifacts/dist/Lib.d.ts deleted file mode 100644 index ed14fbd52..000000000 --- a/packages/hyperdrive-artifacts/dist/Lib.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -export declare const Lib: { - abi: readonly [{ - readonly type: "function"; - readonly name: "eq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "b2"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "eq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "b2"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "eq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "b2"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "neq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "b2"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "eq(address[],address[])": "a63c8478"; - readonly "eq(bytes,bytes)": "cdb16840"; - readonly "eq(string,string)": "21a49642"; - readonly "neq(bytes,bytes)": "d37a20ba"; - }; -}; -//# sourceMappingURL=Lib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Lib.d.ts.map b/packages/hyperdrive-artifacts/dist/Lib.d.ts.map deleted file mode 100644 index d08a13ebc..000000000 --- a/packages/hyperdrive-artifacts/dist/Lib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../src/Lib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmGwyE,KAAK,MAAM,EAAE;;;;;;;CAOp0E,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Lib.js b/packages/hyperdrive-artifacts/dist/Lib.js deleted file mode 100644 index 90126c266..000000000 --- a/packages/hyperdrive-artifacts/dist/Lib.js +++ /dev/null @@ -1,107 +0,0 @@ -export const Lib = { - abi: [ - { - "type": "function", - "name": "eq", - "inputs": [ - { - "name": "b1", - "type": "string", - "internalType": "string" - }, - { - "name": "b2", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "eq", - "inputs": [ - { - "name": "b1", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "b2", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "eq", - "inputs": [ - { - "name": "b1", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "b2", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "neq", - "inputs": [ - { - "name": "b1", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "b2", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x61045d610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c806321a4964214610059578063a63c847814610080578063cdb1684014610059578063d37a20ba14610093575b5f80fd5b61006c610067366004610265565b6100a6565b604051901515815260200160405180910390f35b61006c61008e366004610356565b61010a565b61006c6100a1366004610265565b61014f565b5f815183511480156101035750816040516020016100c491906103ce565b60405160208183030381529060405280519060200120836040516020016100eb91906103ce565b60405160208183030381529060405280519060200120145b9392505050565b5f8151835114801561010357508160405160200161012891906103e9565b60405160208183030381529060405280519060200120836040516020016100eb91906103e9565b5f8151835114158061010357508160405160200161016d91906103ce565b604051602081830303815290604052805190602001208360405160200161019491906103ce565b604051602081830303815290604052805190602001201415905092915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156101f1576101f16101b4565b604052919050565b5f82601f830112610208575f80fd5b813567ffffffffffffffff811115610222576102226101b4565b610235601f8201601f19166020016101c8565b818152846020838601011115610249575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215610276575f80fd5b823567ffffffffffffffff8082111561028d575f80fd5b610299868387016101f9565b935060208501359150808211156102ae575f80fd5b506102bb858286016101f9565b9150509250929050565b5f82601f8301126102d4575f80fd5b8135602067ffffffffffffffff8211156102f0576102f06101b4565b8160051b6102ff8282016101c8565b9283528481018201928281019087851115610318575f80fd5b83870192505b8483101561034b5782356001600160a01b038116811461033c575f80fd5b8252918301919083019061031e565b979650505050505050565b5f8060408385031215610367575f80fd5b823567ffffffffffffffff8082111561037e575f80fd5b61038a868387016102c5565b9350602085013591508082111561039f575f80fd5b506102bb858286016102c5565b5f5b838110156103c65781810151838201526020016103ae565b50505f910152565b5f82516103df8184602087016103ac565b9190910192915050565b81515f9082906020808601845b8381101561041b5781516001600160a01b0316855293820193908201906001016103f6565b5092969550505050505056fea264697066735822122069b657e25d7cae19247d26135a6929fd1f24a9f183919c107de600699be4d97864736f6c63430008160033', - methodIdentifiers: { - "eq(address[],address[])": "a63c8478", - "eq(bytes,bytes)": "cdb16840", - "eq(string,string)": "21a49642", - "neq(bytes,bytes)": "d37a20ba" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts b/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts deleted file mode 100644 index 62286841a..000000000 --- a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts +++ /dev/null @@ -1,150 +0,0 @@ -export declare const LiquidationLogic: { - abi: readonly [{ - readonly type: "function"; - readonly name: "CLOSE_FACTOR_HF_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_LIQUIDATION_CLOSE_FACTOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "CLOSE_FACTOR_HF_THRESHOLD()": "a18964a5"; - readonly "MAX_LIQUIDATION_CLOSE_FACTOR()": "d2467544"; - readonly "executeLiquidationCall(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(address => DataTypes.UserConfigurationMap) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.ExecuteLiquidationCallParams)": "83c1087d"; - }; -}; -//# sourceMappingURL=LiquidationLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map deleted file mode 100644 index 1fceb1495..000000000 --- a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LiquidationLogic.d.ts","sourceRoot":"","sources":["../src/LiquidationLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkLm50B,KAAK,MAAM,EAAE;;;;;;CAM570B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LiquidationLogic.js b/packages/hyperdrive-artifacts/dist/LiquidationLogic.js deleted file mode 100644 index 7832e403f..000000000 --- a/packages/hyperdrive-artifacts/dist/LiquidationLogic.js +++ /dev/null @@ -1,185 +0,0 @@ -export const LiquidationLogic = { - abi: [ - { - "type": "function", - "name": "CLOSE_FACTOR_HF_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_LIQUIDATION_CLOSE_FACTOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x613499610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c806383c1087d1461004e578063a18964a51461006f578063d246754414610090575b5f80fd5b818015610059575f80fd5b5061006d610068366004613018565b610099565b005b61007e670d2f13f7789f000081565b60405190815260200160405180910390f35b61007e61271081565b6100a1612e80565b6040808301516001600160a01b039081165f908152602089815283822060608701518416835284832060808801519094168352908890529290206100e4826106c9565b61016085018190526100f7908390610894565b6101618989886040518060a00160405280866040518060200160405290815f8201548152505081526020018a5f015181526020018a608001516001600160a01b031681526020018a60c001516001600160a01b031681526020018a60e0015160ff168152506108ec565b5060c08901819052610160890151610180955093508992509050610dae565b8660200187604001886060018381525083815250838152505050506101e281848460405180608001604052808961016001518152602001896040015181526020018960c0015181526020018a61010001516001600160a01b0316815250610e2d565b6101ed868487611195565b60a08801526001600160a01b03908116610120880152908116610100870152908116610140860181905260808701516040516370a0823160e01b815292166004830152906370a0823190602401602060405180830381865afa158015610255573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027991906130fe565b808552610160850151610100860151610120870151606088015160a089015160c08b01516102ae968a96959493929091611292565b60e08701526060860181905260808601919091526040850151036102e85760038201546102e8908290600160a81b900461ffff165f611592565b835160e085015160808601516102fe9190613129565b0361036857600383015461031f908290600160a81b900461ffff165f6115f2565b84608001516001600160a01b031685604001516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b6103728585611646565b6101608401516060808701519086015161039092859290915f611850565b6103a68989838761016001518860600151611b6b565b8460a00151156103c3576103be898989868989611cf3565b6103ce565b6103ce838686611e7b565b60e08401511561057f575f6103e284611f26565b90505f6103fc828760e00151611f8f90919063ffffffff16565b6101408701516080890151604051630ed1279f60e11b81526001600160a01b0391821660048201529293505f92911690631da24f3e90602401602060405180830381865afa158015610450573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047491906130fe565b90508082111561048e576104888184611fcc565b60e08801525b8661014001516001600160a01b031663f866c31989608001518961014001516001600160a01b031663ae1673356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050c919061313c565b8a60e001516040518463ffffffff1660e01b815260040161054e939291906001600160a01b039384168152919092166020820152604081019190915260600190565b5f604051808303815f87803b158015610565575f80fd5b505af1158015610577573d5f803e3d5ffd5b505050505050505b6105b1338561016001516101e00151866060015188606001516001600160a01b031661200e909392919063ffffffff16565b6101608401516101e00151608086015160608601516040516337ecbb3b60e11b81523360048201526001600160a01b0392831660248201526044810191909152911690636fd97676906064015f604051808303815f87803b158015610614575f80fd5b505af1158015610626573d5f803e3d5ffd5b5050505084608001516001600160a01b031685606001516001600160a01b031686604001516001600160a01b03167fe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e00528687606001518860800151338b60a001516040516106b6949392919093845260208401929092526001600160a01b031660408301521515606082015260800190565b60405180910390a4505050505050505050565b6106d1612ef6565b6106d9612ef6565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156107c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ec91906130fe565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa15801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190613157565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036108b4575050565b6108be82826120ad565b6108c8828261218b565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f805f805f806108fe875f0151511590565b1561091a57505f94508493508392508291505f19905081610da1565b6109a96040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156109ed57608088015160ff165f90815260208a90526040902060608901516109da91906122eb565b6101808401526101c08301526101a08201525b87602001518160c001511015610cc65760c08101518851610a0d91612394565b610a215760c08101805160010190526109ed565b60c08101515f90815260208b905260409020546001600160a01b03166102008201819052610a595760c08101805160010190526109ed565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a9083015261018082015115801590610ae15750816101e00151896080015160ff16145b610b5d57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906130fe565b610b64565b8161018001515b825260a082015115801590610b84575060c08201518951610b84916123e6565b15610c7357610ba0896040015182845f01518560200151612434565b6040830181905261010083018051610bb9908390613129565b90525060808901516101e0830151610bd49160ff16906124e5565b1515610240830152608082015115610c2a57816102400151610bfa578160800151610c01565b816101a001515b8260400151610c10919061319e565b8261014001818151610c229190613129565b905250610c33565b60016102208301525b816102400151610c47578160a00151610c4e565b816101c001515b8260400151610c5d919061319e565b8261016001818151610c6f9190613129565b9052505b60c08201518951610c83916124f5565b15610cb557610c9f896040015182845f01518560200151612541565b8261012001818151610cb19190613129565b9052505b5060c08101805160010190526109ed565b8061010001515f03610cd8575f610cf3565b80610100015181610140015181610cf157610cf16131b5565b045b6101408201526101008101515f03610d0b575f610d26565b80610100015181610160015181610d2457610d246131b5565b045b61016082015261012081015115610d6857610d63816101200151610d5d83610160015184610100015161267090919063ffffffff16565b90612694565b610d6b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f805f805f610dc18760800151896126c9565b90925090505f610dd18284613129565b90505f670d2f13f7789f00008811610deb57612710610def565b6113885b90505f610dfc8383612670565b90505f818b6020015111610e14578a60200151610e16565b815b949850929650929450505050505b93509350939050565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152604080516020810190915284548152610e6f906127b5565b151560208601525050501515815281516101c00151610e8d906127b5565b151560608601525050501515604082015280518015610ead575080604001515b60405180604001604052806002815260200161323760f01b81525090610eef5760405162461bcd60e51b8152600401610ee691906131c9565b60405180910390fd5b508060200151158015610f0457508060600151155b60405180604001604052806002815260200161323960f01b81525090610f3d5760405162461bcd60e51b8152600401610ee691906131c9565b5060608201516001600160a01b03161580610f635750670d2f13f7789f00008260400151105b80610fcd575081606001516001600160a01b0316637a5d20ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcd9190613215565b60405180604001604052806002815260200161353960f01b815250906110065760405162461bcd60e51b8152600401610ee691906131c9565b50600384015464ffffffffff428116600160b81b9092041610801561103f5750600383015464ffffffffff428116600160b81b90920416105b60405180604001604052806002815260200161393760f01b815250906110785760405162461bcd60e51b8152600401610ee691906131c9565b50670de0b6b3a764000082604001511060405180604001604052806002815260200161343560f01b815250906110c15760405162461bcd60e51b8152600401610ee691906131c9565b50604080516020810190915284549081905260101c61ffff161580159061110b5750600384015460408051602081019091528654815261110b91600160a81b900461ffff166123e6565b1515608082018190526040805180820190915260028152611a1b60f11b60208201529061114b5760405162461bcd60e51b8152600401610ee691906131c9565b5081602001515f141560405180604001604052806002815260200161343760f01b8152509061118d5760405162461bcd60e51b8152600401610ee691906131c9565b505050505050565b6004820154604080516020808201835285549182905291840151606085015160e08601515f958695869586956001600160a01b0390931694911c61ffff169260ff16156112815760e08901805160ff9081165f90815260208e815260409182902054935182519182019092528d549081905266010000000000009093046001600160a01b031692611230929182169160a89190911c166124e5565b1561126c5760e08a015160ff165f90815260208d90526040902054640100000000900461ffff1693506001600160a01b0381161561126c578092505b6001600160a01b0381161561127f578091505b505b929a90995091975095509350505050565b5f805f6112f3604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405163b3596f0760e01b81526001600160a01b038b8116600483015286169063b3596f0790602401602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906130fe565b815260405163b3596f0760e01b81526001600160a01b038a8116600483015286169063b3596f0790602401602060405180830381865afa1580156113a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c591906130fe565b6020828101919091526040805191820190528c549081905260301c60ff1660c08201526101c08b01515160301c60ff1660a0820181905260c0820151600a90810a60e08401520a61010082015260408051602081019091528c549081905260981c61ffff166101608201526101008101518151611442919061319e565b8160e00151898360200151611457919061319e565b611461919061319e565b61146b9190613230565b6060820181905261147c9087612670565b604082018190528710156114e957610120810187905260e081015160208201516114de9188916114ac919061319e565b61010084015161012085015185516114c4919061319e565b6114ce919061319e565b6114d89190613230565b906127fd565b6101408201526114fd565b604081015161012082015261014081018890525b6101608101511561156f5761012081015161151890876127fd565b816101200151611528919061324f565b6080820181905261016082015161153f9190612670565b6101808201819052610120820151611557919061324f565b81610140015182610180015193509350935050611584565b8061012001518161014001515f935093509350505b985098509895505050505050565b6040805180820190915260028152610dcd60f21b6020820152608083106115cc5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b1b81156115e4578354811784556115ec565b835481191684555b50505050565b6040805180820190915260028152610dcd60f21b60208201526080831061162c5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b81011b81156115e4578354811784556115ec565b80606001518160200151106116f5576101608101516102208101516080840151606084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af11580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e791906130fe565b610160820151602001525050565b60208101511561179c576101608101516102208101516080840151602084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af115801561176d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179191906130fe565b610160820151602001525b80610160015161020001516001600160a01b0316639dc29fac8360800151836020015184606001516117ce919061324f565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303815f875af1158015611815573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118399190613262565b61016083015160a081019190915260c001525b5050565b61187760405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161188b91611fcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161195291600401613284565b606060405180830381865afa15801561196d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119919190613306565b604084015260208301528082526119a790612826565b6001870180546001600160801b03928316600160801b02921691909117905560208101516119d490612826565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151611a0490612826565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152611a429051600160fc1b16151590565b15611af7578215611a9f57611a5683612826565b600987018054601090611a7a908490600160801b90046001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115611af757611aae82612826565b600987018054601090611ad2908490600160801b90046001600160801b0316613358565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805160208101909152835481525f908190611b89908888612892565b50915091508115611cea576001600160a01b0381165f908152602088905260408120600901546101c0860151516001600160801b039091169190611bf49060029060301c60ff16611bda919061324f565b611be590600a613458565b611bef9087613230565b612826565b9050806001600160801b0316826001600160801b031611611c6c576001600160a01b0383165f81815260208b8152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2611ce7565b5f611c778284613358565b6001600160a01b0385165f81815260208d815260409182902060090180546001600160801b0319166001600160801b03959095169485179055905183815292935090917faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2505b50505b50505050505050565b6101408101516040516370a0823160e01b81523360048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6091906130fe565b6101408301516080808601519085015160405163f866c31960e01b81526001600160a01b0392831660048201523360248201526044810191909152929350169063f866c319906064015f604051808303815f87803b158015611dc0575f80fd5b505af1158015611dd2573d5f803e3d5ffd5b50505050805f03611cea57335f90815260208681526040918290208251918201909252855481526004860154611e16918a918a9185916001600160a01b0316612935565b15611e71576003850154611e38908290600160a81b900461ffff1660016115f2565b604080850151905133916001600160a01b0316907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a35b5050505050505050565b5f611e85846106c9565b9050611e918482610894565b60408301516080830151611eab9186918491905f90611850565b61014082015160808085015190840151610100840151604051636b81068560e11b81526001600160a01b0393841660048201523360248201526044810192909252606482015291169063d7020d0a906084015f604051808303815f87803b158015611f14575f80fd5b505af1158015611e71573d5f803e3d5ffd5b60038101545f90600160801b900464ffffffffff16428103611f54575050600101546001600160801b031690565b6001830154611f82906001600160801b0380821691611f7c91600160801b9091041684612b1f565b90611fcc565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611fb1575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b5f81156b019d971e4fe8401e740000001983900484111517611fec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1612050573d5f803e3d5ffd5b5061205a85612b5b565b6120a65760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610ee6565b5050505050565b6101608101511561211b575f6120cd826101600151836102400151612b1f565b90506120e68260e0015182611fcc90919063ffffffff16565b61010083018190526120f790612826565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b80511561184c575f612137826101800151836102400151612bfc565b905061215182610120015182611fcc90919063ffffffff16565b610140830181905261216290612826565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b6121be6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036121cf57505050565b61012082015182516121e091611fcc565b602082015261014082015182516121f691611fcc565b6040820152606082015161026083015161024084015161221e92919064ffffffffff16612c04565b60608201819052604083015161223391611fcc565b80825260208201516080840151604084015161224f9190613129565b612259919061324f565b612263919061324f565b608082018190526101a083015161227a9190612670565b60a08201819052156122e6576122a5611bef8361010001518360a00151611f8f90919063ffffffff16565b6008840180545f906122c19084906001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b81545f90819081908190660100000000000090046001600160a01b031680156123795760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015612352573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237691906130fe565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106123d05760405162461bcd60e51b8152600401610ee691906131c9565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106124225760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b82011c16151590565b5f8061243f85611f26565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926124bc928692911690631da24f3e90602401602060405180830381865afa158015612498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906130fe565b6124c6919061319e565b90508381816124d7576124d76131b5565b04925050505b949350505050565b5f8215801590611f825750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106125315760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906130fe565b905080156125d0576125cd6125c686612d29565b8290611fcc565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa15801561261a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061263e91906130fe565b6126489082613129565b9050612654818561319e565b9050828181612665576126656131b5565b049695505050505050565b5f81156113881983900484111517612686575f80fd5b506127109102611388010490565b5f8115670de0b6b3a7640000600284041904841117156126b2575f80fd5b50670de0b6b3a76400009190910260028204010490565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f9283929116906370a0823190602401602060405180830381865afa158015612717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273b91906130fe565b6102208401516040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa158015612786573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127aa91906130fe565b915091509250929050565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b5f811561271060028404190484111715612815575f80fd5b506127109190910260028204010490565b5f6001600160801b0382111561288e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610ee6565b5090565b5f805f61289e86612d7f565b15612926575f6128ce877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa612dc2565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff169050801561292257600195509093509150610e249050565b5050505b505f9586955085945092505050565b81515f9060d41c64ffffffffff1615612b07575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015612985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a9919061313c565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a08919061313c565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6a919061313c565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015612ad4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af89190613215565b612b05575f915050612b16565b505b612b1386868686612de6565b90505b95945050505050565b5f80612b3264ffffffffff84164261324f565b612b3c908561319e565b6301e13380900490506124dd816b033b2e3c9fd0803ce8000000613129565b5f612b7d565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015612bbc5760208114612bed57612bb77f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f612b61565b611f89565b823b612be457612be47311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014612b61565b60019150611f89565b3d5f803e50505f511515919050565b5f611f828383425b5f80612c1764ffffffffff85168461324f565b9050805f03612c35576b033b2e3c9fd0803ce8000000915050611f82565b5f1981015f808060028511612c4a575f612c4f565b600285035b925066038882915c4000612c638a80611fcc565b81612c7057612c706131b5565b0491506301e13380612c82838b611fcc565b81612c8f57612c8f6131b5565b0490505f82612c9e868861319e565b612ca8919061319e565b6002900490505f8285612cbb888a61319e565b612cc5919061319e565b612ccf919061319e565b60069004905080826301e13380612ce68a8f61319e565b612cf09190613230565b612d06906b033b2e3c9fd0803ce8000000613129565b612d109190613129565b612d1a9190613129565b9b9a5050505050505050505050565b60038101545f90600160801b900464ffffffffff16428103612d57575050600201546001600160801b031690565b6002830154611f82906001600160801b0380821691611f7c91600160801b9091041684612bfc565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168015801590611f825750612dba60018261324f565b161592915050565b81515f9082165f198101198116825b60029190911c908115612b1657600101612dd1565b5f612df3825161ffff1690565b5f03612e0057505f6124dd565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16612e3f575060016124dd565b6040805160208101909152835481525f90612e5b908787612892565b5050905080158015612e765750825160d41c64ffffffffff16155b9695505050505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ef1612ef6565b905290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612f6b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b604051610120810167ffffffffffffffff81118282101715612fc357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114612fdd575f80fd5b50565b8035612feb81612fc9565b919050565b8015158114612fdd575f80fd5b8035612feb81612ff0565b803560ff81168114612feb575f80fd5b5f805f805f8587036101a081121561302e575f80fd5b8635955060208701359450604087013593506060870135925061012080607f198301121561305a575f80fd5b613062612f93565b91506080880135825260a0880135602083015261308160c08901612fe0565b604083015261309260e08901612fe0565b60608301526101006130a5818a01612fe0565b60808401526130b5828a01612ffd565b60a08401526130c76101408a01612fe0565b60c08401526130d96101608a01613008565b60e08401526130eb6101808a01612fe0565b9083015250949793965091945092919050565b5f6020828403121561310e575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156123e0576123e0613115565b5f6020828403121561314c575f80fd5b8151611f8281612fc9565b5f805f806080858703121561316a575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114613193575f80fd5b939692955090935050565b80820281158282048414176123e0576123e0613115565b634e487b7160e01b5f52601260045260245ffd5b5f602080835283518060208501525f5b818110156131f5578581018301518582016040015282016131d9565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215613225575f80fd5b8151611f8281612ff0565b5f8261324a57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156123e0576123e0613115565b5f8060408385031215613273575f80fd5b505080516020909101519092909150565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516132e660e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215613318575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b0381811683821601908082111561335157613351613115565b5092915050565b6001600160801b0382811682821603908082111561335157613351613115565b600181815b808511156133b257815f190482111561339857613398613115565b808516156133a557918102915b93841c939080029061337d565b509250929050565b5f826133c8575060016123e0565b816133d457505f6123e0565b81600181146133ea57600281146133f457613410565b60019150506123e0565b60ff84111561340557613405613115565b50506001821b6123e0565b5060208310610133831016604e8410600b8410161715613433575081810a6123e0565b61343d8383613378565b805f190482111561345057613450613115565b029392505050565b5f611f8283836133ba56fea26469706673582212206146e953a98fe41ffefe6cf16f278f24ca100cff895ccf96c8a512a58bc5d87164736f6c63430008160033', - methodIdentifiers: { - "CLOSE_FACTOR_HF_THRESHOLD()": "a18964a5", - "MAX_LIQUIDATION_CLOSE_FACTOR()": "d2467544", - "executeLiquidationCall(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(address => DataTypes.UserConfigurationMap) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.ExecuteLiquidationCallParams)": "83c1087d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts b/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts deleted file mode 100644 index 5a6139ccf..000000000 --- a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const LogExpMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=LogExpMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map b/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map deleted file mode 100644 index 24a9b1e91..000000000 --- a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LogExpMath.d.ts","sourceRoot":"","sources":["../src/LogExpMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LogExpMath.js b/packages/hyperdrive-artifacts/dist/LogExpMath.js deleted file mode 100644 index b2d873d63..000000000 --- a/packages/hyperdrive-artifacts/dist/LogExpMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const LogExpMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a7ae31eba8cbbe474fc4edb444ce6466d8851b8894c8fabbef6c85fec087fd8b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts b/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts deleted file mode 100644 index 1484662d7..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const LsETHBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=LsETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map deleted file mode 100644 index e805e3598..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHBase.d.ts","sourceRoot":"","sources":["../src/LsETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHBase.js b/packages/hyperdrive-artifacts/dist/LsETHBase.js deleted file mode 100644 index cd33bf6fa..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const LsETHBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts deleted file mode 100644 index 9f46f0bda..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const LsETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=LsETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map deleted file mode 100644 index 332312333..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHConversions.d.ts","sourceRoot":"","sources":["../src/LsETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHConversions.js b/packages/hyperdrive-artifacts/dist/LsETHConversions.js deleted file mode 100644 index b5a962f8b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const LsETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209d5db7ec6980c2d229484aeb5fcc070c9ed0f9de164c153a6930cff2a67f266164736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts deleted file mode 100644 index 540583e0b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts +++ /dev/null @@ -1,1322 +0,0 @@ -export declare const LsETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=LsETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map deleted file mode 100644 index bebc93586..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/LsETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAimD0jX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlmX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js deleted file mode 100644 index 4893dc4b0..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js +++ /dev/null @@ -1,1665 +0,0 @@ -export const LsETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 5597f1d6a..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const LsETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=LsETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 226cf1cbf..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/LsETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Kgxd,KAAK,MAAM,EAAE;;;;CAIp0d,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js deleted file mode 100644 index 3050f194b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const LsETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611d758061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611721806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033a2646970667358221220f7be1875d7e656592ea6a3b3ace152d4e855469045823d2b4f1054c041326c4164736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index cdab1721d..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,640 +0,0 @@ -export declare const LsETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_river"; - readonly type: "address"; - readonly internalType: "contract IRiverV1"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=LsETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index d0aa01763..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/LsETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4xB6qoB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBxuoB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 0bf99140b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,817 +0,0 @@ -export const LsETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_river", - "type": "address", - "internalType": "contract IRiverV1" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002864380380620028648339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124176200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124175ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602281526020016123c06022913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a1954906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe4c73455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122029f18a60d511243849abcb02a0025cd8a3816cf62af1871c536db183bf219d1c64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts deleted file mode 100644 index 1e214440c..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const LsETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=LsETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map deleted file mode 100644 index 3cb05ce3a..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget0.d.ts","sourceRoot":"","sources":["../src/LsETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2D6n8B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClq8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0.js b/packages/hyperdrive-artifacts/dist/LsETHTarget0.js deleted file mode 100644 index 636597e9e..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const LsETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts deleted file mode 100644 index dacf7dc7d..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map deleted file mode 100644 index 7eb13052e..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+lhC,KAAK,MAAM,EAAE;;;;CAI5ohC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js deleted file mode 100644 index cf3d867b5..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506141198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c41806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033a2646970667358221220f343c3e7e148a89c09d031cbd59095ac3b96e49cd08ff0ca686758db49ba03d164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts deleted file mode 100644 index 336350f88..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const LsETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=LsETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map deleted file mode 100644 index 8b93115e5..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget1.d.ts","sourceRoot":"","sources":["../src/LsETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu9Bug/B,KAAK,MAAM,EAAE;;;;;CAK5i/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1.js b/packages/hyperdrive-artifacts/dist/LsETHTarget1.js deleted file mode 100644 index 4145afd37..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1.js +++ /dev/null @@ -1,989 +0,0 @@ -export const LsETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts deleted file mode 100644 index 4ab3c4698..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map deleted file mode 100644 index 6f9df4a3b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iy+jC,KAAK,MAAM,EAAE;;;;CAIthkC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js deleted file mode 100644 index 6a4d34ecb..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143de8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f06806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033a264697066735822122088b745565ab42bc82166e5baea8efdaa396b7dfcf028a7f8e9575a1b1ba3ade364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts deleted file mode 100644 index 91d50fc64..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts +++ /dev/null @@ -1,814 +0,0 @@ -export declare const LsETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=LsETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map deleted file mode 100644 index b28d3e979..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget2.d.ts","sourceRoot":"","sources":["../src/LsETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg/B69/B,KAAK,MAAM,EAAE;;;;;CAKlggC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2.js b/packages/hyperdrive-artifacts/dist/LsETHTarget2.js deleted file mode 100644 index 056195e3c..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2.js +++ /dev/null @@ -1,1014 +0,0 @@ -export const LsETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts deleted file mode 100644 index 738768574..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map deleted file mode 100644 index 29b466f3b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+7kC,KAAK,MAAM,EAAE;;;;CAI5+kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js deleted file mode 100644 index 08f48725a..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ff1806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033a26469706673582212207d73663b82e38f835fb8794382fc090b25d044cc74c8fe28eed3f0b3ec8c31e564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts deleted file mode 100644 index b40067061..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts +++ /dev/null @@ -1,830 +0,0 @@ -export declare const LsETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=LsETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map deleted file mode 100644 index 0e96c6308..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget3.d.ts","sourceRoot":"","sources":["../src/LsETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAogCqr/B,KAAK,MAAM,EAAE;;;;;CAK1t/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3.js b/packages/hyperdrive-artifacts/dist/LsETHTarget3.js deleted file mode 100644 index dbd10153b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3.js +++ /dev/null @@ -1,1034 +0,0 @@ -export const LsETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts deleted file mode 100644 index 70ed120de..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map deleted file mode 100644 index 47290e9f3..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IupkC,KAAK,MAAM,EAAE;;;;CAIpskC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js deleted file mode 100644 index 7ed5daaef..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144358061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f5d806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033a264697066735822122006df82a14f352728812e93e6a8aeeea346a0378245d399a9901f3c0b3436fadd64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts deleted file mode 100644 index 669a3afdc..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const LsETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=LsETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map deleted file mode 100644 index 3c3c58abb..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget4.d.ts","sourceRoot":"","sources":["../src/LsETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy+B6nzB,KAAK,MAAM,EAAE;;;;;;CAMlqzB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4.js b/packages/hyperdrive-artifacts/dist/LsETHTarget4.js deleted file mode 100644 index f6bbab5f6..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4.js +++ /dev/null @@ -1,1008 +0,0 @@ -export const LsETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts deleted file mode 100644 index 890ec59d8..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map deleted file mode 100644 index ae720bf54..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+l4B,KAAK,MAAM,EAAE;;;;CAI5o4B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js deleted file mode 100644 index f32c24ba5..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506138198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613341806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033a264697066735822122032337d777fe41b5e1cc5afa2bd4c2f65dc91b81f04d5c9aa173e3c8000a2919664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts b/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts deleted file mode 100644 index bf9d3f11f..000000000 --- a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MarketParamsLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MarketParamsLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map deleted file mode 100644 index c856fb498..000000000 --- a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MarketParamsLib.d.ts","sourceRoot":"","sources":["../src/MarketParamsLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MarketParamsLib.js b/packages/hyperdrive-artifacts/dist/MarketParamsLib.js deleted file mode 100644 index 0a832d3b7..000000000 --- a/packages/hyperdrive-artifacts/dist/MarketParamsLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MarketParamsLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122031444d7f5f1f63ef5c0308d0289cefdf8702fc71a78dac4dac0fda1a01a5652064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MathLib.d.ts b/packages/hyperdrive-artifacts/dist/MathLib.d.ts deleted file mode 100644 index cac0c2934..000000000 --- a/packages/hyperdrive-artifacts/dist/MathLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MathLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MathLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MathLib.d.ts.map deleted file mode 100644 index 697362fac..000000000 --- a/packages/hyperdrive-artifacts/dist/MathLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MathLib.d.ts","sourceRoot":"","sources":["../src/MathLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathLib.js b/packages/hyperdrive-artifacts/dist/MathLib.js deleted file mode 100644 index 9692d19a5..000000000 --- a/packages/hyperdrive-artifacts/dist/MathLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MathLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c912a4a5d188887fc5062ff216a835e09a18a3120d2553727a4195c13a6f99bd64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts b/packages/hyperdrive-artifacts/dist/MathUtils.d.ts deleted file mode 100644 index dc244a4a2..000000000 --- a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MathUtils: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MathUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map deleted file mode 100644 index 5662ebec7..000000000 --- a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MathUtils.d.ts","sourceRoot":"","sources":["../src/MathUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathUtils.js b/packages/hyperdrive-artifacts/dist/MathUtils.js deleted file mode 100644 index e1a4d486d..000000000 --- a/packages/hyperdrive-artifacts/dist/MathUtils.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MathUtils = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ba89e29cd8b3564a1696094e98965aba260220cb5dd61b2540ce51ca1b55258264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts b/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts deleted file mode 100644 index ecfa78208..000000000 --- a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts +++ /dev/null @@ -1,79 +0,0 @@ -export declare const MockAssetId: { - abi: readonly [{ - readonly type: "function"; - readonly name: "assetIdToName"; - readonly inputs: readonly [{ - readonly name: "_id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assetIdToSymbol"; - readonly inputs: readonly [{ - readonly name: "_id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "decodeAssetId"; - readonly inputs: readonly [{ - readonly name: "_id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "enum AssetId.AssetIdPrefix"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "encodeAssetId"; - readonly inputs: readonly [{ - readonly name: "_prefix"; - readonly type: "uint8"; - readonly internalType: "enum AssetId.AssetIdPrefix"; - }, { - readonly name: "_timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "assetIdToName(uint256)": "3c8c28ad"; - readonly "assetIdToSymbol(uint256)": "957462ac"; - readonly "decodeAssetId(uint256)": "6322c751"; - readonly "encodeAssetId(uint8,uint256)": "8a227c39"; - }; -}; -//# sourceMappingURL=MockAssetId.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map b/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map deleted file mode 100644 index 298cee8c9..000000000 --- a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockAssetId.d.ts","sourceRoot":"","sources":["../src/MockAssetId.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Fo2G,KAAK,MAAM,EAAE;;;;;;;CAOx4G,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockAssetId.js b/packages/hyperdrive-artifacts/dist/MockAssetId.js deleted file mode 100644 index 0b2fd450c..000000000 --- a/packages/hyperdrive-artifacts/dist/MockAssetId.js +++ /dev/null @@ -1,102 +0,0 @@ -export const MockAssetId = { - abi: [ - { - "type": "function", - "name": "assetIdToName", - "inputs": [ - { - "name": "_id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assetIdToSymbol", - "inputs": [ - { - "name": "_id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "decodeAssetId", - "inputs": [ - { - "name": "_id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum AssetId.AssetIdPrefix" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "encodeAssetId", - "inputs": [ - { - "name": "_prefix", - "type": "uint8", - "internalType": "enum AssetId.AssetIdPrefix" - }, - { - "name": "_timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506106978061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633c8c28ad1461004e5780636322c751146100775780638a227c39146100a7578063957462ac146100c8575b5f80fd5b61006161005c366004610418565b6100db565b60405161006e9190610451565b60405180910390f35b610099610085366004610418565b60f881901c916001600160f81b0390911690565b60405161006e929190610497565b6100ba6100b53660046104c1565b6100ee565b60405190815260200161006e565b6100616100d6366004610418565b610104565b60605f6100e783610110565b9392505050565b5f806100fa8484610236565b9150505b92915050565b60605f6100e78361026a565b606060f882901c6001600160f81b0383165f61012b82610366565b90505f83600381111561014057610140610483565b03610172576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061022e565b600183600381111561018657610186610483565b036101b2578060405160200161019c91906104ee565b604051602081830303815290604052935061022e565b60028360038111156101c6576101c6610483565b036101dc578060405160200161019c9190610526565b60038360038111156101f0576101f0610483565b0361022e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b5f6001600160f81b0382111561025f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b606060f882901c6001600160f81b0383165f61028582610366565b90505f83600381111561029a5761029a610483565b036102cc576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061022e565b60018360038111156102e0576102e0610483565b036102f6578060405160200161019c919061055f565b600283600381111561030a5761030a610483565b03610320578060405160200161019c9190610596565b600383600381111561033457610334610483565b0361022e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561040a5761039f600a866105d5565b6103aa9060306105fc565b60f81b8260016103ba848761060f565b6103c4919061060f565b815181106103d4576103d4610622565b60200101906001600160f81b03191690815f1a905350806103f481610636565b91506104039050600a8661064e565b945061038e565b918290030190815292915050565b5f60208284031215610428575f80fd5b5035919050565b5f5b83811015610449578181015183820152602001610431565b50505f910152565b602081525f825180602084015261046f81604085016020870161042f565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52602160045260245ffd5b60408101600484106104b757634e487b7160e01b5f52602160045260245ffd5b9281526020015290565b5f80604083850312156104d2575f80fd5b8235600481106104e0575f80fd5b946020939093013593505050565b700243cb832b9323934bb32902637b7339d1607d1b81525f825161051981601185016020870161042f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161055281601285016020870161042f565b9190910160120192915050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161058981601085016020870161042f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161051981601185016020870161042f565b634e487b7160e01b5f52601260045260245ffd5b5f826105e3576105e36105c1565b500690565b634e487b7160e01b5f52601160045260245ffd5b808201808211156100fe576100fe6105e8565b818103818111156100fe576100fe6105e8565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610647576106476105e8565b5060010190565b5f8261065c5761065c6105c1565b50049056fea26469706673582212205327d1e54afe35ed1ee04f2e4a2093f1fd8b6ffa6ec72da32b2058d26cdba1e264736f6c63430008160033', - methodIdentifiers: { - "assetIdToName(uint256)": "3c8c28ad", - "assetIdToSymbol(uint256)": "957462ac", - "decodeAssetId(uint256)": "6322c751", - "encodeAssetId(uint8,uint256)": "8a227c39" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts b/packages/hyperdrive-artifacts/dist/MockERC20.d.ts deleted file mode 100644 index 8c3e542f7..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts +++ /dev/null @@ -1,266 +0,0 @@ -export declare const MockERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "name_"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "symbol_"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "decimals_"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "initialize(string,string,uint8)": "1624f6c6"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=MockERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map deleted file mode 100644 index e2cc3d4d9..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC20.d.ts","sourceRoot":"","sources":["../src/MockERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmU4oO,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgB9qO,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC20.js b/packages/hyperdrive-artifacts/dist/MockERC20.js deleted file mode 100644 index 7fe893881..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC20.js +++ /dev/null @@ -1,340 +0,0 @@ -export const MockERC20 = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "name_", - "type": "string", - "internalType": "string" - }, - { - "name": "symbol_", - "type": "string", - "internalType": "string" - }, - { - "name": "decimals_", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50610e2a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f80fd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f80fd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f80fd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109c0565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a95565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610b04565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b3d565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b3d565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109c0565b6104f0565b6101236101d7366004610b56565b610584565b6101296101ea366004610bbb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bec565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bec565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c70565b5060016103758382610c70565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bec565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d44565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d5c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dce565b9392505050565b5f806109038385610de1565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b5f602080835283518060208501525f5b8181101561098557858101830151858201604001528201610969565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109bb575f80fd5b919050565b5f80604083850312156109d1575f80fd5b6109da836109a5565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610a0b575f80fd5b813567ffffffffffffffff80821115610a2657610a266109e8565b604051601f8301601f19908116603f01168101908282118183101715610a4e57610a4e6109e8565b81604052838152866020858801011115610a66575f80fd5b836020870160208301375f602085830101528094505050505092915050565b803560ff811681146109bb575f80fd5b5f805f60608486031215610aa7575f80fd5b833567ffffffffffffffff80821115610abe575f80fd5b610aca878388016109fc565b94506020860135915080821115610adf575f80fd5b50610aec868287016109fc565b925050610afb60408501610a85565b90509250925092565b5f805f60608486031215610b16575f80fd5b610b1f846109a5565b9250610b2d602085016109a5565b9150604084013590509250925092565b5f60208284031215610b4d575f80fd5b6108f0826109a5565b5f805f805f805f60e0888a031215610b6c575f80fd5b610b75886109a5565b9650610b83602089016109a5565b95506040880135945060608801359350610b9f60808901610a85565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215610bcc575f80fd5b610bd5836109a5565b9150610be3602084016109a5565b90509250929050565b600181811c90821680610c0057607f821691505b602082108103610c1e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c6b57805f5260205f20601f840160051c81016020851015610c495750805b601f840160051c820191505b81811015610c68575f8155600101610c55565b50505b505050565b815167ffffffffffffffff811115610c8a57610c8a6109e8565b610c9e81610c988454610bec565b84610c24565b602080601f831160018114610cd1575f8415610cba5750858301515b5f19600386901b1c1916600185901b178555610d28565b5f85815260208120601f198616915b82811015610cff57888601518255948401946001909101908401610ce0565b5085821015610d1c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d5557610d55610d30565b5060010190565b5f808354610d6981610bec565b60018281168015610d815760018114610d9657610dc2565b60ff1984168752821515830287019450610dc2565b875f526020805f205f5b85811015610db95781548a820152908401908201610da0565b50505082870194505b50929695505050505050565b8181038181111561030957610309610d30565b8082018082111561030957610309610d3056fea2646970667358221220295056d0f2f98f7eb1cdc696155c64cd99bd469bddf81f68980e7d4003d74a1664736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "initialize(string,string,uint8)": "1624f6c6", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts b/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts deleted file mode 100644 index a76518ea5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts +++ /dev/null @@ -1,1075 +0,0 @@ -export declare const MockERC4626: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_asset"; - readonly type: "address"; - readonly internalType: "contract ERC20Mintable"; - }, { - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_symbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "_assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getRate()": "679aefce"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxMintAmount()": "239c70ae"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalAssets(uint256)": "94605857"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "withdraw(uint256,address,address)": "b460af94"; - }; -}; -//# sourceMappingURL=MockERC4626.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map deleted file mode 100644 index 474f5f5d5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC4626.d.ts","sourceRoot":"","sources":["../src/MockERC4626.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+yC8hvB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DlkvB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626.js b/packages/hyperdrive-artifacts/dist/MockERC4626.js deleted file mode 100644 index 8150bc6d2..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626.js +++ /dev/null @@ -1,1386 +0,0 @@ -export const MockERC4626 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_asset", - "type": "address", - "internalType": "contract ERC20Mintable" - }, - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_symbol", - "type": "string", - "internalType": "string" - }, - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "_assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x61012060405234801562000011575f80fd5b5060405162002f1138038062002f11833981016040819052620000349162000307565b823081818a8a8a8181846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000a09190620003c2565b5f620000ad848262000475565b506001620000bc838262000475565b5060ff81166080524660a052620000d262000194565b60c0525050506001600160a01b0392831660e0525050600680548483166001600160a01b0319918216811790925560078054938516939091169290921790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a3505050600c9490945542600d5590151561010052600e5550620005bb9350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001c6919062000541565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038116811462000243575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200026a575f80fd5b81516001600160401b038082111562000287576200028762000246565b604051601f8301601f19908116603f01168101908282118183101715620002b257620002b262000246565b8160405283815260209250866020858801011115620002cf575f80fd5b5f91505b83821015620002f25785820183015181830184015290820190620002d3565b5f602085830101528094505050505092915050565b5f805f805f805f60e0888a0312156200031e575f80fd5b87516200032b816200022e565b60208901519097506001600160401b038082111562000348575f80fd5b620003568b838c016200025a565b975060408a01519150808211156200036c575f80fd5b506200037b8a828b016200025a565b95505060608801519350608088015162000395816200022e565b60a08901519093508015158114620003ab575f80fd5b8092505060c0880151905092959891949750929550565b5f60208284031215620003d3575f80fd5b815160ff81168114620003e4575f80fd5b9392505050565b600181811c908216806200040057607f821691505b6020821081036200041f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200047057805f5260205f20601f840160051c810160208510156200044c5750805b601f840160051c820191505b818110156200046d575f815560010162000458565b50505b505050565b81516001600160401b0381111562000491576200049162000246565b620004a981620004a28454620003eb565b8462000425565b602080601f831160018114620004df575f8415620004c75750858301515b5f19600386901b1c1916600185901b17855562000539565b5f85815260208120601f198616915b828110156200050f57888601518255948401946001909101908401620004ee565b50858210156200052d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8083546200055081620003eb565b600182811680156200056b57600181146200058157620005af565b60ff1984168752821515830287019450620005af565b875f526020805f205f5b85811015620005a65781548a8201529084019082016200058b565b50505082870194505b50929695505050505050565b60805160a05160c05160e051610100516128936200067e5f395f81816105c30152818161091601528181610a5701528181610ced01528181610da601528181610ef601528181611375015261145901525f81816104c40152818161089401528181610e6501528181610f4d015281816112d8015281816113cc0152818161151801528181611ac001528181611c4301528181611e4e01528181611ee501528181612033015261217001525f610d8201525f610d5201525f61047001526128935ff3fe608060405234801561000f575f80fd5b506004361061034d575f3560e01c80637a8c63b5116101c9578063ba087652116100fe578063d905777e1161009e578063ea7ca27611610079578063ea7ca276146107fa578063ed0d0efb14610830578063ef8b30f71461084f578063f2fde38b14610862575f80fd5b8063d905777e14610773578063dd62ed3e1461079b578063e688747b146107c5575f80fd5b8063c63d75b6116100d9578063c63d75b6146104fe578063c6e6f5921461073a578063ce96cb771461074d578063d505accf14610760575f80fd5b8063ba087652146106ec578063bf7e214f146106ff578063c53a398514610712575f80fd5b80639dc29fac11610169578063aed3077711610144578063aed3077714610691578063b3d7f6b9146106b3578063b460af94146106c6578063b7009613146106d9575f80fd5b80639dc29fac14610658578063a0712d681461066b578063a9059cbb1461067e575f80fd5b80638da5cb5b116101a45780638da5cb5b14610617578063946058571461062a57806394bf804d1461063d57806395d89b4114610650575f80fd5b80637a8c63b5146105be5780637a9e5e4b146105e55780637ecebe00146105f8575f80fd5b8063313ce5671161029f5780634b5159da1161023f57806367aff4841161021a57806367aff484146105665780636e553f651461057957806370a082311461058c578063728b952b146105ab575f80fd5b80634b5159da146105385780634cdad5061461054b578063679aefce1461055e575f80fd5b806338d52e0f1161027a57806338d52e0f146104bf578063402d267d146104fe57806340c10f191461051257806342966c6814610525575f80fd5b8063313ce5671461046b57806334fcf437146104a45780633644e515146104b7575f80fd5b8063095ea7b31161030a5780630ea9b75b116102e55780630ea9b75b1461043357806318160ddd14610446578063239c70ae1461044f57806323b872dd14610458575f80fd5b8063095ea7b3146103db5780630a28a477146103fe5780630bade8a414610411575f80fd5b806301e1d1141461035157806305f05a941461036c57806306a36aee1461038157806306fdde03146103a057806307a2d13a146103b5578063088a4ed0146103c8575b5f80fd5b610359610875565b6040519081526020015b60405180910390f35b61037f61037a3660046122fb565b610914565b005b61035961038f366004612332565b60096020525f908152604090205481565b6103a861099e565b604051610363919061234d565b6103596103c3366004612399565b610a29565b61037f6103d6366004612399565b610a55565b6103ee6103e93660046123b0565b610ab1565b6040519015158152602001610363565b61035961040c366004612399565b610b1d565b6103ee61041f3660046123f6565b600a6020525f908152604090205460ff1681565b61037f61044136600461241f565b610b3c565b61035960025481565b610359600e5481565b6103ee610466366004612463565b610c11565b6104927f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610363565b61037f6104b2366004612399565b610ceb565b610359610d4f565b6104e67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610363565b61035961050c366004612332565b505f1990565b61037f6105203660046123b0565b610da4565b61037f610533366004612399565b610ef4565b61037f6105463660046124a1565b610fdb565b610359610559366004612399565b61106b565b600c54610359565b61037f6105743660046124bb565b611075565b6103596105873660046124e6565b61113a565b61035961059a366004612332565b60036020525f908152604090205481565b61037f6105b9366004612509565b61114d565b6103ee7f000000000000000000000000000000000000000000000000000000000000000081565b61037f6105f3366004612332565b6111d4565b610359610606366004612332565b60056020525f908152604090205481565b6006546104e6906001600160a01b031681565b610359610638366004612399565b6112b9565b61035961064b3660046124e6565b611353565b6103a8611366565b61037f6106663660046123b0565b611373565b61037f610679366004612399565b611457565b6103ee61068c3660046123b0565b6115a3565b6103ee61069f366004612332565b600f6020525f908152604090205460ff1681565b6103596106c1366004612399565b611606565b6103596106d4366004612535565b611624565b6103ee6106e7366004612569565b611640565b6103596106fa366004612535565b611739565b6007546104e6906001600160a01b031681565b6104e6610720366004612332565b60086020525f90815260409020546001600160a01b031681565b610359610748366004612399565b61174d565b61035961075b366004612332565b61176c565b61037f61076e3660046125ad565b61178d565b610359610781366004612332565b6001600160a01b03165f9081526003602052604090205490565b6103596107a9366004612509565b600460209081525f928352604080842090915290825290205481565b6103ee6107d3366004612616565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6103ee610808366004612647565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61035961083e3660046123f6565b600b6020525f908152604090205481565b61035961085d366004612399565b6119cb565b61037f610870366004612332565b6119d5565b5f61087f42611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190612671565b61090f919061269c565b905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109745761094f335f356001600160e01b031916611b37565b6109745760405162461bcd60e51b815260040161096b906126af565b60405180910390fd5b6001600160a01b03919091165f908152600f60205260409020805460ff1916911515919091179055565b5f80546109aa906126e6565b80601f01602080910402602001604051908101604052809291908181526020018280546109d6906126e6565b8015610a215780601f106109f857610100808354040283529160200191610a21565b820191905f5260205f20905b815481529060010190602001808311610a0457829003601f168201915b505050505081565b6002545f908015610a4c57610a47610a3f610875565b849083611bdd565b610a4e565b825b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610aac57610a90335f356001600160e01b031916611b37565b610aac5760405162461bcd60e51b815260040161096b906126af565b600e55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b0b9086815260200190565b60405180910390a35060015b92915050565b6002545f908015610a4c57610a4781610b34610875565b859190611bf8565b610b51335f356001600160e01b031916611b37565b610b6d5760405162461bcd60e51b815260040161096b9061271e565b8015610b9c576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610bc2565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610c04911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610c6a57610c468382612744565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610c91908490612744565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f8051602061283e83398151915290610cd89087815260200190565b60405180910390a3506001949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015610d4257610d26335f356001600160e01b031916611b37565b610d425760405162461bcd60e51b815260040161096b906126af565b610d4a611c1b565b600c55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610d7f5761090f611caa565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610dfb57610ddf335f356001600160e01b031916611b37565b610dfb5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff16610e6357600e54811115610e635760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d68610e9b83610a29565b6040518263ffffffff1660e01b8152600401610eb991815260200190565b5f604051808303815f87803b158015610ed0575f80fd5b505af1158015610ee2573d5f803e3d5ffd5b50505050610ef08282611d42565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610f4b57610f2f335f356001600160e01b031916611b37565b610f4b5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c68610f8383610a29565b6040518263ffffffff1660e01b8152600401610fa191815260200190565b5f604051808303815f87803b158015610fb8575f80fd5b505af1158015610fca573d5f803e3d5ffd5b50505050610fd83382611d99565b50565b610ff0335f356001600160e01b031916611b37565b61100c5760405162461bcd60e51b815260040161096b9061271e565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b5f610b1782610a29565b61108a335f356001600160e01b031916611b37565b6110a65760405162461bcd60e51b815260040161096b9061271e565b80156110d4576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556110f9565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610c04911515815260200190565b5f611143611c1b565b610a4e8383611df8565b611162335f356001600160e01b031916611b37565b61117e5760405162461bcd60e51b815260040161096b9061271e565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480611266575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061122790339030906001600160e01b03195f351690600401612757565b602060405180830381865afa158015611242573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112669190612784565b61126e575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f6112c382611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611325573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190612671565b610b17919061269c565b5f61135c611c1b565b610a4e8383611ecc565b600180546109aa906126e6565b7f0000000000000000000000000000000000000000000000000000000000000000156113ca576113ae335f356001600160e01b031916611b37565b6113ca5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c6861140283610a29565b6040518263ffffffff1660e01b815260040161142091815260200190565b5f604051808303815f87803b158015611437575f80fd5b505af1158015611449573d5f803e3d5ffd5b50505050610ef08282611d99565b7f0000000000000000000000000000000000000000000000000000000000000000156114ae57611492335f356001600160e01b031916611b37565b6114ae5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff1661151657600e548111156115165760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d6861154e83610a29565b6040518263ffffffff1660e01b815260040161156c91815260200190565b5f604051808303815f87803b158015611583575f80fd5b505af1158015611595573d5f803e3d5ffd5b50505050610fd83382611d42565b335f908152600360205260408120805483919083906115c3908490612744565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f8051602061283e83398151915290610b0b9086815260200190565b6002545f908015610a4c57610a4761161c610875565b849083611bf8565b5f61162d611c1b565b611638848484611f5a565b949350505050565b6001600160a01b038083165f9081526008602052604081205490911680156116d95760405163b700961360e01b81526001600160a01b0382169063b70096139061169290889088908890600401612757565b602060405180830381865afa1580156116ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d19190612784565b915050610a4e565b6001600160e01b031983165f908152600a602052604090205460ff168061173057506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f611742611c1b565b61163884848461205a565b6002545f908015610a4c57610a4781611764610875565b859190611bdd565b6001600160a01b0381165f90815260036020526040812054610b1790610a29565b428410156117dd5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161096b565b5f60016117e8610d4f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156118f0573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119265750876001600160a01b0316816001600160a01b0316145b6119635760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161096b565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f610b178261174d565b6119ea335f356001600160e01b031916611b37565b611a065760405162461bcd60e51b815260040161096b9061271e565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b5f600c545f03611a6257505f919050565b600d54821015611a7357505f919050565b5f611a906301e13380600d5485611a8a9190612744565b90612197565b90505f611638611aab83600c546121ab90919063ffffffff16565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b319190612671565b906121ab565b6007545f906001600160a01b03168015801590611bbe575060405163b700961360e01b81526001600160a01b0382169063b700961390611b7f90879030908890600401612757565b602060405180830381865afa158015611b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbe9190612784565b8061163857506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bf1575f80fd5b5091020490565b5f825f190484118302158202611c0c575f80fd5b50910281810615159190040190565b5f611c2542611a51565b90508015611ca35760405163140e25ad60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a0712d68906024015f604051808303815f87803b158015611c8c575f80fd5b505af1158015611c9e573d5f803e3d5ffd5b505050505b5042600d55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611cda919061279f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f828254611d53919061269c565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f8051602061283e83398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611dc0908490612744565b90915550506002805482900390556040518181525f906001600160a01b038416905f8051602061283e83398151915290602001611d8d565b5f611e02836119cb565b9050805f03611e415760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f53484152455360a81b604482015260640161096b565b611e766001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866121bf565b611e808282611d42565b60408051848152602081018390526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a3610b17565b5f611ed683611606565b9050611f0d6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846121bf565b611f178284611d42565b60408051828152602081018590526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79101611ebf565b5f611f6484610b1d565b9050336001600160a01b03831614611fd1576001600160a01b0382165f9081526004602090815260408083203384529091529020545f198114611fcf57611fab8282612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b611fdb8282611d99565b60408051858152602081018390526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612257565b5f336001600160a01b038316146120c6576001600160a01b0382165f9081526004602090815260408083203384529091529020545f1981146120c4576120a08582612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b6120cf8461106b565b9050805f0361210e5760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f41535345545360a81b604482015260640161096b565b6121188285611d99565b60408051828152602081018690526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483612257565b5f610a4e83670de0b6b3a764000084611bdd565b5f610a4e8383670de0b6b3a7640000611bdd565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f5114161716915050806122505760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b604482015260640161096b565b5050505050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806122d45760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640161096b565b50505050565b6001600160a01b0381168114610fd8575f80fd5b8015158114610fd8575f80fd5b5f806040838503121561230c575f80fd5b8235612317816122da565b91506020830135612327816122ee565b809150509250929050565b5f60208284031215612342575f80fd5b8135610a4e816122da565b5f602080835283518060208501525f5b818110156123795785810183015185820160400152820161235d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156123a9575f80fd5b5035919050565b5f80604083850312156123c1575f80fd5b82356123cc816122da565b946020939093013593505050565b80356001600160e01b0319811681146123f1575f80fd5b919050565b5f60208284031215612406575f80fd5b610a4e826123da565b803560ff811681146123f1575f80fd5b5f805f60608486031215612431575f80fd5b61243a8461240f565b9250612448602085016123da565b91506040840135612458816122ee565b809150509250925092565b5f805f60608486031215612475575f80fd5b8335612480816122da565b92506020840135612490816122da565b929592945050506040919091013590565b5f80604083850312156124b2575f80fd5b612317836123da565b5f805f606084860312156124cd575f80fd5b83356124d8816122da565b92506124486020850161240f565b5f80604083850312156124f7575f80fd5b823591506020830135612327816122da565b5f806040838503121561251a575f80fd5b8235612525816122da565b91506020830135612327816122da565b5f805f60608486031215612547575f80fd5b833592506020840135612559816122da565b91506040840135612458816122da565b5f805f6060848603121561257b575f80fd5b8335612586816122da565b92506020840135612596816122da565b91506125a4604085016123da565b90509250925092565b5f805f805f805f60e0888a0312156125c3575f80fd5b87356125ce816122da565b965060208801356125de816122da565b955060408801359450606088013593506125fa6080890161240f565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612627575f80fd5b6126308361240f565b915061263e602084016123da565b90509250929050565b5f8060408385031215612658575f80fd5b8235612663816122da565b915061263e6020840161240f565b5f60208284031215612681575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610b1757610b17612688565b6020808252601b908201527f4d6f636b455243343632363a206e6f7420617574686f72697a65640000000000604082015260600190565b600181811c908216806126fa57607f821691505b60208210810361271857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b81810381811115610b1757610b17612688565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215612794575f80fd5b8151610a4e816122ee565b5f8083545f60018260011c915060018316806127bc57607f831692505b602080841082036127db57634e487b7160e01b5f52602260045260245ffd5b8180156127ef57600181146128045761282f565b60ff198616895284151585028901965061282f565b5f8a8152602090205f5b868110156128275781548b82015290850190830161280e565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b220b2d5d9ce4fd8847df228ec894fd939f3199032d19ba586c75609726f1c8364736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getRate()": "679aefce", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxMintAmount()": "239c70ae", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalAssets(uint256)": "94605857", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "withdraw(uint256,address,address)": "b460af94" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts deleted file mode 100644 index 79f13718c..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts +++ /dev/null @@ -1,1441 +0,0 @@ -export declare const MockERC4626Hyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "sharesMinted"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "pricePerVaultShare"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_sharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "deposit(uint256,(address,bool,bytes))": "829555d4"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "pricePerVaultShare()": "daaa35fe"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "withdraw(uint256,uint256,(address,bool,bytes))": "a3144531"; - }; -}; -//# sourceMappingURL=MockERC4626Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map deleted file mode 100644 index 273d92e5e..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC4626Hyperdrive.d.ts","sourceRoot":"","sources":["../src/MockERC4626Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0vDo4lB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCl7lB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js b/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js deleted file mode 100644 index 97c4a8cdf..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js +++ /dev/null @@ -1,1821 +0,0 @@ -export const MockERC4626Hyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "sharesMinted", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pricePerVaultShare", - "inputs": [], - "outputs": [ - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_sharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "amountWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620025c9380380620025c98339810160408190526200003491620006be565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890889088908890889088908890889088906200010a898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b5162000150955090911692509050600162000166565b5050505050505050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001c090859083906200023116565b6200022b57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021f918691620002db16565b6200022b8482620002db565b50505050565b5f805f846001600160a01b0316846040516200024e919062000934565b5f604051808303815f865af19150503d805f811462000289576040519150601f19603f3d011682016040523d82523d5f602084013e6200028e565b606091505b5091509150818015620002bc575080511580620002bc575080806020019051810190620002bc919062000951565b8015620002d257505f856001600160a01b03163b115b95945050505050565b5f620002f16001600160a01b038416836200034c565b905080515f141580156200031857508080602001905181019062000316919062000951565b155b156200034757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035b83835f62000362565b9392505050565b606081471015620003895760405163cd78605960e01b81523060048201526024016200033e565b5f80856001600160a01b03168486604051620003a6919062000934565b5f6040518083038185875af1925050503d805f8114620003e2576040519150601f19603f3d011682016040523d82523d5f602084013e620003e7565b606091505b509092509050620003fa86838362000404565b9695505050505050565b6060826200041d57620004178262000468565b6200035b565b81511580156200043557506001600160a01b0384163b155b156200046057604051639996b31560e01b81526001600160a01b03851660048201526024016200033e565b50806200035b565b805115620004795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004cc57620004cc62000492565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004fd57620004fd62000492565b604052919050565b5f5b838110156200052157818101518382015260200162000507565b50505f910152565b80516001600160a01b038116811462000540575f80fd5b919050565b5f6080828403121562000556575f80fd5b604051608081016001600160401b03811182821017156200057b576200057b62000492565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005be575f80fd5b620005c8620004a6565b9050620005d58262000529565b8152620005e56020830162000529565b6020820152620005f86040830162000529565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200066381840162000529565b908201526101806200067783820162000529565b908201526101a06200068b83820162000529565b908201526101c06200069f83820162000529565b908201526101e0620006b48484830162000545565b9082015292915050565b5f805f805f805f80610340898b031215620006d7575f80fd5b88516001600160401b0380821115620006ee575f80fd5b818b0191508b601f83011262000702575f80fd5b81518181111562000717576200071762000492565b6200072c601f8201601f1916602001620004d2565b91508082528c602082850101111562000743575f80fd5b6200075681602084016020860162000505565b5098506200076a90508a60208b01620005ac565b96506200077b6102808a0162000529565b95506200078c6102a08a0162000529565b94506200079d6102c08a0162000529565b9350620007ae6102e08a0162000529565b9250620007bf6103008a0162000529565b9150620007d06103208a0162000529565b90509295985092959890939650565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200034757805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000492565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200094781846020870162000505565b9190910192915050565b5f6020828403121562000962575f80fd5b815180151581146200035b575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611afb62000ace5f395f8181610646015281816106b001526107a701525f81816105ad015281816107d6015261083301525f818161056701526109f701525f8181610613015261074501525f81816101eb015281816103a301528181610681015281816106e20152818161071401528181610778015281816108090152818161087b015281816109b00152610a3801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f8181610cbc01528181610d3501528181610dc001528181610e0b01528181610eeb01528181611016015261104301525f8181610c8f01528181610cf001528181610e530152610f820152611afb5ff3fe6080604052600436106101d7575f3560e01c80639032c72611610101578063d899e11211610094578063e44808bc11610063578063e44808bc146105e3578063eac3e79914610602578063f3f7070714610635578063f698da2514610668576101d7565b8063d899e1121461059c578063daaa35fe146105cf578063dbbe807014610589578063ded06231146103dd576101d7565b8063a6e8a859116100d0578063a6e8a85914610556578063ab033ea9146102e0578063cba2e58d14610589578063cbc134341461031b576101d7565b80639032c726146104f95780639cd241af14610518578063a22cb465146104a8578063a314453114610537576101d7565b806330adf81f116101795780634ed2d6ac116101485780634ed2d6ac1461048e5780637180c8ca146104a857806377d05ff4146104c7578063829555d4146104da576101d7565b806330adf81f1461040a5780633e691db91461043d578063414f826d1461045c5780634c2ac1d91461047b576101d7565b806317fad7fc116101b557806317fad7fc146103545780631c0f12b61461037357806321b57d531461039257806329b23fc1146103dd576101d7565b806301681a62146102e057806302329a2914610301578063074a6de91461031b575b3480156101e2575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161022392919061144f565b5f60405180830381855af49150503d805f811461025b576040519150601f19603f3d011682016040523d82523d5f602084013e610260565b606091505b5091509150811561028457604051638bb0a34b60e01b815260040160405180910390fd5b5f61028e8261145e565b90506001600160e01b03198116636e64089360e11b146102b057815160208301fd5b8151600319810160048401908152926102d1918101602001906024016114cb565b80519650602001945050505050f35b3480156102eb575f80fd5b506102ff6102fa366004611587565b61067c565b005b34801561030c575f80fd5b506102ff6102fa3660046115af565b348015610326575f80fd5b5061033a6103353660046115da565b6106a9565b604080519283526020830191909152015b60405180910390f35b34801561035f575f80fd5b506102ff61036e366004611667565b6106dd565b34801561037e575f80fd5b506102ff61038d3660046116f6565b61070f565b34801561039d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034b565b3480156103e8575f80fd5b506103fc6103f736600461173b565b61073f565b60405190815260200161034b565b348015610415575f80fd5b506103fc7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610448575f80fd5b506103fc610457366004611791565b610772565b348015610467575f80fd5b506102ff6104763660046117cb565b6107a2565b6103fc6104893660046117eb565b6107d0565b348015610499575f80fd5b506102ff61038d36600461184a565b3480156104b3575f80fd5b506102ff6104c2366004611891565b610804565b6103fc6104d53660046115da565b61082d565b3480156104e5575f80fd5b5061033a6104f43660046118c8565b61085f565b348015610504575f80fd5b506102ff61051336600461190c565b610877565b348015610523575f80fd5b506102ff610532366004611986565b6109ab565b348015610542575f80fd5b506103fc6105513660046115da565b6109da565b348015610561575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b61033a61059736600461173b565b6109f0565b3480156105a7575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156105da575f80fd5b506103fc610a25565b3480156105ee575f80fd5b506102ff6105fd3660046119bb565b610a33565b34801561060d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610640575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610673575f80fd5b506103fc610a64565b6106a57f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050565b5f806106d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50935093915050565b6107067f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050505050565b6107387f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050505050565b5f6107697f0000000000000000000000000000000000000000000000000000000000000000610af2565b50949350505050565b5f61079c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b50919050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050565b5f6107fa7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5095945050505050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5f6108577f0000000000000000000000000000000000000000000000000000000000000000610af2565b509392505050565b5f8061086b8484610b10565b915091505b9250929050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108ab610a64565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109549190611a16565b5f60405180830381855af49150503d805f811461098c576040519150601f19603f3d011682016040523d82523d5f602084013e610991565b606091505b5091509150816109a357805160208201fd5b805160208201f35b6109d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050565b5f6109e6848484610be0565b90505b9392505050565b5f80610a1b7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5094509492505050565b5f610a2e610c6e565b905090565b610a5c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095492919061144f565b815f80610b2360408501602086016115af565b15610b4857610b3e85610b396040870187611a31565b610c80565b9093509050610b60565b5034610b6085610b5b6040870187611a31565b610db3565b610b68610c6e565b91508015610bd8576040515f90339083908381818185875af1925050503d805f8114610baf576040519150601f19603f3d011682016040523d82523d5f602084013e610bb4565b606091505b5050905080610bd6576040516312171d8360e31b815260040160405180910390fd5b505b509250929050565b5f80610bec8585610de8565b9050610bf781610e05565b9450845f03610c09575f9150506109e9565b849150610c1c60408401602085016115af565b15610c4b57610c4485610c326020860186611587565b610c3f6040870187611a31565b610e30565b9150610857565b61085785610c5c6020860186611587565b610c696040870187611a31565b611009565b5f610a2e670de0b6b3a764000061103d565b5f80610cb76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611068565b610d177f0000000000000000000000000000000000000000000000000000000000000000610ce6876001611a74565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110cf565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015610d83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da79190611a93565b965f9650945050505050565b6107cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611068565b5f610dfc8383670de0b6b3a764000061115e565b90505b92915050565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611179565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc9190611a93565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190611a93565b9150610f638282611a74565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610fc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190611a93565b146107695760405163350b944160e11b815260040160405180910390fd5b6109d46001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866111e3565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611214565b6040516001600160a01b0384811660248301528381166044830152606482018390526109d49186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611243565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261112084826112a9565b6109d4576040516001600160a01b0384811660248301525f604483015261115491869182169063095ea7b39060640161109d565b6109d48482611243565b5f825f190484118302158202611172575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024015b602060405180830381865afa1580156111bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfc9190611a93565b6040516001600160a01b038381166024830152604482018390526107cb91859182169063a9059cbb9060640161109d565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024016111a4565b5f6112576001600160a01b0384168361134a565b905080515f1415801561127b5750808060200190518101906112799190611aaa565b155b156107cb57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516112c49190611a16565b5f604051808303815f865af19150503d805f81146112fd576040519150601f19603f3d011682016040523d82523d5f602084013e611302565b606091505b509150915081801561132c57508051158061132c57508080602001905181019061132c9190611aaa565b801561134157505f856001600160a01b03163b115b95945050505050565b6060610dfc83835f845f80856001600160a01b0316848660405161136e9190611a16565b5f6040518083038185875af1925050503d805f81146113a8576040519150601f19603f3d011682016040523d82523d5f602084013e6113ad565b606091505b50915091506113bd8683836113c7565b9695505050505050565b6060826113dc576113d782611423565b6109e9565b81511580156113f357506001600160a01b0384163b155b1561141c57604051639996b31560e01b81526001600160a01b03851660048201526024016112a0565b50806109e9565b8051156114335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b818382375f9101908152919050565b805160208201516001600160e01b0319808216929190600483101561148d5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156114c35781810151838201526020016114ab565b50505f910152565b5f602082840312156114db575f80fd5b815167ffffffffffffffff808211156114f2575f80fd5b818401915084601f830112611505575f80fd5b81518181111561151757611517611495565b604051601f8201601f19908116603f0116810190838211818310171561153f5761153f611495565b81604052828152876020848701011115611557575f80fd5b6115688360208301602088016114a9565b979650505050505050565b6001600160a01b038116811461144c575f80fd5b5f60208284031215611597575f80fd5b81356109e981611573565b801515811461144c575f80fd5b5f602082840312156115bf575f80fd5b81356109e9816115a2565b5f6060828403121561079c575f80fd5b5f805f606084860312156115ec575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115611610575f80fd5b61161c868287016115ca565b9150509250925092565b5f8083601f840112611636575f80fd5b50813567ffffffffffffffff81111561164d575f80fd5b6020830191508360208260051b8501011115610870575f80fd5b5f805f805f806080878903121561167c575f80fd5b863561168781611573565b9550602087013561169781611573565b9450604087013567ffffffffffffffff808211156116b3575f80fd5b6116bf8a838b01611626565b909650945060608901359150808211156116d7575f80fd5b506116e489828a01611626565b979a9699509497509295939492505050565b5f805f8060808587031215611709575f80fd5b84359350602085013561171b81611573565b9250604085013561172b81611573565b9396929550929360600135925050565b5f805f806080858703121561174e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115611779575f80fd5b611785878288016115ca565b91505092959194509250565b5f602082840312156117a1575f80fd5b813567ffffffffffffffff8111156117b7575f80fd5b6117c3848285016115ca565b949350505050565b5f80604083850312156117dc575f80fd5b50508035926020909101359150565b5f805f805f60a086880312156117ff575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115611831575f80fd5b61183d888289016115ca565b9150509295509295909350565b5f805f806080858703121561185d575f80fd5b84359350602085013561186f81611573565b925060408501359150606085013561188681611573565b939692955090935050565b5f80604083850312156118a2575f80fd5b82356118ad81611573565b915060208301356118bd816115a2565b809150509250929050565b5f80604083850312156118d9575f80fd5b82359150602083013567ffffffffffffffff8111156118f6575f80fd5b611902858286016115ca565b9150509250929050565b5f805f805f805f60e0888a031215611922575f80fd5b873561192d81611573565b9650602088013561193d81611573565b9550604088013561194d816115a2565b945060608801359350608088013560ff81168114611969575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611998575f80fd5b8335925060208401356119aa81611573565b929592945050506040919091013590565b5f805f805f60a086880312156119cf575f80fd5b8535945060208601356119e181611573565b935060408601356119f181611573565b9250606086013591506080860135611a0881611573565b809150509295509295909350565b5f8251611a278184602087016114a9565b9190910192915050565b5f808335601e19843603018112611a46575f80fd5b83018035915067ffffffffffffffff821115611a60575f80fd5b602001915036819003821315610870575f80fd5b80820180821115610dff57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215611aa3575f80fd5b5051919050565b5f60208284031215611aba575f80fd5b81516109e9816115a256fea26469706673582212207c231f2cb3620baef7f333a17ff482b4f7b89048663d79acd00d77967563590964736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "deposit(uint256,(address,bool,bytes))": "829555d4", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "pricePerVaultShare()": "daaa35fe", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "withdraw(uint256,uint256,(address,bool,bytes))": "a3144531" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts b/packages/hyperdrive-artifacts/dist/MockERC721.d.ts deleted file mode 100644 index b0ab25249..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts +++ /dev/null @@ -1,289 +0,0 @@ -export declare const MockERC721: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "name_"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "symbol_"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceId"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenURI"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "initialize(string,string)": "4cd88b76"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name()": "06fdde03"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "symbol()": "95d89b41"; - readonly "tokenURI(uint256)": "c87b56dd"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=MockERC721.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map deleted file mode 100644 index 4c01c4657..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC721.d.ts","sourceRoot":"","sources":["../src/MockERC721.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+VinP,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBppP,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC721.js b/packages/hyperdrive-artifacts/dist/MockERC721.js deleted file mode 100644 index 2f2b846fb..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC721.js +++ /dev/null @@ -1,369 +0,0 @@ -export const MockERC721 = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "name_", - "type": "string", - "internalType": "string" - }, - { - "name": "symbol_", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenURI", - "inputs": [ - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50610f1d8061001d5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f80fd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f80fd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b50610125610322565b6040516101089190610a6d565b34801561013d575f80fd5b5061016661014c366004610a7f565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610aac565b6103b1565b005b6101916101a1366004610ad4565b610495565b6101916101b4366004610ad4565b610688565b3480156101c4575f80fd5b506101916101d3366004610bb2565b610773565b3480156101e3575f80fd5b506101666101f2366004610a7f565b6107e6565b348015610202575f80fd5b50610216610211366004610c12565b61083c565b604051908152602001610108565b34801561022f575f80fd5b5061012561089d565b348015610243575f80fd5b50610191610252366004610c2b565b6108ac565b610191610265366004610c64565b610917565b348015610275575f80fd5b50610125610284366004610a7f565b50606090565b348015610295575f80fd5b506100fc6102a4366004610cdb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d0c565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d0c565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d58565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d6d565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d85565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610deb565b5060016107d48282610deb565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d0c565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610eab565b6020604051808303815f875af115801561097b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d85565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f80fd5b50565b5f60208284031215610a18575f80fd5b8135610a23816109f0565b9392505050565b5f81518084525f5b81811015610a4e57602081850181015186830182015201610a32565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a8f575f80fd5b5035919050565b80356001600160a01b0381168114610837575f80fd5b5f8060408385031215610abd575f80fd5b610ac683610a96565b946020939093013593505050565b5f805f60608486031215610ae6575f80fd5b610aef84610a96565b9250610afd60208501610a96565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115610b3b57610b3b610b0d565b604051601f8501601f19908116603f01168101908282118183101715610b6357610b63610b0d565b81604052809350858152868686011115610b7b575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112610ba3575f80fd5b610a2383833560208501610b21565b5f8060408385031215610bc3575f80fd5b823567ffffffffffffffff80821115610bda575f80fd5b610be686838701610b94565b93506020850135915080821115610bfb575f80fd5b50610c0885828601610b94565b9150509250929050565b5f60208284031215610c22575f80fd5b610a2382610a96565b5f8060408385031215610c3c575f80fd5b610c4583610a96565b915060208301358015158114610c59575f80fd5b809150509250929050565b5f805f8060808587031215610c77575f80fd5b610c8085610a96565b9350610c8e60208601610a96565b925060408501359150606085013567ffffffffffffffff811115610cb0575f80fd5b8501601f81018713610cc0575f80fd5b610ccf87823560208401610b21565b91505092959194509250565b5f8060408385031215610cec575f80fd5b610cf583610a96565b9150610d0360208401610a96565b90509250929050565b600181811c90821680610d2057607f821691505b602082108103610d3e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d6657610d66610d44565b505f190190565b5f60018201610d7e57610d7e610d44565b5060010190565b5f60208284031215610d95575f80fd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dc55750805b601f840160051c820191505b81811015610de4575f8155600101610dd1565b5050505050565b815167ffffffffffffffff811115610e0557610e05610b0d565b610e1981610e138454610d0c565b84610da0565b602080601f831160018114610e4c575f8415610e355750858301515b5f19600386901b1c1916600185901b178555610ea3565b5f85815260208120601f198616915b82811015610e7a57888601518255948401946001909101908401610e5b565b5085821015610e9757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610edd90830184610a2a565b969550505050505056fea264697066735822122015ab2d91ba179a98a4548c58a6a84336822568110fb4d83426b6684c7e80d96d64736f6c63430008160033', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "initialize(string,string)": "4cd88b76", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts b/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts deleted file mode 100644 index 1ea52f443..000000000 --- a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts +++ /dev/null @@ -1,1049 +0,0 @@ -export declare const MockEzEthPool: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "calculateMintAmount"; - readonly inputs: readonly [{ - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_newValueAdded"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateRedeemAmount"; - readonly inputs: readonly [{ - readonly name: "_ezETHBeingBurned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateTVLs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[][]"; - readonly internalType: "uint256[][]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "depositETH"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBufferedEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPooledEthByShares"; - readonly inputs: readonly [{ - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSharesByPooledEth"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lookupTokenAmountFromValue"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValue"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValues"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "contract IERC20[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "InvalidTokenAmount"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a"; - readonly "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0"; - readonly "calculateTVLs()": "ff9969cd"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "depositETH()": "f6326fb3"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "ezETH()": "13a73c78"; - readonly "getBufferedEther()": "47b714e0"; - readonly "getPooledEthByShares(uint256)": "7a28fb88"; - readonly "getRate()": "679aefce"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getSharesByPooledEth(uint256)": "19208451"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "lookupTokenAmountFromValue(address,uint256)": "37933625"; - readonly "lookupTokenValue(address,uint256)": "0052e3fd"; - readonly "lookupTokenValues(address[],uint256[])": "ba28a571"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "renzoOracle()": "892866a4"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "sharesOf(address)": "f5eb42dc"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalPooledEther()": "69415b86"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=MockEzEthPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map b/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map deleted file mode 100644 index 76643f6d4..000000000 --- a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockEzEthPool.d.ts","sourceRoot":"","sources":["../src/MockEzEthPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwCg2qB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Dt4qB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockEzEthPool.js b/packages/hyperdrive-artifacts/dist/MockEzEthPool.js deleted file mode 100644 index 65ec659dd..000000000 --- a/packages/hyperdrive-artifacts/dist/MockEzEthPool.js +++ /dev/null @@ -1,1350 +0,0 @@ -export const MockEzEthPool = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "calculateMintAmount", - "inputs": [ - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_newValueAdded", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateRedeemAmount", - "inputs": [ - { - "name": "_ezETHBeingBurned", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateTVLs", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256[][]", - "internalType": "uint256[][]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositETH", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBufferedEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPooledEthByShares", - "inputs": [ - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSharesByPooledEth", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lookupTokenAmountFromValue", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lookupTokenValue", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lookupTokenValues", - "inputs": [ - { - "name": "", - "type": "address[]", - "internalType": "contract IERC20[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "InvalidTokenAmount", - "inputs": [] - } - ], - bytecode: '0x61010060405234801562000011575f80fd5b5060405162002ab338038062002ab383398101604081905262000034916200020b565b6040518060400160405280600b81526020016a0a4cadcf4de40caf48aa8960ab1b815250604051806040016040528060058152602001640caf48aa8960db1b815250601285858582308181898989825f908162000092919062000302565b506001620000a1838262000302565b5060ff81166080524660a052620000b762000171565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f5550620004489050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a39190620003ce565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f80608085870312156200021f575f80fd5b845160208601519094506001600160a01b03811681146200023e575f80fd5b6040860151909350801515811462000254575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028d57607f821691505b602082108103620002ac57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002fd57805f5260205f20601f840160051c81016020851015620002d95750805b601f840160051c820191505b81811015620002fa575f8155600101620002e5565b50505b505050565b81516001600160401b038111156200031e576200031e62000264565b62000336816200032f845462000278565b84620002b2565b602080601f8311600181146200036c575f8415620003545750858301515b5f19600386901b1c1916600185901b178555620003c6565b5f85815260208120601f198616915b828110156200039c578886015182559484019460019091019084016200037b565b5085821015620003ba57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003dd8162000278565b60018281168015620003f857600181146200040e576200043c565b60ff19841687528215158302870194506200043c565b875f526020805f205f5b85811015620004335781548a82015290840190820162000418565b50505082870194505b50929695505050505050565b60805160a05160c05160e051612606620004ad5f395f818161072d01528181610b2e01528181610c3a01528181610ed001528181610fa4015281816110410152818161148f01526114f001525f610f6a01525f610f3501525f61054d01526126065ff3fe608060405260043610610370575f3560e01c80637a28fb88116101c8578063b7009613116100fd578063dd62ed3e1161009d578063f2fde38b1161006d578063f2fde38b14610a6a578063f5eb42dc14610a89578063f6326fb314610aa8578063ff9969cd14610ab0575f80fd5b8063dd62ed3e14610986578063e688747b146109bc578063ea7ca276146109fd578063ed0d0efb14610a3f575f80fd5b8063c53a3985116100d8578063c53a398514610900578063c5c83cb014610934578063d5002f2e14610953578063d505accf14610967575f80fd5b8063b7009613146108a8578063ba28a571146108c7578063bf7e214f146108e1575f80fd5b80638fcb4e5b11610168578063a0712d6811610143578063a0712d6814610829578063a1903eab14610848578063a9059cbb1461085b578063aed307771461087a575f80fd5b80638fcb4e5b146107d757806395d89b41146107f65780639dc29fac1461080a575f80fd5b80637ecebe00116101a35780637ecebe001461076e578063892866a4146104ae5780638da5cb5b146107995780638f686e6a146107b8575f80fd5b80637a28fb88146106fd5780637a8c63b51461071c5780637a9e5e4b1461074f575f80fd5b806334fcf437116102a957806347b714e01161024957806369415b861161021957806369415b861461067f5780636d7804591461069457806370a08231146106b3578063728b952b146106de575f80fd5b806347b714e01461061b5780634b5159da1461062d578063679aefce1461064c57806367aff48414610660575f80fd5b806337cfdaca1161028457806337cfdaca146105b45780633a98ef39146105c857806340c10f19146105dd57806342966c68146105fc575f80fd5b806334fcf437146105815780633644e515146105a05780633793362514610374575f80fd5b80630ea9b75b1161031457806319208451116102ef57806319208451146104e9578063239c70ae1461050857806323b872dd1461051d578063313ce5671461053c575f80fd5b80630ea9b75b1461048f57806313a73c78146104ae57806318160ddd146104d4575f80fd5b806306fdde031161034f57806306fdde03146103f2578063088a4ed014610413578063095ea7b3146104325780630bade8a414610461575f80fd5b806252e3fd1461037457806305f05a94146103a657806306a36aee146103c7575b5f80fd5b34801561037f575f80fd5b5061039361038e366004611de7565b610ad3565b6040519081526020015b60405180910390f35b3480156103b1575f80fd5b506103c56103c0366004611e1e565b610b2c565b005b3480156103d2575f80fd5b506103936103e1366004611e55565b60096020525f908152604090205481565b3480156103fd575f80fd5b50610406610bad565b60405161039d9190611e70565b34801561041e575f80fd5b506103c561042d366004611ebc565b610c38565b34801561043d575f80fd5b5061045161044c366004611de7565b610c94565b604051901515815260200161039d565b34801561046c575f80fd5b5061045161047b366004611eef565b600a6020525f908152604090205460ff1681565b34801561049a575f80fd5b506103c56104a9366004611f18565b610d00565b3480156104b9575f80fd5b50305b6040516001600160a01b03909116815260200161039d565b3480156104df575f80fd5b5061039360025481565b3480156104f4575f80fd5b50610393610503366004611ebc565b610dd5565b348015610513575f80fd5b50610393600c5481565b348015610528575f80fd5b50610451610537366004611f5c565b610df2565b348015610547575f80fd5b5061056f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161039d565b34801561058c575f80fd5b506103c561059b366004611ebc565b610ece565b3480156105ab575f80fd5b50610393610f32565b3480156105bf575f80fd5b50610393610f8c565b3480156105d3575f80fd5b5061039360115481565b3480156105e8575f80fd5b506103c56105f7366004611de7565b610fa2565b348015610607575f80fd5b506103c5610616366004611ebc565b61103f565b348015610626575f80fd5b505f610393565b348015610638575f80fd5b506103c5610647366004611f9a565b6110a3565b348015610657575f80fd5b50600e54610393565b34801561066b575f80fd5b506103c561067a366004611fb4565b611133565b34801561068a575f80fd5b5061039360105481565b34801561069f575f80fd5b506103936106ae366004611f5c565b6111f8565b3480156106be575f80fd5b506103936106cd366004611e55565b60036020525f908152604090205481565b3480156106e9575f80fd5b506103c56106f8366004611fdf565b61122e565b348015610708575f80fd5b50610393610717366004611ebc565b6112b5565b348015610727575f80fd5b506104517f000000000000000000000000000000000000000000000000000000000000000081565b34801561075a575f80fd5b506103c5610769366004611e55565b6112c9565b348015610779575f80fd5b50610393610788366004611e55565b60056020525f908152604090205481565b3480156107a4575f80fd5b506006546104bc906001600160a01b031681565b3480156107c3575f80fd5b506103936107d236600461200b565b6113ae565b3480156107e2575f80fd5b506103936107f1366004611de7565b611457565b348015610801575f80fd5b50610406611480565b348015610815575f80fd5b506103c5610824366004611de7565b61148d565b348015610834575f80fd5b506103c5610843366004611ebc565b6114ee565b610393610856366004611e55565b611587565b348015610866575f80fd5b50610451610875366004611de7565b61160e565b348015610885575f80fd5b50610451610894366004611e55565b600d6020525f908152604090205460ff1681565b3480156108b3575f80fd5b506104516108c2366004612034565b611671565b3480156108d2575f80fd5b5061039361038e36600461214c565b3480156108ec575f80fd5b506007546104bc906001600160a01b031681565b34801561090b575f80fd5b506104bc61091a366004611e55565b60086020525f90815260409020546001600160a01b031681565b34801561093f575f80fd5b5061039361094e36600461200b565b61176a565b34801561095e575f80fd5b50601154610393565b348015610972575f80fd5b506103c5610981366004612208565b6117ab565b348015610991575f80fd5b506103936109a0366004611fdf565b600460209081525f928352604080842090915290825290205481565b3480156109c7575f80fd5b506104516109d6366004612271565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610a08575f80fd5b50610451610a173660046122a2565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610a4a575f80fd5b50610393610a59366004611eef565b600b6020525f908152604090205481565b348015610a75575f80fd5b506103c5610a84366004611e55565b6119e9565b348015610a94575f80fd5b50610393610aa3366004611e55565b611a65565b6103c5611a99565b348015610abb575f80fd5b50610ac4611ae1565b60405161039d93929190612306565b60405162461bcd60e51b815260206004820152602160248201527f6c6f6f6b7570546f6b656e56616c75653a204e6f7420496d706c656d656e74656044820152601960fa1b60648201525f906084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b8357610b67335f356001600160e01b031916611b0e565b610b835760405162461bcd60e51b8152600401610b2390612383565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f8054610bb9906123ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610be5906123ba565b8015610c305780601f10610c0757610100808354040283529160200191610c30565b820191905f5260205f20905b815481529060010190602001808311610c1357829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610c8f57610c73335f356001600160e01b031916611b0e565b610c8f5760405162461bcd60e51b8152600401610b2390612383565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cee9086815260200190565b60405180910390a35060015b92915050565b610d15335f356001600160e01b031916611b0e565b610d315760405162461bcd60e51b8152600401610b23906123f2565b8015610d60576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610d86565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610dc8911515815260200190565b60405180910390a3505050565b5f610cfa610de260115490565b610dea610f8c565b849190611bb4565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610e4b57610e27838261242c565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610e7290849061242c565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206125b183398151915290610eb99087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610f2557610f09335f356001600160e01b031916611b0e565b610f255760405162461bcd60e51b8152600401610b2390612383565b610f2d611bcf565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610f6757610f62611bfe565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610f95611c96565b601054610f62919061243f565b7f000000000000000000000000000000000000000000000000000000000000000015610ff957610fdd335f356001600160e01b031916611b0e565b610ff95760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661103157600c548111156110315760405162461bcd60e51b8152600401610b2390612452565b61103b8282611cf5565b5050565b7f0000000000000000000000000000000000000000000000000000000000000000156110965761107a335f356001600160e01b031916611b0e565b6110965760405162461bcd60e51b8152600401610b2390612383565b6110a03382611d4c565b50565b6110b8335f356001600160e01b031916611b0e565b6110d45760405162461bcd60e51b8152600401610b23906123f2565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b611148335f356001600160e01b031916611b0e565b6111645760405162461bcd60e51b8152600401610b23906123f2565b8015611192576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556111b7565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610dc8911515815260200190565b5f611201611bcf565b5f61121861120d610f8c565b601154859190611bb4565b9050611225858583610df2565b50949350505050565b611243335f356001600160e01b031916611b0e565b61125f5760405162461bcd60e51b8152600401610b23906123f2565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f610cfa6112c1610f8c565b601154610dea565b6006546001600160a01b031633148061135b575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061131c90339030906001600160e01b03195f351690600401612494565b602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906124c1565b611363575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f8315806113ba575081155b156113c6575081610ec7565b5f6113d1848661243f565b6113e385670de0b6b3a76400006124dc565b6113ed91906124f3565b90505f61140282670de0b6b3a764000061242c565b611414670de0b6b3a7640000866124dc565b61141e91906124f3565b90505f61142b858361242c565b9050805f0361144d57604051632160733960e01b815260040160405180910390fd5b9695505050505050565b5f611460611bcf565b5f61146c61120d610f8c565b9050611478848261160e565b509392505050565b60018054610bb9906123ba565b7f0000000000000000000000000000000000000000000000000000000000000000156114e4576114c8335f356001600160e01b031916611b0e565b6114e45760405162461bcd60e51b8152600401610b2390612383565b61103b8282611d4c565b7f00000000000000000000000000000000000000000000000000000000000000001561154557611529335f356001600160e01b031916611b0e565b6115455760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661157d57600c5481111561157d5760405162461bcd60e51b8152600401610b2390612452565b6110a03382611cf5565b5f611590611bcf565b6011545f036115b65734601181905560108190556115af903390611cf5565b5034919050565b5f6115d36115c360115490565b6115cb610f8c565b349190611bb4565b90503460105f8282546115e6919061243f565b925050819055508060115f8282546115fe919061243f565b90915550610cfa90503334611cf5565b335f9081526003602052604081208054839190839061162e90849061242c565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206125b183398151915290610cee9086815260200190565b6001600160a01b038083165f90815260086020526040812054909116801561170a5760405163b700961360e01b81526001600160a01b0382169063b7009613906116c390889088908890600401612494565b602060405180830381865afa1580156116de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170291906124c1565b915050610ec7565b6001600160e01b031983165f908152600a602052604090205460ff168061176157506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f808361177786856124dc565b61178191906124f3565b9050805f036117a357604051632160733960e01b815260040160405180910390fd5b949350505050565b428410156117fb5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610b23565b5f6001611806610f32565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561190e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119445750876001600160a01b0316816001600160a01b0316145b6119815760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b23565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6119fe335f356001600160e01b031916611b0e565b611a1a5760405162461bcd60e51b8152600401610b23906123f2565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6001600160a01b0381165f90815260036020526040812054610ec7611a8960115490565b611a91610f8c565b839190611bb4565b60405162461bcd60e51b815260206004820152601b60248201527f6465706f7369744554483a204e6f7420496d706c656d656e74656400000000006044820152606401610b23565b6060805f6060805f611b01611af4610f8c565b6011546002549190611bb4565b9296919550919350915050565b6007545f906001600160a01b03168015801590611b95575060405163b700961360e01b81526001600160a01b0382169063b700961390611b5690879030908890600401612494565b602060405180830381865afa158015611b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9591906124c1565b806117a357506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bc8575f80fd5b5091020490565b5f611bd8611c96565b90508015611bf7578060105f828254611bf1919061243f565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611c2e9190612512565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f03611ca557505f90565b600f54421015611cb457505f90565b5f611cd16301e13380600f5442611ccb919061242c565b90611dab565b90505f610ec7611cec83600e54611dbf90919063ffffffff16565b60105490611dbf565b8060025f828254611d06919061243f565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206125b183398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611d7390849061242c565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206125b183398151915290602001611d40565b5f610ec783670de0b6b3a764000084611bb4565b5f610ec78383670de0b6b3a7640000611bb4565b6001600160a01b03811681146110a0575f80fd5b5f8060408385031215611df8575f80fd5b8235611e0381611dd3565b946020939093013593505050565b80151581146110a0575f80fd5b5f8060408385031215611e2f575f80fd5b8235611e3a81611dd3565b91506020830135611e4a81611e11565b809150509250929050565b5f60208284031215611e65575f80fd5b8135610ec781611dd3565b5f602080835283518060208501525f5b81811015611e9c57858101830151858201604001528201611e80565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ecc575f80fd5b5035919050565b80356001600160e01b031981168114611eea575f80fd5b919050565b5f60208284031215611eff575f80fd5b610ec782611ed3565b803560ff81168114611eea575f80fd5b5f805f60608486031215611f2a575f80fd5b611f3384611f08565b9250611f4160208501611ed3565b91506040840135611f5181611e11565b809150509250925092565b5f805f60608486031215611f6e575f80fd5b8335611f7981611dd3565b92506020840135611f8981611dd3565b929592945050506040919091013590565b5f8060408385031215611fab575f80fd5b611e3a83611ed3565b5f805f60608486031215611fc6575f80fd5b8335611fd181611dd3565b9250611f4160208501611f08565b5f8060408385031215611ff0575f80fd5b8235611ffb81611dd3565b91506020830135611e4a81611dd3565b5f805f6060848603121561201d575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215612046575f80fd5b833561205181611dd3565b9250602084013561206181611dd3565b915061206f60408501611ed3565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120b5576120b5612078565b604052919050565b5f67ffffffffffffffff8211156120d6576120d6612078565b5060051b60200190565b5f82601f8301126120ef575f80fd5b813560206121046120ff836120bd565b61208c565b8083825260208201915060208460051b870101935086841115612125575f80fd5b602086015b84811015612141578035835291830191830161212a565b509695505050505050565b5f806040838503121561215d575f80fd5b823567ffffffffffffffff80821115612174575f80fd5b818501915085601f830112612187575f80fd5b813560206121976120ff836120bd565b82815260059290921b840181019181810190898411156121b5575f80fd5b948201945b838610156121dc5785356121cd81611dd3565b825294820194908201906121ba565b965050860135925050808211156121f1575f80fd5b506121fe858286016120e0565b9150509250929050565b5f805f805f805f60e0888a03121561221e575f80fd5b873561222981611dd3565b9650602088013561223981611dd3565b9550604088013594506060880135935061225560808901611f08565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612282575f80fd5b61228b83611f08565b915061229960208401611ed3565b90509250929050565b5f80604083850312156122b3575f80fd5b82356122be81611dd3565b915061229960208401611f08565b5f815180845260208085019450602084015f5b838110156122fb578151875295820195908201906001016122df565b509495945050505050565b5f606082016060835280865180835260808501915060808160051b860101925060208089015f5b8381101561235b57607f198887030185526123498683516122cc565b9550938201939082019060010161232d565b5050505050828103602084015261237281866122cc565b915050826040830152949350505050565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c908216806123ce57607f821691505b6020821081036123ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610cfa57610cfa612418565b80820180821115610cfa57610cfa612418565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f602082840312156124d1575f80fd5b8151610ec781611e11565b8082028115828204841417610cfa57610cfa612418565b5f8261250d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8083545f60018260011c9150600183168061252f57607f831692505b6020808410820361254e57634e487b7160e01b5f52602260045260245ffd5b8180156125625760018114612577576125a2565b60ff19861689528415158502890196506125a2565b5f8a8152602090205f5b8681101561259a5781548b820152908501908301612581565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207154da725d6f461fbef0efcf8b3dc2c552d02fa4a8150398fbbd6cacba65289864736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", - "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", - "calculateTVLs()": "ff9969cd", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "depositETH()": "f6326fb3", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "ezETH()": "13a73c78", - "getBufferedEther()": "47b714e0", - "getPooledEthByShares(uint256)": "7a28fb88", - "getRate()": "679aefce", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getSharesByPooledEth(uint256)": "19208451", - "getTargetCustomAuthority(address)": "c53a3985", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "lookupTokenAmountFromValue(address,uint256)": "37933625", - "lookupTokenValue(address,uint256)": "0052e3fd", - "lookupTokenValues(address[],uint256[])": "ba28a571", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "renzoOracle()": "892866a4", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "sharesOf(address)": "f5eb42dc", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalPooledEther()": "69415b86", - "totalShares()": "3a98ef39", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts b/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts deleted file mode 100644 index ff964d433..000000000 --- a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts +++ /dev/null @@ -1,221 +0,0 @@ -export declare const MockFixedPointMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "divDown"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "divUp"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "exp"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "r"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "ln"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulDivDown"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "d"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "z"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulDivUp"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "d"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "z"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulDown"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulUp"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "pow"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "updateWeightedAverage"; - readonly inputs: readonly [{ - readonly name: "_average"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_totalWeight"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_delta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_deltaWeight"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isAdding"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "average"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "divDown(uint256,uint256)": "9ba5f52e"; - readonly "divUp(uint256,uint256)": "cbe8623f"; - readonly "exp(int256)": "e46751e3"; - readonly "ln(int256)": "8e6f2353"; - readonly "mulDivDown(uint256,uint256,uint256)": "b67bee04"; - readonly "mulDivUp(uint256,uint256,uint256)": "12bd6ac0"; - readonly "mulDown(uint256,uint256)": "0c9b9881"; - readonly "mulUp(uint256,uint256)": "f3e4f87c"; - readonly "pow(uint256,uint256)": "2e4c697f"; - readonly "updateWeightedAverage(uint256,uint256,uint256,uint256,bool)": "81e5f7c9"; - }; -}; -//# sourceMappingURL=MockFixedPointMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map deleted file mode 100644 index 19c4d2216..000000000 --- a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockFixedPointMath.d.ts","sourceRoot":"","sources":["../src/MockFixedPointMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiR2iJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAatlJ,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.js b/packages/hyperdrive-artifacts/dist/MockFixedPointMath.js deleted file mode 100644 index d9055cd52..000000000 --- a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.js +++ /dev/null @@ -1,287 +0,0 @@ -export const MockFixedPointMath = { - abi: [ - { - "type": "function", - "name": "divDown", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "divUp", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "exp", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "r", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "ln", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulDivDown", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "d", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "z", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulDivUp", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "d", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "z", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulDown", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulUp", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "pow", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "updateWeightedAverage", - "inputs": [ - { - "name": "_average", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_totalWeight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_delta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_deltaWeight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isAdding", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "average", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506108fe8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80639ba5f52e116100635780639ba5f52e14610110578063b67bee0414610123578063cbe8623f14610136578063e46751e314610149578063f3e4f87c1461015c575f80fd5b80630c9b98811461009f57806312bd6ac0146100c45780632e4c697f146100d757806381e5f7c9146100ea5780638e6f2353146100fd575b5f80fd5b6100b26100ad3660046107a9565b61016f565b60405190815260200160405180910390f35b6100b26100d23660046107c9565b610185565b6100b26100e53660046107a9565b61019b565b6100b26100f83660046107f2565b6101a7565b6100b261010b36600461083f565b6101c1565b6100b261011e3660046107a9565b6101d3565b6100b26101313660046107c9565b6101df565b6100b26101443660046107a9565b6101ec565b6100b261015736600461083f565b6101f8565b6100b261016a3660046107a9565b610203565b5f8061017b848461020f565b9150505b92915050565b5f80610192858585610223565b95945050505050565b5f8061017b8484610246565b5f806101b687878787876102b5565b979650505050505050565b5f806101cc83610355565b9392505050565b5f8061017b8484610583565b5f80610192858585610593565b5f8061017b84846105ae565b5f806101cc836105c2565b5f8061017b8484610754565b5f6101cc8383670de0b6b3a7640000610593565b5f825f190484118302158202610237575f80fd5b50910281810615159190040190565b5f815f0361025d5750670de0b6b3a764000061017f565b825f0361026b57505f61017f565b5f61027583610768565b90505f61028961028486610768565b610355565b90508181026102a0670de0b6b3a76400008261086a565b90506102ab816105c2565b9695505050505050565b5f825f036102c4575084610192565b811561031c576102fb6102d784876108a2565b6102e1858761020f565b6102eb888a61020f565b6102f591906108a2565b90610583565b90505f6103088588610795565b905080821015610316578091505b50610192565b82850361032a57505f610192565b6102ab61033784876108b5565b6103418587610754565b61034b888a61020f565b6102f591906108b5565b5f8082136103765760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906104029084901c610768565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6101cc83670de0b6b3a7640000845b5f825f1904841183021582026105a7575f80fd5b5091020490565b5f6101cc83670de0b6b3a764000084610223565b5f680248ce36a70cb26b3e1982136105db57505f919050565b680755bf798b4a1bf1e58212610604576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ab74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610768565b5f6101cc8383670de0b6b3a7640000610223565b5f6001600160ff1b038211156107915760405163396ea70160e11b815260040160405180910390fd5b5090565b5f8183116107a357826101cc565b50919050565b5f80604083850312156107ba575f80fd5b50508035926020909101359150565b5f805f606084860312156107db575f80fd5b505081359360208301359350604090920135919050565b5f805f805f60a08688031215610806575f80fd5b8535945060208601359350604086013592506060860135915060808601358015158114610831575f80fd5b809150509295509295909350565b5f6020828403121561084f575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f8261088457634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561089d5761089d610856565b500590565b8082018082111561017f5761017f610856565b8181038181111561017f5761017f61085656fea2646970667358221220e9a9948213c0830a3cbced12e8a4599d9bf7589c0963e04bcdafe6babf23056064736f6c63430008160033', - methodIdentifiers: { - "divDown(uint256,uint256)": "9ba5f52e", - "divUp(uint256,uint256)": "cbe8623f", - "exp(int256)": "e46751e3", - "ln(int256)": "8e6f2353", - "mulDivDown(uint256,uint256,uint256)": "b67bee04", - "mulDivUp(uint256,uint256,uint256)": "12bd6ac0", - "mulDown(uint256,uint256)": "0c9b9881", - "mulUp(uint256,uint256)": "f3e4f87c", - "pow(uint256,uint256)": "2e4c697f", - "updateWeightedAverage(uint256,uint256,uint256,uint256,bool)": "81e5f7c9" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts deleted file mode 100644 index e29d8c749..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts +++ /dev/null @@ -1,1705 +0,0 @@ -export declare const MockHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "__external_transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "__setBalanceOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "accrue"; - readonly inputs: readonly [{ - readonly name: "time"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "apr"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "calculateFeesGivenBonds"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_normalizedTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCurveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalFlatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceCurveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalGovernanceFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateFeesGivenShares"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceCurveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateIdleShareReserves"; - readonly inputs: readonly [{ - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateOpenLong"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalGovernanceFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemaining"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "timeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemainingScaled"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "timeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "latestCheckpoint"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLongExposure"; - readonly inputs: readonly [{ - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMarketState"; - readonly inputs: readonly [{ - readonly name: "_marketState_"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserves"; - readonly inputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTotalShares"; - readonly inputs: readonly [{ - readonly name: "_totalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLiquidity"; - readonly inputs: readonly [{ - readonly name: "_shareReservesDelta"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a"; - readonly "__setBalanceOf(uint256,address,uint256)": "94a97cdb"; - readonly "accrue(uint256,int256)": "68096239"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "burn(uint256,address,uint256)": "9eea5f66"; - readonly "calculateFeesGivenBonds(uint256,uint256,uint256,uint256)": "22d5506b"; - readonly "calculateFeesGivenShares(uint256,uint256,uint256)": "71f88b7c"; - readonly "calculateIdleShareReserves(uint256)": "b1b4b170"; - readonly "calculateOpenLong(uint256,uint256)": "9bd33498"; - readonly "calculateTimeRemaining(uint256)": "68c2ecb8"; - readonly "calculateTimeRemainingScaled(uint256)": "ca6d38f7"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "getTotalShares()": "d5002f2e"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "latestCheckpoint()": "907c0f92"; - readonly "mint(uint256,address,uint256)": "836a1040"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setLongExposure(uint128)": "b4f8da39"; - readonly "setMarketState((uint128,uint128,uint128,uint128,int128,uint128,uint128,uint128,bool,bool,uint112,uint128))": "f45cf2e0"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "setReserves(uint128,uint128)": "702db0eb"; - readonly "setTotalShares(uint256)": "a77384c1"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "updateLiquidity(int256)": "8120a3e2"; - }; -}; -//# sourceMappingURL=MockHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map deleted file mode 100644 index 9e85c3f23..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdrive.d.ts","sourceRoot":"","sources":["../src/MockHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyjEilzL,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDxnzL,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdrive.js b/packages/hyperdrive-artifacts/dist/MockHyperdrive.js deleted file mode 100644 index d0e55925f..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdrive.js +++ /dev/null @@ -1,2155 +0,0 @@ -export const MockHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "__external_transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "__setBalanceOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_who", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "accrue", - "inputs": [ - { - "name": "time", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "apr", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "calculateFeesGivenBonds", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_normalizedTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_spotPrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "totalCurveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalFlatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceCurveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalGovernanceFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateFeesGivenShares", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_spotPrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceCurveFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateIdleShareReserves", - "inputs": [ - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateOpenLong", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReservesDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalGovernanceFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "spotPrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateTimeRemaining", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "timeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateTimeRemainingScaled", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "timeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "latestCheckpoint", - "inputs": [], - "outputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLongExposure", - "inputs": [ - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMarketState", - "inputs": [ - { - "name": "_marketState_", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserves", - "inputs": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTotalShares", - "inputs": [ - { - "name": "_totalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLiquidity", - "inputs": [ - { - "name": "_shareReservesDelta", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b506040516201732c3803806201732c833981016040819052620000349162000369565b6040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b815250828284846040516200006d9062000260565b6200007a929190620004a3565b604051809103905ff08015801562000094573d5f803e3d5ffd5b508585604051620000a5906200026e565b620000b2929190620004a3565b604051809103905ff080158015620000cc573d5f803e3d5ffd5b508686604051620000dd906200027c565b620000ea929190620004a3565b604051809103905ff08015801562000104573d5f803e3d5ffd5b50878760405162000115906200028a565b62000122929190620004a3565b604051809103905ff0801580156200013c573d5f803e3d5ffd5b5088886040516200014d9062000298565b6200015a929190620004a3565b604051809103905ff08015801562000174573d5f803e3d5ffd5b5060015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a0151821661024052890151610260528716610220526200022b898262000661565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0521661030052506200072d9350505050565b6140d7806200355c83390190565b614103806200763383390190565b614390806200b73683390190565b614328806200fac683390190565b61353e8062013dee83390190565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002e057620002e0620002a6565b60405290565b80516001600160a01b0381168114620002fd575f80fd5b919050565b5f6080828403121562000313575f80fd5b604051608081016001600160401b0381118282101715620003385762000338620002a6565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f808284036102808112156200037d575f80fd5b610260808212156200038d575f80fd5b62000397620002ba565b9150620003a485620002e6565b8252620003b460208601620002e6565b6020830152620003c760408601620002e6565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000432818701620002e6565b9083015261018062000446868201620002e6565b908301526101a06200045a868201620002e6565b908301526101c06200046e868201620002e6565b908301526101e0620004838787830162000302565b818401525081935062000498818601620002e6565b925050509250929050565b82516001600160a01b0316815261028081016020840151620004d060208401826001600160a01b03169052565b506040840151620004ec60408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e0830152610100808501518184015250610120808501518184015250610140808501518184015250610160808501516200055f828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e09485015180519584019590955260208501516102008401526040850151610220840152606090940151610240830152919092166102609092019190915290565b600181811c90821680620005ec57607f821691505b6020821081036200060b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200065c57805f5260205f20601f840160051c81016020851015620006385750805b601f840160051c820191505b8181101562000659575f815560010162000644565b50505b505050565b81516001600160401b038111156200067d576200067d620002a6565b62000695816200068e8454620005d7565b8462000611565b602080601f831160018114620006cb575f8415620006b35750858301515b5f19600386901b1c1916600185901b17855562000725565b5f85815260208120601f198616915b82811015620006fb57888601518255948401946001909101908401620006da565b50858210156200071957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051612c9b620008c15f395f818161090301528181610a490152610b6201525f818161087e01528181610b910152610dae01525f818161078b0152610fa601525f81816108d00152610b0001525f81816102900152818161044801528181610a1a01528181610a7b01528181610aad01528181610b3301528181610d6901528181610df501528181610f560152610fd901525f50505f50505f50505f50505f50505f81816118b2015281816118ee0152611bf101525f818161163201528181611674015261176601525f50505f818161110f0152818161118701526114bf01525f818161115b01526116e701525f81816110d50152818161147b01526116c601525f818161161001528181611695015261178701525f8181611443015261197501525f6115c001525f50505f8181610bef01528181610c860152610cf40152612c9b5ff3fe60806040526004361061027c575f3560e01c8063907c0f921161014e578063ca6d38f7116100c0578063ded0623111610079578063ded06231146104c1578063e44808bc146108a0578063eac3e799146108bf578063f3f70707146108f2578063f45cf2e014610925578063f698da2514610a015761027c565b8063ca6d38f714610827578063cba2e58d14610846578063cbc13434146103c0578063d5002f2e14610859578063d899e1121461086d578063dbbe8070146108465761027c565b8063a22cb46511610112578063a22cb4651461061c578063a6e8a8591461077a578063a77384c1146107ad578063ab033ea914610385578063b1b4b170146107cc578063b4f8da39146107eb5761027c565b8063907c0f92146106ca57806394a97cdb146106de5780639bd334981461071d5780639cd241af1461073c5780639eea5f661461075b5761027c565b80634c2ac1d9116101f25780637180c8ca116101ab5780637180c8ca1461061c57806371f88b7c1461063b57806377d05ff41461065a5780638120a3e21461066d578063836a10401461068c5780639032c726146106ab5761027c565b80634c2ac1d91461055f5780634ed2d6ac1461057257806358af4a0a1461058c57806368096239146105ab57806368c2ecb8146105ca578063702db0eb146105e95761027c565b806321b57d531161024457806321b57d531461043757806322d5506b1461048257806329b23fc1146104c157806330adf81f146104ee5780633e691db914610521578063414f826d146105405761027c565b806301681a621461038557806302329a29146103a6578063074a6de9146103c057806317fad7fc146103f95780631c0f12b614610418575b348015610287575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031685856040516102c8929190612399565b5f60405180830381855af49150503d805f8114610300576040519150601f19603f3d011682016040523d82523d5f602084013e610305565b606091505b5091509150811561032957604051638bb0a34b60e01b815260040160405180910390fd5b5f610333826123a8565b90506001600160e01b03198116636e64089360e11b1461035557815160208301fd5b8151600319810160048401908152926103769181016020019060240161243f565b80519650602001945050505050f35b348015610390575f80fd5b506103a461039f3660046124f0565b610a15565b005b3480156103b1575f80fd5b506103a461039f366004612528565b3480156103cb575f80fd5b506103df6103da366004612553565b610a42565b604080519283526020830191909152015b60405180910390f35b348015610404575f80fd5b506103a46104133660046125e0565b610a76565b348015610423575f80fd5b506103a461043236600461266f565b610aa8565b348015610442575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103f0565b34801561048d575f80fd5b506104a161049c3660046126b4565b610ad8565b6040805194855260208501939093529183015260608201526080016103f0565b3480156104cc575f80fd5b506104e06104db3660046126e3565b610afa565b6040519081526020016103f0565b3480156104f9575f80fd5b506104e07f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b34801561052c575f80fd5b506104e061053b366004612739565b610b2d565b34801561054b575f80fd5b506103a461055a36600461276b565b610b5d565b6104e061056d36600461278b565b610b8b565b34801561057d575f80fd5b506103a46104323660046127ea565b348015610597575f80fd5b506103a46105a6366004612831565b610bbf565b3480156105b6575f80fd5b506103a46105c536600461276b565b610bcc565b3480156105d5575f80fd5b506104e06105e436600461288c565b610d54565b3480156105f4575f80fd5b506103a46106033660046128b9565b6001600160801b03908116600160801b02911617600255565b348015610627575f80fd5b506103a46106363660046128ea565b610d64565b348015610646575f80fd5b506103df610655366004612921565b610d8d565b6104e0610668366004612553565b610da8565b348015610678575f80fd5b506103a461068736600461288c565b610dda565b348015610697575f80fd5b506103a46106a636600461294a565b610de6565b3480156106b6575f80fd5b506103a46106c536600461297f565b610df1565b3480156106d5575f80fd5b506104e0610f25565b3480156106e9575f80fd5b506103a46106f836600461294a565b5f928352600a602090815260408085206001600160a01b039094168552929052912055565b348015610728575f80fd5b506104a161073736600461276b565b610f33565b348015610747575f80fd5b506103a461075636600461294a565b610f51565b348015610766575f80fd5b506103a461077536600461294a565b610f80565b348015610785575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b8575f80fd5b506103a46107c736600461288c565b600f55565b3480156107d7575f80fd5b506104e06107e636600461288c565b610f8b565b3480156107f6575f80fd5b506103a46108053660046129f9565b600380546001600160801b0319166001600160801b0392909216919091179055565b348015610832575f80fd5b506104e061084136600461288c565b610f95565b6103df6108543660046126e3565b610f9f565b348015610864575f80fd5b50600f546104e0565b348015610878575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108ab575f80fd5b506103a46108ba366004612831565b610fd4565b3480156108ca575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108fd575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610930575f80fd5b506103a461093f366004612a39565b805160208201516001600160801b03918216600160801b91831682021760025560408301516060840151908316908316820217600355608083015160a084015190831690831682021760045560c083015160e084015190831690831682021760055561010080840151600680546101208701516101408801516101609098015161ffff1990921693151561ff001916939093179215159093029190911761ffff16620100006001600160701b0390961695909502841694909417921602179055565b348015610a0c575f80fd5b506104e0611005565b610a3e7f0000000000000000000000000000000000000000000000000000000000000000611093565b5050565b5f80610a6d7f0000000000000000000000000000000000000000000000000000000000000000611093565b50935093915050565b610a9f7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050505050565b610ad17f0000000000000000000000000000000000000000000000000000000000000000611093565b5050505050565b5f805f80610ae8888888886110b1565b929b919a509850909650945050505050565b5f610b247f0000000000000000000000000000000000000000000000000000000000000000611093565b50949350505050565b5f610b577f0000000000000000000000000000000000000000000000000000000000000000611093565b50919050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b505050565b5f610bb57f0000000000000000000000000000000000000000000000000000000000000000611093565b5095945050505050565b610ad185858585856111c3565b6040516370a0823160e01b81523060048201525f90610c5f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c589190612b23565b838561137e565b9150505f811315610ce2576040516340c10f1960e01b8152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f19906044015b5f604051808303815f87803b158015610cd0575f80fd5b505af1158015610a9f573d5f803e3d5ffd5b5f811215610b86576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639dc29fac30610d2384612b4e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401610cb9565b5f610d5e82611418565b92915050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b5f80610d9a85858561146e565b90925090505b935093915050565b5f610dd27f0000000000000000000000000000000000000000000000000000000000000000611093565b509392505050565b610de3816114ed565b50565b610b86838383611513565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e25611005565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610ece9190612b68565b5f60405180830381855af49150503d805f8114610f06576040519150601f19603f3d011682016040523d82523d5f602084013e610f0b565b606091505b509150915081610f1d57805160208201fd5b805160208201f35b5f610f2e6115b9565b905090565b5f805f80610f4186866115e4565b9299919850965090945092505050565b610f7a7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050565b610b868383836117c3565b5f610d5e82611891565b5f610d5e8261192c565b5f80610fca7f0000000000000000000000000000000000000000000000000000000000000000611093565b5094509492505050565b610ffd7f0000000000000000000000000000000000000000000000000000000000000000611093565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f36604051610ece929190612399565b5f80808061110787866111008b6110fa6110d38c670de0b6b3a7640000612b83565b7f0000000000000000000000000000000000000000000000000000000000000000906119a0565b906119a0565b91906119b0565b9350611133847f00000000000000000000000000000000000000000000000000000000000000006119d3565b91505f61115361114b89670de0b6b3a7640000612b83565b8a90886119b0565b905061117f817f00000000000000000000000000000000000000000000000000000000000000006119a0565b93506111ab847f00000000000000000000000000000000000000000000000000000000000000006119d3565b6111b59084612b96565b915050945094509450949050565b6001600160a01b03841615806111e057506001600160a01b038316155b156111fe5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b0316146112be576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff166112be575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f1981146112bc575f868152600d602090815260408083206001600160a01b03808a1685529083528184209086168452909152812080548592906112b6908490612b83565b90915550505b505b5f858152600a602090815260408083206001600160a01b0388168452909152812080548492906112ef908490612b83565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611325908490612b96565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f808061138f846301e133806119e7565b90505f6113b2825f88126113a357876113ac565b6113ac88612b4e565b906119d3565b90505f8613156113e4576113cf6113c8826119fb565b88906119d3565b93506113db8785612b83565b92505050610da0565b5f86121561140b576113ff6113f8826119fb565b88906119e7565b93506113db8785612ba9565b5094955f95509350505050565b5f806114226115b9565b9050808311611431575f61143b565b61143b8184612b83565b9150611467827f00000000000000000000000000000000000000000000000000000000000000006119e7565b9392505050565b5f806114b7856110fa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006114ad818c611b97565b6110fa9190612b83565b91506114e3827f00000000000000000000000000000000000000000000000000000000000000006119d3565b9050935093915050565b6114f681611bab565b610de357604051635044b7f560e01b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611544908490612b96565b90915550505f838152600b602052604081208054839290611566908490612b96565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f610f2e427f0000000000000000000000000000000000000000000000000000000000000000611d3f565b5f805f805f6115f1611d54565b600254909150611656908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000611d74565b6002549094506116b9908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b9150611710878561170b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611dbe565b611e30565b1561171d5761171d611e71565b61172987858885611e8a565b91965094509250670de0b6b3a76400006117ab6117468784612b96565b600254611764908890600160801b90046001600160801b0316612b83565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b11156117b9576117b9611e71565b5092959194509250565b5f838152600a602090815260408083206001600160a01b038616845290915290205481111561180557604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290611847908490612b83565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291016115ac565b6003545f9081906118ab906001600160801b031684611b97565b90506118d77f000000000000000000000000000000000000000000000000000000000000000082612b96565b6002546001600160801b03161115610b57576002547f0000000000000000000000000000000000000000000000000000000000000000906119229083906001600160801b0316612b83565b6114679190612b83565b5f80670de0b6b3a764000061193f6115b9565b6119499190612bc8565b9050808311611958575f611962565b6119628184612b83565b9150611467611999670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612bc8565b83906119e7565b5f6114678383670de0b6b3a76400005b5f825f1904841183021582026119c4575f80fd5b50910281810615159190040190565b5f6114678383670de0b6b3a7640000611ed2565b5f61146783670de0b6b3a764000084611ed2565b5f680248ce36a70cb26b3e198213611a1457505f919050565b680755bf798b4a1bf1e58212611a3d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611b8d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611eed565b9695505050505050565b5f61146783670de0b6b3a7640000846119b0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611c61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c859190612bf3565b935093509350935080611ca057505f98975050505050505050565b868414611cd157611cb084611f1a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611d0257611ce183611f43565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611d3057611d1282611f1a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b5f611d4a8284612c26565b6114679084612b83565b6002546004545f91610f2e916001600160801b0390911690600f0b611f90565b5f611d94878787611d8d88670de0b6b3a7640000612b83565b8787611fb5565b979650505050505050565b5f611db582611daf858888611ed2565b90611fe2565b95945050505050565b5f611e28611dfe611dd784670de0b6b3a7640000612b83565b6110fa670de0b6b3a7640000611ded818a611b97565b611df79190612b83565b87906119a0565b611e1090670de0b6b3a7640000612b96565b611e2284670de0b6b3a7640000612b83565b906119e7565b949350505050565b5f80611e6685611e3e611d54565b611e489190612b96565b600254611764908790600160801b90046001600160801b0316612b83565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f611e9a89878961146e565b9092509050611ea98289612b83565b97505f611eb782888a611ed2565b9050611ec3818b612b83565b9a989950979650505050505050565b5f825f190484118302158202611ee6575f80fd5b5091020490565b5f6001600160ff1b03821115611f165760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6001600160801b03821115611f1657604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280611f7257506f7fffffffffffffffffffffffffffffff82135b15611f165760405163a5353be560e01b815260040160405180910390fd5b5f80611f9c8484612047565b909250905080611fae57611fae611e71565b5092915050565b5f80611fc5888888888888612082565b909250905080611fd757611fd7611e71565b509695505050505050565b5f815f03611ff95750670de0b6b3a7640000610d5e565b825f0361200757505f610d5e565b5f61201183611eed565b90505f61202561202086611eed565b612146565b905081810261203c670de0b6b3a764000082612c39565b9050611b8d816119fb565b5f805f8361205486611eed565b61205e9190612ba9565b90505f811215612074575f80925092505061207b565b9150600190505b9250929050565b5f805f612092898988888861236b565b90506120ac86611daf6120a58a8d612b96565b87906119d3565b98506120b9858a86611ed2565b9850888110156120cf575f80925092505061213b565b888103670de0b6b3a76400008110612104576120fd6120f6670de0b6b3a764000089611b97565b8290611fe2565b905061211c565b6121196120f6670de0b6b3a7640000896119e7565b90505b80891015612131575f8093509350505061213b565b8803925060019150505b965096945050505050565b5f8082136121675760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906121ea9084901c611eed565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6123768585611fe2565b61238f61238786611daf868b6119a0565b8590856119b0565b611b8d9190612b96565b818382375f9101908152919050565b805160208201516001600160e01b031980821692919060048310156123d75780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b604051610180810167ffffffffffffffff81118282101715612417576124176123df565b60405290565b5f5b8381101561243757818101518382015260200161241f565b50505f910152565b5f6020828403121561244f575f80fd5b815167ffffffffffffffff80821115612466575f80fd5b818401915084601f830112612479575f80fd5b81518181111561248b5761248b6123df565b604051601f8201601f19908116603f011681019083821181831017156124b3576124b36123df565b816040528281528760208487010111156124cb575f80fd5b611d9483602083016020880161241d565b6001600160a01b0381168114610de3575f80fd5b5f60208284031215612500575f80fd5b8135611467816124dc565b8015158114610de3575f80fd5b80356125238161250b565b919050565b5f60208284031215612538575f80fd5b81356114678161250b565b5f60608284031215610b57575f80fd5b5f805f60608486031215612565575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612589575f80fd5b61259586828701612543565b9150509250925092565b5f8083601f8401126125af575f80fd5b50813567ffffffffffffffff8111156125c6575f80fd5b6020830191508360208260051b850101111561207b575f80fd5b5f805f805f80608087890312156125f5575f80fd5b8635612600816124dc565b95506020870135612610816124dc565b9450604087013567ffffffffffffffff8082111561262c575f80fd5b6126388a838b0161259f565b90965094506060890135915080821115612650575f80fd5b5061265d89828a0161259f565b979a9699509497509295939492505050565b5f805f8060808587031215612682575f80fd5b843593506020850135612694816124dc565b925060408501356126a4816124dc565b9396929550929360600135925050565b5f805f80608085870312156126c7575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f80608085870312156126f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115612721575f80fd5b61272d87828801612543565b91505092959194509250565b5f60208284031215612749575f80fd5b813567ffffffffffffffff81111561275f575f80fd5b611e2884828501612543565b5f806040838503121561277c575f80fd5b50508035926020909101359150565b5f805f805f60a0868803121561279f575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156127d1575f80fd5b6127dd88828901612543565b9150509295509295909350565b5f805f80608085870312156127fd575f80fd5b84359350602085013561280f816124dc565b9250604085013591506060850135612826816124dc565b939692955090935050565b5f805f805f60a08688031215612845575f80fd5b853594506020860135612857816124dc565b93506040860135612867816124dc565b925060608601359150608086013561287e816124dc565b809150509295509295909350565b5f6020828403121561289c575f80fd5b5035919050565b80356001600160801b0381168114612523575f80fd5b5f80604083850312156128ca575f80fd5b6128d3836128a3565b91506128e1602084016128a3565b90509250929050565b5f80604083850312156128fb575f80fd5b8235612906816124dc565b915060208301356129168161250b565b809150509250929050565b5f805f60608486031215612933575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561295c575f80fd5b83359250602084013561296e816124dc565b929592945050506040919091013590565b5f805f805f805f60e0888a031215612995575f80fd5b87356129a0816124dc565b965060208801356129b0816124dc565b955060408801356129c08161250b565b945060608801359350608088013560ff811681146129dc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215612a09575f80fd5b611467826128a3565b8035600f81900b8114612523575f80fd5b80356001600160701b0381168114612523575f80fd5b5f6101808284031215612a4a575f80fd5b612a526123f3565b612a5b836128a3565b8152612a69602084016128a3565b6020820152612a7a604084016128a3565b6040820152612a8b606084016128a3565b6060820152612a9c60808401612a12565b6080820152612aad60a084016128a3565b60a0820152612abe60c084016128a3565b60c0820152612acf60e084016128a3565b60e0820152610100612ae2818501612518565b90820152610120612af4848201612518565b90820152610140612b06848201612a23565b90820152610160612b188482016128a3565b908201529392505050565b5f60208284031215612b33575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201612b6257612b62612b3a565b505f0390565b5f8251612b7981846020870161241d565b9190910192915050565b81810381811115610d5e57610d5e612b3a565b80820180821115610d5e57610d5e612b3a565b8181035f831280158383131683831282161715611fae57611fae612b3a565b8082028115828204841417610d5e57610d5e612b3a565b634e487b7160e01b5f52601260045260245ffd5b5f805f8060808587031215612c06575f80fd5b84519350602085015192506040850151915060608501516128268161250b565b5f82612c3457612c34612bdf565b500690565b5f82612c4757612c47612bdf565b600160ff1b82145f1984141615612c6057612c60612b3a565b50059056fea26469706673582212200c2ceb5350630b57ee6744a11efdf3865d3d67a62c0e0390d4cd7f3e3594547264736f6c6343000816003361028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c6343000816003361028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", - "__setBalanceOf(uint256,address,uint256)": "94a97cdb", - "accrue(uint256,int256)": "68096239", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "burn(uint256,address,uint256)": "9eea5f66", - "calculateFeesGivenBonds(uint256,uint256,uint256,uint256)": "22d5506b", - "calculateFeesGivenShares(uint256,uint256,uint256)": "71f88b7c", - "calculateIdleShareReserves(uint256)": "b1b4b170", - "calculateOpenLong(uint256,uint256)": "9bd33498", - "calculateTimeRemaining(uint256)": "68c2ecb8", - "calculateTimeRemainingScaled(uint256)": "ca6d38f7", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "getTotalShares()": "d5002f2e", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "latestCheckpoint()": "907c0f92", - "mint(uint256,address,uint256)": "836a1040", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setLongExposure(uint128)": "b4f8da39", - "setMarketState((uint128,uint128,uint128,uint128,int128,uint128,uint128,uint128,bool,bool,uint112,uint128))": "f45cf2e0", - "setPauser(address,bool)": "7180c8ca", - "setReserves(uint128,uint128)": "702db0eb", - "setTotalShares(uint256)": "a77384c1", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "updateLiquidity(int256)": "8120a3e2" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts deleted file mode 100644 index dbe268891..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts +++ /dev/null @@ -1,130 +0,0 @@ -export declare const MockHyperdriveAdminController: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__defaultPausers"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointRewarder"; - readonly inputs: readonly [{ - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFeeCollector"; - readonly inputs: readonly [{ - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateHyperdriveGovernance"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSweepCollector"; - readonly inputs: readonly [{ - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "feeCollector()": "c415b95c"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "sweepCollector()": "10780f73"; - readonly "updateCheckpointRewarder(address)": "3e2d2014"; - readonly "updateFeeCollector(address)": "d2c35ce8"; - readonly "updateHyperdriveGovernance(address)": "dd2b8fbb"; - readonly "updateSweepCollector(address)": "8627a4f0"; - }; -}; -//# sourceMappingURL=MockHyperdriveAdminController.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map deleted file mode 100644 index dedf2a2a4..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveAdminController.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveAdminController.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuJkkF,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYxnF,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js deleted file mode 100644 index 8d901cfb5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js +++ /dev/null @@ -1,164 +0,0 @@ -export const MockHyperdriveAdminController = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - }, - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "__defaultPausers", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateCheckpointRewarder", - "inputs": [ - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFeeCollector", - "inputs": [ - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateHyperdriveGovernance", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSweepCollector", - "inputs": [ - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5060405161052c38038061052c83398101604081905261002e9161013b565b5f80546001600160a01b038088166001600160a01b03199283161790925560018054878416908316179055600280548684169083161790556003805492851692909116919091179055805161008a906004906020840190610095565b50505050505061023e565b828054828255905f5260205f209081019282156100e8579160200282015b828111156100e857825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906100b3565b506100f49291506100f8565b5090565b5b808211156100f4575f81556001016100f9565b80516001600160a01b0381168114610122575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f805f60a0868803121561014f575f80fd5b6101588661010c565b9450602061016781880161010c565b94506101756040880161010c565b93506101836060880161010c565b60808801519093506001600160401b038082111561019f575f80fd5b818901915089601f8301126101b2575f80fd5b8151818111156101c4576101c4610127565b8060051b604051601f19603f830116810181811085821117156101e9576101e9610127565b60405291825284820192508381018501918c831115610206575f80fd5b938501935b8285101561022b5761021c8561010c565b8452938501939285019261020b565b8096505050505050509295509295909350565b6102e18061024b5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063c415b95c11610063578063c415b95c1461013b578063d2c35ce81461014e578063dd2b8fbb1461017e578063e3331555146101ad578063f2596458146101bf575f80fd5b806310780f73146100945780633e2d2014146100c45780638627a4f0146100f6578063a64c90bf14610126575b5f80fd5b6002546100a7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f46100d2366004610232565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b005b6100f4610104366004610232565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61012e6101d2565b6040516100bb919061025f565b6001546100a7906001600160a01b031681565b6100f461015c366004610232565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6100f461018c366004610232565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546100a7906001600160a01b031681565b6003546100a7906001600160a01b031681565b6060600480548060200260200160405190810160405280929190818152602001828054801561022857602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161020a575b5050505050905090565b5f60208284031215610242575f80fd5b81356001600160a01b0381168114610258575f80fd5b9392505050565b602080825282518282018190525f9190848201906040850190845b8181101561029f5783516001600160a01b03168352928401929184019160010161027a565b5090969550505050505056fea2646970667358221220ecebc112f559d4259664259f658bf0e8ed76476292be39978b092c6551ce150a64736f6c63430008160033', - methodIdentifiers: { - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "feeCollector()": "c415b95c", - "hyperdriveGovernance()": "e3331555", - "sweepCollector()": "10780f73", - "updateCheckpointRewarder(address)": "3e2d2014", - "updateFeeCollector(address)": "d2c35ce8", - "updateHyperdriveGovernance(address)": "dd2b8fbb", - "updateSweepCollector(address)": "8627a4f0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts deleted file mode 100644 index f09483b9e..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const MockHyperdriveBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MockHyperdriveBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map deleted file mode 100644 index 22219f819..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveBase.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBX,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js deleted file mode 100644 index 963f70784..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const MockHyperdriveBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts deleted file mode 100644 index 4f15d90f2..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts +++ /dev/null @@ -1,632 +0,0 @@ -export declare const MockHyperdriveMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateAbsoluteMaxLong"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveUtils.MaxTradeParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLPFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateCloseLong"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_normalizedTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateCloseShort"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_normalizedTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateEffectiveShareReserves"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxLong"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveUtils.MaxTradeParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLPFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_checkpointExposure"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxShort"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveUtils.MaxTradeParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLPFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_checkpointExposure"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateNegativeInterestOnClose"; - readonly inputs: readonly [{ - readonly name: "_shareProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareCurveDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_totalGovernanceFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_openVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_closeVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isLong"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateOpenLong"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateOpenShort"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateShortProceedsDown"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_openVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_closeVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateShortProceedsUp"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_openVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_closeVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSpotAPR"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSpotPrice"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateTimeStretch"; - readonly inputs: readonly [{ - readonly name: "apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateAbsoluteMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256)": "a280a282"; - readonly "calculateCloseLong(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "94169d49"; - readonly "calculateCloseShort(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "f87845f2"; - readonly "calculateEffectiveShareReserves(uint256,int256)": "bc1e1065"; - readonly "calculateMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "3f77b617"; - readonly "calculateMaxShort((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "9e489b99"; - readonly "calculateNegativeInterestOnClose(uint256,uint256,uint256,uint256,uint256,uint256,bool)": "7ef99f87"; - readonly "calculateOpenLong(uint256,uint256,uint256,uint256,uint256,uint256)": "5e6d9d36"; - readonly "calculateOpenShort(uint256,uint256,uint256,uint256,uint256,uint256)": "6ceebe1d"; - readonly "calculateShortProceedsDown(uint256,uint256,uint256,uint256,uint256,uint256)": "e7acd3ad"; - readonly "calculateShortProceedsUp(uint256,uint256,uint256,uint256,uint256,uint256)": "902b1099"; - readonly "calculateSpotAPR(uint256,uint256,uint256,uint256,uint256)": "2810a036"; - readonly "calculateSpotPrice(uint256,uint256,uint256,uint256)": "2471caed"; - readonly "calculateTimeStretch(uint256,uint256)": "dbab8512"; - }; -}; -//# sourceMappingURL=MockHyperdriveMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map deleted file mode 100644 index 50c056307..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveMath.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsxB+5iB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiB18iB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js deleted file mode 100644 index e03f42ced..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js +++ /dev/null @@ -1,808 +0,0 @@ -export const MockHyperdriveMath = { - abi: [ - { - "type": "function", - "name": "calculateAbsoluteMaxLong", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct HyperdriveUtils.MaxTradeParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLPFee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_spotPrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateCloseLong", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_normalizedTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateCloseShort", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountOut", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_normalizedTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateEffectiveShareReserves", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAdjustment", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxLong", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct HyperdriveUtils.MaxTradeParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLPFee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_checkpointExposure", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxShort", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct HyperdriveUtils.MaxTradeParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLPFee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_checkpointExposure", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateNegativeInterestOnClose", - "inputs": [ - { - "name": "_shareProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareCurveDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_totalGovernanceFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_openVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_closeVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isLong", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "int256", - "internalType": "int256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateOpenLong", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateOpenShort", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateShortProceedsDown", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_openVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_closeVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_flatFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateShortProceedsUp", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_openVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_closeVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_flatFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSpotAPR", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSpotPrice", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateTimeStretch", - "inputs": [ - { - "name": "apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506122b88061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c806394169d4911610088578063bc1e106511610063578063bc1e106514610212578063dbab851214610225578063e7acd3ad14610238578063f87845f21461024b575f80fd5b806394169d49146101be5780639e489b99146101ec578063a280a282146101ff575f80fd5b80635e6d9d36116100c35780635e6d9d361461014a5780636ceebe1d1461015d5780637ef99f8714610170578063902b1099146101ab575f80fd5b80632471caed146100e95780632810a0361461010f5780633f77b61714610122575b5f80fd5b6100fc6100f7366004611f50565b61025e565b6040519081526020015b60405180910390f35b6100fc61011d366004611f7f565b610276565b610135610130366004612087565b610290565b60408051928352602083019190915201610106565b6100fc6101583660046120bb565b6102af565b6100fc61016b3660046120bb565b6102cb565b61018361017e3660046120fa565b6102db565b604080519586526020860194909452928401919091526060830152608082015260a001610106565b6100fc6101b93660046120bb565b610357565b6101d16101cc366004612159565b610367565b60408051938452602084019290925290820152606001610106565b6100fc6101fa366004612087565b610394565b61013561020d366004612087565b6103aa565b6100fc6102203660046121a0565b6103b9565b6100fc6102333660046121a0565b6103cf565b6100fc6102463660046120bb565b6103db565b6101d1610259366004612159565b6103eb565b5f8061026c86868686610400565b9695505050505050565b5f80610285878787878761041f565b979650505050505050565b5f805f8061029f878787610439565b909450925050505b935093915050565b5f806102bf88888888888861063c565b98975050505050505050565b5f806102bf88888888888861065c565b5f805f805f61030d6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b61031c8d8d8d8d8d8d8d61067c565b608086018190526060860182905260408601839052602086018490529484905292985090965094509250905097509750975097509792505050565b5f806102bf888888888888610718565b5f805f805f8061037c8d8d8d8d8d8d8d610761565b919750955093505050505b9750975097945050505050565b5f6103a08484846107cf565b90505b9392505050565b5f805f8061029f878787610971565b5f806103c58484610bc9565b9150505b92915050565b5f806103c58484610bee565b5f806102bf888888888888610c84565b5f805f805f8061037c8d8d8d8d8d8d8d610ca2565b5f61041682610410858888610cf5565b90610d10565b95945050505050565b5f8061042d87878786610400565b90506102858185610d70565b5f805f61044d865f01518760200151610bc9565b90505f6104688288604001518960e001518a60a00151610400565b90505f80610477898585610971565b90925090505f61048a8a8a858588610d95565b91505080156104a1575090945092506102a7915050565b506104ae89838a86610ec7565b95506104bc89878686610f64565b94505f806104cd8b8b8a8a89610d95565b915091508061053d5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d61784c6f6044820152703733b01034b99034b739b7b63b32b73a1760791b60648201526084015b60405180910390fd5b5f5b8981101561062d578489106105b25760405162461bcd60e51b815260206004820152603360248201527f52656163686564206162736f6c757465206d617820626f6e6420616d6f756e746044820152721034b7103033b2ba2fb6b0bc2fb637b733b01760691b6064820152608401610534565b5f6105bf8d8b8a8a610fb6565b93509050826105ce575061062d565b5f6105d9858361104d565b6105e3908c6121d4565b90505f6105f28f838c8c610f64565b90506106018f8f84848d610d95565b9096509450841561061757819b50809a5061061f565b50505061062d565b50505080600101905061053f565b50505050505050935093915050565b5f61028587878761065588670de0b6b3a76400006121e7565b8787611061565b5f61028587878761067588670de0b6b3a76400006121e7565b8787611083565b5f805f805f80888810156106e857861561069e5761069b8d898b610cf5565b9c505b6106a98c898b610cf5565b9b506106b48b611093565b6106bd8d611093565b6106c791906121fa565b90506106d48b898b610cf5565b9a506106e18a898b610cf5565b9950610707565b6106f18b611093565b6106fa8d611093565b61070491906121fa565b90505b9b9c9a9b999a975050505050505050565b5f8061072f846107298a888a6110c0565b906110e3565b905061073c8884866110c0565b61074690826121d4565b9050868111156107565786810391505b509695505050505050565b5f808061078161077988670de0b6b3a76400006121e7565b899087610cf5565b905086156103875761079388886110f7565b91506107b48a8a846107ad8a670de0b6b3a76400006121e7565b8989611083565b92506107c083826121d4565b90509750975097945050505050565b604080516060810182525f808252602082018190529181018290525f6107fc865f01518760200151610bc9565b90505f6108178288604001518960e001518a60a00151610400565b90505f610824888461110b565b9050610833888285858b61122c565b158015604087015290855261084d5793506103a392505050565b5f61085989848a611380565b9050610868898286868c61122c565b1515604087018190529086526108da5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d617853686044820152701bdc9d18081a5cc81a5b9cdbdb1d995b9d607a1b6064820152608401610534565b5f5b87811015610964576108f08a838688611453565b1580156040890152602088019190915261096457602086015186515f91610917919061104d565b61092190846121d4565b9050838111156109315750610964565b61093e8b8288888e61122c565b15801560408a01529088526109555780925061095b565b50610964565b506001016108dc565b5098975050505050505050565b5f805f806109a58688604001518960a00151670de0b6b3a764000061099691906121e7565b8a60c001518b60e001516114d6565b90506109f5876101400151670de0b6b3a76400006109c391906121e7565b6109ef670de0b6b3a76400006109d9818a6110e3565b6109e391906121e7565b6101208b015190611504565b90611504565b9150610a25876101400151670de0b6b3a7640000610a1391906121e7565b61072984670de0b6b3a76400006121d4565b60a0880151909250610a5490610a4d90610a4781670de0b6b3a76400006121e7565b9061104d565b8390610d10565b9150610a718760e001518860c001516110e390919063ffffffff16565b610a7b90836121d4565b9150610a87818361104d565b9150610ab6610a4d8860a00151670de0b6b3a7640000610aa791906121e7565b670de0b6b3a76400009061104d565b9150505f610ad18760e001518361104d90919063ffffffff16565b90505f80610b23896101400151670de0b6b3a7640000610af191906121e7565b610b1d670de0b6b3a7640000610b07818c61104d565b610b1191906121e7565b6101208d0151906110f7565b906110f7565b9050610b7984610b1d610b4b8c60a00151670de0b6b3a76400006110e390919063ffffffff16565b6104108d6101400151670de0b6b3a7640000610b6791906121e7565b610a4787670de0b6b3a76400006121d4565b915050610b908860c001518884610b1d91906121e7565b9450610ba285878a6101200151611518565b818960400151610bb291906121e7565b610bbc91906121e7565b9350505050935093915050565b5f80610bd58484611544565b909250905080610be757610be761157f565b5092915050565b5f80610c1e610c0f610c01866064612219565b66a5bbed86c5a000906110f7565b6748cd4072281e00009061104d565b9050610c32670de0b6b3a76400008261104d565b90506103c581610b1d610c5d610c58610c5389670de0b6b3a76400006121d4565b611093565b611598565b610a47610c58610c728a8a6301e13380610cf5565b610c5390670de0b6b3a76400006121d4565b5f80610c9584610a478a888a610cf5565b905061073c888486610cf5565b5f8080610cc2610cba88670de0b6b3a76400006121e7565b8990876110c0565b9050861561038757610cd48888611504565b91506107b48a8a84610cee8a670de0b6b3a76400006121e7565b89896117c6565b5f825f190484118302158202610d09575f80fd5b5091020490565b5f815f03610d275750670de0b6b3a76400006103c9565b825f03610d3557505f6103c9565b5f610d3f83611093565b90505f610d4e610c5886611093565b9050818102610d65670de0b6b3a764000082612230565b905061026c816117d6565b5f6103a3610d8384846301e133806110c0565b610a4785670de0b6b3a76400006121e7565b5f805f610dae86858a61012001518b6101600151611968565b90505f610dc88960c001518361104d90919063ffffffff16565b60c08a0151610dd890899061104d565b8a51610de491906121d4565b610dee91906121e7565b90505f868a60800151610e0191906121d4565b90505f610e0e8a8261197c565b610e1790612268565b90508a6101000151610e368c60c001518461104d90919063ffffffff16565b610e4091906121d4565b60c08c0151610e5090839061104d565b610e5a90856121d4565b10610eb2576101008b015160c08c0151610e7590849061104d565b60c08d0151610e8590849061104d565b610e8f90866121d4565b610e9991906121e7565b610ea391906121e7565b60019550955050505050610ebd565b5f8095509550505050505b9550959350505050565b5f80610ed586858586611990565b90505f610f1b670b1a2bc2ec500000610b1d610f118a60a00151670de0b6b3a7640000610f0291906121e7565b670de0b6b3a7640000906110e3565b610410868b61104d565b90505f610f30670de0b6b3a7640000836110f7565b610f4c610f4584670de0b6b3a76400006121e7565b87906110f7565b610f5691906121d4565b90506102bf88878784611990565b5f80610f9a848760400151610f868960c001518961104d90919063ffffffff16565b8960a001518a60c001518b60e0015161063c565b9050610fac8584886101200151611518565b61026c90826121e7565b5f80610fc486868686611a91565b909250905080610fd6575f9150611044565b611000610feb84670de0b6b3a76400006121e7565b610120880151610160890151610b1d916110f7565b61100a90836121d4565b915061101e670de0b6b3a7640000836121e7565b9150611041670de0b6b3a76400008760c0015184610cf59092919063ffffffff16565b91505b94509492505050565b5f6103a383670de0b6b3a764000084610cf5565b5f80611071888888888888611bdb565b9092509050806107565761075661157f565b5f80611071888888888888611c91565b5f6001600160ff1b038211156110bc5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f1904841183021582026110d4575f80fd5b50910281810615159190040190565b5f6103a383670de0b6b3a7640000846110c0565b5f6103a38383670de0b6b3a7640000610cf5565b5f806111245f8560200151611d4d90919063ffffffff16565b84610100015161113491906121d4565b90505f6111678486604001518760a00151670de0b6b3a764000061115891906121e7565b8860c001518960e001516114d6565b90505f6111b56111a48760a00151670de0b6b3a764000061118891906121e7565b610410611199878b60200151610bc9565b60e08b015190611504565b60e088015160c089015191906110c0565b6111bf90836121e7565b9050670de0b6b3a764000081106111fc576111f56111ee8760a00151670de0b6b3a7640000610aa791906121e7565b8290610d10565b905061121d565b61121a6111ee8760a00151670de0b6b3a7640000610f0291906121e7565b90505b604086015161026c90826121e7565b5f805f80611261878a604001518a8c60a00151670de0b6b3a764000061125291906121e7565b8d60c001518e60e00151611c91565b9150915080611277575f80935093505050610ebd565b5f6112b08a60c001516112968b8a8e61012001518f6101600151611d62565b6112a68c8b8f6101200151611d6e565b61072991906121e7565b9050808310156112c8575f8094509450505050610ebd565b5f6112d382856121e7565b9050808b5f015110156112ef575f809550955050505050610ebd565b8a515f906112fe9083906121e7565b90505f61132b8d60c0015161131c5f8c611d4d90919063ffffffff16565b8f60800151610a4791906121e7565b90508c61010001518161133e91906121d4565b821061136f576101008d015161135482846121e7565b61135e91906121e7565b600197509750505050505050610ebd565b5f8097509750505050505050610ebd565b5f808390505f6113e88661010001516113aa8860c00151896080015161104d90919063ffffffff16565b60c08901516113bd90610a47895f611d4d565b89516113c991906121d4565b6113d391906121e7565b6113dd91906121e7565b60c0880151906110f7565b905061026c61141761140287670de0b6b3a76400006121e7565b6101208901516101608a0151610b1d916110f7565b61143861142c88670de0b6b3a76400006121e7565b6101208a0151906110f7565b61144290856121e7565b61144c91906121d4565b829061104d565b5f805f611461878786611d88565b90505f6114a98860c00151610a478a6101600151670de0b6b3a764000061148891906121e7565b610b1d61149d8b670de0b6b3a76400006121e7565b6101208e0151906110f7565b90508082106114c9576114bc81836121e7565b6001935093505050611044565b5f80935093505050611044565b5f6114e18585610d10565b6114fa6114f286610410868b6110f7565b859085610cf5565b61026c91906121d4565b5f6103a38383670de0b6b3a76400006110c0565b5f6103a0846109ef670de0b6b3a764000061153381886110e3565b61153d91906121e7565b8590611504565b5f805f8361155186611093565b61155b91906121fa565b90505f811215611571575f809250925050611578565b9150600190505b9250929050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f8082136115b95760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906116459084901c611093565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f80611071888888888888611e5a565b5f680248ce36a70cb26b3e1982136117ef57505f919050565b680755bf798b4a1bf1e58212611818576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061026c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611093565b5f61041684610b1d84610b1d898989611518565b5f81831361198a57826103a3565b50919050565b5f8061199c858261197c565b6119a590612268565b90505f611a118760c00151671bc16d674ec800008961010001516119da8b60c001518c6080015161104d90919063ffffffff16565b60c08c01516119ea90889061104d565b8c516119f691906121d4565b611a0091906121e7565b611a0a91906121e7565b9190610cf5565b9050610285611a36670de0b6b3a7640000611a2c818961104d565b61142c91906121e7565b670de0b6b3a7640000611a61611a4c89836121e7565b6101208c01516101608d0151610b1d916110f7565b611a73670de0b6b3a76400008961104d565b611a7d91906121d4565b611a8791906121e7565b61144c91906121e7565b5f805f611aab8760c001518761104d90919063ffffffff16565b90505f611ac6611abb83886121d4565b60e08a0151906110f7565b90505f611af9878a604001518b60a00151670de0b6b3a7640000611aea91906121e7565b8c60c001518d60e001516114d6565b9050611b15610aa78a60a0015184610d1090919063ffffffff16565b94505f611b43611b328b60a0015185610d1090919063ffffffff16565b60e08c015160c08d01519190610cf5565b905080821015611b5c575f809550955050505050611044565b611b92610f45611b888c60a00151670de0b6b3a7640000611b7d91906121e7565b60a08e0151906110e3565b61041084866121e7565b9550611bc0670de0b6b3a7640000611baa818a61104d565b611bb491906121e7565b6101208c0151906110f7565b611bca90876121e7565b9a60019a5098505050505050505050565b5f805f611beb8989888888611f2c565b9050611bfe86610410610f458a8d6121d4565b9850611c0b858a86610cf5565b985088811015611c21575f809250925050611c86565b888103670de0b6b3a76400008110611c4f57611c486111ee670de0b6b3a7640000896110e3565b9050611c67565b611c646111ee670de0b6b3a76400008961104d565b90505b80891015611c7c575f80935093505050611c86565b8803925060019150505b965096945050505050565b5f805f611ca18989888888611f2c565b9050611cb186610410898b6121d4565b975087811015611cc7575f809250925050611c86565b878103611cd58186886110c0565b9050670de0b6b3a76400008110611d0257611cfb6111ee670de0b6b3a7640000896110e3565b9050611d1a565b611d176111ee670de0b6b3a76400008961104d565b90505b611d2481866110e3565b9050808a1015611d3b575f80935093505050611c86565b90980398600198509650505050505050565b5f818313611d5b57816103a3565b5090919050565b5f61041682610b1d8787875b5f6103a0846109ef61153d86670de0b6b3a76400006121e7565b5f80611dab8386604001518760a00151670de0b6b3a764000061115891906121e7565b90505f611dd7610aa7611dcc8860a00151888a6040015161041091906121d4565b60c089015190611504565b90505f611e4e611e038860a00151670de0b6b3a7640000611df891906121e7565b60a08a0151906110e3565b610410611e318a60a00151670de0b6b3a7640000611e2191906121e7565b8a8c6040015161041091906121d4565b611e3b90876121e7565b60c08b015160e08c0151610b1d9161104d565b905061028582826110f7565b5f805f611e6a8989888888611f2c565b905086881015611e80575f809250925050611c86565b9686900396611e8f8887610d10565b975087811015611ea5575f809250925050611c86565b878103611eb38186886110c0565b9050670de0b6b3a76400008110611ee057611ed96111ee670de0b6b3a7640000896110e3565b9050611ef8565b611ef56111ee670de0b6b3a76400008961104d565b90505b611f0281866110e3565b905089811015611f19575f80935093505050611c86565b9890980398600198509650505050505050565b5f611f378585610d10565b6114fa611f4886610410868b611504565b8590856110c0565b5f805f8060808587031215611f63575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f805f60a08688031215611f93575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b604051610180810167ffffffffffffffff81118282101715611fe657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6101808284031215611ffd575f80fd5b612005611fb6565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f805f6101c0848603121561209a575f80fd5b6120a48585611fec565b9561018085013595506101a0909401359392505050565b5f805f805f8060c087890312156120d0575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215612110575f80fd5b873596506020880135955060408801359450606088013593506080880135925060a0880135915060c08801358015158114612149575f80fd5b8091505092959891949750929550565b5f805f805f805f60e0888a03121561216f575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f80604083850312156121b1575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103c9576103c96121c0565b818103818111156103c9576103c96121c0565b8181035f831280158383131683831282161715610be757610be76121c0565b80820281158282048414176103c9576103c96121c0565b5f8261224a57634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615612263576122636121c0565b500590565b5f600160ff1b820161227c5761227c6121c0565b505f039056fea26469706673582212208bfc08777a9a04f3b337ab46ccfb98f61996d6b8ac9d9faf7e0ce777cce7cc6364736f6c63430008160033', - methodIdentifiers: { - "calculateAbsoluteMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256)": "a280a282", - "calculateCloseLong(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "94169d49", - "calculateCloseShort(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "f87845f2", - "calculateEffectiveShareReserves(uint256,int256)": "bc1e1065", - "calculateMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "3f77b617", - "calculateMaxShort((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "9e489b99", - "calculateNegativeInterestOnClose(uint256,uint256,uint256,uint256,uint256,uint256,bool)": "7ef99f87", - "calculateOpenLong(uint256,uint256,uint256,uint256,uint256,uint256)": "5e6d9d36", - "calculateOpenShort(uint256,uint256,uint256,uint256,uint256,uint256)": "6ceebe1d", - "calculateShortProceedsDown(uint256,uint256,uint256,uint256,uint256,uint256)": "e7acd3ad", - "calculateShortProceedsUp(uint256,uint256,uint256,uint256,uint256,uint256)": "902b1099", - "calculateSpotAPR(uint256,uint256,uint256,uint256,uint256)": "2810a036", - "calculateSpotPrice(uint256,uint256,uint256,uint256)": "2471caed", - "calculateTimeStretch(uint256,uint256)": "dbab8512" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts deleted file mode 100644 index 51a7a62d3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts +++ /dev/null @@ -1,1538 +0,0 @@ -export declare const MockHyperdriveTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGovernanceFeesAccrued"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getGovernanceFeesAccrued()": "8e67f87e"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map deleted file mode 100644 index 4ddcc68c5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget0.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA82Dg6gC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C98gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js deleted file mode 100644 index 34be0d102..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js +++ /dev/null @@ -1,1945 +0,0 @@ -export const MockHyperdriveTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGovernanceFeesAccrued", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getGovernanceFeesAccrued()": "8e67f87e", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts deleted file mode 100644 index 124f3ddc3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts +++ /dev/null @@ -1,766 +0,0 @@ -export declare const MockHyperdriveTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map deleted file mode 100644 index 18c5623f1..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget1.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi7Bw/gC,KAAK,MAAM,EAAE;;;;;CAKtihC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js deleted file mode 100644 index 8f9274b0b..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js +++ /dev/null @@ -1,951 +0,0 @@ -export const MockHyperdriveTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts deleted file mode 100644 index 16f4006b5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts +++ /dev/null @@ -1,782 +0,0 @@ -export declare const MockHyperdriveTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map deleted file mode 100644 index 1d6fc5351..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget2.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq8BkxjC,KAAK,MAAM,EAAE;;;;;CAKh0jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js deleted file mode 100644 index 00ecace07..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js +++ /dev/null @@ -1,971 +0,0 @@ -export const MockHyperdriveTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts deleted file mode 100644 index 6b79daf0f..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const MockHyperdriveTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map deleted file mode 100644 index e507118a3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget3.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy9BkkjC,KAAK,MAAM,EAAE;;;;;CAKhnjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js deleted file mode 100644 index 4d2673593..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js +++ /dev/null @@ -1,991 +0,0 @@ -export const MockHyperdriveTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts deleted file mode 100644 index 846f24317..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts +++ /dev/null @@ -1,781 +0,0 @@ -export declare const MockHyperdriveTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map deleted file mode 100644 index fec749904..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget4.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm8B8m1B,KAAK,MAAM,EAAE;;;;;;CAM5p1B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js deleted file mode 100644 index 0a50fd7a6..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js +++ /dev/null @@ -1,970 +0,0 @@ -export const MockHyperdriveTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts b/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts deleted file mode 100644 index a8d8dd929..000000000 --- a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts +++ /dev/null @@ -1,1837 +0,0 @@ -export declare const MockL2Pool: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "addressesProvider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "category"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "args1"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "args2"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "protocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "borrow(bytes32)": "d5eed868"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "initialize(address)": "c4d66de8"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "liquidationCall(bytes32,bytes32)": "fd21ecff"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "rebalanceStableBorrowRate(bytes32)": "427da177"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repay(bytes32)": "563dd613"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithATokens(bytes32)": "dc7c0bff"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "setUserUseReserveAsCollateral(bytes32)": "4d013f03"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supply(bytes32)": "f7a73840"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapBorrowRateMode(bytes32)": "1fe3c6f3"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - readonly "withdraw(bytes32)": "8e19899e"; - }; -}; -//# sourceMappingURL=MockL2Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map deleted file mode 100644 index a89e94e31..000000000 --- a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockL2Pool.d.ts","sourceRoot":"","sources":["../src/MockL2Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqtEyp8C,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0E5r8C,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockL2Pool.js b/packages/hyperdrive-artifacts/dist/MockL2Pool.js deleted file mode 100644 index 02ce031e4..000000000 --- a/packages/hyperdrive-artifacts/dist/MockL2Pool.js +++ /dev/null @@ -1,2336 +0,0 @@ -export const MockL2Pool = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "addressesProvider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "category", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "args1", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "args2", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "protocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60a06040525f805534801562000013575f80fd5b5060405162005c4e38038062005c4e833981016040819052620000369162000048565b6001600160a01b031660805262000077565b5f6020828403121562000059575f80fd5b81516001600160a01b038116811462000070575f80fd5b9392505050565b608051615b63620000eb5f395f818161043c01528181610d2f01528181610deb015281816112090152818161196d01528181611c24015281816122840152818161232c0152818161255d015281816128ac01528181612dbb015281816132bb015281816134a50152613b8d0152615b635ff3fe608060405234801561000f575f80fd5b506004361061040b575f3560e01c8063870e774411610221578063d1946dbc1161012a578063e82fec2f116100b4578063f32b9a7311610084578063f32b9a7314610c48578063f51e435b14610c62578063f7a7384014610c75578063f8119d5114610c88578063fd21ecff14610c97575f80fd5b8063e82fec2f14610bf9578063e8eda9df146106c8578063eddf1b7914610c0a578063ee3e210b14610c35575f80fd5b8063d5eed868116100fa578063d5eed86814610b93578063d65dc7a114610ba6578063dc7c0bff14610bb9578063df374c3614610bcc578063e43e88a114610be6575f80fd5b8063d1946dbc14610b3e578063d335015514610b53578063d579ea7d14610b6d578063d5ed393314610b80575f80fd5b8063ab9c4b5d116101ab578063c44b11f71161017b578063c44b11f714610ab3578063c4d66de814610af4578063cd11238214610b05578063cea9d26f14610b18578063d15e005314610b2b575f80fd5b8063ab9c4b5d14610a3a578063b1a99e2614610a4d578063bcb6e52214610a60578063bf92857c14610a73575f80fd5b806394ba89a2116101f157806394ba89a2146109db57806398c7da4e146109ee5780639cd1999614610a01578063a415bcad14610a14578063ab2b51f614610a27575f80fd5b8063870e7744146109815780638e19899e1461099b578063911a3413146109ae57806394b576de146109c8575f80fd5b80634417a58311610323578063680dd47c116102ad5780636c6f6ae11161027d5780636c6f6ae11461073f5780636fb07f961461075f57806372218d041461079a5780637a708e92146107ad5780638381995f146107c0575f80fd5b8063680dd47c146106ee57806369328dec1461070157806369a933a5146107145780636a99c03614610727575f80fd5b8063573ade81116102f3578063573ade81146106535780635a3b74b9146106665780635c9a8b1814610679578063617ba037146106c857806363c9b860146106db575f80fd5b80634417a583146105b15780634d013f03146106015780635275179714610614578063563dd61314610640575f80fd5b806328530a47116103a4578063348fde0f11610374578063348fde0f1461053e57806335ea6a7514610558578063386497fd14610578578063427da1771461058b57806342b0b77c1461059e575f80fd5b806328530a47146104eb5780632be29fa7146104fe5780632dad97d4146105185780633036b4391461052b575f80fd5b80631d2118f9116103df5780631d2118f9146104a05780631fe3c6f3146104b35780632520d5ee146104c6578063272d9072146104d9575f80fd5b8062a718a91461040f57806302c205f0146104245780630542975c14610437578063074b2e431461047b575b5f80fd5b61042261041d3660046143cd565b610caa565b005b610422610432366004614452565b610eb5565b61045e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b603a546001600160801b03165b6040516001600160801b039091168152602001610472565b6104226104ae3660046144cc565b610fc6565b6104226104c1366004614503565b6110e9565b6104226104d43660046144cc565b611109565b6039545b604051908152602001610472565b6104226104f936600461451a565b61119d565b73__$5f76d850ac254f0697945c46b13dedf9fb$__61045e565b6104dd610526366004614533565b611333565b610422610539366004614503565b611433565b73__$8adee7547342d537bcdcaeb7c748cfa5c0$__61045e565b61056b610566366004614565565b611440565b6040516104729190614580565b6104dd610586366004614565565b61164c565b610422610599366004614503565b611672565b6104226105ac3660046146fc565b6116a1565b6105f26105bf366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260358352819020815192830190915254815290565b60405190518152602001610472565b61042261060f366004614503565b6117bf565b61045e610622366004614778565b61ffff165f908152603660205260409020546001600160a01b031690565b6104dd61064e366004614503565b6117ed565b6104dd610661366004614791565b611817565b6104226106743660046147d8565b611915565b6106b2610687366004614565565b6001600160a01b03165f90815260346020526040902060030154600160b81b900464ffffffffff1690565b60405164ffffffffff9091168152602001610472565b6104226106d6366004614804565b611a69565b6104226106e9366004614565565b611b15565b6104226106fc366004614852565b611b6b565b6104dd61070f36600461487b565b611b95565b610422610722366004614804565b611d48565b603a54600160801b90046001600160801b0316610488565b61075261074d36600461451a565b611dce565b60405161047291906148fd565b61048861076d366004614565565b6001600160a01b03165f90815260346020526040902060090154600160801b90046001600160801b031690565b603b54600160401b900461ffff166104dd565b6104226107bb366004614951565b611ef7565b6109746107ce366004614565565b60408051610240810182525f6102208201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810191909152506001600160a01b039081165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015290565b60405161047291906149b0565b73__$283efb0a967bb30ce182c750a4aff98297$__61045e565b6104dd6109a9366004614503565b61203b565b73__$589bdd19231b917beb0692fb1391cc382d$__61045e565b6104dd6109d6366004614852565b612060565b6104226109e9366004614b0a565b612098565b6104226109fc366004614565565b612110565b610422610a0f366004614b74565b612148565b610422610a22366004614bb2565b612184565b610422610a35366004614565565b6123c3565b610422610a48366004614bed565b6123f8565b610422610a5b366004614ced565b612702565b610422610a6e366004614d2f565b6127ff565b610a86610a81366004614565565b612820565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610472565b6105f2610ac1366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260348352819020815192830190915254815290565b610422610b02366004614565565b50565b610422610b133660046144cc565b6129f9565b610422610b26366004614d60565b612a5b565b6104dd610b39366004614565565b612ade565b610b46612afe565b6040516104729190614d9e565b73__$eb5517a650f544fa14961d696410147857$__61045e565b610422610b7b366004614e56565b612bf2565b610422610b8e366004614f67565b612cd6565b610422610ba1366004614503565b612eba565b6104dd610bb4366004614533565b612f18565b6104dd610bc7366004614503565b612f90565b73__$3176f8b4007c03a59557e1c69343378539$__61045e565b610422610bf4366004614565565b612fb0565b603b546001600160401b03166104dd565b6104dd610c18366004614565565b6001600160a01b03165f9081526038602052604090205460ff1690565b6104dd610c43366004614fc8565b612fff565b73__$65f2e84d14e08abb971fea4350599006ac$__61045e565b610422610c70366004615009565b613159565b610422610c83366004614503565b613267565b60405160808152602001610472565b610422610ca5366004615047565b613287565b73__$589bdd19231b917beb0692fb1391cc382d$__6383c1087d6034603660356037604051806101200160405280603b60089054906101000a900461ffff1661ffff1681526020018981526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a6001600160a01b0316815260200188151581526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dad9190615067565b6001600160a01b0390811682528b81165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015610e32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e569190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e82959493929190615082565b5f6040518083038186803b158015610e98575f80fd5b505af4158015610eaa573d5f803e3d5ffd5b505050505050505050565b60405163d505accf60e01b81526001600160a01b0389169063d505accf90610eed90339030908c908a908a908a908a9060040161513a565b5f604051808303815f87803b158015610f04575f80fd5b505af1925050508015610f15575060015b506001600160a01b038087165f818152603560209081526040918290208251608081018452948d1685529084018b90528382019290925261ffff8816606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192610f90926034926036929160040161517b565b5f6040518083038186803b158015610fa6575f80fd5b505af4158015610fb8573d5f803e3d5ffd5b505050505050505050505050565b610fce6132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166110175760405162461bcd60e51b815260040161100e91906151cc565b60405180910390fd5b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061107f57505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906110b85760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b039182165f90815260346020526040902060070180546001600160a01b03191691909216179055565b5f806110f660368461337c565b915091506111048282612098565b505050565b6001600160a01b038083165f90815260346020908152604080832093851683526035909152908190209051631210e32760e11b815273__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9261116d9287908790600190600401615212565b5f6040518083038186803b158015611183575f80fd5b505af4158015611195573d5f803e3d5ffd5b505050505050565b73__$65f2e84d14e08abb971fea4350599006ac$__635d5dc313603460366037603860355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060600160405280603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611263573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112879190615067565b6001600160a01b031681526020018960ff168152506040518763ffffffff1660e01b81526004016113049695949392919095865260208087019590955260408087019490945260608601929092526080850152805160a0850152918201516001600160a01b031660c0840152015160ff1660e08201526101000190565b5f6040518083038186803b15801561131a575f80fd5b505af415801561132c573d5f803e3d5ffd5b5050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808a6001600160a01b031681526020018981526020018860028111156113a7576113a76151de565b60028111156113b8576113b86151de565b81523360208201526001604091820152516001600160e01b031960e087901b1681526113ea949392919060040161524e565b602060405180830381865af4158015611405573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142991906152b4565b90505b9392505050565b61143b6132af565b603955565b61144861427d565b6001600160a01b038083165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015261156361427d565b815181526020808301516001600160801b039081169183019190915260408084015182169083015260608084015182169083015260808084015182169083015260a08084015182169083015260c08084015164ffffffffff169083015260e08084015161ffff1690830152610120808401516001600160a01b03908116610100850152610140808601518216928501929092526101608086015182169285019290925261018080860151909116918401919091526101a0808501518316918401919091526101c0808501518316918401919091526101e090930151169181019190915292915050565b6001600160a01b0381165f90815260346020526040812061166c906133a8565b92915050565b61ffff81165f908152603660205260409020546001600160a01b0390811690601083901c1661110482826129f9565b5f6040518060e00160405280886001600160a01b03168152602001876001600160a01b0316815260200186815260200185858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093855250505061ffff8516602080840191909152603a546001600160801b03600160801b8204811660408087019190915291166060909401939093526001600160a01b038a16825260349052819020905163a1fe0e8d60e01b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__9163a1fe0e8d9161178a9185906004016152cb565b5f6040518083038186803b1580156117a0575f80fd5b505af41580156117b2573d5f803e3d5ffd5b5050505050505050505050565b61ffff81165f908152603660205260409020546001600160a01b0316601082901c6001166111048282611915565b5f805f806117fc60368661340a565b92509250925061180e83838333611817565b95945050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808b6001600160a01b031681526020018a815260200189600281111561188b5761188b6151de565b600281111561189c5761189c6151de565b81526001600160a01b03891660208201525f604091820152516001600160e01b031960e087901b1681526118d6949392919060040161524e565b602060405180830381865af41580156118f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180e91906152b4565b73__$283efb0a967bb30ce182c750a4aff98297$__63bf697a2660346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f208787603b60089054906101000a900461ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119eb9190615067565b335f908152603860205260409081902054905160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093526001600160a01b039182166084870152151560a486015261ffff90911660c48501521660e483015260ff166101048201526101240161116d565b6001600160a01b038083165f81815260356020908152604091829020825160808101845294891685529084018790528382019290925261ffff8416606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192611ae3926034926036929160040161517b565b5f6040518083038186803b158015611af9575f80fd5b505af4158015611b0b573d5f803e3d5ffd5b5050505050505050565b611b1d6132af565b604051639cf5702360e01b815260346004820152603660248201526001600160a01b038216604482015273__$eb5517a650f544fa14961d696410147857$__90639cf5702390606401611304565b5f805f805f611b7b603689613466565b94509450945094509450611b0b8585338686868d8d610eb5565b5f73__$283efb0a967bb30ce182c750a4aff98297$__63186dea4460346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808b6001600160a01b031681526020018a8152602001896001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca29190615067565b6001600160a01b039081168252335f908152603860209081526040918290205460ff90811694820194909452815160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093528151831660848701529381015160a486015291820151811660c4850152606082015160e485015260808201511661010484015260a0015116610124820152610144016113ea565b611d506134a3565b6001600160a01b038281165f81815260356020526040908190209051630413c86f60e01b81526034600482015260366024820152604481019190915291861660648301526084820185905260a482015261ffff821660c482015273__$3176f8b4007c03a59557e1c69343378539$__90630413c86f9060e401611ae3565b6040805160a0810182525f80825260208201819052918101829052606080820192909252608081019190915260ff82165f90815260376020908152604091829020825160a081018452815461ffff808216835262010000820481169483019490945264010000000081049093169381019390935266010000000000009091046001600160a01b03166060830152600181018054608084019190611e7090615347565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9c90615347565b8015611ee75780601f10611ebe57610100808354040283529160200191611ee7565b820191905f5260205f20905b815481529060010190602001808311611eca57829003601f168201915b5050505050815250509050919050565b611eff6132af565b73__$eb5517a650f544fa14961d696410147857$__6369fc1bdf603460366040518060e001604052808a6001600160a01b03168152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff168152602001611f95608090565b61ffff168152506040518463ffffffff1660e01b8152600401611fba93929190615379565b602060405180830381865af4158015611fd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff991906153fa565b1561132c57603b8054600160401b900461ffff1690600861201983615429565b91906101000a81548161ffff021916908361ffff160217905550505050505050565b5f805f6120496036856135c3565b91509150612058828233611b95565b949350505050565b5f805f805f8061207160368a613612565b9450945094509450945061208b8585853386868e8e612fff565b9998505050505050505050565b6001600160a01b0382165f908152603460209081526040808320338085526035909352922073__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9290919086908660028111156120f0576120f06151de565b6040518663ffffffff1660e01b815260040161116d959493929190615212565b6121186132af565b6001600160a01b0381165f908152603460205260408120906121398261364d565b90506111048282855f80613818565b604051631230b2a360e21b815273__$eb5517a650f544fa14961d696410147857$__906348c2ca8c9061116d9060349086908690600401615449565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f960346036603760355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518061018001604052808c6001600160a01b03168152602001336001600160a01b03168152602001886001600160a01b031681526020018b81526020018a6002811115612218576122186151de565b6002811115612229576122296151de565b815261ffff808b166020808401919091526001604080850191909152603b546001600160401b0381166060860152600160401b900490921660808401528151631f94a27560e31b8152915160a0909301926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263fca513a89260048083019391928290030181865afa1580156122ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ee9190615067565b6001600160a01b0390811682528981165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015612373573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123979190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e829594939291906154a0565b6123cb6132af565b6001600160a01b0381165f908152603460205260408120906123ec8261364d565b90506111048282613b33565b5f604051806101e001604052808d6001600160a01b031681526020018c8c808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506040805160208c810282810182019093528c82529283019290918d918d9182918501908490808284375f920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b9182918501908490808284375f920191909152505050908252506001600160a01b03871660208083019190915260408051601f880183900483028101830182528781529201919087908790819084018382808284375f92018290525093855250505061ffff808616602080850191909152603a546001600160801b03600160801b8204811660408088019190915291166060860152603b546001600160401b0381166080870152600160401b900490921660a08501526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660c086018190523060e0870152908b16845260388252928290205460ff16610100850152815163383e6b8b60e11b815291516101209094019363707cd7169260048082019392918290030181865afa1580156125dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126009190615067565b60405163fa50f29760e01b81523360048201526001600160a01b03919091169063fa50f29790602401602060405180830381865afa158015612644573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266891906153fa565b151590526001600160a01b0386165f9081526035602052604090819020905163173931f560e11b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__91632e7263ea916126c891603491603691603791908890600401615606565b5f6040518083038186803b1580156126de575f80fd5b505af41580156126f0573d5f803e3d5ffd5b50505050505050505050505050505050565b61270a6132af565b6001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061277157505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906127aa5760405162461bcd60e51b815260040161100e91906151cc565b50604051636ae4381360e01b8152603460048201526001600160a01b038316602482015264ffffffffff8216604482015273__$eb5517a650f544fa14961d696410147857$__90636ae438139060640161116d565b6128076132af565b6001600160801b03908116600160801b02911617603a55565b604080516001600160a01b038381165f8181526035602090815285822060c0860187525460a086019081528552603b54600160401b900461ffff1681860152848601929092528451631f94a27560e31b8152945190948594859485948594859473__$eb5517a650f544fa14961d696410147857$__946326ec273f9460349460369460379460608501937f0000000000000000000000000000000000000000000000000000000000000000169263fca513a8926004808401938290030181865afa1580156128f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129149190615067565b6001600160a01b0390811682528e81165f908152603860209081526040918290205460ff90811694820194909452815160e08a901b6001600160e01b0319168152600481019890985260248801969096526044870194909452825151606487015293820151608486015291810151831660a4850152606081015190921660c48401526080909101511660e48201526101040160c060405180830381865af41580156129c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e5919061577e565b949c939b5091995097509550909350915050565b6001600160a01b038281165f81815260346020526040908190209051631a5cfdd160e21b815260048101919091526024810191909152908216604482015273__$5f76d850ac254f0697945c46b13dedf9fb$__90636973f7449060640161116d565b612a63613b8b565b6040516343d9915960e11b81526001600160a01b038085166004830152831660248201526044810182905273__$eb5517a650f544fa14961d696410147857$__906387b322b2906064015f6040518083038186803b158015612ac3575f80fd5b505af4158015612ad5573d5f803e3d5ffd5b50505050505050565b6001600160a01b0381165f90815260346020526040812061166c90613cab565b603b54606090600160401b900461ffff165f80826001600160401b03811115612b2957612b29614dea565b604051908082528060200260200182016040528015612b52578160200160208202803683370190505b5090505f5b83811015612be8575f818152603660205260409020546001600160a01b031615612bd2575f818152603660205260409020546001600160a01b031682612b9d85846157c4565b81518110612bad57612bad6157d7565b60200260200101906001600160a01b031690816001600160a01b031681525050612be0565b82612bdc816157eb565b9350505b600101612b57565b5091038152919050565b612bfa6132af565b604080518082019091526002815261189b60f11b602082015260ff8316612c345760405162461bcd60e51b815260040161100e91906151cc565b5060ff82165f9081526037602090815260409182902083518154928501519385015160608601516001600160a01b03166601000000000000026601000000000000600160d01b031961ffff9283166401000000000216640100000000600160d01b0319968316620100000263ffffffff1990961692909316919091179390931793909316929092171781556080820151829190600182019061132c9082615847565b6001600160a01b038681165f908152603460209081526040918290206004015482518084019093526002835261313160f01b918301919091529091163314612d315760405162461bcd60e51b815260040161100e91906151cc565b5073__$283efb0a967bb30ce182c750a4aff98297$__638a5dadd160346036603760356040518061012001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a8152602001898152602001888152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e399190615067565b6001600160a01b0390811682528d165f908152603860209081526040918290205460ff16920191909152516001600160e01b031960e088901b168152612e86959493929190600401615902565b5f6040518083038186803b158015612e9c575f80fd5b505af4158015612eae573d5f803e3d5ffd5b50505050505050505050565b5f805f80612f0360368661ffff8181165f9081526020939093526040909220546001600160a01b0316926001600160801b03601083901c169260ff609084901c169260981c1690565b935093509350935061132c8484848433612184565b5f612f216134a3565b6001600160a01b0384165f818152603460205260409081902060395491516311ce864960e31b8152600481019190915260248101929092526044820185905260648201849052608482015273__$3176f8b4007c03a59557e1c69343378539$__90638e7432489060a4016113ea565b5f805f80612f9f60368661340a565b92509250925061180e838383611333565b612fb86132af565b604051631e3b414560e01b8152603460048201526001600160a01b038216602482015273__$eb5517a650f544fa14961d696410147857$__90631e3b414590604401611304565b60405163d505accf60e01b81525f906001600160a01b038a169063d505accf9061303990339030908d908b908b908b908b9060040161513a565b5f604051808303815f87803b158015613050575f80fd5b505af1925050508015613061575060015b505f6040518060a001604052808b6001600160a01b031681526020018a8152602001896002811115613095576130956151de565b60028111156130a6576130a66151de565b81526001600160a01b03891660208083018290525f6040938401819052918252603590528190209051632074aef360e11b815291925073__$5f76d850ac254f0697945c46b13dedf9fb$__916340e95de69161310c91603491603691879060040161524e565b602060405180830381865af4158015613127573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314b91906152b4565b9a9950505050505050505050565b6131616132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166131a15760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061320957505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906132425760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f9081526034602052604090208135815581905b50505050565b5f805f613275603685613d01565b92509250925061326183833384611a69565b5f805f805f61329860368888613d3b565b94509450945094509450612ad58585858585610caa565b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663631adfca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133399190615067565b6001600160a01b03161460405180604001604052806002815260200161031360f41b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b61ffff81165f908152602083905260409020546001600160a01b0316601082901c60ff165b9250929050565b60038101545f90600160801b900464ffffffffff164281036133d6575050600201546001600160801b031690565b600283015461142c906001600160801b03808216916133fe91600160801b9091041684613dc0565b90613dcc565b50919050565b5f808061ffff8416601085901c6001600160801b0316609086901c60ff166002600160801b0319820161343c575f1991505b61ffff9092165f908152602088905260409020546001600160a01b03169450925090509250925092565b5f8080808060a086901c63ffffffff1660c087901c60ff1682808061348b8c8c613d01565b919e909d50909b509499509297509295505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135239190615067565b604051633933006760e11b81523360048201526001600160a01b03919091169063726600ce90602401602060405180830381865afa158015613567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061358b91906153fa565b604051806040016040528060018152602001601b60f91b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b5f8061ffff8316601084901c6001600160801b03166002600160801b031981016135eb57505f195b61ffff919091165f9081526020959095526040909420546001600160a01b03169492505050565b5f805f805f805f805f806136268c8c61340a565b919e909d50909b609881901c63ffffffff169b5060b81c60ff169950975050505050505050565b6136556142ff565b61365d6142ff565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa15801561374c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061377091906152b4565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156137c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e591906159a9565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b61383f60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161385391613dcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161391a916004016159dc565b606060405180830381865afa158015613935573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139599190615a5e565b6040840152602083015280825261396f90613e0e565b6001870180546001600160801b03928316600160801b029216919091179055602081015161399c90613e0e565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516139cc90613e0e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152613a0a9051600160fc1b16151590565b15613abf578215613a6757613a1e83613e0e565b600987018054601090613a42908490600160801b90046001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115613abf57613a7682613e0e565b600987018054601090613a9a908490600160801b90046001600160801b0316615ab0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b600382015464ffffffffff428116600160801b9092041603613b53575050565b613b5d8282613e7a565b613b678282613f57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015613be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c0b9190615067565b604051637be53ca160e01b81523360048201526001600160a01b039190911690637be53ca190602401602060405180830381865afa158015613c4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c7391906153fa565b604051806040016040528060018152602001603160f81b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b60038101545f90600160801b900464ffffffffff16428103613cd9575050600101546001600160801b031690565b600183015461142c906001600160801b03808216916133fe91600160801b90910416846140bb565b61ffff8181165f908152602084905260409020546001600160a01b031690601083901c6001600160801b031690609084901c169250925092565b5f8080808061ffff87811690601089901c16602089901c6001600160a01b03166001600160801b03891660808a901c6001166002600160801b03198201613d81575f1991505b61ffff9485165f90815260209d909d526040808e2054949095168d5293909b20546001600160a01b039283169c92169a90995097509095509350505050565b5f61142c8383426140f7565b5f81156b019d971e4fe8401e740000001983900484111517613dec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b5f6001600160801b03821115613e765760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161100e565b5090565b61016081015115613ee8575f613e9a8261016001518361024001516140bb565b9050613eb38260e0015182613dcc90919063ffffffff16565b6101008301819052613ec490613e0e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115613f53575f613f04826101800151836102400151613dc0565b9050613f1e82610120015182613dcc90919063ffffffff16565b6101408301819052613f2f90613e0e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b613f8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03613f9b57505050565b6101208201518251613fac91613dcc565b60208201526101408201518251613fc291613dcc565b60408201526060820151610260830151610240840151613fea92919064ffffffffff166140f7565b606082018190526040830151613fff91613dcc565b80825260208201516080840151604084015161401b9190615ad0565b61402591906157c4565b61402f91906157c4565b608082018190526101a0830151614046919061421c565b60a0820181905215611104576140766140718361010001518360a0015161424090919063ffffffff16565b613e0e565b6008840180545f906140929084906001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b5f806140ce64ffffffffff8416426157c4565b6140d89085615ae3565b6301e1338090049050612058816b033b2e3c9fd0803ce8000000615ad0565b5f8061410a64ffffffffff8516846157c4565b9050805f03614128576b033b2e3c9fd0803ce800000091505061142c565b5f1981015f80806002851161413d575f614142565b600285035b925066038882915c40006141568a80613dcc565b8161416357614163615afa565b0491506301e13380614175838b613dcc565b8161418257614182615afa565b0490505f826141918688615ae3565b61419b9190615ae3565b6002900490505f82856141ae888a615ae3565b6141b89190615ae3565b6141c29190615ae3565b60069004905080826301e133806141d98a8f615ae3565b6141e39190615b0e565b6141f9906b033b2e3c9fd0803ce8000000615ad0565b6142039190615ad0565b61420d9190615ad0565b9b9a5050505050505050505050565b5f81156113881983900484111517614232575f80fd5b506127109102611388010490565b5f81156b033b2e3c9fd0803ce800000060028404190484111715614262575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b60408051610200810182525f6101e08201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161437460405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114610b02575f80fd5b80356143bb8161439c565b919050565b8015158114610b02575f80fd5b5f805f805f60a086880312156143e1575f80fd5b85356143ec8161439c565b945060208601356143fc8161439c565b9350604086013561440c8161439c565b9250606086013591506080860135614423816143c0565b809150509295509295909350565b803561ffff811681146143bb575f80fd5b803560ff811681146143bb575f80fd5b5f805f805f805f80610100898b03121561446a575f80fd5b88356144758161439c565b975060208901359650604089013561448c8161439c565b955061449a60608a01614431565b9450608089013593506144af60a08a01614442565b925060c0890135915060e089013590509295985092959890939650565b5f80604083850312156144dd575f80fd5b82356144e88161439c565b915060208301356144f88161439c565b809150509250929050565b5f60208284031215614513575f80fd5b5035919050565b5f6020828403121561452a575f80fd5b61142c82614442565b5f805f60608486031215614545575f80fd5b83356145508161439c565b95602085013595506040909401359392505050565b5f60208284031215614575575f80fd5b813561142c8161439c565b81515181526101e0810160208301516145a460208401826001600160801b03169052565b5060408301516145bf60408401826001600160801b03169052565b5060608301516145da60608401826001600160801b03169052565b5060808301516145f560808401826001600160801b03169052565b5060a083015161461060a08401826001600160801b03169052565b5060c083015161462960c084018264ffffffffff169052565b5060e083015161463f60e084018261ffff169052565b50610100838101516001600160a01b039081169184019190915261012080850151821690840152610140808501518216908401526101608085015190911690830152610180808401516001600160801b03908116918401919091526101a0808501518216908401526101c08085015191821681850152905b505092915050565b5f8083601f8401126146cf575f80fd5b5081356001600160401b038111156146e5575f80fd5b6020830191508360208285010111156133a1575f80fd5b5f805f805f8060a08789031215614711575f80fd5b863561471c8161439c565b9550602087013561472c8161439c565b94506040870135935060608701356001600160401b0381111561474d575f80fd5b61475989828a016146bf565b909450925061476c905060808801614431565b90509295509295509295565b5f60208284031215614788575f80fd5b61142c82614431565b5f805f80608085870312156147a4575f80fd5b84356147af8161439c565b9350602085013592506040850135915060608501356147cd8161439c565b939692955090935050565b5f80604083850312156147e9575f80fd5b82356147f48161439c565b915060208301356144f8816143c0565b5f805f8060808587031215614817575f80fd5b84356148228161439c565b93506020850135925060408501356148398161439c565b915061484760608601614431565b905092959194509250565b5f805f60608486031215614864575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561488d575f80fd5b83356148988161439c565b92506020840135915060408401356148af8161439c565b809150509250925092565b5f81518084525f5b818110156148de576020818501810151868301820152016148c2565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61ffff8084511660208401528060208501511660408401528060408501511660608401525060018060a01b036060840151166080830152608083015160a08084015261205860c08401826148ba565b5f805f805f60a08688031215614965575f80fd5b85356149708161439c565b945060208601356149808161439c565b935060408601356149908161439c565b925060608601356149a08161439c565b915060808601356144238161439c565b8151518152610220810160208301516149d460208401826001600160801b03169052565b5060408301516149ef60408401826001600160801b03169052565b506060830151614a0a60608401826001600160801b03169052565b506080830151614a2560808401826001600160801b03169052565b5060a0830151614a4060a08401826001600160801b03169052565b5060c0830151614a5960c084018264ffffffffff169052565b5060e0830151614a6f60e084018261ffff169052565b506101008381015164ffffffffff1690830152610120808401516001600160a01b0390811691840191909152610140808501518216908401526101608085015182169084015261018080850151909116908301526101a0808401516001600160801b03908116918401919091526101c0808501518216908401526101e0808501518216908401526102008085015191821681850152906146b7565b5f8060408385031215614b1b575f80fd5b8235614b268161439c565b946020939093013593505050565b5f8083601f840112614b44575f80fd5b5081356001600160401b03811115614b5a575f80fd5b6020830191508360208260051b85010111156133a1575f80fd5b5f8060208385031215614b85575f80fd5b82356001600160401b03811115614b9a575f80fd5b614ba685828601614b34565b90969095509350505050565b5f805f805f60a08688031215614bc6575f80fd5b8535614bd18161439c565b945060208601359350604086013592506149a060608701614431565b5f805f805f805f805f805f60e08c8e031215614c07575f80fd5b614c108c6143b0565b9a506001600160401b038060208e01351115614c2a575f80fd5b614c3a8e60208f01358f01614b34565b909b50995060408d0135811015614c4f575f80fd5b614c5f8e60408f01358f01614b34565b909950975060608d0135811015614c74575f80fd5b614c848e60608f01358f01614b34565b9097509550614c9560808e016143b0565b94508060a08e01351115614ca7575f80fd5b50614cb88d60a08e01358e016146bf565b9093509150614cc960c08d01614431565b90509295989b509295989b9093969950565b64ffffffffff81168114610b02575f80fd5b5f8060408385031215614cfe575f80fd5b8235614d098161439c565b915060208301356144f881614cdb565b80356001600160801b03811681146143bb575f80fd5b5f8060408385031215614d40575f80fd5b614d4983614d19565b9150614d5760208401614d19565b90509250929050565b5f805f60608486031215614d72575f80fd5b8335614d7d8161439c565b92506020840135614d8d8161439c565b929592945050506040919091013590565b602080825282518282018190525f9190848201906040850190845b81811015614dde5783516001600160a01b031683529284019291840191600101614db9565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715614e2057614e20614dea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614e4e57614e4e614dea565b604052919050565b5f8060408385031215614e67575f80fd5b614e7083614442565b91506020808401356001600160401b0380821115614e8c575f80fd5b9085019060a08288031215614e9f575f80fd5b614ea7614dfe565b614eb083614431565b8152614ebd848401614431565b84820152614ecd60408401614431565b60408201526060830135614ee08161439c565b6060820152608083013582811115614ef6575f80fd5b80840193505087601f840112614f0a575f80fd5b823582811115614f1c57614f1c614dea565b614f2e601f8201601f19168601614e26565b92508083528885828601011115614f43575f80fd5b80858501868501375f85828501015250816080820152809450505050509250929050565b5f805f805f8060c08789031215614f7c575f80fd5b8635614f878161439c565b95506020870135614f978161439c565b94506040870135614fa78161439c565b959894975094956060810135955060808101359460a0909101359350915050565b5f805f805f805f80610100898b031215614fe0575f80fd5b8835614feb8161439c565b97506020890135965060408901359550606089013561449a8161439c565b5f80828403604081121561501b575f80fd5b83356150268161439c565b92506020601f1982011215615039575f80fd5b506020830190509250929050565b5f8060408385031215615058575f80fd5b50508035926020909101359150565b5f60208284031215615077575f80fd5b815161142c8161439c565b5f6101a08201905086825285602083015284604083015283606083015282516080830152602083015160a0830152604083015160018060a01b0380821660c08501528060608601511660e0850152505060808301516101006150ee818501836001600160a01b03169052565b60a0850151151561012085015260c08501516001600160a01b0390811661014086015260e086015160ff166101608601529085015190811661018085015290505b509695505050505050565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b93845260208085019390935260408085019290925280516001600160a01b039081166060808701919091529382015160808601529181015190911660a0840152015161ffff1660c082015260e00190565b602081525f61142c60208301846148ba565b634e487b7160e01b5f52602160045260245ffd5b6003811061520e57634e487b7160e01b5f52602160045260245ffd5b9052565b858152602081018590526001600160a01b0384811660408301528316606082015260a0810161524460808301846151f2565b9695505050505050565b8481526020808201859052604080830185905283516001600160a01b0390811660608501529184015160808401528301516101008301919061529360a08501826151f2565b5060608401511660c0830152608090920151151560e0909101529392505050565b5f602082840312156152c4575f80fd5b5051919050565b828152604060208201525f60018060a01b038084511660408401528060208501511660608401525060408301516080830152606083015160e060a08401526153176101208401826148ba565b905061ffff60808501511660c084015260a084015160e084015260c0840151610100840152809150509392505050565b600181811c9082168061535b57607f821691505b60208210810361340457634e487b7160e01b5f52602260045260245ffd5b5f6101208201905084825283602083015260018060a01b038084511660408401528060208501511660608401528060408501511660808401528060608501511660a08401528060808501511660c08401525060a08301516153e060e084018261ffff169052565b5060c083015161ffff811661010084015250949350505050565b5f6020828403121561540a575f80fd5b815161142c816143c0565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff80831681810361543f5761543f615415565b6001019392505050565b838152604060208083018290529082018390525f90849060608401835b868110156154945783356154798161439c565b6001600160a01b031682529282019290820190600101615466565b50979650505050505050565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e08301526080830151610100615515818501836151f2565b60a0850151915061012061552e8186018461ffff169052565b60c086015192506101406155458187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e0850152905061512f565b5f815180845260208085019450602084015f5b838110156155cc5781516001600160a01b0316875295820195908201906001016155a7565b509495945050505050565b5f815180845260208085019450602084015f5b838110156155cc578151875295820195908201906001016155ea565b85815284602082015283604082015282606082015260a0608082015261563860a0820183516001600160a01b03169052565b5f60208301516101e08060c0850152615655610280850183615594565b91506040850151609f19808685030160e087015261567384836155d7565b93506060870151915061010081878603018188015261569285846155d7565b9450608088015192506101206156b2818901856001600160a01b03169052565b60a089015193506101408389880301818a01526156cf87866148ba565b965060c08a0151945061016093506156ec848a018661ffff169052565b60e08a0151945061018085818b0152838b015195506101a0935085848b0152828b015195506101c0925085838b0152818b0151878b0152848b0151965061573f6102008b01886001600160a01b03169052565b8a01516001600160a01b0381166102208b0152955061575b9050565b9088015160ff166102408801528701518015156102608801529250615494915050565b5f805f805f8060c08789031215615793575f80fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b8181038181111561166c5761166c615415565b634e487b7160e01b5f52603260045260245ffd5b5f600182016157fc576157fc615415565b5060010190565b601f82111561110457805f5260205f20601f840160051c810160208510156158285750805b601f840160051c820191505b8181101561132c575f8155600101615834565b81516001600160401b0381111561586057615860614dea565b6158748161586e8454615347565b84615803565b602080601f8311600181146158a7575f84156158905750858301515b5f19600386901b1c1916600185901b178555611195565b5f85815260208120601f198616915b828110156158d5578886015182559484019460019091019084016158b6565b50858210156158f257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b858152602080820186905260408083018690526060830185905283516001600160a01b03908116608085015291840151821660a084015283015190811660c08301526101a082019050606083015160e08301526080830151610100818185015260a085015161012085015260c085015161014085015260e085015191506159956101608501836001600160a01b03169052565b84015160ff8116610180850152905061512f565b5f805f80608085870312156159bc575f80fd5b84519350602085015192506040850151915060608501516147cd81614cdb565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151615a3e60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215615a70575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b03818116838216019080821115615aa957615aa9615415565b5092915050565b6001600160801b03828116828216039080821115615aa957615aa9615415565b8082018082111561166c5761166c615415565b808202811582820484141761166c5761166c615415565b634e487b7160e01b5f52601260045260245ffd5b5f82615b2857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212204793bf1919cd1991d18e25326db47014c7d5e4809660a16fa3e2bc0504f0939f64736f6c63430008160033', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "borrow(bytes32)": "d5eed868", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "initialize(address)": "c4d66de8", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "liquidationCall(bytes32,bytes32)": "fd21ecff", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "rebalanceStableBorrowRate(bytes32)": "427da177", - "repay(address,uint256,uint256,address)": "573ade81", - "repay(bytes32)": "563dd613", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithATokens(bytes32)": "dc7c0bff", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "setUserUseReserveAsCollateral(bytes32)": "4d013f03", - "supply(address,uint256,address,uint16)": "617ba037", - "supply(bytes32)": "f7a73840", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapBorrowRateMode(bytes32)": "1fe3c6f3", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec", - "withdraw(bytes32)": "8e19899e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts b/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts deleted file mode 100644 index 6cecd6af3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts +++ /dev/null @@ -1,1056 +0,0 @@ -export declare const MockLPMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateDistributeExcessIdle"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateDistributeExcessIdleShareProceeds"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_originalEffectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxShareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateDistributeExcessIdleWithdrawalSharesRedeemed"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateInitialReserves"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxShareReservesDeltaSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_originalEffectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateNetCurveTrade"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateNetFlatTrade"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculatePresentValue"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesDeltaGivenBondsDeltaDerivativeSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_originalEffectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateUpdateLiquidity"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "shouldShortCircuitDistributeExcessIdleShareProceeds"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_presentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateDistributeExcessIdle(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "865d65a2"; - readonly "calculateDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "3f9ccc01"; - readonly "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256))": "cefef8b7"; - readonly "calculateDistributeExcessIdleWithdrawalSharesRedeemed(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "a0d1643c"; - readonly "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e"; - readonly "calculateMaxShareReservesDeltaSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "9e5fc16b"; - readonly "calculateNetCurveTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "a4fc6f81"; - readonly "calculateNetFlatTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "32c5dec4"; - readonly "calculatePresentValue((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "c00b11d3"; - readonly "calculateSharesDeltaGivenBondsDeltaDerivativeSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,int256)": "c615b2d9"; - readonly "calculateUpdateLiquidity(uint256,int256,uint256,uint256,int256)": "b500f3cb"; - readonly "shouldShortCircuitDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "8f1505fa"; - }; -}; -//# sourceMappingURL=MockLPMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map deleted file mode 100644 index a6cb5020e..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockLPMath.d.ts","sourceRoot":"","sources":["../src/MockLPMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkzC2mlB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAe9olB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLPMath.js b/packages/hyperdrive-artifacts/dist/MockLPMath.js deleted file mode 100644 index 24a154e62..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLPMath.js +++ /dev/null @@ -1,1346 +0,0 @@ -export const MockLPMath = { - abi: [ - { - "type": "function", - "name": "calculateDistributeExcessIdle", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateDistributeExcessIdleShareProceeds", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_originalEffectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxShareReservesDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateDistributeExcessIdleWithdrawalSharesRedeemed", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateInitialReserves", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxShareReservesDeltaSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_originalEffectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateNetCurveTrade", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateNetFlatTrade", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculatePresentValue", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesDeltaGivenBondsDeltaDerivativeSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_originalEffectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateUpdateLiquidity", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareReservesDelta", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "shouldShortCircuitDistributeExcessIdleShareProceeds", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_presentValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061251a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c8063a4fc6f811161006e578063a4fc6f8114610174578063b29e1d1e14610187578063b500f3cb146101b5578063c00b11d3146101c8578063c615b2d9146101db578063cefef8b7146101ee575f80fd5b806332c5dec4146100b55780633f9ccc01146100db578063865d65a2146100ee5780638f1505fa146101165780639e5fc16b14610139578063a0d1643c14610161575b5f80fd5b6100c86100c33660046120d9565b610201565b6040519081526020015b60405180910390f35b6100c86100e936600461217a565b610211565b6101016100fc3660046121ae565b610227565b604080519283526020830191909152016100d2565b61012961012436600461217a565b6102ac565b60405190151581526020016100d2565b61014c6101473660046121ae565b6102b8565b604080519283529015156020830152016100d2565b6100c861016f3660046121ae565b6102c4565b6100c86101823660046120d9565b6102d6565b61019a6101953660046121d9565b610355565b604080519384526020840192909252908201526060016100d2565b61019a6101c3366004612218565b610402565b6100c86101d63660046120d9565b610513565b61014c6101e936600461217a565b61058b565b61014c6101fc36600461224f565b6105a5565b5f61020b826105b9565b92915050565b5f61021f848484600461062b565b949350505050565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef6885856040518363ffffffff1660e01b81526004016102629291906122e8565b6040805180830381865af415801561027c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a0919061235d565b915091505b9250929050565b5f61021f848484610b32565b5f806102a08484610b9d565b5f6102cf8383610ca4565b9392505050565b5f805f6102e284610d69565b915091508061034e5760405162461bcd60e51b815260206004820152602d60248201527f4d6f636b4c504d6174683a2063616c63756c6174654e6574437572766554726160448201526c191954d859994819985a5b1959609a1b60648201526084015b60405180910390fd5b5092915050565b60405163594f0e8f60e11b8152600481018790526024810186905260448101859052606481018490526084810183905260a481018290525f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156103cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f0919061237f565b919b909a509098509650505050505050565b60405163685a2be760e11b815260048101869052602481018590526044810184905260648101839052608481018290525f9081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015610474573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049891906123aa565b92965090945092509050806105075760405162461bcd60e51b815260206004820152602f60248201527f4d6f636b4c504d6174683a2063616c63756c6174655570646174654c6971756960448201526e191a5d1e54d859994819985a5b1959608a1b6064820152608401610345565b50955095509592505050565b604051635f9d50ab60e11b81525f9073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061054c9085906004016123ec565b602060405180830381865af4158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b91906123fb565b5f80610598858585611080565b915091505b935093915050565b5f806105b0836113d5565b91509150915091565b5f6105f06105eb836101200151670de0b6b3a76400006105d99190612426565b606085015161010086015191906114a2565b6114c5565b6106216105eb846101600151670de0b6b3a764000061060f9190612426565b606086015161014087015191906114f2565b61020b9190612439565b5f80856060015186604001516106419190612458565b602087015160608801519192505f9161065a91846114f2565b90508660a001515f0361067057915061021f9050565b5f808089600488101561068257600497505b5f5b888110156109db57610696868b61150d565b95505f6106cb8360c001518460e00151856101000151865f015160a001516106bd8c6114c5565b6106c69061246b565b611521565b865160408101929092526020820192909252919091529050806106f8575f9850505050505050505061021f565b5f6107058e5f015161162c565b925090508161071f575f995050505050505050505061021f565b61072a84828b610b32565b156107405787995050505050505050505061021f565b5f8460a0015113156108a257835180516020820151604083015160a084015160e0909401515f946107929493929161078090670de0b6b3a7640000612426565b8a5160608101516080909101516116b2565b93509050826107ad575f9a505050505050505050505061021f565b808560a00151106108a0576107c1856113d5565b9099509250826107dd575f9a505050505050505050505061021f565b6108018560c001518660e00151876101000151885f015160a001516106bd8e6114c5565b88516040810192909252602082019290925291909152925082610830575f9a505050505050505050505061021f565b845180516020820151604083015160a084015160e090940151610860949061078090670de0b6b3a7640000612426565b935090508261087b575f9a505050505050505050505061021f565b8e60a00151811161089857889a505050505050505050505061021f565b5050506109d3565b505b5f6108b2858f8760a00151611080565b935090508215806108cb5750670de0b6b3a76400008110155b156108e2575f9a505050505050505050505061021f565b80670de0b6b3a76400000390505f61090e6105eb876040015188602001516117af90919063ffffffff16565b61091b6105eb858e6117c3565b6109259190612439565b90508815806109435750610938896117d7565b610941826117d7565b105b15610952578098508997508296505b5f81131561097f5761096e8b61096883856117e8565b906117e8565b610978908b612458565b99506109ce565b5f8112156109c5575f6109978c61096885818661246b565b90508a8110156109ab57808b039a506109bf565b5f9c5050505050505050505050505061021f565b506109ce565b505050506109db565b505050505b600101610684565b505f610a018260c001518360e00151846101000151855f015160a001516106bd8b6114c5565b85516040810192909252602082019290925291909152905080610a2d575f97505050505050505061021f565b5f610a3a835f01516117fc565b90505f610a5b6105eb856040015186602001516117af90919063ffffffff16565b610a686105eb848c6117c3565b610a729190612439565b9050610a7d876117d7565b610a86826117d7565b1015610a93578795508194505b610aba610aae655af3107a4000670de0b6b3a7640000612426565b6020860151908b6114a2565b6040850151610aca9087906117e8565b1080610b0a5750610af8610aec655af3107a4000670de0b6b3a7640000612458565b6020860151908b6114f2565b6040850151610b0890879061182a565b115b15610b20575f995050505050505050505061021f565b50939c9b505050505050505050505050565b60208301515f90610b43908461182a565b6040850151610b539084906117e8565b1015801561021f57506020840151610b839084610b7c633b9aca00670de0b6b3a7640000612458565b91906114f2565b6040850151610b9390849061182a565b1115949350505050565b5f805f8460a0015112610bb8575050608082015160016102a5565b5f8460a00151610bc79061246b565b90505f610c0185876101000151885f015160e00151670de0b6b3a7640000610bef9190612426565b8951606081015160809091015161183e565b93509050821580610c10575080155b15610c22575f809350935050506102a5565b5f610c2d838361182a565b9050670de0b6b3a76400008111610c695780670de0b6b3a7640000039450610c628760c00151866117c390919063ffffffff16565b9450610c77565b5f80945094505050506102a5565b8660800151851115610c965786608001516001945094505050506102a5565b506001925050509250929050565b5f80610cca8460c001518560e00151866101000151875f015160a001516106bd886114c5565b87516040810192909252602082019290925291909152905080610cf0575f91505061020b565b5f610cfd855f015161162c565b9250905081610d10575f9250505061020b565b84602001518110610d25575f9250505061020b565b5f85606001518660400151610d3a9190612458565b9050610d55828760200151836114f29092919063ffffffff16565b610d5f9082612426565b9695505050505050565b5f805f610d8c6105eb8561016001518661014001516117c390919063ffffffff16565b610dac6105eb8661012001518761010001516117af90919063ffffffff16565b610db69190612439565b90505f80610dcb865f015187602001516118e6565b9150915080610de157505f958695509350505050565b5f831315610f28575f8390505f610e2b885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610e1c9190612426565b8d606001518e608001516116b2565b9350905082610e4357505f9788975095505050505050565b818110610ede575f610e7c858a60400151858c60e00151670de0b6b3a7640000610e6d9190612426565b8d606001518e6080015161191e565b9450905083158015610e9157508860c0015183105b15610ea757505f98600198509650505050505050565b83610ebc57505f988998509650505050505050565b610ec5816114c5565b610ece9061246b565b9960019950975050505050505050565b5f886020015112610f1457610efc8860a00151856105eb9190612426565b610f059061246b565b98600198509650505050505050565b60a08801518851610efc916105eb91612426565b5f831215611072575f610f3a8461246b565b90505f610f6d8489604001518a60e00151670de0b6b3a7640000610f5e9190612426565b8b606001518c6080015161183e565b9350905082610f8557505f9788975095505050505050565b818110611007575f610fbe858a60400151858c60e00151670de0b6b3a7640000610faf9190612426565b8d606001518e608001516119dd565b9450905083158015610fd357508860c0015183105b15610fe957505f98600198509650505050505050565b83610ffe57505f988998509650505050505050565b610ece816114c5565b5f611038858a604001518b60e00151670de0b6b3a76400006110299190612426565b8c606001518d60800151611aaf565b945090508361105157505f988998509650505050505050565b610ece6110688a6060015184866109689190612426565b6105eb9083612458565b505f95600195509350505050565b5f805f8084126110a25785516040015161109b908590612458565b90506110db565b5f6110ac8561246b565b8751604001519091508110156110cc5786516040015181900391506110d9565b5f8093509350505061059d565b505b855180516020909101515f9182916110f391906118e6565b915091508061110a575f809450945050505061059d565b875160e08101516040909101515f9161113e916111329161112b9190611b61565b8a906117c3565b6101008b01519061182a565b895160e081015160809091015161116f916111639161115d90886117c3565b90611b61565b8b51606001519061182a565b6111799190612458565b90505f6111af6111a361119c8c5f015160e0015188611b6190919063ffffffff16565b8b906117af565b6101008c0151906117e8565b9050808210156111c9575f8096509650505050505061059d565b80820391505f611208858c5f0151604001518d5f015160e00151670de0b6b3a76400006111f69190612426565b8e516060810151608090910151611bc6565b90505f6112308c5f015160e00151670de0b6b3a76400006112299190612426565b8890611b61565b90508082101561124c575f80985098505050505050505061059d565b8b516080810151606090910151918303916112689183916114a2565b9050670de0b6b3a764000081106112b3578b5160e001516112ac906112a59061129990670de0b6b3a7640000612426565b8e5160e001519061182a565b8290611b61565b90506112e2565b8b5160e001516112df906112a5906112d390670de0b6b3a7640000612426565b8e5160e00151906117e8565b90505b8b51606001516112f590859083906114a2565b935083670de0b6b3a764000011156113195783670de0b6b3a764000003935061132c565b5f6001985098505050505050505061059d565b5f8c60e001511261138d5760c08c015160e08d015161134a9161182a565b9250670de0b6b3a764000083111561136e575f80985098505050505050505061059d565b670de0b6b3a7640000929092039161138684846117c3565b93506113c2565b6113bf6113a68d60c001518e60e001516109689061246b565b6113b890670de0b6b3a7640000612458565b85906117c3565b93505b50919a60019a5098505050505050505050565b5f805f8360e00151136113ec57505f928392509050565b5f6113f9845f01516105b9565b90505f6114248560400151866060015187604001516114189190612458565b602088015191906114a2565b90505f8212611449578082101561143d5781900361145f565b505f9485945092505050565b6114528261246b565b61145c9082612458565b90505b60e085015160c08601516114749183906114a2565b9050808560c00151101561148e57505f9485945092505050565b808560c00151036001935093505050915091565b5f825f1904841183021582026114b6575f80fd5b50910281810615159190040190565b5f6001600160ff1b038211156114ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f190484118302158202611506575f80fd5b5091020490565b5f81831161151b57826102cf565b50919050565b5f805f80845f0361153d57508792508691508590506001611620565b5f856115488b6114c5565b6115529190612485565b905061155d876114c5565b811215611576575f805f80945094509450945050611620565b8094505f89126115955761158e6105eb868b8d6114f2565b93506115b8565b6115ac6105eb6115a48b61246b565b87908d6114a2565b6115b59061246b565b93505b5f806115c48c8c6118e6565b91509150806115e1575f805f809650965096509650505050611620565b5f6115ec88886118e6565b925090508161160a575f805f80975097509750975050505050611620565b6116158b82856114f2565b955060019450505050505b95509550955095915050565b5f805f805f61163a86610d69565b915091508061165057505f958695509350505050565b61165d8660a001516114c5565b611666876105b9565b83611673895f01516114c5565b61167d9190612485565b6116879190612485565b6116919190612439565b925050505f8112156116a857505f93849350915050565b9360019350915050565b5f805f8812156116d2576116c58861246b565b6116cf9087612458565b95505b5f806116de8b8b6118e6565b91509150806116f4575f809350935050506117a3565b5f611702838b8a8a8a611bf4565b90505f61171e6117168a61115d8a8e6117af565b8990896114a2565b905080821015611737575f8095509550505050506117a3565b808203670de0b6b3a764000081106117655761175e6112a5670de0b6b3a76400008c6117e8565b905061177d565b61177a6112a5670de0b6b3a76400008c61182a565b90505b8b811015611795575f809650965050505050506117a3565b8b9003955060019450505050505b97509795505050505050565b5f6102cf8383670de0b6b3a76400006114a2565b5f6102cf8383670de0b6b3a76400006114f2565b5f808212156114ee57815f0361020b565b5f6102cf83670de0b6b3a7640000846114f2565b5f805f6118088461162c565b915091508061034e57604051635516328b60e11b815260040160405180910390fd5b5f6102cf83670de0b6b3a7640000846114a2565b5f805f61184e8888888888611bc6565b90505f611878670de0b6b3a764000061186788886117e8565b6118719190612458565b839061182a565b9050670de0b6b3a764000081106118a55761189e6112a5670de0b6b3a76400008961182a565b90506118bd565b6118ba6112a5670de0b6b3a7640000896117e8565b90505b808810156118d2575f809350935050506118dc565b8703925060019150505b9550959350505050565b5f805f836118f3866114c5565b6118fd9190612439565b90505f811215611913575f8092509250506102a5565b946001945092505050565b5f805f61192e8989888888611bc6565b905061193e8661115d898b612458565b975087811015611954575f8092509250506119d2565b8781036119628186886114a2565b9050670de0b6b3a7640000811061198f576119886112a5670de0b6b3a76400008961182a565b90506119a7565b6119a46112a5670de0b6b3a7640000896117e8565b90505b6119b1818661182a565b9050808a10156119c8575f809350935050506119d2565b8903925060019150505b965096945050505050565b5f805f6119ed8989888888611bc6565b905086881015611a03575f8092509250506119d2565b9686900396611a128887611b61565b975087811015611a28575f8092509250506119d2565b878103611a368186886114a2565b9050670de0b6b3a76400008110611a6357611a5c6112a5670de0b6b3a76400008961182a565b9050611a7b565b611a786112a5670de0b6b3a7640000896117e8565b90505b611a85818661182a565b905089811015611a9c575f809350935050506119d2565b9890980398600198509650505050505050565b5f805f611abf8888888888611bf4565b90505f611ae9670de0b6b3a7640000611ad8888861182a565b611ae29190612458565b83906117e8565b9050670de0b6b3a76400008110611b1657611b0f6112a5670de0b6b3a7640000896117e8565b9050611b2e565b611b2b6112a5670de0b6b3a76400008961182a565b90505b611b3881866117e8565b905088811015611b4f575f809350935050506118dc565b97909703976001975095505050505050565b5f815f03611b785750670de0b6b3a764000061020b565b825f03611b8657505f61020b565b5f611b90836114c5565b90505f611ba4611b9f866114c5565b611c18565b9050818102611bbb670de0b6b3a7640000826124ac565b9050610d5f81611e46565b5f611bd18585611b61565b611bea611be28661115d868b6117af565b8590856114a2565b610d5f9190612458565b5f611bff8585611b61565b611bea611c108661115d868b6117c3565b8590856114f2565b5f808213611c395760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190611cc59084901c6114c5565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611e5f57505f919050565b680755bf798b4a1bf1e58212611e88576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190610d5f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114c5565b604051610180810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b5f610180828403121561204f575f80fd5b612057611fd8565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f61018082840312156120ea575f80fd5b6102cf838361203e565b5f6102808284031215612105575f80fd5b61210d61200e565b9050612119838361203e565b815261018082013560208201526101a082013560408201526101c082013560608201526101e0820135608082015261020082013560a082015261022082013560c082015261024082013560e082015261026082013561010082015292915050565b5f805f6102c0848603121561218d575f80fd5b61219785856120f4565b9561028085013595506102a0909401359392505050565b5f806102a083850312156121c0575f80fd5b6121ca84846120f4565b94610280939093013593505050565b5f805f805f8060c087890312156121ee575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a0868803121561222c575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6102808284031215612260575f80fd5b6102cf83836120f4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506122fb82855161226a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561236e575f80fd5b505080516020909101519092909150565b5f805f60608486031215612391575f80fd5b8351925060208401519150604084015190509250925092565b5f805f80608085870312156123bd575f80fd5b845193506020850151925060408501519150606085015180151581146123e1575f80fd5b939692955090935050565b610180810161020b828461226a565b5f6020828403121561240b575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020b5761020b612412565b8181035f83128015838313168383128216171561034e5761034e612412565b8082018082111561020b5761020b612412565b5f600160ff1b820161247f5761247f612412565b505f0390565b8082018281125f8312801582168215821617156124a4576124a4612412565b505092915050565b5f826124c657634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156124df576124df612412565b50059056fea2646970667358221220c1489ea17c5fc61a3b455bb2f0d398358386a0beec6f70da990abbdd8dc3c07e64736f6c63430008160033', - methodIdentifiers: { - "calculateDistributeExcessIdle(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "865d65a2", - "calculateDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "3f9ccc01", - "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256))": "cefef8b7", - "calculateDistributeExcessIdleWithdrawalSharesRedeemed(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "a0d1643c", - "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", - "calculateMaxShareReservesDeltaSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "9e5fc16b", - "calculateNetCurveTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "a4fc6f81", - "calculateNetFlatTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "32c5dec4", - "calculatePresentValue((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "c00b11d3", - "calculateSharesDeltaGivenBondsDeltaDerivativeSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,int256)": "c615b2d9", - "calculateUpdateLiquidity(uint256,int256,uint256,uint256,int256)": "b500f3cb", - "shouldShortCircuitDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "8f1505fa" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockLido.d.ts b/packages/hyperdrive-artifacts/dist/MockLido.d.ts deleted file mode 100644 index e22e445b2..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLido.d.ts +++ /dev/null @@ -1,895 +0,0 @@ -export declare const MockLido: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBufferedEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPooledEthByShares"; - readonly inputs: readonly [{ - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSharesByPooledEth"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferShares"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "sharesValue"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ERC20InsufficientAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSpender"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getBufferedEther()": "47b714e0"; - readonly "getPooledEthByShares(uint256)": "7a28fb88"; - readonly "getRate()": "679aefce"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getSharesByPooledEth(uint256)": "19208451"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "owner()": "8da5cb5b"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "sharesOf(address)": "f5eb42dc"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=MockLido.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLido.d.ts.map b/packages/hyperdrive-artifacts/dist/MockLido.d.ts.map deleted file mode 100644 index f2bab5b4b..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLido.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockLido.d.ts","sourceRoot":"","sources":["../src/MockLido.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmlCqjhB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CtlhB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLido.js b/packages/hyperdrive-artifacts/dist/MockLido.js deleted file mode 100644 index a89b18cd1..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLido.js +++ /dev/null @@ -1,1155 +0,0 @@ -export const MockLido = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBufferedEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPooledEthByShares", - "inputs": [ - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSharesByPooledEth", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferShares", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sharesValue", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ERC20InsufficientAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "allowance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InsufficientBalance", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSpender", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x60a060405234801562000010575f80fd5b506040516200211b3803806200211b833981016040819052620000339162000159565b604080518082018252601781527f4c6971756964207374616b656420457468657220322e300000000000000000006020808301919091528251808401845260058152640e6e88aa8960db1b918101919091525f80546001600160a01b03199081166001600160a01b038916908117835560018054309316831790559451939492938893919284928492909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505081600990816200012e919062000250565b50600a6200013d828262000250565b505050600d9390935542600e55151560805250600b556200031c565b5f805f80608085870312156200016d575f80fd5b845160208601519094506001600160a01b03811681146200018c575f80fd5b60408601519093508015158114620001a2575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001db57607f821691505b602082108103620001fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200024b57805f5260205f20601f840160051c81016020851015620002275750805b601f840160051c820191505b8181101562000248575f815560010162000233565b50505b505050565b81516001600160401b038111156200026c576200026c620001b2565b62000284816200027d8454620001c6565b8462000200565b602080601f831160018114620002ba575f8415620002a25750858301515b5f19600386901b1c1916600185901b17855562000314565b5f85815260208120601f198616915b82811015620002ea57888601518255948401946001909101908401620002c9565b50858210156200030857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051611db5620003665f395f81816105620152818161086e0152818161098801528181610b7701528181610bf601528181610c5b015281816110e401526111450152611db55ff3fe60806040526004361061025f575f3560e01c8063728b952b1161013f578063aed30777116100b3578063dd62ed3e11610078578063dd62ed3e14610730578063e688747b14610774578063ea7ca276146107b5578063ed0d0efb146107f7578063f2fde38b14610822578063f5eb42dc14610841575f80fd5b8063aed307771461067c578063b7009613146106aa578063bf7e214f146106c9578063c53a3985146106e8578063d5002f2e1461071c575f80fd5b80638fcb4e5b116101045780638fcb4e5b146105d957806395d89b41146105f85780639dc29fac1461060c578063a0712d681461062b578063a1903eab1461064a578063a9059cbb1461065d575f80fd5b8063728b952b146105135780637a28fb88146105325780637a8c63b5146105515780637a9e5e4b146105845780638da5cb5b146105a3575f80fd5b8063313ce567116101d657806347b714e01161019b57806347b714e0146104715780634b5159da14610483578063679aefce146104a257806367aff484146104b65780636d780459146104d557806370a08231146104f4575f80fd5b8063313ce567146103e557806334fcf4371461040057806337cfdaca1461041f57806340c10f191461043357806342966c6814610452575f80fd5b80630bade8a4116102275780630bade8a4146103315780630ea9b75b1461035f57806318160ddd1461037e5780631920845114610392578063239c70ae146103b157806323b872dd146103c6575f80fd5b806305f05a941461026357806306a36aee1461028457806306fdde03146102c2578063088a4ed0146102e3578063095ea7b314610302575b5f80fd5b34801561026e575f80fd5b5061028261027d366004611972565b61086c565b005b34801561028f575f80fd5b506102af61029e3660046119a9565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102cd575f80fd5b506102d66108f6565b6040516102b991906119c4565b3480156102ee575f80fd5b506102826102fd366004611a10565b610986565b34801561030d575f80fd5b5061032161031c366004611a27565b6109e2565b60405190151581526020016102b9565b34801561033c575f80fd5b5061032161034b366004611a6d565b60046020525f908152604090205460ff1681565b34801561036a575f80fd5b50610282610379366004611a96565b6109fb565b348015610389575f80fd5b506008546102af565b34801561039d575f80fd5b506102af6103ac366004611a10565b610ad0565b3480156103bc575f80fd5b506102af600b5481565b3480156103d1575f80fd5b506103216103e0366004611ada565b610aed565b3480156103f0575f80fd5b50604051601281526020016102b9565b34801561040b575f80fd5b5061028261041a366004611a10565b610b75565b34801561042a575f80fd5b506102af610bd9565b34801561043e575f80fd5b5061028261044d366004611a27565b610bf4565b34801561045d575f80fd5b5061028261046c366004611a10565b610c59565b34801561047c575f80fd5b505f6102af565b34801561048e575f80fd5b5061028261049d366004611b18565b610cbd565b3480156104ad575f80fd5b50600d546102af565b3480156104c1575f80fd5b506102826104d0366004611b32565b610d4d565b3480156104e0575f80fd5b506102af6104ef366004611ada565b610e12565b3480156104ff575f80fd5b506102af61050e3660046119a9565b610ea5565b34801561051e575f80fd5b5061028261052d366004611b5d565b610ec6565b34801561053d575f80fd5b506102af61054c366004611a10565b610f4d565b34801561055c575f80fd5b506103217f000000000000000000000000000000000000000000000000000000000000000081565b34801561058f575f80fd5b5061028261059e3660046119a9565b610f61565b3480156105ae575f80fd5b505f546105c1906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b3480156105e4575f80fd5b506102af6105f3366004611a27565b611045565b348015610603575f80fd5b506102d66110d3565b348015610617575f80fd5b50610282610626366004611a27565b6110e2565b348015610636575f80fd5b50610282610645366004611a10565b611143565b6102af6106583660046119a9565b6111a4565b348015610668575f80fd5b50610321610677366004611a27565b611262565b348015610687575f80fd5b506103216106963660046119a9565b600c6020525f908152604090205460ff1681565b3480156106b5575f80fd5b506103216106c4366004611b89565b6112e6565b3480156106d4575f80fd5b506001546105c1906001600160a01b031681565b3480156106f3575f80fd5b506105c16107023660046119a9565b60026020525f90815260409020546001600160a01b031681565b348015610727575f80fd5b506010546102af565b34801561073b575f80fd5b506102af61074a366004611b5d565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561077f575f80fd5b5061032161078e366004611bcd565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b3480156107c0575f80fd5b506103216107cf366004611bfe565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b348015610802575f80fd5b506102af610811366004611a6d565b60056020525f908152604090205481565b34801561082d575f80fd5b5061028261083c3660046119a9565b6113df565b34801561084c575f80fd5b506102af61085b3660046119a9565b60116020525f908152604090205481565b7f0000000000000000000000000000000000000000000000000000000000000000156108cc576108a7335f356001600160e01b03191661145a565b6108cc5760405162461bcd60e51b81526004016108c390611c28565b60405180910390fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b60606009805461090590611c5f565b80601f016020809104026020016040519081016040528092919081815260200182805461093190611c5f565b801561097c5780601f106109535761010080835404028352916020019161097c565b820191905f5260205f20905b81548152906001019060200180831161095f57829003601f168201915b5050505050905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109dd576109c1335f356001600160e01b03191661145a565b6109dd5760405162461bcd60e51b81526004016108c390611c28565b600b55565b5f336109ef818585611500565b60019150505b92915050565b610a10335f356001600160e01b03191661145a565b610a2c5760405162461bcd60e51b81526004016108c390611c97565b8015610a5b576001600160e01b031982165f9081526005602052604090208054600160ff86161b179055610a81565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610ac3911515815260200190565b60405180910390a3505050565b5f6109f5610add60105490565b610ae5610bd9565b849190611512565b5f610af661152d565b5f610b0083610ad0565b9050610b0d85858361155c565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610bcc57610bb0335f356001600160e01b03191661145a565b610bcc5760405162461bcd60e51b81526004016108c390611c28565b610bd461152d565b600d55565b5f610be26115d5565b600f54610bef9190611cd1565b905090565b7f000000000000000000000000000000000000000000000000000000000000000015610c4b57610c2f335f356001600160e01b03191661145a565b610c4b5760405162461bcd60e51b81526004016108c390611c28565b610c558282611634565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610cb057610c94335f356001600160e01b03191661145a565b610cb05760405162461bcd60e51b81526004016108c390611c28565b610cba3382611720565b50565b610cd2335f356001600160e01b03191661145a565b610cee5760405162461bcd60e51b81526004016108c390611c97565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610d62335f356001600160e01b03191661145a565b610d7e5760405162461bcd60e51b81526004016108c390611c97565b8015610dac576001600160a01b0383165f9081526003602052604090208054600160ff85161b179055610dd1565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610ac3911515815260200190565b5f610e1b61152d565b5f610e2785858561155c565b9050836001600160a01b0316856001600160a01b03165f80516020611d6083398151915283604051610e5b91815260200190565b60405180910390a3836001600160a01b0316856001600160a01b03165f80516020611d4083398151915285604051610e9591815260200190565b60405180910390a3949350505050565b6001600160a01b0381165f908152601160205260408120546109f590610f4d565b610edb335f356001600160e01b03191661145a565b610ef75760405162461bcd60e51b81526004016108c390611c97565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f6109f5610f59610bd9565b601054610ae5565b5f546001600160a01b0316331480610ff2575060015460405163b700961360e01b81526001600160a01b039091169063b700961390610fb390339030906001600160e01b03195f351690600401611ce4565b602060405180830381865afa158015610fce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff29190611d11565b610ffa575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f61104e61152d565b5f6110598484611786565b9050836001600160a01b0316336001600160a01b03165f80516020611d608339815191528360405161108d91815260200190565b60405180910390a36040518381526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a36110cb83610f4d565b949350505050565b6060600a805461090590611c5f565b7f0000000000000000000000000000000000000000000000000000000000000000156111395761111d335f356001600160e01b03191661145a565b6111395760405162461bcd60e51b81526004016108c390611c28565b610c558282611720565b7f00000000000000000000000000000000000000000000000000000000000000001561119a5761117e335f356001600160e01b03191661145a565b61119a5760405162461bcd60e51b81526004016108c390611c28565b610cba3382611634565b5f6111ad61152d565b6010545f036111eb57346010819055600f819055335f90815260116020526040812080549091906111df908490611cd1565b90915550349392505050565b5f6112086111f860105490565b611200610bd9565b349190611512565b905034600f5f82825461121b9190611cd1565b925050819055508060105f8282546112339190611cd1565b9091555050335f9081526011602052604081208054839290611256908490611cd1565b90915550909392505050565b5f61126b61152d565b5f61127583610ad0565b90506112818482611786565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a35060019392505050565b6001600160a01b038083165f90815260026020526040812054909116801561137f5760405163b700961360e01b81526001600160a01b0382169063b70096139061133890889088908890600401611ce4565b602060405180830381865afa158015611353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113779190611d11565b915050610b6e565b6001600160e01b031983165f9081526004602052604090205460ff16806113d657506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b95945050505050565b6113f4335f356001600160e01b03191661145a565b6114105760405162461bcd60e51b81526004016108c390611c97565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b031680158015906114e1575060405163b700961360e01b81526001600160a01b0382169063b7009613906114a290879030908890600401611ce4565b602060405180830381865afa1580156114bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e19190611d11565b806110cb57505f546001600160a01b0385811691161491505092915050565b61150d83838360016117e1565b505050565b5f825f190484118302158202611526575f80fd5b5091020490565b5f6115366115d5565b905080156115555780600f5f82825461154f9190611cd1565b90915550505b5042600e55565b5f8061156783610f4d565b90506115748533836118b4565b6001600160a01b0385165f908152601160205260408120805485929061159b908490611d2c565b90915550506001600160a01b0384165f90815260116020526040812080548592906115c7908490611cd1565b909155509095945050505050565b5f600d545f036115e457505f90565b600e544210156115f357505f90565b5f6116106301e13380600e544261160a9190611d2c565b90611929565b90505f610b6e61162b83600d5461193d90919063ffffffff16565b600f549061193d565b335f908152600c602052604090205460ff1661169c57600b5481111561169c5760405162461bcd60e51b815260206004820152601d60248201527f4d6f636b4c69646f3a20496e76616c6964206d696e7420616d6f756e7400000060448201526064016108c3565b5f6116a660105490565b5f036116b35750806116bf565b6116bc82610ad0565b90505b6001600160a01b0383165f90815260116020526040812080548392906116e6908490611cd1565b9250508190555081600f5f8282546116fe9190611cd1565b925050819055508060105f8282546117169190611cd1565b9091555050505050565b5f61172a82610ad0565b6001600160a01b0384165f90815260116020526040812080549293508392909190611756908490611d2c565b9250508190555081600f5f82825461176e9190611d2c565b925050819055508060105f8282546117169190611d2c565b335f908152601160205260408120805483919083906117a6908490611d2c565b90915550506001600160a01b0383165f90815260116020526040812080548492906117d2908490611cd1565b90915550610b6e905082610f4d565b6001600160a01b03841661180a5760405163e602df0560e01b81525f60048201526024016108c3565b6001600160a01b03831661183357604051634a1406b160e11b81525f60048201526024016108c3565b6001600160a01b038085165f90815260076020908152604080832093871683529290522082905580156118ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118a591815260200190565b60405180910390a35b50505050565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f1981146118ae578181101561191b57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016108c3565b6118ae84848484035f6117e1565b5f610b6e83670de0b6b3a764000084611512565b5f610b6e8383670de0b6b3a7640000611512565b6001600160a01b0381168114610cba575f80fd5b8015158114610cba575f80fd5b5f8060408385031215611983575f80fd5b823561198e81611951565b9150602083013561199e81611965565b809150509250929050565b5f602082840312156119b9575f80fd5b8135610b6e81611951565b5f602080835283518060208501525f5b818110156119f0578581018301518582016040015282016119d4565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611a20575f80fd5b5035919050565b5f8060408385031215611a38575f80fd5b8235611a4381611951565b946020939093013593505050565b80356001600160e01b031981168114611a68575f80fd5b919050565b5f60208284031215611a7d575f80fd5b610b6e82611a51565b803560ff81168114611a68575f80fd5b5f805f60608486031215611aa8575f80fd5b611ab184611a86565b9250611abf60208501611a51565b91506040840135611acf81611965565b809150509250925092565b5f805f60608486031215611aec575f80fd5b8335611af781611951565b92506020840135611b0781611951565b929592945050506040919091013590565b5f8060408385031215611b29575f80fd5b61198e83611a51565b5f805f60608486031215611b44575f80fd5b8335611b4f81611951565b9250611abf60208501611a86565b5f8060408385031215611b6e575f80fd5b8235611b7981611951565b9150602083013561199e81611951565b5f805f60608486031215611b9b575f80fd5b8335611ba681611951565b92506020840135611bb681611951565b9150611bc460408501611a51565b90509250925092565b5f8060408385031215611bde575f80fd5b611be783611a86565b9150611bf560208401611a51565b90509250929050565b5f8060408385031215611c0f575f80fd5b8235611c1a81611951565b9150611bf560208401611a86565b60208082526018908201527f4d6f636b4c69646f3a206e6f7420617574686f72697a65640000000000000000604082015260600190565b600181811c90821680611c7357607f821691505b602082108103611c9157634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611cbd565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611d21575f80fd5b8151610b6e81611965565b818103818111156109f5576109f5611cbd56fe9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcbddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c64c96e3308b8e17d92ad04d2f2a29ffc25a8efc4027bf469d829c7c609dd6d364736f6c63430008160033', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getBufferedEther()": "47b714e0", - "getPooledEthByShares(uint256)": "7a28fb88", - "getRate()": "679aefce", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getSharesByPooledEth(uint256)": "19208451", - "getTargetCustomAuthority(address)": "c53a3985", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "sharesOf(address)": "f5eb42dc", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts b/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts deleted file mode 100644 index 43acd6972..000000000 --- a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts +++ /dev/null @@ -1,846 +0,0 @@ -export declare const MockRocketPool: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEthValue"; - readonly inputs: readonly [{ - readonly name: "_rethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRethValue"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getEthValue(uint256)": "8b32fa23"; - readonly "getRate()": "679aefce"; - readonly "getRethValue(uint256)": "4346f03e"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=MockRocketPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map b/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map deleted file mode 100644 index 209172056..000000000 --- a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockRocketPool.d.ts","sourceRoot":"","sources":["../src/MockRocketPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+gCijkB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDxlkB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockRocketPool.js b/packages/hyperdrive-artifacts/dist/MockRocketPool.js deleted file mode 100644 index 8ac91990c..000000000 --- a/packages/hyperdrive-artifacts/dist/MockRocketPool.js +++ /dev/null @@ -1,1088 +0,0 @@ -export const MockRocketPool = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEthValue", - "inputs": [ - { - "name": "_rethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRethValue", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - } - ], - bytecode: '0x61010060405234801562000011575f80fd5b506040516200241c3803806200241c83398101604081905262000034916200020d565b6040518060400160405280600e81526020016d0a4dec6d6cae8a0deded8408aa8960931b815250604051806040016040528060048152602001630a48aa8960e31b815250601285858582308181898989825f908162000094919062000304565b506001620000a3838262000304565b5060ff81166080524660a052620000b962000173565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f55506200044a9050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a59190620003d0565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f806080858703121562000221575f80fd5b845160208601519094506001600160a01b038116811462000240575f80fd5b6040860151909350801515811462000256575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028f57607f821691505b602082108103620002ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002ff57805f5260205f20601f840160051c81016020851015620002db5750805b601f840160051c820191505b81811015620002fc575f8155600101620002e7565b50505b505050565b81516001600160401b0381111562000320576200032062000266565b62000338816200033184546200027a565b84620002b4565b602080601f8311600181146200036e575f8415620003565750858301515b5f19600386901b1c1916600185901b178555620003c8565b5f85815260208120601f198616915b828110156200039e578886015182559484019460019091019084016200037d565b5085821015620003bc57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003df816200027a565b60018281168015620003fa576001811462000410576200043e565b60ff19841687528215158302870194506200043e565b875f526020805f205f5b85811015620004355781548a8201529084019082016200041a565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611f6d620004af5f395f8181610587015281816108c4015281816109d901528181610c5201528181610d2601528181610dc30152818161118501526111e601525f610cec01525f610cb701525f6103e30152611f6d5ff3fe60806040526004361061026a575f3560e01c8063728b952b1161014a578063a9059cbb116100be578063d505accf11610078578063d505accf146107a0578063dd62ed3e146107bf578063e688747b146107f5578063ea7ca27614610836578063ed0d0efb14610878578063f2fde38b146108a3575f80fd5b8063a9059cbb146106cd578063aed30777146106ec578063b70096131461071a578063bf7e214f14610739578063c53a398514610758578063d5002f2e1461078c575f80fd5b80638da5cb5b1161010f5780638da5cb5b146106125780638fcb4e5b1461064957806395d89b41146106685780639dc29fac1461067c578063a0712d681461069b578063a1903eab146106ba575f80fd5b8063728b952b146105575780637a8c63b5146105765780637a9e5e4b146105a95780637ecebe00146105c85780638b32fa23146105f3575f80fd5b806334fcf437116101e15780634346f03e116101a65780634346f03e1461049c5780634b5159da146104bb578063679aefce146104da57806367aff484146104ee5780636d7804591461050d57806370a082311461052c575f80fd5b806334fcf437146104175780633644e5151461043657806337cfdaca1461044a57806340c10f191461045e57806342966c681461047d575f80fd5b80630bade8a4116102325780630bade8a41461033c5780630ea9b75b1461036a57806318160ddd14610389578063239c70ae1461039e57806323b872dd146103b3578063313ce567146103d2575f80fd5b806305f05a941461026e57806306a36aee1461028f57806306fdde03146102cd578063088a4ed0146102ee578063095ea7b31461030d575b5f80fd5b348015610279575f80fd5b5061028d610288366004611a01565b6108c2565b005b34801561029a575f80fd5b506102ba6102a9366004611a38565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102d8575f80fd5b506102e161094c565b6040516102c49190611a53565b3480156102f9575f80fd5b5061028d610308366004611a9f565b6109d7565b348015610318575f80fd5b5061032c610327366004611ab6565b610a33565b60405190151581526020016102c4565b348015610347575f80fd5b5061032c610356366004611afc565b600a6020525f908152604090205460ff1681565b348015610375575f80fd5b5061028d610384366004611b25565b610a9f565b348015610394575f80fd5b506102ba60025481565b3480156103a9575f80fd5b506102ba600c5481565b3480156103be575f80fd5b5061032c6103cd366004611b69565b610b74565b3480156103dd575f80fd5b506104057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102c4565b348015610422575f80fd5b5061028d610431366004611a9f565b610c50565b348015610441575f80fd5b506102ba610cb4565b348015610455575f80fd5b506102ba610d0e565b348015610469575f80fd5b5061028d610478366004611ab6565b610d24565b348015610488575f80fd5b5061028d610497366004611a9f565b610dc1565b3480156104a7575f80fd5b506102ba6104b6366004611a9f565b610e25565b3480156104c6575f80fd5b5061028d6104d5366004611ba7565b610e42565b3480156104e5575f80fd5b50600e546102ba565b3480156104f9575f80fd5b5061028d610508366004611bc1565b610ed2565b348015610518575f80fd5b506102ba610527366004611b69565b610f97565b348015610537575f80fd5b506102ba610546366004611a38565b60036020525f908152604090205481565b348015610562575f80fd5b5061028d610571366004611bec565b610fcd565b348015610581575f80fd5b5061032c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b4575f80fd5b5061028d6105c3366004611a38565b611054565b3480156105d3575f80fd5b506102ba6105e2366004611a38565b60056020525f908152604090205481565b3480156105fe575f80fd5b506102ba61060d366004611a9f565b611139565b34801561061d575f80fd5b50600654610631906001600160a01b031681565b6040516001600160a01b0390911681526020016102c4565b348015610654575f80fd5b506102ba610663366004611ab6565b61114d565b348015610673575f80fd5b506102e1611176565b348015610687575f80fd5b5061028d610696366004611ab6565b611183565b3480156106a6575f80fd5b5061028d6106b5366004611a9f565b6111e4565b6102ba6106c8366004611a38565b61127d565b3480156106d8575f80fd5b5061032c6106e7366004611ab6565b611304565b3480156106f7575f80fd5b5061032c610706366004611a38565b600d6020525f908152604090205460ff1681565b348015610725575f80fd5b5061032c610734366004611c18565b611367565b348015610744575f80fd5b50600754610631906001600160a01b031681565b348015610763575f80fd5b50610631610772366004611a38565b60086020525f90815260409020546001600160a01b031681565b348015610797575f80fd5b506011546102ba565b3480156107ab575f80fd5b5061028d6107ba366004611c5c565b611460565b3480156107ca575f80fd5b506102ba6107d9366004611bec565b600460209081525f928352604080842090915290825290205481565b348015610800575f80fd5b5061032c61080f366004611cc5565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610841575f80fd5b5061032c610850366004611cf6565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610883575f80fd5b506102ba610892366004611afc565b600b6020525f908152604090205481565b3480156108ae575f80fd5b5061028d6108bd366004611a38565b61169e565b7f000000000000000000000000000000000000000000000000000000000000000015610922576108fd335f356001600160e01b03191661171a565b6109225760405162461bcd60e51b815260040161091990611d20565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461095890611d57565b80601f016020809104026020016040519081016040528092919081815260200182805461098490611d57565b80156109cf5780601f106109a6576101008083540402835291602001916109cf565b820191905f5260205f20905b8154815290600101906020018083116109b257829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610a2e57610a12335f356001600160e01b03191661171a565b610a2e5760405162461bcd60e51b815260040161091990611d20565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a8d9086815260200190565b60405180910390a35060015b92915050565b610ab4335f356001600160e01b03191661171a565b610ad05760405162461bcd60e51b815260040161091990611d8f565b8015610aff576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610b25565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610b67911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610bcd57610ba98382611dc9565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610bf4908490611dc9565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611f1883398151915290610c3b9087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610ca757610c8b335f356001600160e01b03191661171a565b610ca75760405162461bcd60e51b815260040161091990611d20565b610caf6117c1565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610ce957610ce46117f0565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610d17611888565b601054610ce49190611ddc565b7f000000000000000000000000000000000000000000000000000000000000000015610d7b57610d5f335f356001600160e01b03191661171a565b610d7b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff16610db357600c54811115610db35760405162461bcd60e51b815260040161091990611def565b610dbd82826118e7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610e1857610dfc335f356001600160e01b03191661171a565b610e185760405162461bcd60e51b815260040161091990611d20565b610e22338261193e565b50565b5f610a99610e3260115490565b610e3a610d0e565b84919061199d565b610e57335f356001600160e01b03191661171a565b610e735760405162461bcd60e51b815260040161091990611d8f565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610ee7335f356001600160e01b03191661171a565b610f035760405162461bcd60e51b815260040161091990611d8f565b8015610f31576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610f56565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610b67911515815260200190565b5f610fa06117c1565b5f610fb7610fac610d0e565b60115485919061199d565b9050610fc4858583610b74565b50949350505050565b610fe2335f356001600160e01b03191661171a565b610ffe5760405162461bcd60e51b815260040161091990611d8f565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b03163314806110e6575060075460405163b700961360e01b81526001600160a01b039091169063b7009613906110a790339030906001600160e01b03195f351690600401611e31565b602060405180830381865afa1580156110c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e69190611e5e565b6110ee575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f610a99611145610d0e565b601154610e3a565b5f6111566117c1565b5f611162610fac610d0e565b905061116e8482611304565b509392505050565b6001805461095890611d57565b7f0000000000000000000000000000000000000000000000000000000000000000156111da576111be335f356001600160e01b03191661171a565b6111da5760405162461bcd60e51b815260040161091990611d20565b610dbd828261193e565b7f00000000000000000000000000000000000000000000000000000000000000001561123b5761121f335f356001600160e01b03191661171a565b61123b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff1661127357600c548111156112735760405162461bcd60e51b815260040161091990611def565b610e2233826118e7565b5f6112866117c1565b6011545f036112ac5734601181905560108190556112a59033906118e7565b5034919050565b5f6112c96112b960115490565b6112c1610d0e565b34919061199d565b90503460105f8282546112dc9190611ddc565b925050819055508060115f8282546112f49190611ddc565b90915550610a99905033346118e7565b335f90815260036020526040812080548391908390611324908490611dc9565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611f1883398151915290610a8d9086815260200190565b6001600160a01b038083165f9081526008602052604081205490911680156114005760405163b700961360e01b81526001600160a01b0382169063b7009613906113b990889088908890600401611e31565b602060405180830381865afa1580156113d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f89190611e5e565b915050610c49565b6001600160e01b031983165f908152600a602052604090205460ff168061145757506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b428410156114b05760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610919565b5f60016114bb610cb4565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156115c3573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906115f95750876001600160a01b0316816001600160a01b0316145b6116365760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610919565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6116b3335f356001600160e01b03191661171a565b6116cf5760405162461bcd60e51b815260040161091990611d8f565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b031680158015906117a1575060405163b700961360e01b81526001600160a01b0382169063b70096139061176290879030908890600401611e31565b602060405180830381865afa15801561177d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a19190611e5e565b806117b957506006546001600160a01b038581169116145b949350505050565b5f6117ca611888565b905080156117e9578060105f8282546117e39190611ddc565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516118209190611e79565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f0361189757505f90565b600f544210156118a657505f90565b5f6118c36301e13380600f54426118bd9190611dc9565b906119b8565b90505f610c496118de83600e546119cc90919063ffffffff16565b601054906119cc565b8060025f8282546118f89190611ddc565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611f1883398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611965908490611dc9565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611f1883398151915290602001611932565b5f825f1904841183021582026119b1575f80fd5b5091020490565b5f610c4983670de0b6b3a76400008461199d565b5f610c498383670de0b6b3a764000061199d565b6001600160a01b0381168114610e22575f80fd5b8015158114610e22575f80fd5b5f8060408385031215611a12575f80fd5b8235611a1d816119e0565b91506020830135611a2d816119f4565b809150509250929050565b5f60208284031215611a48575f80fd5b8135610c49816119e0565b5f602080835283518060208501525f5b81811015611a7f57858101830151858201604001528201611a63565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611aaf575f80fd5b5035919050565b5f8060408385031215611ac7575f80fd5b8235611ad2816119e0565b946020939093013593505050565b80356001600160e01b031981168114611af7575f80fd5b919050565b5f60208284031215611b0c575f80fd5b610c4982611ae0565b803560ff81168114611af7575f80fd5b5f805f60608486031215611b37575f80fd5b611b4084611b15565b9250611b4e60208501611ae0565b91506040840135611b5e816119f4565b809150509250925092565b5f805f60608486031215611b7b575f80fd5b8335611b86816119e0565b92506020840135611b96816119e0565b929592945050506040919091013590565b5f8060408385031215611bb8575f80fd5b611a1d83611ae0565b5f805f60608486031215611bd3575f80fd5b8335611bde816119e0565b9250611b4e60208501611b15565b5f8060408385031215611bfd575f80fd5b8235611c08816119e0565b91506020830135611a2d816119e0565b5f805f60608486031215611c2a575f80fd5b8335611c35816119e0565b92506020840135611c45816119e0565b9150611c5360408501611ae0565b90509250925092565b5f805f805f805f60e0888a031215611c72575f80fd5b8735611c7d816119e0565b96506020880135611c8d816119e0565b95506040880135945060608801359350611ca960808901611b15565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611cd6575f80fd5b611cdf83611b15565b9150611ced60208401611ae0565b90509250929050565b5f8060408385031215611d07575f80fd5b8235611d12816119e0565b9150611ced60208401611b15565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c90821680611d6b57607f821691505b602082108103611d8957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a9957610a99611db5565b80820180821115610a9957610a99611db5565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611e6e575f80fd5b8151610c49816119f4565b5f8083545f60018260011c91506001831680611e9657607f831692505b60208084108203611eb557634e487b7160e01b5f52602260045260245ffd5b818015611ec95760018114611ede57611f09565b60ff1986168952841515850289019650611f09565b5f8a8152602090205f5b86811015611f015781548b820152908501908301611ee8565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e8e9ccbe437120ca4c0e1197fab17ff508ebe5606158c7b314115a9315adb80764736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getEthValue(uint256)": "8b32fa23", - "getRate()": "679aefce", - "getRethValue(uint256)": "4346f03e", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts b/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts deleted file mode 100644 index 075372b00..000000000 --- a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts +++ /dev/null @@ -1,117 +0,0 @@ -export declare const MockSafeCast: { - abi: readonly [{ - readonly type: "function"; - readonly name: "toInt128"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "int128"; - readonly internalType: "int128"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toInt128"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "int128"; - readonly internalType: "int128"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toInt256"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUint112"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUint128"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUint256"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "toInt128(int256)": "dd2a0316"; - readonly "toInt128(uint256)": "0f2422d1"; - readonly "toInt256(uint256)": "dfbe873b"; - readonly "toUint112(uint256)": "41d2aa64"; - readonly "toUint128(uint256)": "809fdd33"; - readonly "toUint256(int256)": "fdcf791b"; - }; -}; -//# sourceMappingURL=MockSafeCast.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map b/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map deleted file mode 100644 index 10ca498cd..000000000 --- a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockSafeCast.d.ts","sourceRoot":"","sources":["../src/MockSafeCast.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Iu8C,KAAK,MAAM,EAAE;;;;;;;;;CAS5+C,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockSafeCast.js b/packages/hyperdrive-artifacts/dist/MockSafeCast.js deleted file mode 100644 index 2d493cadd..000000000 --- a/packages/hyperdrive-artifacts/dist/MockSafeCast.js +++ /dev/null @@ -1,152 +0,0 @@ -export const MockSafeCast = { - abi: [ - { - "type": "function", - "name": "toInt128", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "int128", - "internalType": "int128" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toInt128", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "y", - "type": "int128", - "internalType": "int128" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toInt256", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUint112", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "uint112", - "internalType": "uint112" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUint128", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUint256", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506102c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c80630f2422d11461006457806341d2aa641461008f578063809fdd33146100ba578063dd2a0316146100e5578063dfbe873b146100f8578063fdcf791b14610119575b5f80fd5b61007761007236600461027c565b61012c565b604051600f9190910b81526020015b60405180910390f35b6100a261009d36600461027c565b61013c565b6040516001600160701b039091168152602001610086565b6100cd6100c836600461027c565b610146565b6040516001600160801b039091168152602001610086565b6100776100f336600461027c565b610150565b61010b61010636600461027c565b61015a565b604051908152602001610086565b61010b61012736600461027c565b610164565b5f6101368261016e565b92915050565b5f6101368261019b565b5f610136826101c4565b5f610136826101ed565b5f61013682610231565b5f6101368261025a565b5f60016001607f1b038211156101975760405163a5353be560e01b815260040160405180910390fd5b5090565b5f6001600160701b038211156101975760405163086b151760e11b815260040160405180910390fd5b5f6001600160801b0382111561019757604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280610213575060016001607f1b0382135b156101975760405163a5353be560e01b815260040160405180910390fd5b5f6001600160ff1b038211156101975760405163396ea70160e11b815260040160405180910390fd5b5f808212156101975760405163071d137160e51b815260040160405180910390fd5b5f6020828403121561028c575f80fd5b503591905056fea2646970667358221220ee597d4098da170f7e901684c207eab3859a0e6ecf567171473642fc1601f40f64736f6c63430008160033', - methodIdentifiers: { - "toInt128(int256)": "dd2a0316", - "toInt128(uint256)": "0f2422d1", - "toInt256(uint256)": "dfbe873b", - "toUint112(uint256)": "41d2aa64", - "toUint128(uint256)": "809fdd33", - "toUint256(int256)": "fdcf791b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts b/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts deleted file mode 100644 index 52fc18c2f..000000000 --- a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts +++ /dev/null @@ -1,377 +0,0 @@ -export declare const MockYieldSpaceMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateBondsOutGivenSharesInDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dz"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxBuyBondsOutSafe"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxBuySharesInSafe"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxSellBondsInSafe"; - readonly inputs: readonly [{ - readonly name: "z"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zeta"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zMin"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesInGivenBondsOutDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesInGivenBondsOutUp"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesOutGivenBondsInDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesOutGivenBondsInDownSafe"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "kDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "kUp"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateBondsOutGivenSharesInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "86c85e10"; - readonly "calculateMaxBuyBondsOutSafe(uint256,uint256,uint256,uint256,uint256)": "a9afa373"; - readonly "calculateMaxBuySharesInSafe(uint256,uint256,uint256,uint256,uint256)": "5880b9fd"; - readonly "calculateMaxSellBondsInSafe(uint256,int256,uint256,uint256,uint256,uint256,uint256)": "bc50ebe6"; - readonly "calculateSharesInGivenBondsOutDown(uint256,uint256,uint256,uint256,uint256,uint256)": "a4a6f9d9"; - readonly "calculateSharesInGivenBondsOutUp(uint256,uint256,uint256,uint256,uint256,uint256)": "2e74108c"; - readonly "calculateSharesOutGivenBondsInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "27d0e265"; - readonly "calculateSharesOutGivenBondsInDownSafe(uint256,uint256,uint256,uint256,uint256,uint256)": "3ee4114a"; - readonly "kDown(uint256,uint256,uint256,uint256,uint256)": "d79d0835"; - readonly "kUp(uint256,uint256,uint256,uint256,uint256)": "0aea7563"; - }; -}; -//# sourceMappingURL=MockYieldSpaceMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map deleted file mode 100644 index 68e75853a..000000000 --- a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockYieldSpaceMath.d.ts","sourceRoot":"","sources":["../src/MockYieldSpaceMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAodmvP,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAa9xP,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js b/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js deleted file mode 100644 index 09cc22221..000000000 --- a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js +++ /dev/null @@ -1,482 +0,0 @@ -export const MockYieldSpaceMath = { - abi: [ - { - "type": "function", - "name": "calculateBondsOutGivenSharesInDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dz", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxBuyBondsOutSafe", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxBuySharesInSafe", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxSellBondsInSafe", - "inputs": [ - { - "name": "z", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zeta", - "type": "int256", - "internalType": "int256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zMin", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesInGivenBondsOutDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesInGivenBondsOutUp", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesOutGivenBondsInDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesOutGivenBondsInDownSafe", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "kDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "kUp", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50610f628061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c806386c85e101161006357806386c85e1014610126578063a4a6f9d914610139578063a9afa3731461014c578063bc50ebe61461015f578063d79d083514610172575f80fd5b80630aea75631461009f57806327d0e265146100c55780632e74108c146100d85780633ee4114a146100eb5780635880b9fd14610113575b5f80fd5b6100b26100ad366004610dd0565b610185565b6040519081526020015b60405180910390f35b6100b26100d3366004610e07565b61019f565b6100b26100e6366004610e07565b6101bb565b6100fe6100f9366004610e07565b6101cb565b604080519283529015156020830152016100bc565b6100fe610121366004610dd0565b6101f0565b6100b2610134366004610e07565b610213565b6100b2610147366004610e07565b610223565b6100fe61015a366004610dd0565b610233565b6100fe61016d366004610e46565b610244565b6100b2610180366004610dd0565b61026b565b5f80610194878787878761027a565b979650505050505050565b5f806101af8888888888886102b8565b98975050505050505050565b5f806101af8888888888886102e5565b5f805f806101dd8a8a8a8a8a8a6102f5565b909450925050505b965096945050505050565b5f805f8061020189898989896103b8565b909450925050505b9550959350505050565b5f806101af88888888888861046a565b5f806101af88888888888861047a565b5f805f80610201898989898961053a565b5f805f806102578b8b8b8b8b8b8b6105df565b909450925050505b97509795505050505050565b5f8061019487878787876106d9565b5f61028585856106fd565b6102a461029c86610296868b61076e565b906106fd565b859085610789565b6102ae9190610ea1565b9695505050505050565b5f806102c88888888888886102f5565b9092509050806102da576102da6107ac565b509695505050505050565b5f806102c88888888888886107c5565b5f805f610305898988888861027a565b905061031586610296898b610ea1565b97508781101561032b575f8092509250506101e5565b878103610339818688610789565b9050670de0b6b3a7640000811061036d5761036661035f670de0b6b3a764000089610897565b82906106fd565b9050610385565b61038261035f670de0b6b3a7640000896108ab565b90505b61038f8186610897565b9050808a10156103a6575f809350935050506101e5565b90980398600198509650505050505050565b5f805f6103c888888888886106d9565b90505f6103f2670de0b6b3a76400006103e18888610897565b6103eb9190610ea1565b83906108ab565b9050670de0b6b3a7640000811061041f5761041861035f670de0b6b3a7640000896108ab565b9050610437565b61043461035f670de0b6b3a764000089610897565b90505b61044181866108ab565b905088811015610458575f80935093505050610209565b97909703976001975095505050505050565b5f806102c88888888888886108bf565b5f8061048988888787876106d9565b90508587101561049b5761049b6107ac565b95859003956104aa87866106fd565b9650868110156104bc576104bc6107ac565b8681036104ca818587610979565b9050670de0b6b3a764000081106104f7576104f061035f670de0b6b3a7640000886108ab565b905061050f565b61050c61035f670de0b6b3a764000088610897565b90505b61051981856108ab565b90508881101561052b5761052b6107ac565b97909703979650505050505050565b5f805f61054a888888888861027a565b90505f610574670de0b6b3a764000061056388886108ab565b61056d9190610ea1565b8390610897565b9050670de0b6b3a764000081106105a15761059a61035f670de0b6b3a764000089610897565b90506105b9565b6105b661035f670de0b6b3a7640000896108ab565b90505b808810156105ce575f80935093505050610209565b909603976001975095505050505050565b5f805f8812156105ff576105f288610eb4565b6105fc9087610ea1565b95505b5f8061060b8b8b610994565b9150915080610621575f8093509350505061025f565b5f61062f838b8a8a8a6106d9565b90505f61064b6106438a6102968a8e61076e565b899089610789565b905080821015610664575f80955095505050505061025f565b808203670de0b6b3a764000081106106925761068b61035f670de0b6b3a76400008c6108ab565b90506106aa565b6106a761035f670de0b6b3a76400008c610897565b90505b8b8110156106c2575f8096509650505050505061025f565b9a909a039c60019c509a5050505050505050505050565b5f6106e485856106fd565b6102a46106f586610296868b6109cf565b859085610979565b5f815f036107145750670de0b6b3a7640000610768565b825f0361072257505f610768565b5f61072c836109e3565b90505f61074061073b866109e3565b610a10565b9050818102610757670de0b6b3a764000082610ece565b905061076281610c3e565b93505050505b92915050565b5f6107828383670de0b6b3a7640000610789565b9392505050565b5f825f19048411830215820261079d575f80fd5b50910281810615159190040190565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f6107d5898988888861027a565b9050868810156107eb575f8092509250506101e5565b96869003966107fa88876106fd565b975087811015610810575f8092509250506101e5565b87810361081e818688610789565b9050670de0b6b3a7640000811061084b5761084461035f670de0b6b3a764000089610897565b9050610863565b61086061035f670de0b6b3a7640000896108ab565b90505b61086d8186610897565b905089811015610884575f809350935050506101e5565b9890980398600198509650505050505050565b5f61078283670de0b6b3a764000084610789565b5f61078283670de0b6b3a764000084610979565b5f805f6108cf898988888861027a565b90506108e9866102966108e28a8d610ea1565b87906109cf565b98506108f6858a86610979565b98508881101561090c575f8092509250506101e5565b888103670de0b6b3a7640000811061093a5761093361035f670de0b6b3a764000089610897565b9050610952565b61094f61035f670de0b6b3a7640000896108ab565b90505b80891015610967575f809350935050506101e5565b90970398600198509650505050505050565b5f825f19048411830215820261098d575f80fd5b5091020490565b5f805f836109a1866109e3565b6109ab9190610f06565b90505f8112156109c1575f8092509250506109c8565b9150600190505b9250929050565b5f6107828383670de0b6b3a7640000610979565b5f6001600160ff1b03821115610a0c5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f808213610a315760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190610abd9084901c6109e3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213610c5757505f919050565b680755bf798b4a1bf1e58212610c80576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6109e3565b5f805f805f60a08688031215610de4575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f805f805f8060c08789031215610e1c575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215610e5c575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561076857610768610e8d565b5f600160ff1b8201610ec857610ec8610e8d565b505f0390565b5f82610ee857634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615610f0157610f01610e8d565b500590565b8181035f831280158383131683831282161715610f2557610f25610e8d565b509291505056fea26469706673582212201b6ebf319b478060656bdde40834bcafbec7f2ca884537c9804844fd7d27f4a564736f6c63430008160033', - methodIdentifiers: { - "calculateBondsOutGivenSharesInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "86c85e10", - "calculateMaxBuyBondsOutSafe(uint256,uint256,uint256,uint256,uint256)": "a9afa373", - "calculateMaxBuySharesInSafe(uint256,uint256,uint256,uint256,uint256)": "5880b9fd", - "calculateMaxSellBondsInSafe(uint256,int256,uint256,uint256,uint256,uint256,uint256)": "bc50ebe6", - "calculateSharesInGivenBondsOutDown(uint256,uint256,uint256,uint256,uint256,uint256)": "a4a6f9d9", - "calculateSharesInGivenBondsOutUp(uint256,uint256,uint256,uint256,uint256,uint256)": "2e74108c", - "calculateSharesOutGivenBondsInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "27d0e265", - "calculateSharesOutGivenBondsInDownSafe(uint256,uint256,uint256,uint256,uint256,uint256)": "3ee4114a", - "kDown(uint256,uint256,uint256,uint256,uint256)": "d79d0835", - "kUp(uint256,uint256,uint256,uint256,uint256)": "0aea7563" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts deleted file mode 100644 index 7a5376b77..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MorphoBalancesLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoBalancesLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map deleted file mode 100644 index efe63d48f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBalancesLib.d.ts","sourceRoot":"","sources":["../src/MorphoBalancesLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js b/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js deleted file mode 100644 index db2ac3485..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MorphoBalancesLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fb45a935ff9586055cfa2ec28d13f1a0b562ff62c9fbb03cbfd08d84a248bac764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts deleted file mode 100644 index 09cbfa22b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const MorphoBlueBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoBlueBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map deleted file mode 100644 index 3613d3b1b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueBase.d.ts","sourceRoot":"","sources":["../src/MorphoBlueBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.js b/packages/hyperdrive-artifacts/dist/MorphoBlueBase.js deleted file mode 100644 index 3a29d94eb..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.js +++ /dev/null @@ -1,694 +0,0 @@ -export const MorphoBlueBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts deleted file mode 100644 index 6378b67dd..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -export declare const MorphoBlueConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "IMorpho"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "IERC20"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "IMorpho"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "IERC20"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(IMorpho,IERC20,address,address,address,uint256,uint256)": "3c2063f0"; - readonly "convertToShares(IMorpho,IERC20,address,address,address,uint256,uint256)": "49124ca3"; - }; -}; -//# sourceMappingURL=MorphoBlueConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map deleted file mode 100644 index 4d13fbf06..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueConversions.d.ts","sourceRoot":"","sources":["../src/MorphoBlueConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqGknI,KAAK,MAAM,EAAE;;;;;CAKhqI,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js b/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js deleted file mode 100644 index 314f0e741..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js +++ /dev/null @@ -1,107 +0,0 @@ -export const MorphoBlueConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vault", - "type": "IMorpho", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "IERC20", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vault", - "type": "IMorpho", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "IERC20", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x61080b610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80633c2063f01461004357806349124ca314610068575b5f80fd5b610056610051366004610599565b61007b565b60405190815260200160405180910390f35b610056610076366004610599565b6100aa565b5f805f61008c8a8a8a8a8a8a6100cb565b909250905061009c848383610144565b9a9950505050505050505050565b5f805f6100bb8a8a8a8a8a8a6100cb565b909250905061009c848383610170565b5f806101336040518060a00160405280896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b0316815260200185815250896001600160a01b031661018c90919063ffffffff16565b50919a909950975050505050505050565b5f61016861015360018561062b565b610160620f42408561062b565b869190610482565b949350505050565b5f610168610181620f42408461062b565b61016060018661062b565b5f805f805f61019c8660a0902090565b604051632e3071cd60e11b8152600481018290529091505f906001600160a01b03891690635c60e39a9060240160c060405180830381865afa1580156101e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102089190610659565b90505f81608001516001600160801b0316426102249190610702565b90508015801590610241575060408201516001600160801b031615155b8015610259575060608801516001600160a01b031615155b1561044e576060888101805160408051638c00bf6b60e01b81528c516001600160a01b0390811660048301526020808f015182166024840152838f0151821660448401529451811660648301526080808f0151608484015288516001600160801b0390811660a485015295890151861660c484015292880151851660e483015294870151841661010482015290860151831661012482015260a08601519092166101448301525f921690638c00bf6b9061016401602060405180830381865afa158015610328573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034c9190610715565b90505f61037061035c8385610498565b60408601516001600160801b031690610502565b905061037b8161051d565b8460400181815161038c919061072c565b6001600160801b03169052506103a18161051d565b845185906103b090839061072c565b6001600160801b0390811690915260a08601511615905061044b575f6103ec8560a001516001600160801b03168361050290919063ffffffff16565b90505f61042082875f01516001600160801b031661040a9190610702565b60208801518491906001600160801b0316610170565b905061042b8161051d565b8660200181815161043c919061072c565b6001600160801b031690525050505b50505b508051602082015160408301516060909301516001600160801b039283169b9183169a509282169850911695509350505050565b5f8161048e8486610753565b610168919061076a565b5f806104a48385610753565b90505f6104c482806104bf670de0b6b3a76400006002610753565b610482565b90505f6104df82846104bf670de0b6b3a76400006003610753565b9050806104ec838561062b565b6104f6919061062b565b93505050505b92915050565b5f6105168383670de0b6b3a7640000610482565b9392505050565b6040805180820190915260148152731b585e081d5a5b9d0c4c8e08195e18d95959195960621b60208201525f906001600160801b0383111561057b5760405162461bcd60e51b81526004016105729190610789565b60405180910390fd5b5090919050565b6001600160a01b0381168114610596575f80fd5b50565b5f805f805f805f60e0888a0312156105af575f80fd5b87356105ba81610582565b965060208801356105ca81610582565b955060408801356105da81610582565b945060608801356105ea81610582565b935060808801356105fa81610582565b9699959850939692959460a0840135945060c09093013592915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104fc576104fc610617565b80516001600160801b0381168114610654575f80fd5b919050565b5f60c08284031215610669575f80fd5b60405160c0810181811067ffffffffffffffff8211171561069857634e487b7160e01b5f52604160045260245ffd5b6040526106a48361063e565b81526106b26020840161063e565b60208201526106c36040840161063e565b60408201526106d46060840161063e565b60608201526106e56080840161063e565b60808201526106f660a0840161063e565b60a08201529392505050565b818103818111156104fc576104fc610617565b5f60208284031215610725575f80fd5b5051919050565b6001600160801b0381811683821601908082111561074c5761074c610617565b5092915050565b80820281158282048414176104fc576104fc610617565b5f8261078457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156107b557858101830151858201604001528201610799565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220e95ecd2e1b666fcfc5a7211be25dfe2c423aa4a4882aa1f05e47576792bf6e3164736f6c63430008160033', - methodIdentifiers: { - "convertToBase(IMorpho,IERC20,address,address,address,uint256,uint256)": "3c2063f0", - "convertToShares(IMorpho,IERC20,address,address,address,uint256,uint256)": "49124ca3" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts deleted file mode 100644 index af3ffb866..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts +++ /dev/null @@ -1,1375 +0,0 @@ -export declare const MorphoBlueHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=MorphoBlueHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map deleted file mode 100644 index 39e677894..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueHyperdrive.d.ts","sourceRoot":"","sources":["../src/MorphoBlueHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuqD+3b,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B56b,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js deleted file mode 100644 index 785571930..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js +++ /dev/null @@ -1,1735 +0,0 @@ -export const MorphoBlueHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 4e699361f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const MorphoBlueHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=MorphoBlueHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 7805bae77..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K6kjB,KAAK,MAAM,EAAE;;;;CAItojB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js deleted file mode 100644 index f9292587b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const MorphoBlueHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506123168061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d2999897969594939291906200063a565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611bc6806200071b83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f60a0828403121562000490575f80fd5b60405160a0810181811067ffffffffffffffff82111715620004b657620004b662000111565b6040528251620004c681620001e3565b81526020830151620004d881620001e3565b60208201526040830151620004ed81620001e3565b604082015260608301516200050281620001e3565b60608201526080928301519281019290925250919050565b80516001600160a01b0316825260208101516200054260208401826001600160a01b03169052565b5060408101516200055e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151620005d1828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103e08083528b5180828501525f91505b8082101562000670576020828e01015161040083860101526020820191506200064c565b61040091505f82828601015281601f19601f830116850101925050506200069b602083018b6200051a565b6001600160a01b038981166102808401528881166102a08401528781166102c08401528681166102e08401528581166103008401528481166103208401528351811661034084015260208401518116610360840152604084015181166103808401526060840151166103a083015260808301516103c0830152620000f556fe6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033a2646970667358221220e94d0d23ef5df14ab957a6f4886cb39cdf32f3dd583faa7e593f8b381a1b83b264736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index b819585bb..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,672 +0,0 @@ -export declare const MorphoBlueHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,address,address,address,uint256,uint256)": "43dd8fef"; - readonly "convertToShares(address,address,address,address,address,uint256,uint256)": "e71c2aa1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=MorphoBlueHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index c3f6b84b8..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/MorphoBlueHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo0Bs3rB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBt7rB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js deleted file mode 100644 index c24f969c7..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,857 +0,0 @@ -export const MorphoBlueHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vault", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vault", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002bcb38038062002bcb8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127b16200041a5f395f81816102b80152610de501525f81816103360152610cb201525f818161039c0152610b7f01525f81816103030152610a4c01525f8181610369015261084301525f8181610421015261117901525f81816103ee015281816105470152818161076c0152818161087301528181610a7c01528181610baf01528181610ce201528181610e1501528181610f4d01526111aa01526127b15ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063e71c2aa114610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806343dd8fef116100cd57806343dd8fef1461025957806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb6565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ceb565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da9565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dc0565b348015610264575f80fd5b5061014f610273366004611e3d565b6106d0565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612012565b610760565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014f61045d366004611e3d565b610efc565b34801561046d575f80fd5b506102da61047c36600461207b565b610f41565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602781526020016127556027913981565b5f80546104bc90612115565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612115565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6112b4565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112d5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061214d565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612192565b92505f61065382346121bd565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090610715908b908b908b908b908b908b908b906004016121d0565b602060405180830381865af4158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190612192565b98975050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107aa57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361095a578054156107df57604051633be1b34d60e11b815260040160405180910390fd5b6107e9868661138f565b5f6107f4878761152d565b90505f876040516020016108089190612213565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108358a61157a565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108af929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108e49493929190612446565b6020604051808303815f875af1158015610900573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610924919061248b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109865760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109989190612213565b60405160208183030381529060405280519060200120146109cc5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109f657604051631a3272d160e31b815260040160405180910390fd5b610a00878761138f565b5f610a0a8861157a565b6002840154608082015290506001869003610b4a5760058301546001600160a01b031615610a4a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab1939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ae69493929190612446565b6020604051808303815f875af1158015610b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b26919061248b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c7d5760068301546001600160a01b031615610b7d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610be4939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c199493929190612446565b6020604051808303815f875af1158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c59919061248b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610db05760078301546001600160a01b031615610cb05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d17939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d4c9493929190612446565b6020604051808303815f875af1158015610d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8c919061248b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ee35760088301546001600160a01b031615610de35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e4a939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e7f9493929190612446565b6020604051808303815f875af1158015610e9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebf919061248b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390610715908b908b908b908b908b908b908b906004016121d0565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103357604051632c95caeb60e01b815260040160405180910390fd5b80516110525760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611077575060a08101516001600160a01b0316155b8061108d575060c08101516001600160a01b0316155b806110a3575060e08101516001600160a01b0316155b806110ba57506101008101516001600160a01b0316155b156110d85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110eb908790602001612213565b604051602081830303815290604052805190602001201461111f5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461114a57604051631a3272d160e31b815260040160405180910390fd5b611154858561138f565b5f61115e8661157a565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611200929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161123b9a999897969594939291906124c7565b6020604051808303815f875af1158015611257573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127b919061248b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112d357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112f85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611359919061248b565b90506113706001600160a01b038216863087611648565b6113846001600160a01b03821687866116b5565b505f95945050505050565b6113998282611744565b60208201516001600160a01b0316156113c55760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166113ed57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114529190612549565b61145c9190612569565b61146790600a612662565b8260800151101561148b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f09190612549565b6114fa9190612569565b61150590600a612662565b8260a001511015611529576040516318c9522360e11b815260040160405180910390fd5b5050565b5f80828060200190518101906115439190612670565b80518551602083015160408401516060850151608086015195965061157095670de0b6b3a76400006106d0565b9150505b92915050565b611582611a95565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116af9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611858565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261170684826118c3565b6116af576040516001600160a01b0384811660248301525f604483015261173a91869182169063095ea7b39060640161167d565b6116af8482611858565b6103e88260800151101561176b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361179057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ba57508161010001518260e001516117b791906126ff565b15155b156117d85760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118045750670de0b6b3a7640000826101c0015160200151115b8061181f5750670de0b6b3a7640000826101c0015160400151115b8061183a5750670de0b6b3a7640000826101c0015160600151115b15611529576040516322f72cc360e11b815260040160405180910390fd5b5f61186c6001600160a01b03841683611960565b905080515f1415801561189057508080602001905181019061188e919061271e565b155b156118be57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516118de9190612739565b5f604051808303815f865af19150503d805f8114611917576040519150601f19603f3d011682016040523d82523d5f602084013e61191c565b606091505b5091509150818015611946575080511580611946575080806020019051810190611946919061271e565b80156106c75750505050506001600160a01b03163b151590565b606061196d83835f611974565b9392505050565b6060814710156119995760405163cd78605960e01b81523060048201526024016118b5565b5f80856001600160a01b031684866040516119b49190612739565b5f6040518083038185875af1925050503d805f81146119ee576040519150601f19603f3d011682016040523d82523d5f602084013e6119f3565b606091505b5091509150611a03868383611a0d565b9695505050505050565b606082611a2257611a1d82611a69565b61196d565b8151158015611a3957506001600160a01b0384163b155b15611a6257604051639996b31560e01b81526001600160a01b03851660048201526024016118b5565b508061196d565b805115611a795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b83578181015183820152602001611b6b565b50505f910152565b5f8151808452611ba2816020860160208601611b69565b601f01601f19169290920160200192915050565b602081525f61196d6020830184611b8b565b6001600160a01b0381168114611a92575f80fd5b8035611be781611bc8565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2357611c23611bec565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2357611c23611bec565b8015158114611a92575f80fd5b5f67ffffffffffffffff80841115611c7457611c74611bec565b604051601f8501601f19908116603f01168101908282118183101715611c9c57611c9c611bec565b81604052809350858152868686011115611cb4575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdc575f80fd5b61196d83833560208501611c5a565b5f805f805f60a08688031215611cff575f80fd5b853594506020860135611d1181611bc8565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3b575f80fd5b908701906060828a031215611d4e575f80fd5b611d56611c00565b8235611d6181611bc8565b81526020830135611d7181611c4d565b6020820152604083013582811115611d87575f80fd5b611d938b828601611ccd565b6040830152508093505050509295509295909350565b5f60208284031215611db9575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f805f805f805f60e0888a031215611e53575f80fd5b8735611e5e81611bc8565b96506020880135611e6e81611bc8565b95506040880135611e7e81611bc8565b94506060880135611e8e81611bc8565b93506080880135611e9e81611bc8565b9699959850939692959460a0840135945060c09093013592915050565b5f60808284031215611ecb575f80fd5b6040516080810181811067ffffffffffffffff82111715611eee57611eee611bec565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f30575f80fd5b611f38611c29565b9050611f4382611bdc565b8152611f5160208301611bdc565b6020820152611f6260408301611bdc565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fbf818401611bdc565b90820152610160611fd1838201611bdc565b90820152610180611fe3838201611bdc565b908201526101a0611ff5838201611bdc565b908201526101c061200884848301611ebb565b9082015292915050565b5f805f805f6102c08688031215612027575f80fd5b853594506120388760208801611f1f565b935061026086013567ffffffffffffffff811115612054575f80fd5b61206088828901611ccd565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612090575f80fd5b85359450602086013567ffffffffffffffff808211156120ae575f80fd5b818801915088601f8301126120c1575f80fd5b6120d089833560208501611c5a565b95506120df8960408a01611f1f565b94506102808801359150808211156120f5575f80fd5b5061210288828901611ccd565b959894975092956102a001359392505050565b600181811c9082168061212957607f821691505b60208210810361214757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0360c0840182611b8b565b5f602082840312156121a2575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611574576115746121a9565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b81516001600160a01b031681526102408101602083015161223f60208401826001600160a01b03169052565b50604083015161225a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516122c0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e35565b80516001600160a01b03168252602081015161235060208401826001600160a01b03169052565b50604081015161236b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516123dd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116af565b5f6102c06124548388612329565b6001600160a01b038616610260840152610280830181905261247881840186611b8b565b915050826102a083015295945050505050565b5f6020828403121561249b575f80fd5b815161196d81611bc8565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124da8184018e611b8b565b90506124e9602084018d612329565b6001600160a01b038b81166102808501528382036102a085015261250d828c611b8b565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612559575f80fd5b815160ff8116811461196d575f80fd5b60ff8281168282160390811115611574576115746121a9565b600181815b808511156125bc57815f19048211156125a2576125a26121a9565b808516156125af57918102915b93841c9390800290612587565b509250929050565b5f826125d257506001611574565b816125de57505f611574565b81600181146125f457600281146125fe5761261a565b6001915050611574565b60ff84111561260f5761260f6121a9565b50506001821b611574565b5060208310610133831016604e8410600b841016171561263d575081810a611574565b6126478383612582565b805f190482111561265a5761265a6121a9565b029392505050565b5f61196d60ff8416836125c4565b5f60a08284031215612680575f80fd5b60405160a0810181811067ffffffffffffffff821117156126a3576126a3611bec565b60405282516126b181611bc8565b815260208301516126c181611bc8565b602082015260408301516126d481611bc8565b604082015260608301516126e781611bc8565b60608201526080928301519281019290925250919050565b5f8261271957634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561272e575f80fd5b815161196d81611c4d565b5f825161274a818460208701611b69565b919091019291505056fe4d6f7270686f426c7565487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122088f5dc35393f002df524f63936fa93aa619fb65868e078cd28d496dc269cebe764736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,address,address,address,uint256,uint256)": "43dd8fef", - "convertToShares(address,address,address,address,address,uint256,uint256)": "e71c2aa1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts deleted file mode 100644 index 994aa8357..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts +++ /dev/null @@ -1,1618 +0,0 @@ -export declare const MorphoBlueTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collateralToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "id"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "irm"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lltv"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "oracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collateralToken()": "b2016bd4"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "id()": "af640d0f"; - readonly "irm()": "28e8fe7d"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "lltv()": "217b7ffe"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "oracle()": "7dc0d1d0"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map deleted file mode 100644 index a6fa64264..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget0.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+8D0gqC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CpjqC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js deleted file mode 100644 index 11e84b7db..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js +++ /dev/null @@ -1,2047 +0,0 @@ -export const MorphoBlueTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collateralToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "id", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "Id" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "irm", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lltv", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "oracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMorpho" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collateralToken()": "b2016bd4", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "id()": "af640d0f", - "irm()": "28e8fe7d", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "lltv()": "217b7ffe", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "oracle()": "7dc0d1d0", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts deleted file mode 100644 index 88816866d..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map deleted file mode 100644 index bace8ac25..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IwlwC,KAAK,MAAM,EAAE;;;;CAI1owC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js deleted file mode 100644 index ec28bd71b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506150188061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614a0a80620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033a264697066735822122089a1d95b8b8eddb97725d4560a4d5ebc605708075377d3efc93f5ba8c9b9250964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts deleted file mode 100644 index 331d76972..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts +++ /dev/null @@ -1,819 +0,0 @@ -export declare const MorphoBlueTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map deleted file mode 100644 index 7fe3ae38d..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget1.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu/BgslC,KAAK,MAAM,EAAE;;;;;CAK1ulC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js deleted file mode 100644 index 5248ee908..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js +++ /dev/null @@ -1,1021 +0,0 @@ -export const MorphoBlueTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts deleted file mode 100644 index 8e229967f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map deleted file mode 100644 index 3bddc775b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I8wrC,KAAK,MAAM,EAAE;;;;CAIh0rC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js deleted file mode 100644 index 5106dc4be..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b738061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61456580620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033a2646970667358221220860f45da025c3855311a86276e544d2660a31e40c82c1160de973e42324f98aa64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts deleted file mode 100644 index c794d18a1..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts +++ /dev/null @@ -1,839 +0,0 @@ -export declare const MorphoBlueTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map deleted file mode 100644 index c25cb9ee2..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget2.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAghCk2pC,KAAK,MAAM,EAAE;;;;;CAK54pC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js deleted file mode 100644 index 5e3b1999a..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js +++ /dev/null @@ -1,1046 +0,0 @@ -export const MorphoBlueTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts deleted file mode 100644 index 99ac3501f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map deleted file mode 100644 index c7d4aeed9..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ig7vC,KAAK,MAAM,EAAE;;;;CAIl+vC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js deleted file mode 100644 index f3eaf6601..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614fc48061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6149b680620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033a264697066735822122049e2b51e85330f3bc49ae1094bf8909df564ea9d14d61794c69b795c578fd7b864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts deleted file mode 100644 index e47e4ffd9..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts +++ /dev/null @@ -1,855 +0,0 @@ -export declare const MorphoBlueTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map deleted file mode 100644 index 3b1c2197c..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget3.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoiC0jpC,KAAK,MAAM,EAAE;;;;;CAKpmpC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js deleted file mode 100644 index f993e1ae4..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js +++ /dev/null @@ -1,1066 +0,0 @@ -export const MorphoBlueTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts deleted file mode 100644 index 7bf4d8561..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map deleted file mode 100644 index 3e20d5a3a..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IwovC,KAAK,MAAM,EAAE;;;;CAI1rvC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js deleted file mode 100644 index 3fc332d84..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614f308061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61492280620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033a26469706673582212208bd6f632107a959b0326a7792c5ef24e521727ad77537fdc6ce2d7480445bb5064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts deleted file mode 100644 index 37b613eb5..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const MorphoBlueTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map deleted file mode 100644 index 0232c34d0..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget4.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygCsz5B,KAAK,MAAM,EAAE;;;;;;CAMh25B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js deleted file mode 100644 index b43b3b806..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js +++ /dev/null @@ -1,1040 +0,0 @@ -export const MorphoBlueTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts deleted file mode 100644 index 6879e3b7b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map deleted file mode 100644 index ae76b0581..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Io4/B,KAAK,MAAM,EAAE;;;;CAIt7/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js deleted file mode 100644 index c3c21f3fe..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613fae8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6139a080620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033a264697066735822122055787ed88c507cf6faab755aa505beccda2f8998ae45813edea01fb0c82d187c64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts b/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts deleted file mode 100644 index 9012b57b4..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MorphoLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map deleted file mode 100644 index 634a14b0e..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoLib.d.ts","sourceRoot":"","sources":["../src/MorphoLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoLib.js b/packages/hyperdrive-artifacts/dist/MorphoLib.js deleted file mode 100644 index 514a9f93e..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MorphoLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220562a6fdcba722903f2f8921f1035f2cc0dd9260daedb7db2a81db2ccc29f7fac64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts b/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts deleted file mode 100644 index 3a0d262be..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MorphoStorageLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoStorageLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map deleted file mode 100644 index 34b87e98a..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoStorageLib.d.ts","sourceRoot":"","sources":["../src/MorphoStorageLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.js b/packages/hyperdrive-artifacts/dist/MorphoStorageLib.js deleted file mode 100644 index 2ad928115..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MorphoStorageLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220dc75cf1a04a2fd61a5937941943ce9f7382240e1179a6ba1fa4a5ad43b39b07d64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts b/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts deleted file mode 100644 index e60f4fd7d..000000000 --- a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts +++ /dev/null @@ -1,352 +0,0 @@ -export declare const MultiRolesAuthority: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_authority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "authority()": "bf7e214f"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "owner()": "8da5cb5b"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "transferOwnership(address)": "f2fde38b"; - }; -}; -//# sourceMappingURL=MultiRolesAuthority.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map b/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map deleted file mode 100644 index 7e9496929..000000000 --- a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MultiRolesAuthority.d.ts","sourceRoot":"","sources":["../src/MultiRolesAuthority.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgbsnM,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBlqM,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js b/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js deleted file mode 100644 index 188296c44..000000000 --- a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js +++ /dev/null @@ -1,451 +0,0 @@ -export const MultiRolesAuthority = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_authority", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50604051610c41380380610c4183398101604081905261002e916100dd565b5f80546001600160a01b03199081166001600160a01b0385811691821784556001805490931690851617909155604051849284929133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350505050610115565b6001600160a01b03811681146100da575f80fd5b50565b5f80604083850312156100ee575f80fd5b82516100f9816100c6565b602084015190925061010a816100c6565b809150509250929050565b610b1f806101225f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80638da5cb5b11610093578063e688747b11610063578063e688747b14610231578063ea7ca27614610266578063ed0d0efb1461029c578063f2fde38b146102bb575f80fd5b80638da5cb5b146101b9578063b7009613146101e3578063bf7e214f146101f6578063c53a398514610209575f80fd5b80634b5159da116100ce5780634b5159da1461016d57806367aff48414610180578063728b952b146101935780637a9e5e4b146101a6575f80fd5b806306a36aee146100f45780630bade8a4146101265780630ea9b75b14610158575b5f80fd5b61011361010236600461089f565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b6101486101343660046108d6565b60046020525f908152604090205460ff1681565b604051901515815260200161011d565b61016b61016636600461090c565b6102ce565b005b61016b61017b366004610950565b6103ac565b61016b61018e366004610985565b61043c565b61016b6101a13660046109b0565b610501565b61016b6101b436600461089f565b610588565b5f546101cb906001600160a01b031681565b6040516001600160a01b03909116815260200161011d565b6101486101f13660046109dc565b61066c565b6001546101cb906001600160a01b031681565b6101cb61021736600461089f565b60026020525f90815260409020546001600160a01b031681565b61014861023f366004610a20565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b610148610274366004610a51565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b6101136102aa3660046108d6565b60056020525f908152604090205481565b61016b6102c936600461089f565b610767565b6102e3335f356001600160e01b0319166107e2565b6103085760405162461bcd60e51b81526004016102ff90610a7b565b60405180910390fd5b8015610337576001600160e01b031982165f9081526005602052604090208054600160ff86161b17905561035d565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b1518360405161039f911515815260200190565b60405180910390a3505050565b6103c1335f356001600160e01b0319166107e2565b6103dd5760405162461bcd60e51b81526004016102ff90610a7b565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610451335f356001600160e01b0319166107e2565b61046d5760405162461bcd60e51b81526004016102ff90610a7b565b801561049b576001600160a01b0383165f9081526003602052604090208054600160ff85161b1790556104c0565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf28360405161039f911515815260200190565b610516335f356001600160e01b0319166107e2565b6105325760405162461bcd60e51b81526004016102ff90610a7b565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f546001600160a01b0316331480610619575060015460405163b700961360e01b81526001600160a01b039091169063b7009613906105da90339030906001600160e01b03195f351690600401610aa1565b602060405180830381865afa1580156105f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106199190610ace565b610621575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001600160a01b038083165f9081526002602052604081205490911680156107055760405163b700961360e01b81526001600160a01b0382169063b7009613906106be90889088908890600401610aa1565b602060405180830381865afa1580156106d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fd9190610ace565b915050610760565b6001600160e01b031983165f9081526004602052604090205460ff168061075c57506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b9150505b9392505050565b61077c335f356001600160e01b0319166107e2565b6107985760405162461bcd60e51b81526004016102ff90610a7b565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b03168015801590610869575060405163b700961360e01b81526001600160a01b0382169063b70096139061082a90879030908890600401610aa1565b602060405180830381865afa158015610845573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108699190610ace565b8061088057505f546001600160a01b038581169116145b949350505050565b6001600160a01b038116811461089c575f80fd5b50565b5f602082840312156108af575f80fd5b813561076081610888565b80356001600160e01b0319811681146108d1575f80fd5b919050565b5f602082840312156108e6575f80fd5b610760826108ba565b803560ff811681146108d1575f80fd5b801515811461089c575f80fd5b5f805f6060848603121561091e575f80fd5b610927846108ef565b9250610935602085016108ba565b91506040840135610945816108ff565b809150509250925092565b5f8060408385031215610961575f80fd5b61096a836108ba565b9150602083013561097a816108ff565b809150509250929050565b5f805f60608486031215610997575f80fd5b83356109a281610888565b9250610935602085016108ef565b5f80604083850312156109c1575f80fd5b82356109cc81610888565b9150602083013561097a81610888565b5f805f606084860312156109ee575f80fd5b83356109f981610888565b92506020840135610a0981610888565b9150610a17604085016108ba565b90509250925092565b5f8060408385031215610a31575f80fd5b610a3a836108ef565b9150610a48602084016108ba565b90509250929050565b5f8060408385031215610a62575f80fd5b8235610a6d81610888565b9150610a48602084016108ef565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215610ade575f80fd5b8151610760816108ff56fea26469706673582212201f9fcb2e91ae2b59a6844cb685bf251770d615c60cfc9612aa76d28eafda347464736f6c63430008160033', - methodIdentifiers: { - "authority()": "bf7e214f", - "canCall(address,address,bytes4)": "b7009613", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "owner()": "8da5cb5b", - "setAuthority(address)": "7a9e5e4b", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUserRole(address,uint8,bool)": "67aff484", - "transferOwnership(address)": "f2fde38b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts b/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts deleted file mode 100644 index 13c8c66be..000000000 --- a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts +++ /dev/null @@ -1,270 +0,0 @@ -export declare const NonPayableDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployAndInitialize"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "contract HyperdriveFactory"; - }, { - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "contract HyperdriveFactory"; - }, { - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployAndInitialize(address,bytes32,string,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "606b5563"; - readonly "deployTarget(address,bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "73c871b3"; - }; -}; -//# sourceMappingURL=NonPayableDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map deleted file mode 100644 index cb855b70e..000000000 --- a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NonPayableDeployer.d.ts","sourceRoot":"","sources":["../src/NonPayableDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Um2I,KAAK,MAAM,EAAE;;;;;CAK94I,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.js b/packages/hyperdrive-artifacts/dist/NonPayableDeployer.js deleted file mode 100644 index f36ab8bb8..000000000 --- a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.js +++ /dev/null @@ -1,340 +0,0 @@ -export const NonPayableDeployer = { - abi: [ - { - "type": "function", - "name": "deployAndInitialize", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "contract HyperdriveFactory" - }, - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "contract HyperdriveFactory" - }, - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061089a8061001d5f395ff3fe608060405260043610610028575f3560e01c8063606b55631461002c57806373c871b314610041575b5f80fd5b61003f61003a36600461044b565b610060565b005b34801561004c575f80fd5b5061003f61005b366004610539565b6100ef565b604051632e7cd97160e01b81526001600160a01b038c1690632e7cd9719034906100a0908e908d908f908e908e908e908e908e908e908e9060040161072d565b60206040518083038185885af11580156100bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906100e191906107e0565b505050505050505050505050565b6040516349f13de760e01b81526001600160a01b038a16906349f13de790610129908b908b908b908b908b908b908b908b90600401610802565b6020604051808303815f875af1158015610145573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016991906107e0565b50505050505050505050565b6001600160a01b0381168114610189575f80fd5b50565b803561019781610175565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff811182821017156101d4576101d461019c565b60405290565b5f82601f8301126101e9575f80fd5b813567ffffffffffffffff808211156102045761020461019c565b604051601f8301601f19908116603f0116810190828211818310171561022c5761022c61019c565b81604052838152866020858801011115610244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215610273575f80fd5b6040516080810181811067ffffffffffffffff821117156102965761029661019c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61024082840312156102d8575f80fd5b6102e06101b0565b90506102eb8261018c565b81526102f96020830161018c565b602082015261030a6040830161018c565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061036781840161018c565b9082015261016061037983820161018c565b9082015261018061038b83820161018c565b908201526101a061039d83820161018c565b908201526101c06103b084848301610263565b9082015292915050565b5f606082840312156103ca575f80fd5b6040516060810167ffffffffffffffff82821081831117156103ee576103ee61019c565b816040528293508435915061040282610175565b9082526020840135908115158214610418575f80fd5b8160208401526040850135915080821115610431575f80fd5b5061043e858286016101da565b6040830152505092915050565b5f805f805f805f805f805f6103808c8e031215610466575f80fd5b61046f8c61018c565b9a5060208c0135995067ffffffffffffffff8060408e01351115610491575f80fd5b6104a18e60408f01358f016101da565b99506104af60608e0161018c565b98506104be8e60808f016102c7565b9750806102c08e013511156104d1575f80fd5b6104e28e6102c08f01358f016101da565b96506102e08d013595506103008d013594506103208d01359350806103408e0135111561050d575f80fd5b5061051f8d6103408e01358e016103ba565b91506103608c013590509295989b509295989b9093969950565b5f805f805f805f805f6103408a8c031215610552575f80fd5b893561055d81610175565b985060208a0135975060408a013561057481610175565b96506105838b60608c016102c7565b95506102a08a013567ffffffffffffffff81111561059f575f80fd5b6105ab8c828d016101da565b999c989b5096999598976102c087013597506102e08701359661030081013596506103200135945092505050565b5f81518084525f5b818110156105fd576020818501810151868301820152016105e1565b505f602082860101526020601f19601f83011685010191505092915050565b80516001600160a01b03168252602081015161064360208401826001600160a01b03169052565b50604081015161065e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201516106c4828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b8a81526001600160a01b038a81166020830152610360604083018190525f916107588483018d6105d9565b9150610767606085018c61061c565b8382036102a085015261077a828b6105d9565b9150886102c0850152876102e085015286610300850152838203610320850152808651168252506020850151151560208201526040850151606060408301526107c660608301826105d9565b92505050826103408301529b9a5050505050505050505050565b5f602082840312156107f0575f80fd5b81516107fb81610175565b9392505050565b8881526001600160a01b03881660208201525f610320610825604084018a61061c565b80610280840152610838818401896105d9565b915050856102a0830152846102c0830152836102e083015282610300830152999850505050505050505056fea2646970667358221220ca9a91b70e77f5739668d14b7df089956c09daaee911ca1196963d5e9a4afa0e64736f6c63430008160033', - methodIdentifiers: { - "deployAndInitialize(address,bytes32,string,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "606b5563", - "deployTarget(address,bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "73c871b3" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts b/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts deleted file mode 100644 index 828e76244..000000000 --- a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const PercentageMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=PercentageMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map b/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map deleted file mode 100644 index 927336b89..000000000 --- a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PercentageMath.d.ts","sourceRoot":"","sources":["../src/PercentageMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PercentageMath.js b/packages/hyperdrive-artifacts/dist/PercentageMath.js deleted file mode 100644 index 7df1fd6da..000000000 --- a/packages/hyperdrive-artifacts/dist/PercentageMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const PercentageMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e884d10a40db003cd248bac8dede05200cc4e7da0d339456a392543bea54e2b564736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Pool.d.ts b/packages/hyperdrive-artifacts/dist/Pool.d.ts deleted file mode 100644 index 98f47658b..000000000 --- a/packages/hyperdrive-artifacts/dist/Pool.d.ts +++ /dev/null @@ -1,1672 +0,0 @@ -export declare const Pool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "category"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "protocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "initialize(address)": "c4d66de8"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - }; -}; -//# sourceMappingURL=Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/Pool.d.ts.map deleted file mode 100644 index c816a1615..000000000 --- a/packages/hyperdrive-artifacts/dist/Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../src/Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0gEG,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Pool.js b/packages/hyperdrive-artifacts/dist/Pool.js deleted file mode 100644 index 5fcbf9d72..000000000 --- a/packages/hyperdrive-artifacts/dist/Pool.js +++ /dev/null @@ -1,2122 +0,0 @@ -export const Pool = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "category", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "protocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "initialize(address)": "c4d66de8", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "repay(address,uint256,uint256,address)": "573ade81", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "supply(address,uint256,address,uint16)": "617ba037", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts b/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts deleted file mode 100644 index 7ba5a8fc6..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -export declare const PoolLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeDropReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,address)": "9cf57023"; - readonly "executeGetUserAccountData(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.CalculateUserAccountDataParams)": "26ec273f"; - readonly "executeInitReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.InitReserveParams)": "69fc1bdf"; - readonly "executeMintToTreasury(mapping(address => DataTypes.ReserveData) storage,address[])": "48c2ca8c"; - readonly "executeRescueTokens(address,address,uint256)": "87b322b2"; - readonly "executeResetIsolationModeTotalDebt(mapping(address => DataTypes.ReserveData) storage,address)": "1e3b4145"; - readonly "executeSetLiquidationGracePeriod(mapping(address => DataTypes.ReserveData) storage,address,uint40)": "6ae43813"; - }; -}; -//# sourceMappingURL=PoolLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map deleted file mode 100644 index 7ed5c3375..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PoolLogic.d.ts","sourceRoot":"","sources":["../src/PoolLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyC4wc,KAAK,MAAM,EAAE;;;;;;;;;;CAU9yc,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolLogic.js b/packages/hyperdrive-artifacts/dist/PoolLogic.js deleted file mode 100644 index 59c1784e2..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolLogic.js +++ /dev/null @@ -1,52 +0,0 @@ -export const PoolLogic = { - abi: [ - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x611c52610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c806369fc1bdf1161006357806369fc1bdf1461010e5780636ae438131461013d57806387b322b21461019a5780639cf57023146101b9575f80fd5b80631e3b41451461008957806326ec273f146100aa57806348c2ca8c146100ef575b5f80fd5b818015610094575f80fd5b506100a86100a33660046117a3565b6101d8565b005b6100bd6100b8366004611860565b6102a7565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0015b60405180910390f35b8180156100fa575f80fd5b506100a8610109366004611915565b6102e1565b818015610119575f80fd5b5061012d61012836600461199e565b610452565b60405190151581526020016100e6565b818015610148575f80fd5b506100a8610157366004611a57565b6001600160a01b039091165f9081526020929092526040909120600301805464ffffffffff909216600160b81b0264ffffffffff60b81b19909216919091179055565b8180156101a5575f80fd5b506100a86101b4366004611a9d565b6106b1565b8180156101c4575f80fd5b506100a86101d3366004611ad6565b6106ca565b6001600160a01b0381165f9081526020838152604091829020825191820190925290549081905260d41c64ffffffffff16604080518082019091526002815261383160f01b6020820152901561024a5760405162461bcd60e51b81526004016102419190611b08565b60405180910390fd5b506001600160a01b0381165f8181526020848152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a25050565b5f805f805f806102b98a8a8a8a61078c565b50939950919750909450925090506102d2868684610c4e565b93509499939850945094509450565b5f5b8181101561044c575f8383838181106102fe576102fe611b54565b90506020020160208101906103139190611b68565b6001600160a01b0381165f908152602087815260409182902082519182019092528154908190529192509067010000000000000016610353575050610444565b60088101546001600160801b03168015610440576008820180546001600160801b03191690555f61038383610c80565b90505f6103908383610ce2565b600480860154604051637df5bd3b60e01b81529293506001600160a01b031691637df5bd3b916103cd918591879101918252602082015260400190565b5f604051808303815f87803b1580156103e4575f80fd5b505af11580156103f6573d5f803e3d5ffd5b50505050846001600160a01b03167fbfa21aa5d5f9a1f0120a95e7c0749f389863cbdbfff531aa7339077a5bc919de8260405161043591815260200190565b60405180910390a250505b5050505b6001016102e3565b50505050565b80516040805180820190915260018152603960f81b60208201525f913b61048c5760405162461bcd60e51b81526004016102419190611b08565b506020808301516040808501516060860151608087015187516001600160a01b03165f908152958a9052929094206104c694909392610d24565b81516001600160a01b03165f90815260208590526040812060030154600160a81b900461ffff16151580610514575082515f808052602086905260409020546001600160a01b039081169116145b90508015604051806040016040528060028152602001610c4d60f21b815250906105515760405162461bcd60e51b81526004016102419190611b08565b505f5b8360a0015161ffff168161ffff1610156105f45761ffff81165f908152602086905260409020546001600160a01b03166105ec5783516001600160a01b039081165f90815260208881526040808320600301805461ffff60a81b1916600160a81b61ffff97909716968702179055875194835290889052812080546001600160a01b0319169390921692909217905591506106aa9050565b600101610554565b508260c0015161ffff168360a0015161ffff161060405180604001604052806002815260200161313560f01b815250906106415760405162461bcd60e51b81526004016102419190611b08565b50505060a08101805182516001600160a01b039081165f90815260208781526040808320600301805461ffff60a81b1916600160a81b61ffff978816021790558651955190941682528690529190912080546001600160a01b0319169290911691909117905560015b9392505050565b6106c56001600160a01b0384168383610df8565b505050565b6001600160a01b0381165f9081526020849052604090206106ec838284610e80565b506001600160a01b03165f81815260208481526040808320600381018054600160a81b900461ffff16855295835290832080546001600160a01b0319908116909155938352949052808455600184018190556002840181905582546001600160e01b031916909255600483018054821690556005830180548216905560068301805482169055600783018054909116905560088201819055600990910155565b5f805f805f8061079e875f0151511590565b156107ba57505f94508493508392508291505f19905081610c41565b6108496040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561088d57608088015160ff165f90815260208a905260409020606089015161087a919061114a565b6101808401526101c08301526101a08201525b87602001518160c001511015610b665760c081015188516108ad916111f3565b6108c15760c081018051600101905261088d565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526108f95760c081018051600101905261088d565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906109815750816101e00151896080015160ff16145b6109fd57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190611b81565b610a04565b8161018001515b825260a082015115801590610a24575060c08201518951610a2491611245565b15610b1357610a40896040015182845f01518560200151611293565b6040830181905261010083018051610a59908390611bac565b90525060808901516101e0830151610a749160ff1690611342565b1515610240830152608082015115610aca57816102400151610a9a578160800151610aa1565b816101a001515b8260400151610ab09190611bbf565b8261014001818151610ac29190611bac565b905250610ad3565b60016102208301525b816102400151610ae7578160a00151610aee565b816101c001515b8260400151610afd9190611bbf565b8261016001818151610b0f9190611bac565b9052505b60c08201518951610b2391611352565b15610b5557610b3f896040015182845f0151856020015161139e565b8261012001818151610b519190611bac565b9052505b5060c081018051600101905261088d565b8061010001515f03610b78575f610b93565b80610100015181610140015181610b9157610b91611bd6565b045b6101408201526101008101515f03610bab575f610bc6565b80610100015181610160015181610bc457610bc4611bd6565b045b61016082015261012081015115610c0857610c03816101200151610bfd8361016001518461010001516114cd90919063ffffffff16565b906114f1565b610c0b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f80610c5a85846114cd565b905083811015610c6d575f9150506106aa565b610c778482611bea565b95945050505050565b60038101545f90600160801b900464ffffffffff16428103610cae575050600101546001600160801b031690565b60018301546106aa906001600160801b0380821691610cd691600160801b9091041684611526565b90610ce2565b50919050565b5f81156b019d971e4fe8401e740000001983900484111517610d02575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6004850154604080518082019091526002815261363160f01b6020820152906001600160a01b031615610d6a5760405162461bcd60e51b81526004016102419190611b08565b506001850180546b033b2e3c9fd0803ce80000006001600160801b0319918216811790925560028701805490911690911790556004850180546001600160a01b03199081166001600160a01b03968716179091556005860180548216948616949094179093556006850180548416928516929092179091556007909301805490911692909116919091179055565b60405163a9059cbb60e01b8082526001600160a01b038416600483015260248201839052905f8060448382895af1610e32573d5f803e3d5ffd5b50610e3c8461156a565b61044c5760405162461bcd60e51b815260206004820152601560248201527423a83b191d103330b4b632b2103a3930b739b332b960591b6044820152606401610241565b604080518082019091526002815261373760f01b60208201526001600160a01b038216610ec05760405162461bcd60e51b81526004016102419190611b08565b506003820154600160a81b900461ffff16151580610ef657505f808052602084905260409020546001600160a01b038281169116145b604051806040016040528060028152602001611c1960f11b81525090610f2f5760405162461bcd60e51b81526004016102419190611b08565b50816005015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa69190611b81565b604080518082019091526002815261353560f01b60208201529015610fde5760405162461bcd60e51b81526004016102419190611b08565b50816006015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110559190611b81565b6040805180820190915260028152611a9b60f11b6020820152901561108d5760405162461bcd60e51b81526004016102419190611b08565b50600480830154604080516318160ddd60e01b815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa1580156110d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f99190611b81565b158015611111575060088201546001600160801b0316155b604051806040016040528060028152602001610d4d60f21b8152509061044c5760405162461bcd60e51b81526004016102419190611b08565b81545f90819081908190660100000000000090046001600160a01b031680156111d85760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa1580156111b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d59190611b81565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f906080831061122f5760405162461bcd60e51b81526004016102419190611b08565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106112815760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b82011c16151590565b5f8061129e85610c80565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f92879261131b928692911690631da24f3e90602401602060405180830381865afa1580156112f7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd69190611b81565b6113259190611bbf565b905083818161133657611336611bd6565b04979650505050505050565b5f82158015906106aa5750501490565b6040805180820190915260028152610dcd60f21b60208201525f906080831061138e5760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611b81565b9050801561142d5761142a6114238661160b565b8290610ce2565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015611477573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149b9190611b81565b6114a59082611bac565b90506114b18185611bbf565b90508281816114c2576114c2611bd6565b049695505050505050565b5f811561138819839004841115176114e3575f80fd5b506127109102611388010490565b5f8115670de0b6b3a76400006002840419048411171561150f575f80fd5b50670de0b6b3a76400009190910260028204010490565b5f8061153964ffffffffff841642611bea565b6115439085611bbf565b6301e1338090049050611562816b033b2e3c9fd0803ce8000000611bac565b949350505050565b5f61158c565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115cb57602081146115fc576115c67f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611570565b610cdc565b823b6115f3576115f37311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611570565b60019150610cdc565b3d5f803e50505f511515919050565b60038101545f90600160801b900464ffffffffff16428103611639575050600201546001600160801b031690565b60028301546106aa906001600160801b0380821691610cd691600160801b90910416845f6106aa8383425f8061167664ffffffffff851684611bea565b9050805f03611694576b033b2e3c9fd0803ce80000009150506106aa565b5f1981015f8080600285116116a9575f6116ae565b600285035b925066038882915c40006116c28a80610ce2565b816116cf576116cf611bd6565b0491506301e133806116e1838b610ce2565b816116ee576116ee611bd6565b0490505f826116fd8688611bbf565b6117079190611bbf565b6002900490505f828561171a888a611bbf565b6117249190611bbf565b61172e9190611bbf565b60069004905080826301e133806117458a8f611bbf565b61174f9190611bfd565b611765906b033b2e3c9fd0803ce8000000611bac565b61176f9190611bac565b6117799190611bac565b9b9a5050505050505050505050565b80356001600160a01b038116811461179e575f80fd5b919050565b5f80604083850312156117b4575f80fd5b823591506117c460208401611788565b90509250929050565b60405160a0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516020810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b5f805f80848603610100811215611875575f80fd5b853594506020860135935060408601359250605f190160a0811215611898575f80fd5b6118a06117cd565b60208212156118ad575f80fd5b6118b5611802565b915060608701358252818152608087013560208201526118d760a08801611788565b60408201526118e860c08801611788565b606082015260e0870135915060ff82168214611902575f80fd5b6080810191909152939692955090935050565b5f805f60408486031215611927575f80fd5b83359250602084013567ffffffffffffffff80821115611945575f80fd5b818601915086601f830112611958575f80fd5b813581811115611966575f80fd5b8760208260051b850101111561197a575f80fd5b6020830194508093505050509250925092565b803561ffff8116811461179e575f80fd5b5f805f8385036101208112156119b2575f80fd5b843593506020850135925060e0603f19820112156119ce575f80fd5b506119d7611831565b6119e360408601611788565b81526119f160608601611788565b6020820152611a0260808601611788565b6040820152611a1360a08601611788565b6060820152611a2460c08601611788565b6080820152611a3560e0860161198d565b60a0820152611a47610100860161198d565b60c0820152809150509250925092565b5f805f60608486031215611a69575f80fd5b83359250611a7960208501611788565b9150604084013564ffffffffff81168114611a92575f80fd5b809150509250925092565b5f805f60608486031215611aaf575f80fd5b611ab884611788565b9250611ac660208501611788565b9150604084013590509250925092565b5f805f60608486031215611ae8575f80fd5b8335925060208401359150611aff60408501611788565b90509250925092565b5f602080835283518060208501525f5b81811015611b3457858101830151858201604001528201611b18565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b78575f80fd5b6106aa82611788565b5f60208284031215611b91575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561123f5761123f611b98565b808202811582820484141761123f5761123f611b98565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561123f5761123f611b98565b5f82611c1757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220da97a534552f600eb99730163caf62c84abbc8f1a6ade8dbfd20361e6a88732064736f6c63430008160033', - methodIdentifiers: { - "executeDropReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,address)": "9cf57023", - "executeGetUserAccountData(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.CalculateUserAccountDataParams)": "26ec273f", - "executeInitReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.InitReserveParams)": "69fc1bdf", - "executeMintToTreasury(mapping(address => DataTypes.ReserveData) storage,address[])": "48c2ca8c", - "executeRescueTokens(address,address,uint256)": "87b322b2", - "executeResetIsolationModeTotalDebt(mapping(address => DataTypes.ReserveData) storage,address)": "1e3b4145", - "executeSetLiquidationGracePeriod(mapping(address => DataTypes.ReserveData) storage,address,uint40)": "6ae43813" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts b/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts deleted file mode 100644 index 53e57bf94..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const PoolStorage: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=PoolStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map deleted file mode 100644 index 80edbb649..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PoolStorage.d.ts","sourceRoot":"","sources":["../src/PoolStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;cAE4K,KAAK,MAAM,EAAE;;CAEhN,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolStorage.js b/packages/hyperdrive-artifacts/dist/PoolStorage.js deleted file mode 100644 index 6065d9f96..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolStorage.js +++ /dev/null @@ -1,5 +0,0 @@ -export const PoolStorage = { - abi: [], - bytecode: '0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212205d2cec9f978061dc89a9af418a81db81441933b7ce0f6d7491f8c6227ff9fd4764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts b/packages/hyperdrive-artifacts/dist/RETHBase.d.ts deleted file mode 100644 index d9f7d1566..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts +++ /dev/null @@ -1,542 +0,0 @@ -export declare const RETHBase: { - abi: readonly [{ - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map deleted file mode 100644 index 0424d990a..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHBase.d.ts","sourceRoot":"","sources":["../src/RETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAspBD,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHBase.js b/packages/hyperdrive-artifacts/dist/RETHBase.js deleted file mode 100644 index d67e4b3be..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHBase.js +++ /dev/null @@ -1,665 +0,0 @@ -export const RETHBase = { - abi: [ - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts deleted file mode 100644 index 7aaa7fb4f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const RETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map deleted file mode 100644 index c66ad35b4..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHConversions.d.ts","sourceRoot":"","sources":["../src/RETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHConversions.js b/packages/hyperdrive-artifacts/dist/RETHConversions.js deleted file mode 100644 index a9219f735..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const RETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f82ad7598291ee5d6c427f37de0529ffa10740d981dda43515b9c45d6afadb6a64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts deleted file mode 100644 index 3bdc8c4ef..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts +++ /dev/null @@ -1,1329 +0,0 @@ -export declare const RETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=RETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map deleted file mode 100644 index 654b5ec5c..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/RETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0mDquX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5wX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/RETHHyperdrive.js deleted file mode 100644 index 24bfdb568..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.js +++ /dev/null @@ -1,1674 +0,0 @@ -export const RETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 2d4779f22..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const RETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=RETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 876bd7260..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/RETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K27d,KAAK,MAAM,EAAE;;;;CAI9+d,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js deleted file mode 100644 index 8f0367f37..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const RETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611dca8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611776806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033a264697066735822122096884f212e90667c88bf5b0579182f56913f972a5baf71c76ca3fcbde68773b964736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 65b9bad5d..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,640 +0,0 @@ -export declare const RETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_rocketTokenReth"; - readonly type: "address"; - readonly internalType: "contract IRocketTokenRETH"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 018bdf49b..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/RETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4xB4qoB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBtuoB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 3f4fa2ea1..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,817 +0,0 @@ -export const RETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_rocketTokenReth", - "type": "address", - "internalType": "contract IRocketTokenRETH" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002863380380620028638339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124166200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124165ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016123c06021913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051638b32fa2360e01b8152600481018290525f906001600160a01b03841690638b32fa23906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b6040516321a3781f60e11b8152600481018290525f906001600160a01b03841690634346f03e906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe52455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122095bb8599516e66fe1b62af33bc72e0ed79e4dc2071f847162b6cda8c3e99826164736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts deleted file mode 100644 index aaa4cd667..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts +++ /dev/null @@ -1,1530 +0,0 @@ -export declare const RETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map deleted file mode 100644 index 8fb61295f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget0.d.ts","sourceRoot":"","sources":["../src/RETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq2Dwj/B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC5l/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0.js b/packages/hyperdrive-artifacts/dist/RETHTarget0.js deleted file mode 100644 index ab52ce75e..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0.js +++ /dev/null @@ -1,1935 +0,0 @@ -export const RETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts deleted file mode 100644 index 728c62a19..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map deleted file mode 100644 index a2801adcd..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0hkC,KAAK,MAAM,EAAE;;;;CAItkkC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js deleted file mode 100644 index 333890282..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143f68061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f1e806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033a2646970667358221220322c16593b2a67a08b1495a21a41d4248bd6fc4576f81961101081e35c67304564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts deleted file mode 100644 index 17dfe742a..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts +++ /dev/null @@ -1,797 +0,0 @@ -export declare const RETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=RETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map deleted file mode 100644 index e82e36bee..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget1.d.ts","sourceRoot":"","sources":["../src/RETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA29BwmgC,KAAK,MAAM,EAAE;;;;;CAK5ogC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1.js b/packages/hyperdrive-artifacts/dist/RETHTarget1.js deleted file mode 100644 index 8e67df3ae..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1.js +++ /dev/null @@ -1,993 +0,0 @@ -export const RETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts deleted file mode 100644 index 65e0eea65..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map deleted file mode 100644 index 38b80df6c..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0klC,KAAK,MAAM,EAAE;;;;CAItnlC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js deleted file mode 100644 index c0a4c0c08..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061450e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614036806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033a2646970667358221220afcf4be5087f0dc30e7cdea3e31310f8f73d592af2547546b9da163c9528143764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts deleted file mode 100644 index 45f94f961..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts +++ /dev/null @@ -1,817 +0,0 @@ -export declare const RETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=RETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map deleted file mode 100644 index 12332472c..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget2.d.ts","sourceRoot":"","sources":["../src/RETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo/B4ngC,KAAK,MAAM,EAAE;;;;;CAKhqgC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2.js b/packages/hyperdrive-artifacts/dist/RETHTarget2.js deleted file mode 100644 index 85ddf1da9..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2.js +++ /dev/null @@ -1,1018 +0,0 @@ -export const RETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts deleted file mode 100644 index 828ebaced..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map deleted file mode 100644 index bb9865e95..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I8llC,KAAK,MAAM,EAAE;;;;CAI1olC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js deleted file mode 100644 index 816a12692..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145188061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614040806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033a26469706673582212205e38f4bb581b2f4dd8a1c3f7bd7a99e8db14d2ff74e8f26ef1ebd846b904948664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts deleted file mode 100644 index 1d00b9f2f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts +++ /dev/null @@ -1,833 +0,0 @@ -export declare const RETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=RETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map deleted file mode 100644 index be2f3f6fa..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget3.d.ts","sourceRoot":"","sources":["../src/RETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwgCo1/B,KAAK,MAAM,EAAE;;;;;CAKx3/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3.js b/packages/hyperdrive-artifacts/dist/RETHTarget3.js deleted file mode 100644 index 5e6857ca2..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3.js +++ /dev/null @@ -1,1038 +0,0 @@ -export const RETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts deleted file mode 100644 index 07d345f04..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map deleted file mode 100644 index c4f0cfa42..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IszkC,KAAK,MAAM,EAAE;;;;CAIl2kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js deleted file mode 100644 index 62143ee28..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144848061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613fac806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033a26469706673582212204c906024ac6278d68c5e0a8ef16424c366c4456589047ab87e3068df604f922464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts deleted file mode 100644 index ebd87282f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts +++ /dev/null @@ -1,812 +0,0 @@ -export declare const RETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=RETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map deleted file mode 100644 index de1c25c08..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget4.d.ts","sourceRoot":"","sources":["../src/RETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6+Bgv0B,KAAK,MAAM,EAAE;;;;;;CAMpx0B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4.js b/packages/hyperdrive-artifacts/dist/RETHTarget4.js deleted file mode 100644 index 263dfaffa..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4.js +++ /dev/null @@ -1,1012 +0,0 @@ -export const RETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts deleted file mode 100644 index 411837533..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map deleted file mode 100644 index 2fc5a61ac..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ikt5B,KAAK,MAAM,EAAE;;;;CAI9v5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js deleted file mode 100644 index 6e79480ed..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139528061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61347a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033a2646970667358221220ca1a74f1f7335b326c92123b52b9d97cd6eb018d015fbaedf6a7a9c1ebac5f3b64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts b/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts deleted file mode 100644 index 8ceab2951..000000000 --- a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const ReentrancyGuard: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ReentrancyGuard.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map b/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map deleted file mode 100644 index 4cca8d2e4..000000000 --- a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReentrancyGuard.d.ts","sourceRoot":"","sources":["../src/ReentrancyGuard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;cAQR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.js b/packages/hyperdrive-artifacts/dist/ReentrancyGuard.js deleted file mode 100644 index 54127fdc2..000000000 --- a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.js +++ /dev/null @@ -1,11 +0,0 @@ -export const ReentrancyGuard = { - abi: [ - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts b/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts deleted file mode 100644 index 3c7b6bd9b..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -export declare const ReserveConfiguration: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DEBT_CEILING_DECIMALS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_RESERVES_COUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DEBT_CEILING_DECIMALS()": "280d5de9"; - readonly "MAX_RESERVES_COUNT()": "31b561ba"; - }; -}; -//# sourceMappingURL=ReserveConfiguration.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map b/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map deleted file mode 100644 index 477890f95..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReserveConfiguration.d.ts","sourceRoot":"","sources":["../src/ReserveConfiguration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;cA6B2a,KAAK,MAAM,EAAE;;;;;CAKxd,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.js b/packages/hyperdrive-artifacts/dist/ReserveConfiguration.js deleted file mode 100644 index a6eaef9d2..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.js +++ /dev/null @@ -1,35 +0,0 @@ -export const ReserveConfiguration = { - abi: [ - { - "type": "function", - "name": "DEBT_CEILING_DECIMALS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_RESERVES_COUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a9610033600b8282823980515f1a607314602757634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063280d5de914604057806331b561ba14605a575b5f80fd5b6047600281565b6040519081526020015b60405180910390f35b6061608081565b60405161ffff9091168152602001605156fea2646970667358221220185f218523f10c6fc06eb406e7f6b85117d140bb33652bc3edf7f783969ccb1b64736f6c63430008160033', - methodIdentifiers: { - "DEBT_CEILING_DECIMALS()": "280d5de9", - "MAX_RESERVES_COUNT()": "31b561ba" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts b/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts deleted file mode 100644 index f82f15adb..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export declare const ReserveLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ReserveLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map deleted file mode 100644 index a76e44264..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReserveLogic.d.ts","sourceRoot":"","sources":["../src/ReserveLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8CyQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveLogic.js b/packages/hyperdrive-artifacts/dist/ReserveLogic.js deleted file mode 100644 index 7fde53a7b..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveLogic.js +++ /dev/null @@ -1,49 +0,0 @@ -export const ReserveLogic = { - abi: [ - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220649567c74e7f8112bbcfcd979bfe83753bd705e5a883f230badb8f081c5b6a9064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts deleted file mode 100644 index a6eee0e13..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const RsETHLineaBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RsETHLineaBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map deleted file mode 100644 index 4b0da9476..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaBase.d.ts","sourceRoot":"","sources":["../src/RsETHLineaBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.js b/packages/hyperdrive-artifacts/dist/RsETHLineaBase.js deleted file mode 100644 index 4abc998b4..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const RsETHLineaBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts deleted file mode 100644 index 54a0b02d3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const RsETHLineaConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RsETHLineaConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map deleted file mode 100644 index ee604ff86..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaConversions.d.ts","sourceRoot":"","sources":["../src/RsETHLineaConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;cAEgQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js b/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js deleted file mode 100644 index 87cf3d558..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const RsETHLineaConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d29e0c3ca18233368d5ffd8ab77f47ad4a5dc623e1e210a7ebe1b9088fe58bcf64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts deleted file mode 100644 index f5efc8999..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1326 +0,0 @@ -export declare const RsETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=RsETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map deleted file mode 100644 index 221f7652f..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/RsETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsmD+nX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5qX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js deleted file mode 100644 index 0e34d80d2..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js +++ /dev/null @@ -1,1670 +0,0 @@ -export const RsETHLineaHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 0499df95b..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const RsETHLineaHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index c40708b53..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMyye,KAAK,MAAM,EAAE;;;;;CAKl2e,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js deleted file mode 100644 index e566e5752..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const RsETHLineaHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80637df91ba8146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033a2646970667358221220931d98306704a1e83b3426a1adb697012979d85037caeef55f9f9302ec10258d64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 0c1c0b5a0..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,611 +0,0 @@ -export declare const RsETHLineaHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "rsETHPool()": "7df91ba8"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RsETHLineaHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 0626f76f8..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/RsETHLineaHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAovBg7nB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBh/nB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js deleted file mode 100644 index 521bfc7d0..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,778 +0,0 @@ -export const RsETHLineaHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b50604051620027e8380380620027e88339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516101605161238d6200045b5f395f81816102a40152818161070c01528181610ed901528181611281015261150b01525f81816102ef0152610dbc01525f81816103550152610c8901525f81816103bb0152610b5601525f81816103220152610a2301525f8181610388015261081a01525f818161047e015261113601525f818161042c01528181610585015281816107430152818161084a01528181610a5301528181610b8601528181610cb901528181610dec01528181610f0a0152611167015261238d5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f5921461044e578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806354fd4d50116100d857806354fd4d50146102645780637df91ba814610293578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc70146101475780633740401714610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a1f565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b57565b610579565b60405190815260200161012a565b348015610173575f80fd5b50610257610182366004611c15565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c2c565b34801561026f575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b34801561029e575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156102e9575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b5061015a6103f7366004611c15565b610706565b348015610407575f80fd5b506102c6610416366004611e00565b610737565b348015610426575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061015a610468366004611c15565b610ed3565b348015610478575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506102c66104ba366004611e69565b610efe565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602781526020016123316027913981565b5f80546104fa90611f03565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f03565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611271565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f3b565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611f8a565b92505f6106898234611fa1565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107317f0000000000000000000000000000000000000000000000000000000000000000836114e8565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610931578054156107b657604051633be1b34d60e11b815260040160405180910390fd5b6107c086866114ff565b5f6107cb8787611656565b90505f876040516020016107df9190611fc0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61080c8a61166f565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610886929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108bb94939291906121f3565b6020604051808303815f875af11580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190612238565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061095d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161096f9190611fc0565b60405160208183030381529060405280519060200120146109a35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109cd57604051631a3272d160e31b815260040160405180910390fd5b6109d787876114ff565b5f6109e18861166f565b6002840154608082015290506001869003610b215760058301546001600160a01b031615610a215760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a8893929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610abd94939291906121f3565b6020604051808303815f875af1158015610ad9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afd9190612238565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c545760068301546001600160a01b031615610b545760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bbb93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bf094939291906121f3565b6020604051808303815f875af1158015610c0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c309190612238565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d875760078301546001600160a01b031615610c875760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cee93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d2394939291906121f3565b6020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190612238565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eba5760088301546001600160a01b031615610dba5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e2193929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e5694939291906121f3565b6020604051808303815f875af1158015610e72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e969190612238565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f6107317f00000000000000000000000000000000000000000000000000000000000000008361173d565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff057604051632c95caeb60e01b815260040160405180910390fd5b805161100f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611034575060a08101516001600160a01b0316155b8061104a575060c08101516001600160a01b0316155b80611060575060e08101516001600160a01b0316155b8061107757506101008101516001600160a01b0316155b156110955760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110a8908790602001611fc0565b60405160208183030381529060405280519060200120146110dc5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110757604051631a3272d160e31b815260040160405180910390fd5b61111185856114ff565b5f61111b8661166f565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111bd929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111f89a99989796959493929190612274565b6020604051808303815f875af1158015611214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112389190612238565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151801561130157505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ff9190611f8a565b115b1561131f5760405163350b944160e11b815260040160405180910390fd5b816020015115611351578234101561134a5760405163044044a560e21b815260040160405180910390fd5b50816114e0565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b29190612238565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af1158015611409573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142d91906122f6565b90508061144d576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af1158015611499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bd91906122f6565b9050806114dd576040516340b27c2160e11b815260040160405180910390fd5b50505b949350505050565b5f806114f384611754565b90506114e083826117b5565b61150982826117c9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e129200f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115899190612238565b6001600160a01b031682602001516001600160a01b0316146115be5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146115fc57604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611627576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611652576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611668670de0b6b3a7640000610706565b9392505050565b611677611908565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f8061174884611754565b90506114e083826118dd565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611791573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107319190611f8a565b5f6116688383670de0b6b3a76400006118ed565b6103e8826080015110156117f0576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361181557604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061183f57508161010001518260e0015161183c9190612311565b15155b1561185d5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118895750670de0b6b3a7640000826101c0015160200151115b806118a45750670de0b6b3a7640000826101c0015160400151115b806118bf5750670de0b6b3a7640000826101c0015160600151115b15611652576040516322f72cc360e11b815260040160405180910390fd5b5f61166883670de0b6b3a7640000845b5f825f190484118302158202611901575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119d760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a00576020818501810151868301820152016119e4565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61166860208301846119dc565b6001600160a01b0381168114611a45575f80fd5b50565b8035611a5381611a31565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b8015158114611a45575f80fd5b5f67ffffffffffffffff80841115611ae057611ae0611a58565b604051601f8501601f19908116603f01168101908282118183101715611b0857611b08611a58565b81604052809350858152868686011115611b20575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b48575f80fd5b61166883833560208501611ac6565b5f805f805f60a08688031215611b6b575f80fd5b853594506020860135611b7d81611a31565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ba7575f80fd5b908701906060828a031215611bba575f80fd5b611bc2611a6c565b8235611bcd81611a31565b81526020830135611bdd81611ab9565b6020820152604083013582811115611bf3575f80fd5b611bff8b828601611b39565b6040830152508093505050509295509295909350565b5f60208284031215611c25575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cb9575f80fd5b6040516080810181811067ffffffffffffffff82111715611cdc57611cdc611a58565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d1e575f80fd5b611d26611a95565b9050611d3182611a48565b8152611d3f60208301611a48565b6020820152611d5060408301611a48565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611dad818401611a48565b90820152610160611dbf838201611a48565b90820152610180611dd1838201611a48565b908201526101a0611de3838201611a48565b908201526101c0611df684848301611ca9565b9082015292915050565b5f805f805f6102c08688031215611e15575f80fd5b85359450611e268760208801611d0d565b935061026086013567ffffffffffffffff811115611e42575f80fd5b611e4e88828901611b39565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611e7e575f80fd5b85359450602086013567ffffffffffffffff80821115611e9c575f80fd5b818801915088601f830112611eaf575f80fd5b611ebe89833560208501611ac6565b9550611ecd8960408a01611d0d565b9450610280880135915080821115611ee3575f80fd5b50611ef088828901611b39565b959894975092956102a001359392505050565b600181811c90821680611f1757607f821691505b602082108103611f3557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611f8060c08401826119dc565b9695505050505050565b5f60208284031215611f9a575f80fd5b5051919050565b8181038181111561073157634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611fec60208401826001600160a01b03169052565b50604083015161200760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161206d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ca1565b80516001600160a01b0316825260208101516120fd60208401826001600160a01b03169052565b50604081015161211860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161218a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061220183886120d6565b6001600160a01b0386166102608401526102808301819052612225818401866119dc565b915050826102a083015295945050505050565b5f60208284031215612248575f80fd5b815161166881611a31565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122878184018e6119dc565b9050612296602084018d6120d6565b6001600160a01b038b81166102808501528382036102a08501526122ba828c6119dc565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612306575f80fd5b815161166881611ab9565b5f8261232b57634e487b7160e01b5f52601260045260245ffd5b50069056fe52734554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212208629029789b2afd2eb796238d831aed8a8a0062a8a2ad26cb5e401bdb323118a64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "rsETHPool()": "7df91ba8", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts deleted file mode 100644 index baeb097bf..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts +++ /dev/null @@ -1,1546 +0,0 @@ -export declare const RsETHLineaTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "rsETHPool()": "7df91ba8"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map deleted file mode 100644 index f3ac7ed65..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget0.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw3Dwm9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Clp9B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js deleted file mode 100644 index 7e9a93ab9..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js +++ /dev/null @@ -1,1955 +0,0 @@ -export const RsETHLineaTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "rsETHPool()": "7df91ba8", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts deleted file mode 100644 index 90b77aba2..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map deleted file mode 100644 index ad54567e2..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK08iC,KAAK,MAAM,EAAE;;;;;CAK5/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js deleted file mode 100644 index 79ee5d0db..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516142ee3803806142ee83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142656100895f395f8181603d015260b801526142655ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d39806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033a264697066735822122026f6f158d8dbfde5ab58a801ce75222d3db81c3e319750b0f595fd532070f97e64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts deleted file mode 100644 index 16188bd74..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts +++ /dev/null @@ -1,774 +0,0 @@ -export declare const RsETHLineaTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map deleted file mode 100644 index d9edf02a5..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget1.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA27Bg39B,KAAK,MAAM,EAAE;;;;;CAK159B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js deleted file mode 100644 index a4b27f8eb..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js +++ /dev/null @@ -1,961 +0,0 @@ -export const RsETHLineaTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts deleted file mode 100644 index cf209fac0..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map deleted file mode 100644 index a5c7d85c3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKktjC,KAAK,MAAM,EAAE;;;;;CAKpwjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js deleted file mode 100644 index 081e3201d..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161437238038061437283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142e96100895f395f8181603d015260b801526142e95ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613dbd806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033a2646970667358221220bc37488b4cb8f211ba36f1f207b451553bd5f3dec3824cd377ec21a24d29efe464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts deleted file mode 100644 index a350c7560..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts +++ /dev/null @@ -1,786 +0,0 @@ -export declare const RsETHLineaTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map deleted file mode 100644 index 4a6d9d796..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget2.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA08Bk5/B,KAAK,MAAM,EAAE;;;;;CAK57/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js deleted file mode 100644 index 9123d7bd3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js +++ /dev/null @@ -1,976 +0,0 @@ -export const RsETHLineaTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts deleted file mode 100644 index 3c6bf044c..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map deleted file mode 100644 index b1a83363f..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKovlC,KAAK,MAAM,EAAE;;;;;CAKtylC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js deleted file mode 100644 index d9174a496..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161458338038061458383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144fa6100895f395f8181603d015260b801526144fa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613fce806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033a2646970667358221220b2b712c46de27929bf637823d3ce2a032de94c1d971a6c04c911427e6809a06964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts deleted file mode 100644 index 8385bce9c..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts +++ /dev/null @@ -1,802 +0,0 @@ -export declare const RsETHLineaTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map deleted file mode 100644 index 5ba48eac7..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget3.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA89B4r/B,KAAK,MAAM,EAAE;;;;;CAKtu/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js deleted file mode 100644 index ad8c64125..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js +++ /dev/null @@ -1,996 +0,0 @@ -export const RsETHLineaTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts deleted file mode 100644 index 8edbb4ef9..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map deleted file mode 100644 index 251c2135a..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK8hlC,KAAK,MAAM,EAAE;;;;;CAKhllC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js deleted file mode 100644 index 8c3eb0c38..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161451838038061451883398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161448f6100895f395f8181603d015260b8015261448f5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f63806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033a2646970667358221220d15c9a46bb2b04686ad9ee313b1d6a9289a9684468a1286fd8da57c79066d1b064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts deleted file mode 100644 index e5b839325..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts +++ /dev/null @@ -1,789 +0,0 @@ -export declare const RsETHLineaTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map deleted file mode 100644 index e06adf7b5..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget4.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA68Bs+xB,KAAK,MAAM,EAAE;;;;;;CAMhhyB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js deleted file mode 100644 index 08fdcb6f3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js +++ /dev/null @@ -1,980 +0,0 @@ -export const RsETHLineaTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts deleted file mode 100644 index e74540772..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map deleted file mode 100644 index 17f215321..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKw03B,KAAK,MAAM,EAAE;;;;;CAK133B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js deleted file mode 100644 index d1ba464fc..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516137ad3803806137ad83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516137246100895f395f8181603d015260b801526137245ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131f8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033a26469706673582212202c295e4ec03343b5fef28aa752233531fb8a580a9281927af47b6163c4a51f3a64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts b/packages/hyperdrive-artifacts/dist/SafeCast.d.ts deleted file mode 100644 index 5966f7fb6..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SafeCast: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SafeCast.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map b/packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map deleted file mode 100644 index 8129316af..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SafeCast.d.ts","sourceRoot":"","sources":["../src/SafeCast.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeCast.js b/packages/hyperdrive-artifacts/dist/SafeCast.js deleted file mode 100644 index 72b8a6596..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeCast.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SafeCast = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208b1a4da8253d1da0f79a8e8d8b495d2387444e5a403d56506c2d118e92a66f0c64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts b/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts deleted file mode 100644 index 077ac686a..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export declare const SafeERC20: { - abi: readonly [{ - readonly type: "error"; - readonly name: "SafeERC20FailedDecreaseAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "currentAllowance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "requestedDecrease"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SafeERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map deleted file mode 100644 index 17c972b81..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SafeERC20.d.ts","sourceRoot":"","sources":["../src/SafeERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;cAmC4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeERC20.js b/packages/hyperdrive-artifacts/dist/SafeERC20.js deleted file mode 100644 index 7c145cb4b..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeERC20.js +++ /dev/null @@ -1,38 +0,0 @@ -export const SafeERC20 = { - abi: [ - { - "type": "error", - "name": "SafeERC20FailedDecreaseAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "currentAllowance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "requestedDecrease", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ddf22d7484dfd3b9c779783c9251d0f68696014afb1a6f60115ccfa8fa3e16e764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts b/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts deleted file mode 100644 index f4b76bd21..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SafeTransferLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SafeTransferLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map b/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map deleted file mode 100644 index b397ceb9f..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SafeTransferLib.d.ts","sourceRoot":"","sources":["../src/SafeTransferLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeTransferLib.js b/packages/hyperdrive-artifacts/dist/SafeTransferLib.js deleted file mode 100644 index d0b9df4e7..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeTransferLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SafeTransferLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220cef0b0aa5ac5b4fc46c9cf3c1c4596251f9a8cc20915d95de1c155fd1731b5a964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts b/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts deleted file mode 100644 index 3205e7a77..000000000 --- a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ScriptBase: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ScriptBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map b/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map deleted file mode 100644 index efa7ab806..000000000 --- a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ScriptBase.d.ts","sourceRoot":"","sources":["../src/ScriptBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAEH,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ScriptBase.js b/packages/hyperdrive-artifacts/dist/ScriptBase.js deleted file mode 100644 index 85519accd..000000000 --- a/packages/hyperdrive-artifacts/dist/ScriptBase.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ScriptBase = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts b/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts deleted file mode 100644 index 96d12791b..000000000 --- a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SharesMathLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SharesMathLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map b/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map deleted file mode 100644 index 5d8ae69e0..000000000 --- a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SharesMathLib.d.ts","sourceRoot":"","sources":["../src/SharesMathLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEwQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SharesMathLib.js b/packages/hyperdrive-artifacts/dist/SharesMathLib.js deleted file mode 100644 index d13db87a3..000000000 --- a/packages/hyperdrive-artifacts/dist/SharesMathLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SharesMathLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209e65d3014dc34feda303c17d668e3f5f418c0ed1b894d727d1935370575d045864736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts b/packages/hyperdrive-artifacts/dist/SignedMath.d.ts deleted file mode 100644 index f85387e53..000000000 --- a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SignedMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SignedMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map b/packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map deleted file mode 100644 index b30dc37ea..000000000 --- a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SignedMath.d.ts","sourceRoot":"","sources":["../src/SignedMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SignedMath.js b/packages/hyperdrive-artifacts/dist/SignedMath.js deleted file mode 100644 index 862918c68..000000000 --- a/packages/hyperdrive-artifacts/dist/SignedMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SignedMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f3c22f65c1712287d5379b4f1b3395d8263aa4f201dcde2ccd0710b78ec4539564736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts b/packages/hyperdrive-artifacts/dist/StETHBase.d.ts deleted file mode 100644 index e495182c8..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const StETHBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map deleted file mode 100644 index 4950e61e5..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHBase.d.ts","sourceRoot":"","sources":["../src/StETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHBase.js b/packages/hyperdrive-artifacts/dist/StETHBase.js deleted file mode 100644 index 8b0ed3d8d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const StETHBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts deleted file mode 100644 index 9a2d2e1e6..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map deleted file mode 100644 index 8d2b18918..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHConversions.d.ts","sourceRoot":"","sources":["../src/StETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHConversions.js b/packages/hyperdrive-artifacts/dist/StETHConversions.js deleted file mode 100644 index 0f1464295..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122049fe8f84dbd19a4135244c899716a64cb4c7ff1f05e032078ce1bcc9e4759e5f64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts deleted file mode 100644 index afb70a0a2..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts +++ /dev/null @@ -1,1322 +0,0 @@ -export declare const StETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=StETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map deleted file mode 100644 index 1111c7244..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/StETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAimD0jX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlmX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/StETHHyperdrive.js deleted file mode 100644 index 8cc25da0e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.js +++ /dev/null @@ -1,1665 +0,0 @@ -export const StETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 24c4f62ce..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const StETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=StETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index c52f08456..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/StETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K0wd,KAAK,MAAM,EAAE;;;;CAI9zd,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js deleted file mode 100644 index 5cbc6901d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const StETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611d728061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611721806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033a2646970667358221220ce500abdb26fd09504c7516bbbc5b524289c74c871bd57a6f434efa0595297be64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index c07c74f53..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,615 +0,0 @@ -export declare const StETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lido"; - readonly type: "address"; - readonly internalType: "contract ILido"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lido"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILido"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "lido()": "23509a2d"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index a1bcd76f3..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/StETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyvBqkmB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBhomB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index ac39e35ed..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,783 +0,0 @@ -export const StETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_lido", - "type": "address", - "internalType": "contract ILido" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lido", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILido" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002630380380620026308339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516121dc620004545f395f8181610179015281816112950152818161132a015261148401525f818161032d0152610daa01525f81816103930152610c7701525f81816103f90152610b4401525f81816103600152610a1101525f81816103c6015261080801525f818161047e01526110f901525f818161044b01528181610585015281816107310152818161083801528181610a4101528181610b7401528181610ca701528181610dda01528181610ecd015261112a01526121dc5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b8063251f6c42116100d8578063251f6c42146101b357806337404017146101d25780633e5541f1146102ce57806354fd4d50146102ed578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc701461014757806323509a2d14610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611842565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a61015536600461197a565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156101be575f80fd5b5061015a6101cd366004611a38565b610706565b3480156101dd575f80fd5b506102c16101ec366004611a62565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611a79565b3480156102d9575f80fd5b5061015a6102e8366004611a38565b61071a565b3480156102f8575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b348015610327575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b5061019b610435366004611c4d565b610725565b348015610445575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b5061019b6104ba366004611cb6565b610ec1565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602281526020016121856022913981565b5f80546104fa90611d50565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611d50565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611234565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611d88565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611dd7565b92505f6106898234611dee565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071183836113a1565b90505b92915050565b5f610711838361140b565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076f57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091f578054156107a457604051633be1b34d60e11b815260040160405180910390fd5b6107ae868661143a565b5f6107b98787611532565b90505f876040516020016107cd9190611e0d565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107fa8a611549565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610874929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a99493929190612040565b6020604051808303815f875af11580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e99190612085565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061094b5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161095d9190611e0d565b60405160208183030381529060405280519060200120146109915760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109bb57604051631a3272d160e31b815260040160405180910390fd5b6109c5878761143a565b5f6109cf88611549565b6002840154608082015290506001869003610b0f5760058301546001600160a01b031615610a0f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a76939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aab9493929190612040565b6020604051808303815f875af1158015610ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aeb9190612085565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c425760068301546001600160a01b031615610b425760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba9939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bde9493929190612040565b6020604051808303815f875af1158015610bfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1e9190612085565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d755760078301546001600160a01b031615610c755760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cdc939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d119493929190612040565b6020604051808303815f875af1158015610d2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d519190612085565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610ea85760088301546001600160a01b031615610da85760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0f939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e449493929190612040565b6020604051808303815f875af1158015610e60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e849190612085565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fb357604051632c95caeb60e01b815260040160405180910390fd5b8051610fd25760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff7575060a08101516001600160a01b0316155b8061100d575060c08101516001600160a01b0316155b80611023575060e08101516001600160a01b0316155b8061103a57506101008101516001600160a01b0316155b156110585760405163e97cc2bf60e01b815260040160405180910390fd5b805160405161106b908790602001611e0d565b604051602081830303815290604052805190602001201461109f5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110ca57604051631a3272d160e31b815260040160405180910390fd5b6110d4858561143a565b5f6110de86611549565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611180929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111bb9a999897969594939291906120c8565b6020604051808303815f875af11580156111d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111fb9190612085565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f81602001511561126757823410156112605760405163044044a560e21b815260040160405180910390fd5b5081611399565b604051636d78045960e01b81526001600160a01b038581166004830152306024830152604482018590525f917f000000000000000000000000000000000000000000000000000000000000000090911690636d780459906064016020604051808303815f875af11580156112dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113019190611dd7565b60405163095ea7b360e01b81526001600160a01b038881166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af1158015611372573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611396919061214a565b50505b949350505050565b604051630f451f7160e31b8152600481018290525f906001600160a01b03841690637a28fb88906024015b602060405180830381865afa1580156113e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107119190611dd7565b604051631920845160e01b8152600481018290525f906001600160a01b038416906319208451906024016113cc565b6114448282611617565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461148257604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146114d85760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611503576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461152e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107118360200151670de0b6b3a7640000610706565b61155161172b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6103e88260800151101561163e576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361166357604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061168d57508161010001518260e0015161168a9190612165565b15155b156116ab5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116d75750670de0b6b3a7640000826101c0015160200151115b806116f25750670de0b6b3a7640000826101c0015160400151115b8061170d5750670de0b6b3a7640000826101c0015160600151115b1561152e576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016117fa60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561182357602081850181015186830182015201611807565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61071160208301846117ff565b6001600160a01b0381168114611868575f80fd5b50565b803561187681611854565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156118b2576118b261187b565b60405290565b6040516101e0810167ffffffffffffffff811182821017156118b2576118b261187b565b8015158114611868575f80fd5b5f67ffffffffffffffff808411156119035761190361187b565b604051601f8501601f19908116603f0116810190828211818310171561192b5761192b61187b565b81604052809350858152868686011115611943575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f83011261196b575f80fd5b610711838335602085016118e9565b5f805f805f60a0868803121561198e575f80fd5b8535945060208601356119a081611854565b93506040860135925060608601359150608086013567ffffffffffffffff808211156119ca575f80fd5b908701906060828a0312156119dd575f80fd5b6119e561188f565b82356119f081611854565b81526020830135611a00816118dc565b6020820152604083013582811115611a16575f80fd5b611a228b82860161195c565b6040830152508093505050509295509295909350565b5f8060408385031215611a49575f80fd5b8235611a5481611854565b946020939093013593505050565b5f60208284031215611a72575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611b06575f80fd5b6040516080810181811067ffffffffffffffff82111715611b2957611b2961187b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611b6b575f80fd5b611b736118b8565b9050611b7e8261186b565b8152611b8c6020830161186b565b6020820152611b9d6040830161186b565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611bfa81840161186b565b90820152610160611c0c83820161186b565b90820152610180611c1e83820161186b565b908201526101a0611c3083820161186b565b908201526101c0611c4384848301611af6565b9082015292915050565b5f805f805f6102c08688031215611c62575f80fd5b85359450611c738760208801611b5a565b935061026086013567ffffffffffffffff811115611c8f575f80fd5b611c9b8882890161195c565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ccb575f80fd5b85359450602086013567ffffffffffffffff80821115611ce9575f80fd5b818801915088601f830112611cfc575f80fd5b611d0b898335602085016118e9565b9550611d1a8960408a01611b5a565b9450610280880135915080821115611d30575f80fd5b50611d3d8882890161195c565b959894975092956102a001359392505050565b600181811c90821680611d6457607f821691505b602082108103611d8257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611dcd60c08401826117ff565b9695505050505050565b5f60208284031215611de7575f80fd5b5051919050565b8181038181111561071457634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611e3960208401826001600160a01b03169052565b506040830151611e5460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611eba828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611aee565b80516001600160a01b031682526020810151611f4a60208401826001600160a01b03169052565b506040810151611f6560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151611fd7828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061204e8388611f23565b6001600160a01b0386166102608401526102808301819052612072818401866117ff565b915050826102a083015295945050505050565b5f60208284031215612095575f80fd5b81516120a081611854565b9392505050565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526120db8184018e6117ff565b90506120ea602084018d611f23565b6001600160a01b038b81166102808501528382036102a085015261210e828c6117ff565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561215a575f80fd5b81516120a0816118dc565b5f8261217f57634e487b7160e01b5f52601260045260245ffd5b50069056fe5374455448487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212206424e2c6a2d37f7dbd5215cc1b2da7bda2910f0a609e426fae656d20b8f0930d64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "lido()": "23509a2d", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts deleted file mode 100644 index 3424b1f8a..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const StETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map deleted file mode 100644 index d7fa760e0..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget0.d.ts","sourceRoot":"","sources":["../src/StETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2Dyw8B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC9y8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0.js b/packages/hyperdrive-artifacts/dist/StETHTarget0.js deleted file mode 100644 index c80327644..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const StETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts deleted file mode 100644 index 935294e09..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map deleted file mode 100644 index 0375a8d86..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I2uhC,KAAK,MAAM,EAAE;;;;CAIxxhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js deleted file mode 100644 index 63dd1781b..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061415f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c87806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033a2646970667358221220a28ce4f5c23a29185a86ba379c4d4e916556fcaae8a5823fd42bdadcc9e1359a64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts deleted file mode 100644 index 551543850..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts +++ /dev/null @@ -1,766 +0,0 @@ -export declare const StETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=StETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map deleted file mode 100644 index b15d08757..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget1.d.ts","sourceRoot":"","sources":["../src/StETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi7Buq9B,KAAK,MAAM,EAAE;;;;;CAK5s9B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1.js b/packages/hyperdrive-artifacts/dist/StETHTarget1.js deleted file mode 100644 index 933907bd5..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1.js +++ /dev/null @@ -1,951 +0,0 @@ -export const StETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts deleted file mode 100644 index 82a40243c..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map deleted file mode 100644 index 111e7fbce..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IyoiC,KAAK,MAAM,EAAE;;;;CAItriC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js deleted file mode 100644 index e234b05e8..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061422e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613d56806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033a2646970667358221220047dbbfc243edeaf30514802f02b8d578cfae0a57b88026da62816695123b12464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts deleted file mode 100644 index 1ebe05ce9..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts +++ /dev/null @@ -1,778 +0,0 @@ -export declare const StETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=StETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map deleted file mode 100644 index 1f9c0f1c5..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget2.d.ts","sourceRoot":"","sources":["../src/StETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg8Bik/B,KAAK,MAAM,EAAE;;;;;CAKtm/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2.js b/packages/hyperdrive-artifacts/dist/StETHTarget2.js deleted file mode 100644 index f470de3e8..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2.js +++ /dev/null @@ -1,966 +0,0 @@ -export const StETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts deleted file mode 100644 index 7feb6e532..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map deleted file mode 100644 index 04c5a6b78..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6ImikC,KAAK,MAAM,EAAE;;;;CAIhlkC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js deleted file mode 100644 index 8f47e9b03..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143fb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f23806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033a26469706673582212208f9663bcdb18f79e2a6bdcfc71bc2be7938aeeae1f292f0056aa41a60f2b68cb64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts deleted file mode 100644 index e18b9ad5d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const StETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=StETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map deleted file mode 100644 index 3576b8d69..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget3.d.ts","sourceRoot":"","sources":["../src/StETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo9B22+B,KAAK,MAAM,EAAE;;;;;CAKh5+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3.js b/packages/hyperdrive-artifacts/dist/StETHTarget3.js deleted file mode 100644 index 2e04d7704..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3.js +++ /dev/null @@ -1,986 +0,0 @@ -export const StETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts deleted file mode 100644 index 48a852eec..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map deleted file mode 100644 index 0e305196e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I60jC,KAAK,MAAM,EAAE;;;;CAI13jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js deleted file mode 100644 index 3da9c5c80..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143908061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613eb8806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033a264697066735822122037be4f2b1027034bc94dd996b1fa853dc58d1758fe04ca6e95fc2a2025d01fd664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts deleted file mode 100644 index 8b3fee025..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts +++ /dev/null @@ -1,781 +0,0 @@ -export declare const StETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=StETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map deleted file mode 100644 index 48a206c4e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget4.d.ts","sourceRoot":"","sources":["../src/StETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm8B6xxB,KAAK,MAAM,EAAE;;;;;;CAMl0xB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4.js b/packages/hyperdrive-artifacts/dist/StETHTarget4.js deleted file mode 100644 index dcb831a5d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4.js +++ /dev/null @@ -1,970 +0,0 @@ -export const StETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts deleted file mode 100644 index 26be3fd88..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map deleted file mode 100644 index 8ed410258..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+v2B,KAAK,MAAM,EAAE;;;;CAI5y2B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js deleted file mode 100644 index c6935d88e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506136698061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613191806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033a2646970667358221220d99eb9c620eae3748d77048cce1406f8ea25e96f5517ac30ce6e697b952e285c64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts deleted file mode 100644 index 7f46f1cee..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const StakingUSDSBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StakingUSDSBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map deleted file mode 100644 index 86c60055b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSBase.d.ts","sourceRoot":"","sources":["../src/StakingUSDSBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.js b/packages/hyperdrive-artifacts/dist/StakingUSDSBase.js deleted file mode 100644 index 49de64dc8..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.js +++ /dev/null @@ -1,694 +0,0 @@ -export const StakingUSDSBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts deleted file mode 100644 index 847a84dfb..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare const StakingUSDSConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - }; -}; -//# sourceMappingURL=StakingUSDSConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map deleted file mode 100644 index 550c9d1e5..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSConversions.d.ts","sourceRoot":"","sources":["../src/StakingUSDSConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCib,KAAK,MAAM,EAAE;;;;;CAKhe,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js b/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js deleted file mode 100644 index 703d12516..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js +++ /dev/null @@ -1,47 +0,0 @@ -export const StakingUSDSConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea26469706673582212200ae303be395ad152744557ee203fbfe5feb59aac112c9eac3c648b7fb6e1234a64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts deleted file mode 100644 index ea4bf9dd3..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts +++ /dev/null @@ -1,1361 +0,0 @@ -export declare const StakingUSDSHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=StakingUSDSHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map deleted file mode 100644 index a93a5dd7b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSHyperdrive.d.ts","sourceRoot":"","sources":["../src/StakingUSDSHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmpD4qb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC1tb,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js deleted file mode 100644 index 83fad2991..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js +++ /dev/null @@ -1,1716 +0,0 @@ -export const StakingUSDSHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts deleted file mode 100644 index d9ef7f5c2..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const StakingUSDSHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=StakingUSDSHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 24cd6ef3c..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K4niB,KAAK,MAAM,EAAE;;;;CAItriB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js deleted file mode 100644 index 72fc8cb37..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const StakingUSDSHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061222e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d299989796959493929190620005c4565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611b5d806200069c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f6020828403121562000490575f80fd5b81516200049d81620001e3565b9392505050565b80516001600160a01b031682526020810151620004cc60208401826001600160a01b03169052565b506040810151620004e860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fa576020828e0101516103808386010152602082019150620005d6565b61038091505f82828601015281601f19601f8301168501019250505062000625602083018b620004a4565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000f556fe61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033a2646970667358221220e94fed4f90e55acdf8f46e257e6323197e5bc0fbc32985963628b6613ae1d22164736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 68ab25151..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,624 +0,0 @@ -export declare const StakingUSDSHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StakingUSDSHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index fcdcc4823..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/StakingUSDSHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwBqtqB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBtxqB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js deleted file mode 100644 index c6ce01c12..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,797 +0,0 @@ -export const StakingUSDSHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002a7b38038062002a7b8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126616200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526126615ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb5565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611cea565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da8565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dbf565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611da8565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f93565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611da8565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611ffc565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602881526020016126046028913981565b5f80546104bc90612096565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612096565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b8152600401610605939291906120ce565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612113565b92505f610653823461213e565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612113565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df8787611591565b90505f876040516020016107f39190612151565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a6115aa565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612384565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f91906123c9565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109839190612151565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f5886115aa565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612384565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1191906123c9565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612384565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4491906123c9565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d02939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612384565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7791906123c9565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e35939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612384565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa91906123c9565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb908790602001612151565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e866115aa565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612405565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b91906123c9565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133991906123c9565b90506113506001600160a01b038216863087611678565b6113646001600160a01b03821687866116e5565b505f95945050505050565b6113798282611774565b5f8180602001905181019061138e91906123c9565b9050806001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f091906123c9565b6001600160a01b0316835f01516001600160a01b03161461142457604051630722152560e11b815260040160405180910390fd5b60208301516001600160a01b0316156114505760405163073f739d60e51b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612487565b6114bf91906124a7565b6114ca90600a6125a0565b836080015110156114ee576040516349db44f560e01b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115539190612487565b61155d91906124a7565b61156890600a6125a0565b8360a00151101561158c576040516318c9522360e11b815260040160405180910390fd5b505050565b5f6115a3670de0b6b3a76400006106d0565b9392505050565b6115b2611a94565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116df9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061188c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261173684826118f2565b6116df576040516001600160a01b0384811660248301525f604483015261176a91869182169063095ea7b3906064016116ad565b6116df848261188c565b6103e88260800151101561179b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117c057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ea57508161010001518260e001516117e791906125ae565b15155b156118085760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118345750670de0b6b3a7640000826101c0015160200151115b8061184f5750670de0b6b3a7640000826101c0015160400151115b8061186a5750670de0b6b3a7640000826101c0015160600151115b15611888576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f6118a06001600160a01b0384168361198f565b905080515f141580156118c45750808060200190518101906118c291906125cd565b155b1561158c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161190d91906125e8565b5f604051808303815f865af19150503d805f8114611946576040519150601f19603f3d011682016040523d82523d5f602084013e61194b565b606091505b509150915081801561197557508051158061197557508080602001905181019061197591906125cd565b80156106c75750505050506001600160a01b03163b151590565b60606115a383835f845f80856001600160a01b031684866040516119b391906125e8565b5f6040518083038185875af1925050503d805f81146119ed576040519150601f19603f3d011682016040523d82523d5f602084013e6119f2565b606091505b5091509150611a02868383611a0c565b9695505050505050565b606082611a2157611a1c82611a68565b6115a3565b8151158015611a3857506001600160a01b0384163b155b15611a6157604051639996b31560e01b81526001600160a01b03851660048201526024016118e9565b50806115a3565b805115611a785780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b82578181015183820152602001611b6a565b50505f910152565b5f8151808452611ba1816020860160208601611b68565b601f01601f19169290920160200192915050565b602081525f6115a36020830184611b8a565b6001600160a01b0381168114611a91575f80fd5b8035611be681611bc7565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2257611c22611beb565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2257611c22611beb565b8015158114611a91575f80fd5b5f67ffffffffffffffff80841115611c7357611c73611beb565b604051601f8501601f19908116603f01168101908282118183101715611c9b57611c9b611beb565b81604052809350858152868686011115611cb3575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdb575f80fd5b6115a383833560208501611c59565b5f805f805f60a08688031215611cfe575f80fd5b853594506020860135611d1081611bc7565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3a575f80fd5b908701906060828a031215611d4d575f80fd5b611d55611bff565b8235611d6081611bc7565b81526020830135611d7081611c4c565b6020820152604083013582811115611d86575f80fd5b611d928b828601611ccc565b6040830152508093505050509295509295909350565b5f60208284031215611db8575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611e4c575f80fd5b6040516080810181811067ffffffffffffffff82111715611e6f57611e6f611beb565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611eb1575f80fd5b611eb9611c28565b9050611ec482611bdb565b8152611ed260208301611bdb565b6020820152611ee360408301611bdb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611f40818401611bdb565b90820152610160611f52838201611bdb565b90820152610180611f64838201611bdb565b908201526101a0611f76838201611bdb565b908201526101c0611f8984848301611e3c565b9082015292915050565b5f805f805f6102c08688031215611fa8575f80fd5b85359450611fb98760208801611ea0565b935061026086013567ffffffffffffffff811115611fd5575f80fd5b611fe188828901611ccc565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612011575f80fd5b85359450602086013567ffffffffffffffff8082111561202f575f80fd5b818801915088601f830112612042575f80fd5b61205189833560208501611c59565b95506120608960408a01611ea0565b9450610280880135915080821115612076575f80fd5b5061208388828901611ccc565b959894975092956102a001359392505050565b600181811c908216806120aa57607f821691505b6020821081036120c857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0260c0840182611b8a565b5f60208284031215612123575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107455761074561212a565b81516001600160a01b031681526102408101602083015161217d60208401826001600160a01b03169052565b50604083015161219860408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516121fe828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e34565b80516001600160a01b03168252602081015161228e60208401826001600160a01b03169052565b5060408101516122a960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161231b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116df565b5f6102c06123928388612267565b6001600160a01b03861661026084015261028083018190526123b681840186611b8a565b915050826102a083015295945050505050565b5f602082840312156123d9575f80fd5b81516115a381611bc7565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124188184018e611b8a565b9050612427602084018d612267565b6001600160a01b038b81166102808501528382036102a085015261244b828c611b8a565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612497575f80fd5b815160ff811681146115a3575f80fd5b60ff82811682821603908111156107455761074561212a565b600181815b808511156124fa57815f19048211156124e0576124e061212a565b808516156124ed57918102915b93841c93908002906124c5565b509250929050565b5f8261251057506001610745565b8161251c57505f610745565b8160018114612532576002811461253c57612558565b6001915050610745565b60ff84111561254d5761254d61212a565b50506001821b610745565b5060208310610133831016604e8410600b841016171561257b575081810a610745565b61258583836124c0565b805f19048211156125985761259861212a565b029392505050565b5f6115a360ff841683612502565b5f826125c857634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156125dd575f80fd5b81516115a381611c4c565b5f82516125f9818460208701611b68565b919091019291505056fe5374616b696e6755534453487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f8e3dbc71fbcda0461ac63ee6546e0baea3a203ed5f053b8d066f366bb4d4f2464736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts deleted file mode 100644 index c58fb2a2b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts +++ /dev/null @@ -1,1542 +0,0 @@ -export declare const StakingUSDSTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakingUSDS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "stakingUSDS()": "10cded21"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map deleted file mode 100644 index 6f0da8128..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget0.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm3D+nhC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C1qhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js deleted file mode 100644 index 9c1fafc67..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js +++ /dev/null @@ -1,1950 +0,0 @@ -export const StakingUSDSTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakingUSDS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "stakingUSDS()": "10cded21", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts deleted file mode 100644 index 7233127e4..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map deleted file mode 100644 index bae387f55..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I63mC,KAAK,MAAM,EAAE;;;;CAIh7mC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js deleted file mode 100644 index 4999229f6..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506146ab8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614145806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033a26469706673582212201db6b5a4b66bfbba56b9adb73484978d4701ecb6e360c559ef30ac82a4f81d6d64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts deleted file mode 100644 index d583dd9d9..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const StakingUSDSTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map deleted file mode 100644 index f587f7f18..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget1.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA49Bq8iC,KAAK,MAAM,EAAE;;;;;CAKh/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js deleted file mode 100644 index 6b0ecb6d5..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js +++ /dev/null @@ -1,994 +0,0 @@ -export const StakingUSDSTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts deleted file mode 100644 index 16fea5733..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map deleted file mode 100644 index 44d485607..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6ImsoC,KAAK,MAAM,EAAE;;;;CAItvoC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js deleted file mode 100644 index f24c749af..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061484e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6142e8806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033a2646970667358221220b2b0668b3baf7b2c103a8853f069a393531ec4433737cc7f89c57fc5ac4dab5764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts deleted file mode 100644 index 08999e115..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts +++ /dev/null @@ -1,818 +0,0 @@ -export declare const StakingUSDSTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map deleted file mode 100644 index 3e87cb622..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget2.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq/Bu0lC,KAAK,MAAM,EAAE;;;;;CAKl3lC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js deleted file mode 100644 index fe8395411..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js +++ /dev/null @@ -1,1019 +0,0 @@ -export const StakingUSDSTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts deleted file mode 100644 index 3dbec2c78..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map deleted file mode 100644 index 21af1a3b3..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IqkrC,KAAK,MAAM,EAAE;;;;CAIxnrC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js deleted file mode 100644 index de7045b63..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b0f8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6145a9806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033a2646970667358221220fb7eb2ae17180ffa2855cf88f6bf75f74eff2398ed1e301ddcc2d3cc0e8ce3ff64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts deleted file mode 100644 index 3aa00e194..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const StakingUSDSTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map deleted file mode 100644 index a49e34ca4..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget3.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygC+hlC,KAAK,MAAM,EAAE;;;;;CAK1klC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js deleted file mode 100644 index 94626468b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js +++ /dev/null @@ -1,1039 +0,0 @@ -export const StakingUSDSTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts deleted file mode 100644 index 74a86f11c..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map deleted file mode 100644 index e22cad514..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6xqC,KAAK,MAAM,EAAE;;;;CAIh1qC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js deleted file mode 100644 index 65e65a34f..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614a7b8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614515806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033a26469706673582212206c1ff461d3e197a4c9725eaabbfb597da63f0bbbb24e74b700ceec367452919364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts deleted file mode 100644 index 2179ad779..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts +++ /dev/null @@ -1,813 +0,0 @@ -export declare const StakingUSDSTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map deleted file mode 100644 index 6a3e04929..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget4.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8+B2j3B,KAAK,MAAM,EAAE;;;;;;CAMtm3B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js deleted file mode 100644 index 1a70ddff5..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js +++ /dev/null @@ -1,1013 +0,0 @@ -export const StakingUSDSTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts deleted file mode 100644 index eb62ad092..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map deleted file mode 100644 index c6f098f24..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iyz8B,KAAK,MAAM,EAAE;;;;CAI528B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js deleted file mode 100644 index 453600858..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613c898061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b613723806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033a264697066735822122017d381c032eedca8bda6d37d1264c7809a880f552a3ed3b05e94cca4eb5aad9864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts b/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts deleted file mode 100644 index 2e29fe021..000000000 --- a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts +++ /dev/null @@ -1,303 +0,0 @@ -export declare const StdAssertions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "failed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "log"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_address"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes32"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_int"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_address"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes32"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_string"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_string"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_uint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "logs"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "failed()": "ba414fa6"; - }; -}; -//# sourceMappingURL=StdAssertions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map b/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map deleted file mode 100644 index d044fa083..000000000 --- a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdAssertions.d.ts","sourceRoot":"","sources":["../src/StdAssertions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4XN,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdAssertions.js b/packages/hyperdrive-artifacts/dist/StdAssertions.js deleted file mode 100644 index 65c99c4dc..000000000 --- a/packages/hyperdrive-artifacts/dist/StdAssertions.js +++ /dev/null @@ -1,385 +0,0 @@ -export const StdAssertions = { - abi: [ - { - "type": "function", - "name": "failed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "log", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_address", - "inputs": [ - { - "name": "", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes32", - "inputs": [ - { - "name": "", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_int", - "inputs": [ - { - "name": "", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_address", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes32", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_string", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_string", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_uint", - "inputs": [ - { - "name": "", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "logs", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "failed()": "ba414fa6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdChains.d.ts b/packages/hyperdrive-artifacts/dist/StdChains.d.ts deleted file mode 100644 index e996ef227..000000000 --- a/packages/hyperdrive-artifacts/dist/StdChains.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdChains: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdChains.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdChains.d.ts.map b/packages/hyperdrive-artifacts/dist/StdChains.d.ts.map deleted file mode 100644 index f3029a5ea..000000000 --- a/packages/hyperdrive-artifacts/dist/StdChains.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdChains.d.ts","sourceRoot":"","sources":["../src/StdChains.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAEF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdChains.js b/packages/hyperdrive-artifacts/dist/StdChains.js deleted file mode 100644 index 20e2db2ca..000000000 --- a/packages/hyperdrive-artifacts/dist/StdChains.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdChains = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts b/packages/hyperdrive-artifacts/dist/StdCheats.d.ts deleted file mode 100644 index 36c4c4074..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdCheats: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdCheats.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map b/packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map deleted file mode 100644 index 35b775886..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdCheats.d.ts","sourceRoot":"","sources":["../src/StdCheats.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAEF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheats.js b/packages/hyperdrive-artifacts/dist/StdCheats.js deleted file mode 100644 index cd9609f84..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheats.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdCheats = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts b/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts deleted file mode 100644 index 7d4dd111a..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdCheatsSafe: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdCheatsSafe.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map b/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map deleted file mode 100644 index 63f5a3269..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdCheatsSafe.d.ts","sourceRoot":"","sources":["../src/StdCheatsSafe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEN,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.js b/packages/hyperdrive-artifacts/dist/StdCheatsSafe.js deleted file mode 100644 index 0bd1e8237..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdCheatsSafe = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdError.d.ts b/packages/hyperdrive-artifacts/dist/StdError.d.ts deleted file mode 100644 index 3c249d2b3..000000000 --- a/packages/hyperdrive-artifacts/dist/StdError.d.ts +++ /dev/null @@ -1,106 +0,0 @@ -export declare const stdError: { - abi: readonly [{ - readonly type: "function"; - readonly name: "arithmeticError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "assertionError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "divisionError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "encodeStorageError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "enumConversionError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "indexOOBError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "memOverflowError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "popError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "zeroVarError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "arithmeticError()": "8995290f"; - readonly "assertionError()": "10332977"; - readonly "divisionError()": "fa784a44"; - readonly "encodeStorageError()": "d160e4de"; - readonly "enumConversionError()": "1de45560"; - readonly "indexOOBError()": "05ee8612"; - readonly "memOverflowError()": "986c5f68"; - readonly "popError()": "b22dc54d"; - readonly "zeroVarError()": "b67689da"; - }; -}; -//# sourceMappingURL=stdError.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdError.d.ts.map b/packages/hyperdrive-artifacts/dist/StdError.d.ts.map deleted file mode 100644 index 7b28759d1..000000000 --- a/packages/hyperdrive-artifacts/dist/StdError.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdError.d.ts","sourceRoot":"","sources":["../src/stdError.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwH6vC,KAAK,MAAM,EAAE;;;;;;;;;;;;CAY9xC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdError.js b/packages/hyperdrive-artifacts/dist/StdError.js deleted file mode 100644 index 3f18a9a37..000000000 --- a/packages/hyperdrive-artifacts/dist/StdError.js +++ /dev/null @@ -1,133 +0,0 @@ -export const stdError = { - abi: [ - { - "type": "function", - "name": "arithmeticError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "assertionError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "divisionError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "encodeStorageError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "enumConversionError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "indexOOBError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "memOverflowError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "popError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "zeroVarError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x61024a610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c8063986c5f681161006e578063986c5f68146100d5578063b22dc54d146100dd578063b67689da146100e5578063d160e4de146100ed578063fa784a44146100f5575f80fd5b806305ee86121461009f57806310332977146100bd5780631de45560146100c55780638995290f146100cd575b5f80fd5b6100a76100fd565b6040516100b491906101c8565b60405180910390f35b6100a7610138565b6100a761014a565b6100a761015c565b6100a761016e565b6100a7610180565b6100a7610192565b6100a76101a4565b6100a76101b6565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010b565b6040516021602482015260440161010b565b6040516011602482015260440161010b565b6040516041602482015260440161010b565b6040516031602482015260440161010b565b6040516051602482015260440161010b565b6040516022602482015260440161010b565b6040516012602482015260440161010b565b5f602080835283518060208501525f5b818110156101f4578581018301518582016040015282016101d8565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220d7e4cf8b021e56ab3f5ac52c37eab43e941a87aa3b5b231791159560373037e864736f6c63430008160033', - methodIdentifiers: { - "arithmeticError()": "8995290f", - "assertionError()": "10332977", - "divisionError()": "fa784a44", - "encodeStorageError()": "d160e4de", - "enumConversionError()": "1de45560", - "indexOOBError()": "05ee8612", - "memOverflowError()": "986c5f68", - "popError()": "b22dc54d", - "zeroVarError()": "b67689da" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts b/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts deleted file mode 100644 index 3b38bf758..000000000 --- a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -export declare const StdInvariant: { - abi: readonly [{ - readonly type: "function"; - readonly name: "excludeArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifactSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifactSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetInterfaces"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedInterfaces_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzInterface[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "artifacts"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "excludeArtifacts()": "b5508aa9"; - readonly "excludeContracts()": "e20c9f71"; - readonly "excludeSenders()": "1ed7831c"; - readonly "targetArtifactSelectors()": "66d9a9a0"; - readonly "targetArtifacts()": "85226c81"; - readonly "targetContracts()": "3f7286f4"; - readonly "targetInterfaces()": "2ade3880"; - readonly "targetSelectors()": "916a17c6"; - readonly "targetSenders()": "3e5e3c23"; - }; -}; -//# sourceMappingURL=StdInvariant.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map b/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map deleted file mode 100644 index fea9bf18a..000000000 --- a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdInvariant.d.ts","sourceRoot":"","sources":["../src/StdInvariant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4JL,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdInvariant.js b/packages/hyperdrive-artifacts/dist/StdInvariant.js deleted file mode 100644 index 934be2b35..000000000 --- a/packages/hyperdrive-artifacts/dist/StdInvariant.js +++ /dev/null @@ -1,169 +0,0 @@ -export const StdInvariant = { - abi: [ - { - "type": "function", - "name": "excludeArtifacts", - "inputs": [], - "outputs": [ - { - "name": "excludedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeContracts", - "inputs": [], - "outputs": [ - { - "name": "excludedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeSenders", - "inputs": [], - "outputs": [ - { - "name": "excludedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifactSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifactSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifacts", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetContracts", - "inputs": [], - "outputs": [ - { - "name": "targetedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetInterfaces", - "inputs": [], - "outputs": [ - { - "name": "targetedInterfaces_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzInterface[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "artifacts", - "type": "string[]", - "internalType": "string[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSenders", - "inputs": [], - "outputs": [ - { - "name": "targetedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "excludeArtifacts()": "b5508aa9", - "excludeContracts()": "e20c9f71", - "excludeSenders()": "1ed7831c", - "targetArtifactSelectors()": "66d9a9a0", - "targetArtifacts()": "85226c81", - "targetContracts()": "3f7286f4", - "targetInterfaces()": "2ade3880", - "targetSelectors()": "916a17c6", - "targetSenders()": "3e5e3c23" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdJson.d.ts b/packages/hyperdrive-artifacts/dist/StdJson.d.ts deleted file mode 100644 index 861f60bd4..000000000 --- a/packages/hyperdrive-artifacts/dist/StdJson.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdJson: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdJson.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdJson.d.ts.map b/packages/hyperdrive-artifacts/dist/StdJson.d.ts.map deleted file mode 100644 index 21f661b59..000000000 --- a/packages/hyperdrive-artifacts/dist/StdJson.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdJson.d.ts","sourceRoot":"","sources":["../src/stdJson.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdJson.js b/packages/hyperdrive-artifacts/dist/StdJson.js deleted file mode 100644 index 99b63f086..000000000 --- a/packages/hyperdrive-artifacts/dist/StdJson.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdJson = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122057eac6179a583ac11ffb36978f2a04dbc77922b7a7e37fb9cc0a12efa317258a64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdMath.d.ts b/packages/hyperdrive-artifacts/dist/StdMath.d.ts deleted file mode 100644 index 0c6826e26..000000000 --- a/packages/hyperdrive-artifacts/dist/StdMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdMath.d.ts.map b/packages/hyperdrive-artifacts/dist/StdMath.d.ts.map deleted file mode 100644 index 7b5a0cf13..000000000 --- a/packages/hyperdrive-artifacts/dist/StdMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdMath.d.ts","sourceRoot":"","sources":["../src/stdMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdMath.js b/packages/hyperdrive-artifacts/dist/StdMath.js deleted file mode 100644 index 2f0b0afcf..000000000 --- a/packages/hyperdrive-artifacts/dist/StdMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220950d7cda8d62a5b775497aaa74197c3a0ade11875e81d63449e87a77f323460264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts b/packages/hyperdrive-artifacts/dist/StdStorage.d.ts deleted file mode 100644 index 9b5848ed3..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdStorage: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map deleted file mode 100644 index 19561fa78..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdStorage.d.ts","sourceRoot":"","sources":["../src/stdStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStorage.js b/packages/hyperdrive-artifacts/dist/StdStorage.js deleted file mode 100644 index 774fcd00d..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStorage.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdStorage = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e885b2c4c5210a1dd84228f74269c13d4bd427b319ef6fd92c9a29d41be1b49864736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts b/packages/hyperdrive-artifacts/dist/StdStyle.d.ts deleted file mode 100644 index baa9154cc..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdStyle: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdStyle.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map b/packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map deleted file mode 100644 index 2e13fd798..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdStyle.d.ts","sourceRoot":"","sources":["../src/StdStyle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStyle.js b/packages/hyperdrive-artifacts/dist/StdStyle.js deleted file mode 100644 index c3dd46d53..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStyle.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdStyle = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208b99f89de3b336590885ce0fa5feb6099968a1fee7a33df67788754dca7f747064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts b/packages/hyperdrive-artifacts/dist/StdUtils.d.ts deleted file mode 100644 index 0f462abe2..000000000 --- a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdUtils: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map deleted file mode 100644 index 4998c5699..000000000 --- a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdUtils.d.ts","sourceRoot":"","sources":["../src/StdUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAED,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdUtils.js b/packages/hyperdrive-artifacts/dist/StdUtils.js deleted file mode 100644 index dceb69ca8..000000000 --- a/packages/hyperdrive-artifacts/dist/StdUtils.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdUtils = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts b/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts deleted file mode 100644 index 1a19fbd1b..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const StkWellBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StkWellBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map deleted file mode 100644 index a6b0671a4..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellBase.d.ts","sourceRoot":"","sources":["../src/StkWellBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBJ,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellBase.js b/packages/hyperdrive-artifacts/dist/StkWellBase.js deleted file mode 100644 index 459fab292..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const StkWellBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts b/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts deleted file mode 100644 index 3c35fbbda..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StkWellConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StkWellConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map deleted file mode 100644 index e0191316d..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellConversions.d.ts","sourceRoot":"","sources":["../src/StkWellConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;cAEmQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellConversions.js b/packages/hyperdrive-artifacts/dist/StkWellConversions.js deleted file mode 100644 index 933a517d7..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StkWellConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e462a73c01cc4df9430b6eb7c3db10ba597ce33b83c696d792cd3bde8997c19a64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts deleted file mode 100644 index d09656045..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts +++ /dev/null @@ -1,1357 +0,0 @@ -export declare const StkWellHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=StkWellHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map deleted file mode 100644 index dbbed62fd..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellHyperdrive.d.ts","sourceRoot":"","sources":["../src/StkWellHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8oD05b,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCp8b,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js b/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js deleted file mode 100644 index b6431e721..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js +++ /dev/null @@ -1,1711 +0,0 @@ -export const StkWellHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 8a7e33d67..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const StkWellHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=StkWellHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index df8797b86..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/StkWellHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K0miB,KAAK,MAAM,EAAE;;;;CAIhqiB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js deleted file mode 100644 index a51064aeb..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const StkWellHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506122238061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611bd2806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033a2646970667358221220a3e75d76a98ab508b633ea2af3da84c7c98fde5f823e63c7320037eb3ca9ddbe64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index eed6ae2a9..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,620 +0,0 @@ -export declare const StkWellHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StkWellHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 681e2cabd..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/StkWellHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmwB+6pB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoB5+pB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js deleted file mode 100644 index 25540fcf3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,792 +0,0 @@ -export const StkWellHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e6380380620029e68339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125cc6200041a5f395f81816102990152610d3f01525f81816103170152610c0c01525f818161037d0152610ad901525f81816102e401526109a601525f818161034a015261079d01525f8181610421015261108e01525f81816103ee01528181610528015281816106c6015281816107cd015281816109d601528181610b0901528181610c3c01528181610d6f01528181610e6201526110bf01526125cc5ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f5921461039f578063c83e1f5114610410578063e990eba814610443578063e99be39614610462575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610475565b60405161011f9190611b24565b60405180910390f35b348015610133575f80fd5b50610112610491565b61014f61014a366004611c59565b61051c565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d17565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d2e565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d17565b6106b1565b3480156103c9575f80fd5b506102bb6103d8366004611f02565b6106ba565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b506102bb61045d366004611f6b565b610e56565b34801561046d575f80fd5b50600561014f565b6040518060600160405280602481526020016125736024913981565b5f805461049d90612005565b80601f01602080910402602001604051908101604052809291908181526020018280546104c990612005565b80156105145780601f106104eb57610100808354040283529160200191610514565b820191905f5260205f20905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056657604051634084351160e01b815260040160405180910390fd5b61056e6111c9565b5f868152600160205260409020600301546001600160a01b0316806105a65760405163952b05cb60e01b815260040160405180910390fd5b5f6105b3828888876111ea565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105e69392919061203d565b60206040518083038185885af1158015610602573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106279190612082565b92505f61063482346120ad565b905080156106a4576040515f90339083908381818185875af1925050503d805f811461067b576040519150601f19603f3d011682016040523d82523d5f602084013e610680565b606091505b50509050806106a2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f815b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070457604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108b45780541561073957604051633be1b34d60e11b815260040160405180910390fd5b61074386866112f2565b5f61074e87876114ff565b90505f8760405160200161076291906120c0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61078f8a611518565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610809929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161083e94939291906122f3565b6020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e9190612338565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106a8565b5f87815260016020526040902054806108e05760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108f291906120c0565b60405160208183030381529060405280519060200120146109265760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461095057604051631a3272d160e31b815260040160405180910390fd5b61095a87876112f2565b5f61096488611518565b6002840154608082015290506001869003610aa45760058301546001600160a01b0316156109a45760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a0b93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a4094939291906122f3565b6020604051808303815f875af1158015610a5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a809190612338565b6005840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600203610bd75760068301546001600160a01b031615610ad75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b3e93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b7394939291906122f3565b6020604051808303815f875af1158015610b8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb39190612338565b6006840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600303610d0a5760078301546001600160a01b031615610c0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c7193929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ca694939291906122f3565b6020604051808303815f875af1158015610cc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce69190612338565b6007840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600403610e3d5760088301546001600160a01b031615610d3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610da493929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610dd994939291906122f3565b6020604051808303815f875af1158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190612338565b6008840180546001600160a01b0319166001600160a01b03831617905593506106a4565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea057604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f4857604051632c95caeb60e01b815260040160405180910390fd5b8051610f675760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f8c575060a08101516001600160a01b0316155b80610fa2575060c08101516001600160a01b0316155b80610fb8575060e08101516001600160a01b0316155b80610fcf57506101008101516001600160a01b0316155b15610fed5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110009087906020016120c0565b60405160208183030381529060405280519060200120146110345760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461105f57604051631a3272d160e31b815260040160405180910390fd5b61106985856112f2565b5f61107386611518565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611115929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111509a99989796959493929190612374565b6020604051808303815f875af115801561116c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111909190612338565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111e857604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561125d57856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112569190612338565b90506112c0565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611299573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112bd9190612338565b90505b6112d56001600160a01b0382168630876115e6565b6112e96001600160a01b0382168786611653565b50949350505050565b6112fc82826116e2565b60208201516001600160a01b03166113275760405163073f739d60e51b815260040160405180910390fd5b815f01516001600160a01b031682602001516001600160a01b031663312f6b836040518163ffffffff1660e01b8152600401602060405180830381865afa158015611374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113989190612338565b6001600160a01b0316146113bf57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142491906123f6565b61142e9190612416565b61143990600a61250f565b8260800151101561145d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c291906123f6565b6114cc9190612416565b6114d790600a61250f565b8260a0015110156114fb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611511670de0b6b3a76400006106b1565b9392505050565b611520611a03565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261164d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506117f6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116a48482611861565b61164d576040516001600160a01b0384811660248301525f60448301526116d891869182169063095ea7b39060640161161b565b61164d84826117f6565b6103e882608001511015611709576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361172e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175857508161010001518260e00151611755919061251d565b15155b156117765760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a25750670de0b6b3a7640000826101c0015160200151115b806117bd5750670de0b6b3a7640000826101c0015160400151115b806117d85750670de0b6b3a7640000826101c0015160600151115b156114fb576040516322f72cc360e11b815260040160405180910390fd5b5f61180a6001600160a01b038416836118fe565b905080515f1415801561182e57508080602001905181019061182c919061253c565b155b1561185c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161187c9190612557565b5f604051808303815f865af19150503d805f81146118b5576040519150601f19603f3d011682016040523d82523d5f602084013e6118ba565b606091505b50915091508180156118e45750805115806118e45750808060200190518101906118e4919061253c565b80156106a85750505050506001600160a01b03163b151590565b606061151183835f845f80856001600160a01b031684866040516119229190612557565b5f6040518083038185875af1925050503d805f811461195c576040519150601f19603f3d011682016040523d82523d5f602084013e611961565b606091505b509150915061197186838361197b565b9695505050505050565b6060826119905761198b826119d7565b611511565b81511580156119a757506001600160a01b0384163b155b156119d057604051639996b31560e01b81526001600160a01b0385166004820152602401611853565b5080611511565b8051156119e75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ad260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611af1578181015183820152602001611ad9565b50505f910152565b5f8151808452611b10816020860160208601611ad7565b601f01601f19169290920160200192915050565b602081525f6115116020830184611af9565b6001600160a01b0381168114611a00575f80fd5b8035611b5581611b36565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9157611b91611b5a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9157611b91611b5a565b8015158114611a00575f80fd5b5f67ffffffffffffffff80841115611be257611be2611b5a565b604051601f8501601f19908116603f01168101908282118183101715611c0a57611c0a611b5a565b81604052809350858152868686011115611c22575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c4a575f80fd5b61151183833560208501611bc8565b5f805f805f60a08688031215611c6d575f80fd5b853594506020860135611c7f81611b36565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ca9575f80fd5b908701906060828a031215611cbc575f80fd5b611cc4611b6e565b8235611ccf81611b36565b81526020830135611cdf81611bbb565b6020820152604083013582811115611cf5575f80fd5b611d018b828601611c3b565b6040830152508093505050509295509295909350565b5f60208284031215611d27575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dbb575f80fd5b6040516080810181811067ffffffffffffffff82111715611dde57611dde611b5a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e20575f80fd5b611e28611b97565b9050611e3382611b4a565b8152611e4160208301611b4a565b6020820152611e5260408301611b4a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611eaf818401611b4a565b90820152610160611ec1838201611b4a565b90820152610180611ed3838201611b4a565b908201526101a0611ee5838201611b4a565b908201526101c0611ef884848301611dab565b9082015292915050565b5f805f805f6102c08688031215611f17575f80fd5b85359450611f288760208801611e0f565b935061026086013567ffffffffffffffff811115611f44575f80fd5b611f5088828901611c3b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f80575f80fd5b85359450602086013567ffffffffffffffff80821115611f9e575f80fd5b818801915088601f830112611fb1575f80fd5b611fc089833560208501611bc8565b9550611fcf8960408a01611e0f565b9450610280880135915080821115611fe5575f80fd5b50611ff288828901611c3b565b959894975092956102a001359392505050565b600181811c9082168061201957607f821691505b60208210810361203757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197160c0840182611af9565b5f60208284031215612092575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106b4576106b4612099565b81516001600160a01b03168152610240810160208301516120ec60208401826001600160a01b03169052565b50604083015161210760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161216d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611da3565b80516001600160a01b0316825260208101516121fd60208401826001600160a01b03169052565b50604081015161221860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161228a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261164d565b5f6102c061230183886121d6565b6001600160a01b038616610260840152610280830181905261232581840186611af9565b915050826102a083015295945050505050565b5f60208284031215612348575f80fd5b815161151181611b36565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123878184018e611af9565b9050612396602084018d6121d6565b6001600160a01b038b81166102808501528382036102a08501526123ba828c611af9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612406575f80fd5b815160ff81168114611511575f80fd5b60ff82811682821603908111156106b4576106b4612099565b600181815b8085111561246957815f190482111561244f5761244f612099565b8085161561245c57918102915b93841c9390800290612434565b509250929050565b5f8261247f575060016106b4565b8161248b57505f6106b4565b81600181146124a157600281146124ab576124c7565b60019150506106b4565b60ff8411156124bc576124bc612099565b50506001821b6106b4565b5060208310610133831016604e8410600b84101617156124ea575081810a6106b4565b6124f4838361242f565b805f190482111561250757612507612099565b029392505050565b5f61151160ff841683612471565b5f8261253757634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561254c575f80fd5b815161151181611bbb565b5f8251612568818460208701611ad7565b919091019291505056fe53746b57656c6c487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212205f6cbb68e0e1f27022ec484d8932c9beb503129e283c2ef602c051e19e6b92b764736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts deleted file mode 100644 index 16877c605..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const StkWellTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StkWellTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map deleted file mode 100644 index bd23d8cf3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget0.d.ts","sourceRoot":"","sources":["../src/StkWellTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2D267B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCl97B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0.js b/packages/hyperdrive-artifacts/dist/StkWellTarget0.js deleted file mode 100644 index d9b4543ee..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const StkWellTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts deleted file mode 100644 index 6f9f1b3ce..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map deleted file mode 100644 index d5c404ea3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I64gC,KAAK,MAAM,EAAE;;;;CAI57gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js deleted file mode 100644 index 1ddeb8eb0..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506140b18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613bd9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033a264697066735822122023c9f04eca2806c10cbfe5947a24f3bae8f758485ea9429b49397e745bfac8b264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts deleted file mode 100644 index 6913e72cc..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const StkWellTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=StkWellTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map deleted file mode 100644 index 4da492943..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget1.d.ts","sourceRoot":"","sources":["../src/StkWellTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu9B2+9B,KAAK,MAAM,EAAE;;;;;CAKlh+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1.js b/packages/hyperdrive-artifacts/dist/StkWellTarget1.js deleted file mode 100644 index 6966f4e26..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1.js +++ /dev/null @@ -1,989 +0,0 @@ -export const StkWellTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts deleted file mode 100644 index 54441f319..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map deleted file mode 100644 index c041d07f3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I68iC,KAAK,MAAM,EAAE;;;;CAI5/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js deleted file mode 100644 index 93c554b12..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506142d18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613df9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033a2646970667358221220eea69ab4542df2a4ebdf329726f5e2ff19b958d58bd3d975076804cd97a3250764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts deleted file mode 100644 index d489eb1f5..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const StkWellTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=StkWellTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map deleted file mode 100644 index 460dc6e2e..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget2.d.ts","sourceRoot":"","sources":["../src/StkWellTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+BqyhC,KAAK,MAAM,EAAE;;;;;CAK50hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2.js b/packages/hyperdrive-artifacts/dist/StkWellTarget2.js deleted file mode 100644 index 44a2da80d..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const StkWellTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts deleted file mode 100644 index 8fa9d2b29..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map deleted file mode 100644 index d0f153255..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IuwmC,KAAK,MAAM,EAAE;;;;CAItzmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js deleted file mode 100644 index 142843835..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061466e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614196806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033a2646970667358221220ee671d51aafb887f4f7b33a56fcd9256ed56e88cc666cb3689e4c98fe5cd8e4664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts deleted file mode 100644 index 31ead4c52..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const StkWellTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=StkWellTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map deleted file mode 100644 index 377eda799..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget3.d.ts","sourceRoot":"","sources":["../src/StkWellTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B2ihC,KAAK,MAAM,EAAE;;;;;CAKllhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3.js b/packages/hyperdrive-artifacts/dist/StkWellTarget3.js deleted file mode 100644 index 3ebec8d48..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const StkWellTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts deleted file mode 100644 index e77ab6191..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map deleted file mode 100644 index 9f2fdc1e4..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6gmC,KAAK,MAAM,EAAE;;;;CAI5jmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js deleted file mode 100644 index e9b64e029..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145f18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614119806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033a264697066735822122087123d5b735c4f782446311ff0d4856f3f29238036d393744424e707d93859c964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts deleted file mode 100644 index f57bafa8b..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const StkWellTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=StkWellTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map deleted file mode 100644 index e7589ada3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget4.d.ts","sourceRoot":"","sources":["../src/StkWellTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy+BimyB,KAAK,MAAM,EAAE;;;;;;CAMxoyB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4.js b/packages/hyperdrive-artifacts/dist/StkWellTarget4.js deleted file mode 100644 index 473bffcb3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4.js +++ /dev/null @@ -1,1008 +0,0 @@ -export const StkWellTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts deleted file mode 100644 index 989d592c0..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map deleted file mode 100644 index 9a1035009..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Imk3B,KAAK,MAAM,EAAE;;;;CAIln3B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js deleted file mode 100644 index 76f1f51ed..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061370c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613234806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033a2646970667358221220eb7b7c1417fbd07cc73725e8af5c7b0e360fd907db48000ae44d8cb713c34af164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts b/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts deleted file mode 100644 index dabc2d1d6..000000000 --- a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts +++ /dev/null @@ -1,131 +0,0 @@ -export declare const SupplyLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeFinalizeTransfer(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => DataTypes.UserConfigurationMap) storage,DataTypes.FinalizeTransferParams)": "8a5dadd1"; - readonly "executeSupply(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSupplyParams)": "1913f161"; - readonly "executeUseReserveAsCollateral(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,address,bool,uint256,address,uint8)": "bf697a26"; - readonly "executeWithdraw(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteWithdrawParams)": "186dea44"; - }; -}; -//# sourceMappingURL=SupplyLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map deleted file mode 100644 index a9769d26f..000000000 --- a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SupplyLogic.d.ts","sourceRoot":"","sources":["../src/SupplyLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJkrxB,KAAK,MAAM,EAAE;;;;;;;CAOttxB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SupplyLogic.js b/packages/hyperdrive-artifacts/dist/SupplyLogic.js deleted file mode 100644 index 26169dd0f..000000000 --- a/packages/hyperdrive-artifacts/dist/SupplyLogic.js +++ /dev/null @@ -1,160 +0,0 @@ -export const SupplyLogic = { - abi: [ - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x613126610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c8063186dea44146100595780631913f1611461008a5780638a5dadd1146100ab578063bf697a26146100ca575b5f80fd5b818015610064575f80fd5b50610078610073366004612afe565b6100e9565b60405190815260200160405180910390f35b818015610095575f80fd5b506100a96100a4366004612bb2565b61041d565b005b8180156100b6575f80fd5b506100a96100c5366004612c43565b610636565b8180156100d5575f80fd5b506100a96100e4366004612d28565b61088f565b80516001600160a01b03165f9081526020869052604081208161010b82610a92565b9050806101e001516001600160a01b031684604001516001600160a01b0316141560405180604001604052806002815260200161393360f01b8152509061016e5760405162461bcd60e51b81526004016101659190612dad565b60405180910390fd5b506101798282610c5d565b6101008101516101e0820151604051630ed1279f60e11b81523360048201525f926101fb9290916001600160a01b0390911690631da24f3e906024015b602060405180830381865afa1580156101d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f59190612df9565b90610cb5565b60208601519091506001810161020e5750805b610219838284610cf7565b855161022a90859085905f85610dfc565b60038401546040805160208101909152885481525f916102559190600160a81b900461ffff16611117565b905080801561026357508282145b156102bb576003850154610284908990600160a81b900461ffff165f61116c565b865160405133916001600160a01b0316907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b6101e08401516040808901516101008701519151636b81068560e11b81523360048201526001600160a01b0391821660248201526044810186905260648101929092529091169063d7020d0a906084015f604051808303815f87803b158015610322575f80fd5b505af1158015610334573d5f803e3d5ffd5b50505050808015610376575060408051602081019091528854908190527f55555555555555555555555555555555555555555555555555555555555555551615155b156103af576103af8b8b8b8b6040518060200160405290815f820154815250508b5f0151338d606001518e608001518f60a001516111ce565b86604001516001600160a01b0316336001600160a01b0316885f01516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78560405161040591815260200190565b60405180910390a45093505050505b95945050505050565b80516001600160a01b03165f9081526020859052604081209061043f82610a92565b905061044b8282610c5d565b61045f818385602001518660400151611338565b825160208401516104759184918491905f610dfc565b6101e08101516020840151845161049a926001600160a01b03909116913391906115a5565b6101e08101516040808501516020860151610100850151925163b3f1c93d60e01b81523360048201526001600160a01b039283166024820152604481019190915260648101929092525f92169063b3f1c93d906084016020604051808303815f875af115801561050c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105309190612e10565b905080156105b85761054f878787856101c00151866101e00151611644565b156105b8576003830154610571908690600160a81b900461ffff16600161116c565b83604001516001600160a01b0316845f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b836060015161ffff1684604001516001600160a01b0316855f01516001600160a01b03167f2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba613388602001516040516106259291906001600160a01b03929092168252602082015260400190565b60405180910390a450505050505050565b80516001600160a01b03165f9081526020869052604090206106578161182c565b6003810154600160a81b900461ffff165f61067f6106748461187b565b6060860151906118de565b905083604001516001600160a01b031684602001516001600160a01b0316141580156106aa57508015155b15610885576020808501516001600160a01b03165f908152868252604090819020815192830190915280548252906106e29084611117565b156107df5760408051602081019091528154908190527f5555555555555555555555555555555555555555555555555555555555555555161561077d5761077d898989895f8a602001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060200160405290815f82015481525050895f01518a602001518b60c001518c60e001518d61010001516111ce565b84606001518560800151036107df5761079781845f61116c565b84602001516001600160a01b0316855f01516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b8460a001515f03610883576040808601516001600160a01b039081165f9081526020898152908390208351918201909352865481526004870154610829928d928d92869216611644565b156108815761083a8185600161116c565b85604001516001600160a01b0316865f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b505b505b5050505050505050565b6001600160a01b0385165f90815260208a905260408120906108b082610a92565b6101e08101516040516370a0823160e01b81523360048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109229190612df9565b905061092e828261191b565b600383015460408051602081019091528a54815261095691600160a81b900461ffff16611117565b15158715150361096857505050610883565b8615610a0f5761097f8c8c8b856101c001516119dd565b604051806040016040528060028152602001611b1960f11b815250906109b85760405162461bcd60e51b81526004016101659190612dad565b5060038301546109d6908a90600160a81b900461ffff16600161116c565b60405133906001600160a01b038a16907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a3610a84565b6003830154610a2b908a90600160a81b900461ffff165f61116c565b604080516020810190915289548152610a4e908d908d908d908c338c8c8c6111ce565b60405133906001600160a01b038a16907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b505050505050505050505050565b610a9a612996565b610aa2612996565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190612df9565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015610c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2a9190612e2b565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610c7d575050565b610c878282611a79565b610c918282611b57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517610cd5575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b604080518082019091526002815261191b60f11b602082015282610d2e5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261199960f11b602082015281831115610d695760405162461bcd60e51b81526004016101659190612dad565b505f80610d7a856101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b81525090610dbb5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b60208201528115610df45760405162461bcd60e51b81526004016101659190612dad565b505050505050565b610e2360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610e3791610cb5565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610efe91600401612e72565b606060405180830381865afa158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612ef4565b60408401526020830152808252610f5390611d00565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610f8090611d00565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610fb090611d00565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610fee9051600160fc1b16151590565b156110a357821561104b5761100283611d00565b600987018054601090611026908490600160801b90046001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156110a35761105a82611d00565b60098701805460109061107e908490600160801b90046001600160801b0316612f5a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106111535760405162461bcd60e51b81526004016101659190612dad565b50508151600182811b81019190911c1615155b92915050565b6040805180820190915260028152610dcd60f21b6020820152608083106111a65760405162461bcd60e51b81526004016101659190612dad565b50600182811b81011b81156111c0578354811784556111c8565b835481191684555b50505050565b6001600160a01b038086165f90815260208b8152604080832081516102408101835281546102208201908152815260018201546001600160801b0380821695830195909552600160801b908190048516938201939093526002820154808516606083015283900484166080820152600382015480851660a083015264ffffffffff848204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015486166101208201526005820154861661014082015260068201548616610160820152600782015490951661018086015260088101548084166101a087015282900483166101c0860152600901548083166101e086015204166102008301526112eb8b8b8b8b8a888b8b611d6c565b9150508015806112ff575081515161ffff16155b60405180604001604052806002815260200161353760f01b81525090610a845760405162461bcd60e51b81526004016101659190612dad565b604080518082019091526002815261191b60f11b60208201528261136f5760405162461bcd60e51b81526004016101659190612dad565b505f805f611381876101c00151611cbc565b94505050925092508260405180604001604052806002815260200161323760f01b815250906113c35760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b602082015281156113fc5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261064760f31b602082015282156114355760405162461bcd60e51b81526004016101659190612dad565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b8152509061148a5760405162461bcd60e51b81526004016101659190612dad565b506101c08701515160741c640fffffffff1680158061156c57506101c08801515160301c60ff166114bc90600a61305a565b6114c69082613065565b8661155f8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611531573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115559190612df9565b6101f5919061307c565b611569919061307c565b11155b60405180604001604052806002815260200161353160f01b815250906108835760405162461bcd60e51b81526004016101659190612dad565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af16115e7573d5f803e3d5ffd5b506115f185611e16565b61163d5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610165565b5050505050565b81515f9060d41c64ffffffffff1615611816575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611694573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b8919061308f565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611717919061308f565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015611755573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611779919061308f565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa1580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190612e10565b611814575f915050610414565b505b611822868686866119dd565b9695505050505050565b604080516020808201835283549182905282518084019093526002835261323960f01b908301526001603c1b16156118775760405162461bcd60e51b81526004016101659190612dad565b5050565b60038101545f90600160801b900464ffffffffff164281036118a9575050600101546001600160801b031690565b60018301546118d1906001600160801b03808216916101f591600160801b9091041684611eb7565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611900575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b604080518082019091526002815261343360f01b6020820152816119525760405162461bcd60e51b81526004016101659190612dad565b505f80611963846101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b815250906119a45760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b6020820152811561163d5760405162461bcd60e51b81526004016101659190612dad565b5f6119ea825161ffff1690565b5f036119f757505f611a71565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611a3657506001611a71565b6040805160208101909152835481525f90611a52908787611ef3565b5050905080158015611a6d5750825160d41c64ffffffffff16155b9150505b949350505050565b61016081015115611ae7575f611a99826101600151836102400151611eb7565b9050611ab28260e0015182610cb590919063ffffffff16565b6101008301819052611ac390611d00565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611877575f611b03826101800151836102400151611f99565b9050611b1d82610120015182610cb590919063ffffffff16565b6101408301819052611b2e90611d00565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b611b8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611b9b57505050565b6101208201518251611bac91610cb5565b60208201526101408201518251611bc291610cb5565b60408201526060820151610260830151610240840151611bea92919064ffffffffff16611fa1565b606082018190526040830151611bff91610cb5565b808252602082015160808401516040840151611c1b919061307c565b611c2591906130aa565b611c2f91906130aa565b608082018190526101a0830151611c4691906120c6565b60a0820181905215611cb757611c76611c718361010001518360a001516118de90919063ffffffff16565b611d00565b6008840180545f90611c929084906001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5167010000000000000081161515916702000000000000008216151591670400000000000000811615159167080000000000000082161515916001603c1b16151590565b5f6001600160801b03821115611d685760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610165565b5090565b5f805f80611db78c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff168152506120ea565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b81525090611e045760405162461bcd60e51b81526004016101659190612dad565b50909b909a5098505050505050505050565b5f611e38565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611e775760208114611ea857611e727f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611e1c565b6118d8565b823b611e9f57611e9f7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611e1c565b600191506118d8565b3d5f803e50505f511515919050565b5f80611eca64ffffffffff8416426130aa565b611ed49085613065565b6301e1338090049050611a71816b033b2e3c9fd0803ce800000061307c565b5f805f611eff866125ac565b15611f87575f611f2f877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6125ef565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611f8357600195509093509150611f909050565b5050505b505f9150819050805b93509350939050565b5f6118d18383425b5f80611fb464ffffffffff8516846130aa565b9050805f03611fd2576b033b2e3c9fd0803ce80000009150506118d1565b5f1981015f808060028511611fe7575f611fec565b600285035b925066038882915c40006120008a80610cb5565b8161200d5761200d6130bd565b0491506301e1338061201f838b610cb5565b8161202c5761202c6130bd565b0490505f8261203b8688613065565b6120459190613065565b6002900490505f8285612058888a613065565b6120629190613065565b61206c9190613065565b60069004905080826301e133806120838a8f613065565b61208d91906130d1565b6120a3906b033b2e3c9fd0803ce800000061307c565b6120ad919061307c565b6120b7919061307c565b9b9a5050505050505050505050565b5f811561138819839004841115176120dc575f80fd5b506127109102611388010490565b5f805f805f806120fc875f0151511590565b1561211857505f94508493508392508291505f1990508161259f565b6121a76040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156121eb57608088015160ff165f90815260208a90526040902060608901516121d89190612613565b6101808401526101c08301526101a08201525b87602001518160c0015110156124c45760c0810151885161220b916126bc565b61221f5760c08101805160010190526121eb565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526122575760c08101805160010190526121eb565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906122df5750816101e00151896080015160ff16145b61235b57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015612332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123569190612df9565b612362565b8161018001515b825260a082015115801590612382575060c0820151895161238291611117565b156124715761239e896040015182845f0151856020015161270b565b60408301819052610100830180516123b790839061307c565b90525060808901516101e08301516123d29160ff1690612780565b1515610240830152608082015115612428578161024001516123f85781608001516123ff565b816101a001515b826040015161240e9190613065565b8261014001818151612420919061307c565b905250612431565b60016102208301525b816102400151612445578160a0015161244c565b816101c001515b826040015161245b9190613065565b826101600181815161246d919061307c565b9052505b60c0820151895161248191612790565b156124b35761249d896040015182845f015185602001516127dc565b82610120018181516124af919061307c565b9052505b5060c08101805160010190526121eb565b8061010001515f036124d6575f6124f1565b806101000151816101400151816124ef576124ef6130bd565b045b6101408201526101008101515f03612509575f612524565b80610100015181610160015181612522576125226130bd565b045b610160820152610120810151156125665761256181610120015161255b8361016001518461010001516120c690919063ffffffff16565b9061290b565b612569565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906118d157506125e76001826130aa565b161592915050565b81515f9082165f198101198116825b60029190911c908115610414576001016125fe565b81545f90819081908190660100000000000090046001600160a01b031680156126a15760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa15801561267a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269e9190612df9565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106126f85760405162461bcd60e51b81526004016101659190612dad565b5050905160019190911b1c600316151590565b5f806127168561187b565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f928792612759928692911690631da24f3e906024016101b6565b6127639190613065565b9050838181612774576127746130bd565b04979650505050505050565b5f82158015906118d15750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106127cc5760405162461bcd60e51b81526004016101659190612dad565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015612829573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284d9190612df9565b9050801561286b5761286861286186612940565b8290610cb5565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa1580156128b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d99190612df9565b6128e3908261307c565b90506128ef8185613065565b9050828181612900576129006130bd565b049695505050505050565b5f8115670de0b6b3a764000060028404190484111715612929575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff1642810361296e575050600201546001600160801b031690565b60028301546118d1906001600160801b03808216916101f591600160801b9091041684611f99565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612a0b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b60405160c0810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516080810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b604051610120810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114612adb575f80fd5b50565b8035612ae981612ac7565b919050565b803560ff81168114612ae9575f80fd5b5f805f805f858703610140811215612b14575f80fd5b8635955060208701359450604087013593506060870135925060c0607f1982011215612b3e575f80fd5b50612b47612a33565b6080870135612b5581612ac7565b815260a0870135602082015260c0870135612b6f81612ac7565b604082015260e08701356060820152610100870135612b8d81612ac7565b6080820152612b9f6101208801612aee565b60a0820152809150509295509295909350565b5f805f8084860360e0811215612bc6575f80fd5b8535945060208601359350604086013592506080605f1982011215612be9575f80fd5b50612bf2612a68565b6060860135612c0081612ac7565b81526080860135602082015260a0860135612c1a81612ac7565b604082015260c086013561ffff81168114612c33575f80fd5b6060820152939692955090935050565b5f805f805f8587036101a0811215612c59575f80fd5b8635955060208701359450604087013593506060870135925061012080607f1983011215612c85575f80fd5b612c8d612a97565b9150612c9b60808901612ade565b8252612ca960a08901612ade565b6020830152612cba60c08901612ade565b604083015260e088013560608301526101008089013560808401528189013560a084015261014089013560c0840152612cf66101608a01612ade565b60e0840152612d086101808a01612aee565b9083015250949793965091945092919050565b8015158114612adb575f80fd5b5f805f805f805f805f6101208a8c031215612d41575f80fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135612d6881612ac7565b945060a08a0135612d7881612d1b565b935060c08a0135925060e08a0135612d8f81612ac7565b9150612d9e6101008b01612aee565b90509295985092959850929598565b5f602080835283518060208501525f5b81811015612dd957858101830151858201604001528201612dbd565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215612e09575f80fd5b5051919050565b5f60208284031215612e20575f80fd5b81516118d181612d1b565b5f805f8060808587031215612e3e575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114612e67575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151612ed460e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612f06575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03818116838216019080821115612f5357612f53612f1f565b5092915050565b6001600160801b03828116828216039080821115612f5357612f53612f1f565b600181815b80851115612fb457815f1904821115612f9a57612f9a612f1f565b80851615612fa757918102915b93841c9390800290612f7f565b509250929050565b5f82612fca57506001611166565b81612fd657505f611166565b8160018114612fec5760028114612ff657613012565b6001915050611166565b60ff84111561300757613007612f1f565b50506001821b611166565b5060208310610133831016604e8410600b8410161715613035575081810a611166565b61303f8383612f7a565b805f190482111561305257613052612f1f565b029392505050565b5f6118d18383612fbc565b808202811582820484141761116657611166612f1f565b8082018082111561116657611166612f1f565b5f6020828403121561309f575f80fd5b81516118d181612ac7565b8181038181111561116657611166612f1f565b634e487b7160e01b5f52601260045260245ffd5b5f826130eb57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208d1a7dee0d422ae1ada7afeec01b39bae39632e5cfc05d5410ef90c7e961ea3b64736f6c63430008160033', - methodIdentifiers: { - "executeFinalizeTransfer(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => DataTypes.UserConfigurationMap) storage,DataTypes.FinalizeTransferParams)": "8a5dadd1", - "executeSupply(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSupplyParams)": "1913f161", - "executeUseReserveAsCollateral(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,address,bool,uint256,address,uint8)": "bf697a26", - "executeWithdraw(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteWithdrawParams)": "186dea44" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts b/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts deleted file mode 100644 index 6bbc43d0d..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const UniV3Path: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=UniV3Path.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map b/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map deleted file mode 100644 index e4c2f372a..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UniV3Path.d.ts","sourceRoot":"","sources":["../src/UniV3Path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Path.js b/packages/hyperdrive-artifacts/dist/UniV3Path.js deleted file mode 100644 index 42831f277..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Path.js +++ /dev/null @@ -1,5 +0,0 @@ -export const UniV3Path = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220946aea3c8293c5add4bbb376210b6a783ed7ecad09c5de0ace6c7ec15af1961964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts b/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts deleted file mode 100644 index 19cf4aeed..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts +++ /dev/null @@ -1,723 +0,0 @@ -export declare const UniV3Zap: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_swapRouter"; - readonly type: "address"; - readonly internalType: "contract ISwapRouter"; - }, { - readonly name: "_weth"; - readonly type: "address"; - readonly internalType: "contract IWETH"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "addLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "closeLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalSharesZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapRouter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ISwapRouter"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "weth"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IWETH"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidOutputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidRecipient"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAsset"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSwap"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTransfer"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ShouldWrapAssets"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6"; - readonly "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838"; - readonly "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586"; - readonly "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046"; - readonly "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d"; - readonly "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5"; - readonly "swapRouter()": "c31c9c07"; - readonly "version()": "54fd4d50"; - readonly "weth()": "3fc8cef3"; - }; -}; -//# sourceMappingURL=UniV3Zap.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map b/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map deleted file mode 100644 index 863969022..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UniV3Zap.d.ts","sourceRoot":"","sources":["../src/UniV3Zap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi5BmitB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAepktB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Zap.js b/packages/hyperdrive-artifacts/dist/UniV3Zap.js deleted file mode 100644 index 4d75c0afc..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Zap.js +++ /dev/null @@ -1,929 +0,0 @@ -export const UniV3Zap = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_swapRouter", - "type": "address", - "internalType": "contract ISwapRouter" - }, - { - "name": "_weth", - "type": "address", - "internalType": "contract IWETH" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "addLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "closeLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "redeemWithdrawalSharesZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapRouter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ISwapRouter" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "weth", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IWETH" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidOutputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidRecipient", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAsset", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSwap", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTransfer", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ShouldWrapAssets", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x60c060405234801562000010575f80fd5b5060405162002d1238038062002d1283398101604081905262000033916200008f565b60015f8190556200004584826200020b565b506001600160a01b039182166080521660a05250620002d7565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b03811681146200008a575f80fd5b919050565b5f805f60608486031215620000a2575f80fd5b83516001600160401b0380821115620000b9575f80fd5b818601915086601f830112620000cd575f80fd5b815181811115620000e257620000e26200005f565b604051601f8201601f19908116603f011681019083821181831017156200010d576200010d6200005f565b8160405282815260209350898484870101111562000129575f80fd5b5f91505b828210156200014c57848201840151818301850152908301906200012d565b5f8484830101528097505050506200016681870162000073565b93505050620001786040850162000073565b90509250925092565b600181811c908216806200019657607f821691505b602082108103620001b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200020657805f5260205f20601f840160051c81016020851015620001e25750805b601f840160051c820191505b8181101562000203575f8155600101620001ee565b50505b505050565b81516001600160401b038111156200022757620002276200005f565b6200023f8162000238845462000181565b84620001bb565b602080601f83116001811462000275575f84156200025d5750858301515b5f19600386901b1c1916600185901b178555620002cf565b5f85815260208120601f198616915b82811015620002a55788860151825594840194600190910190840162000284565b5085821015620002c357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a0516129be620003545f395f818161019801528181610d0601528181610ec0015281816113e60152818161192e01528181611a3901528181611c5501528181611d5b0152611da701525f818161025a0152818161123f0152818161130a0152818161135201528181611c8a0152611ce201526129be5ff3fe6080604052600436106100a8575f3560e01c806354fd4d501161006257806354fd4d50146101e55780635bf8404614610217578063ba77fd3d1461022a578063c31c9c0714610249578063d49518381461027c578063dcda7d3d1461029b575f80fd5b806304baa00b146100d557806306fdde031461011e5780631fd5fcd61461013257806323003ba5146101535780633fc8cef3146101875780634b22d586146101d2575f80fd5b366100d1575f546002146100cf57604051632f35253160e01b815260040160405180910390fd5b005b5f80fd5b3480156100e0575f80fd5b50610108604051806040016040528060088152602001670556e6956335a61760c41b81525081565b60405161011591906121fe565b60405180910390f35b348015610129575f80fd5b506101086102ba565b61014561014036600461224a565b610346565b604051908152602001610115565b34801561015e575f80fd5b5061017261016d3660046122e3565b6104be565b60408051928352602083019190915201610115565b348015610192575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610115565b6101726101e036600461237a565b6105dc565b3480156101f0575f80fd5b5061010860405180604001604052806007815260200166076312e302e32360cc1b81525081565b61017261022536600461224a565b6106fc565b348015610235575f80fd5b506101456102443660046123fe565b6108ee565b348015610254575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b348015610287575f80fd5b506101456102963660046123fe565b610a14565b3480156102a6575f80fd5b506101726102b53660046122e3565b610ac9565b600180546102c79061249f565b80601f01602080910402602001604051908101604052809291908181526020018280546102f39061249f565b801561033e5780601f106103155761010080835404028352916020019161033e565b820191905f5260205f20905b81548152906001019060200180831161032157829003601f168201915b505050505081565b5f61034f610b78565b5f61035b888585610ba0565b90505f61037061036a85612617565b83611090565b9050816103e6576103e6896103868360016126b1565b6103d661039388806126c4565b61039d90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114be92505050565b6001600160a01b031691906114cf565b6103f6604086016020870161272c565b15801561040e575061040e60a085016080860161272c565b156104205761041d8982611592565b90505b5f8261042c575f61042e565b815b9050896001600160a01b0316634c2ac1d982848c8c8c8c6040518763ffffffff1660e01b81526004016104659594939291906127e7565b60206040518083038185885af1158015610481573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906104a69190612811565b93505050506104b460015f55565b9695505050505050565b5f806104c8610b78565b5f6104dd89876104d788612828565b87611782565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610512905f90339030908e90600401612833565b5f604051808303815f87803b158015610529575f80fd5b505af115801561053b573d5f803e3d5ffd5b50506040516332f04d0d60e21b81526001600160a01b038c16925063cbc13434915061056f908b908b908b90600401612858565b60408051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190612876565b92506105c590506105be86612828565b82866119fd565b9250506105d160015f55565b965096945050505050565b5f806105e6610b78565b5f6105f2888686610ba0565b90505f61060161036a86612617565b90508161062457610624896106178360016126b1565b6103d661039389806126c4565b610634604087016020880161272c565b15801561064c575061064c60a086016080870161272c565b1561065e5761065b8982611592565b90505b5f8261066a575f61066c565b815b9050896001600160a01b031663cba2e58d82848c8c8c6040518663ffffffff1660e01b81526004016106a19493929190612898565b604080518083038185885af11580156106bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106e19190612876565b90955093505050506106f260015f55565b9550959350505050565b5f80610706610b78565b5f610712898686610ba0565b90505f61072161036a86612617565b90505f61073161039387806126c4565b905082610758576107588b6107478460016126b1565b6001600160a01b03841691906114cf565b5f83610764575f610766565b825b90508b6001600160a01b031663dbbe8070828d8d8d8d6040518663ffffffff1660e01b815260040161079b9493929190612898565b604080518083038185885af11580156107b6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107db9190612876565b9096509450831561085b57478015610855576040515f90339083908381818185875af1925050503d805f811461082c576040519150601f19603f3d011682016040523d82523d5f602084013e610831565b606091505b5050905080610853576040516312171d8360e31b815260040160405180910390fd5b505b506108e1565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561089f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c39190612811565b905080156108df576108df6001600160a01b0384163383611ee8565b505b505050506105d160015f55565b5f6108f7610b78565b5f61090c898661090687612828565b86611782565b9050886001600160a01b0316631c0f12b661092860028b611f1e565b33308b6040518563ffffffff1660e01b815260040161094a9493929190612833565b5f604051808303815f87803b158015610961575f80fd5b505af1158015610973573d5f803e3d5ffd5b50506040516329b23fc160e01b81526001600160a01b038c1692506329b23fc191506109a9908b908b908b908b90600401612898565b6020604051808303815f875af11580156109c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e99190612811565b506109fd6109f685612828565b82856119fd565b915050610a0960015f55565b979650505050505050565b5f610a1d610b78565b5f610a2c898661090687612828565b9050886001600160a01b0316631c0f12b6610a4860018b611f1e565b33308b6040518563ffffffff1660e01b8152600401610a6a9493929190612833565b5f604051808303815f87803b158015610a81575f80fd5b505af1158015610a93573d5f803e3d5ffd5b505060405163ded0623160e01b81526001600160a01b038c16925063ded0623191506109a9908b908b908b908b90600401612898565b5f80610ad3610b78565b5f610ae289876104d788612828565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610b1b90600360f81b90339030908e90600401612833565b5f604051808303815f87803b158015610b32575f80fd5b505af1158015610b44573d5f803e3d5ffd5b505060405163074a6de960e01b81526001600160a01b038c16925063074a6de9915061056f908b908b908b90600401612858565b60025f5403610b9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f30610bac83806126c4565b610bbd9060408101906020016128bc565b6001600160a01b031614610be457604051634e46966960e11b815260040160405180910390fd5b5f610c35610bf284806126c4565b610bfc90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f5292505050565b90505f610c4561039385806126c4565b9050806001600160a01b0316826001600160a01b031603610c7957604051631115766760e01b815260040160405180910390fd5b610c89608085016060860161272c565b15610dd3576001600160a01b038216610ca860408601602087016128bc565b6001600160a01b031603610cce57604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610cf360408601602087016128bc565b6001600160a01b0316148015610d3b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15610d5857604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610d7d60408601602087016128bc565b6001600160a01b0316148015610db157508360400135341080610db15750610da584806126c4565b60600135846040013514155b15610dce57604051625605b760e01b815260040160405180910390fd5b610e44565b6001600160a01b038216610ded60408601602087016128bc565b6001600160a01b031614610e1357604051625605b760e01b815260040160405180910390fd5b610e1d84806126c4565b60600135846040013514610e44576040516397e0deb160e01b815260040160405180910390fd5b5f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea591906128d7565b9050610eb7604087016020880161272c565b8015610ef457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8015610f1c57506001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b15610f2d5760019350505050611089565b610f3d604087016020880161272c565b8015610fba5750866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa491906128d7565b6001600160a01b0316826001600160a01b031614155b15610fd7576040516231010160e51b815260040160405180910390fd5b610fe7604087016020880161272c565b1580156110655750866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f91906128d7565b6001600160a01b0316826001600160a01b031614155b15611082576040516231010160e51b815260040160405180910390fd5b5f93505050505b9392505050565b815151602001515f90819081908190600160601b9004905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686602001516001600160a01b0316036110f9578551606001516110e990346128f2565b8651606001519093509150611339565b8560600151156112725761112b3330886040015189602001516001600160a01b0316611f60909392919063ffffffff16565b611155818760400151600161114091906126b1565b60208901516001600160a01b031691906114cf565b6040868101519051630ea598cb60e41b815260048101919091526001600160a01b0382169063ea598cb0906024016020604051808303815f875af115801561119f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c39190612811565b506040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015611206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122a9190612811565b86516060908101919091528651015161126a907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b349250611339565b604086015161128f906001600160a01b0383169033903090611f60565b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa1580156112d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f59190612811565b865160609081019190915286510151611335907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b3492505b855160405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163c04b8d5991859161138791600401612905565b60206040518083038185885af11580156113a3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113c89190612811565b9350841561144657604051632e1a7d4d60e01b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b15801561142f575f80fd5b505af1158015611441573d5f803e3d5ffd5b505050505b82156114b4576040515f90339085908381818185875af1925050503d805f811461148b576040519150601f19603f3d011682016040523d82523d5f602084013e611490565b606091505b50509050806114b2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b92915050565b805101600c0151600160601b900490565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115208482611f99565b61158c576040516001600160a01b0384811660248301525f604483015261158291869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061203a565b61158c848261203a565b50505050565b5f4660011480156115bf57506001600160a01b03831673d7e470043241c10970953bd8374ee6238e77d735145b1561169757826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611600573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162491906128d7565b6001600160a01b03166319208451836040518263ffffffff1660e01b815260040161165191815260200190565b602060405180830381865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190612811565b90506114b8565b4660011480156116c357506001600160a01b03831673324395d5d835f84a02a75aa26814f6fd22f25698145b1561175557826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611704573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172891906128d7565b6001600160a01b031663c6e6f592836040518263ffffffff1660e01b815260040161165191815260200190565b6040516363737ac960e11b8152600481018390526001600160a01b0384169063c6e6f59290602401611651565b5f3061179160208601866128bc565b6001600160a01b0316146117b857604051634e46966960e11b815260040160405180910390fd5b825160208101518151909101600c0151600160601b91829004915f91049050806001600160a01b0316826001600160a01b03160361180957604051631115766760e01b815260040160405180910390fd5b5f61181a604088016020890161272c565b1561188657876001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f91906128d7565b90506118e9565b876001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e691906128d7565b90505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611983578461192c57604051633f27152160e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461197e57604051632df9739b60e01b815260040160405180910390fd5b610a09565b841580156119a35750826001600160a01b0316816001600160a01b031614155b156119c157604051632df9739b60e01b815260040160405180910390fd5b8480156119df5750826001600160a01b0316816001600160a01b0316145b15610a0957604051632df9739b60e01b815260040160405180910390fd5b8251602001515f90600160601b90048215611ba15773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601611aac577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b158015611a90575f80fd5b505af1158015611aa2573d5f803e3d5ffd5b5050505050611ba1565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015611af0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b149190612811565b9050611b3682611b258360016126b1565b6001600160a01b03881691906114cf565b604051630ea598cb60e41b8152600481018290526001600160a01b0383169063ea598cb0906024016020604051808303815f875af1158015611b7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9e9190612811565b50505b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c099190612811565b9050611c2886608001518760600151836120a09092919063ffffffff16565b6080870152606086018190528551805101600c01516020870151600160601b909104906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690831603611c85573060208901525b611ccb7f000000000000000000000000000000000000000000000000000000000000000089606001516001611cba91906126b1565b6001600160a01b03871691906114cf565b60405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c04b8d5990611d17908b90600401612905565b6020604051808303815f875af1158015611d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d579190612811565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611edd576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611dfc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e209190612811565b6040518263ffffffff1660e01b8152600401611e3e91815260200190565b5f604051808303815f87803b158015611e55575f80fd5b505af1158015611e67573d5f803e3d5ffd5b505050505f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611eb4576040519150601f19603f3d011682016040523d82523d5f602084013e611eb9565b606091505b5050905080611edb576040516312171d8360e31b815260040160405180910390fd5b505b505050509392505050565b6040516001600160a01b03838116602483015260448201839052611f1991859182169063a9059cbb90606401611550565b505050565b5f6001600160f81b03821115611f475760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b60200151600160601b900490565b6040516001600160a01b03848116602483015283811660448301526064820183905261158c9186918216906323b872dd90608401611550565b5f805f846001600160a01b031684604051611fb4919061295c565b5f604051808303815f865af19150503d805f8114611fed576040519150601f19603f3d011682016040523d82523d5f602084013e611ff2565b606091505b509150915081801561201c57508051158061201c57508080602001905181019061201c919061296d565b801561203157505f856001600160a01b03163b115b95945050505050565b5f61204e6001600160a01b038416836120bb565b905080515f14158015612072575080806020019051810190612070919061296d565b155b15611f1957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f825f1904841183021582026120b4575f80fd5b5091020490565b606061108983835f845f80856001600160a01b031684866040516120df919061295c565b5f6040518083038185875af1925050503d805f8114612119576040519150601f19603f3d011682016040523d82523d5f602084013e61211e565b606091505b50915091506104b486838360608261213e5761213982612185565b611089565b815115801561215557506001600160a01b0384163b155b1561217e57604051639996b31560e01b81526001600160a01b0385166004820152602401612097565b5080611089565b8051156121955780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b838110156121cb5781810151838201526020016121b3565b50505f910152565b5f81518084526121ea8160208601602086016121b1565b601f01601f19169290920160200192915050565b602081525f61108960208301846121d3565b6001600160a01b03811681146121ae575f80fd5b5f60608284031215612234575f80fd5b50919050565b5f60a08284031215612234575f80fd5b5f805f805f8060c0878903121561225f575f80fd5b863561226a81612210565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff8082111561229b575f80fd5b6122a78a838b01612224565b935060a08901359150808211156122bc575f80fd5b506122c989828a0161223a565b9150509295509295509295565b80151581146121ae575f80fd5b5f805f805f8060c087890312156122f8575f80fd5b863561230381612210565b95506020870135945060408701359350606087013567ffffffffffffffff8082111561232d575f80fd5b6123398a838b01612224565b9450608089013591508082111561234e575f80fd5b5061235b89828a0161223a565b92505060a087013561236c816122d6565b809150509295509295509295565b5f805f805f60a0868803121561238e575f80fd5b853561239981612210565b94506020860135935060408601359250606086013567ffffffffffffffff808211156123c3575f80fd5b6123cf89838a01612224565b935060808801359150808211156123e4575f80fd5b506123f18882890161223a565b9150509295509295909350565b5f805f805f805f60e0888a031215612414575f80fd5b873561241f81612210565b9650602088013595506040880135945060608801359350608088013567ffffffffffffffff80821115612450575f80fd5b61245c8b838c01612224565b945060a08a0135915080821115612471575f80fd5b5061247e8a828b0161223a565b92505060c088013561248f816122d6565b8091505092959891949750929550565b600181811c908216806124b357607f821691505b60208210810361223457634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715612508576125086124d1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612537576125376124d1565b604052919050565b803561254a81612210565b919050565b5f60a0828403121561255f575f80fd5b6125676124e5565b9050813567ffffffffffffffff80821115612580575f80fd5b818401915084601f830112612593575f80fd5b81356020828211156125a7576125a76124d1565b6125b9601f8301601f1916820161250e565b925081835286818386010111156125ce575f80fd5b81818501828501375f8183850101528285526125eb81870161253f565b818601525050505060408201356040820152606082013560608201526080820135608082015292915050565b5f60a08236031215612627575f80fd5b61262f6124e5565b823567ffffffffffffffff811115612645575f80fd5b6126513682860161254f565b825250602083013561266281612210565b602082015260408381013590820152606083013561267f816122d6565b60608201526080830135612692816122d6565b608082015292915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156114b8576114b861269d565b5f8235609e198336030181126126d8575f80fd5b9190910192915050565b5f808335601e198436030181126126f7575f80fd5b83018035915067ffffffffffffffff821115612711575f80fd5b602001915036819003821315612725575f80fd5b9250929050565b5f6020828403121561273c575f80fd5b8135611089816122d6565b5f813561275381612210565b6001600160a01b03168352602082013561276c816122d6565b15156020840152604082013536839003601e1901811261278a575f80fd5b820160208101903567ffffffffffffffff8111156127a6575f80fd5b8036038213156127b4575f80fd5b60606040860152806060860152808260808701375f608082870101526080601f19601f8301168601019250505092915050565b85815284602082015283604082015282606082015260a060808201525f610a0960a0830184612747565b5f60208284031215612821575f80fd5b5051919050565b5f6114b8368361254f565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b838152826020820152606060408201525f6120316060830184612747565b5f8060408385031215612887575f80fd5b505080516020909101519092909150565b848152836020820152826040820152608060608201525f6104b46080830184612747565b5f602082840312156128cc575f80fd5b813561108981612210565b5f602082840312156128e7575f80fd5b815161108981612210565b818103818111156114b8576114b861269d565b602081525f825160a0602084015261292060c08401826121d3565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b5f82516126d88184602087016121b1565b5f6020828403121561297d575f80fd5b8151611089816122d656fea264697066735822122034463bb058ee2269f41a7881f7bae5d9ffd44c93ad4b8ed78b08c825b443fc8064736f6c63430008160033', - methodIdentifiers: { - "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", - "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", - "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", - "kind()": "04baa00b", - "name()": "06fdde03", - "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", - "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", - "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", - "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", - "swapRouter()": "c31c9c07", - "version()": "54fd4d50", - "weth()": "3fc8cef3" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts b/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts deleted file mode 100644 index ccdefb0dc..000000000 --- a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const UserConfiguration: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=UserConfiguration.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map b/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map deleted file mode 100644 index 8abcbe1ba..000000000 --- a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserConfiguration.d.ts","sourceRoot":"","sources":["../src/UserConfiguration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UserConfiguration.js b/packages/hyperdrive-artifacts/dist/UserConfiguration.js deleted file mode 100644 index 90ec9ad65..000000000 --- a/packages/hyperdrive-artifacts/dist/UserConfiguration.js +++ /dev/null @@ -1,5 +0,0 @@ -export const UserConfiguration = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b6e390ac94856075840bbcbb4f3848e0a7400ae6502b21c6528a54b245c6cbc664736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts b/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts deleted file mode 100644 index f8fdbe344..000000000 --- a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const UtilsLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=UtilsLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map b/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map deleted file mode 100644 index 5c4c22ac0..000000000 --- a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UtilsLib.d.ts","sourceRoot":"","sources":["../src/UtilsLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UtilsLib.js b/packages/hyperdrive-artifacts/dist/UtilsLib.js deleted file mode 100644 index b36e25591..000000000 --- a/packages/hyperdrive-artifacts/dist/UtilsLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const UtilsLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207c785c933eae5fa21fe227a1c5f03f62ac951f2d77879c11e5982a8fe556887b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts b/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts deleted file mode 100644 index af2b54562..000000000 --- a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -export declare const ValidationLogic: { - abi: readonly [{ - readonly type: "function"; - readonly name: "HEALTH_FACTOR_LIQUIDATION_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ISOLATED_COLLATERAL_SUPPLIER_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "c3525c28"; - readonly "ISOLATED_COLLATERAL_SUPPLIER_ROLE()": "2b0139fa"; - readonly "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "561cbec9"; - readonly "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD()": "abfcc86a"; - }; -}; -//# sourceMappingURL=ValidationLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map deleted file mode 100644 index 4a732cda9..000000000 --- a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ValidationLogic.d.ts","sourceRoot":"","sources":["../src/ValidationLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuD4iB,KAAK,MAAM,EAAE;;;;;;;CAOplB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ValidationLogic.js b/packages/hyperdrive-artifacts/dist/ValidationLogic.js deleted file mode 100644 index 92bde5a82..000000000 --- a/packages/hyperdrive-artifacts/dist/ValidationLogic.js +++ /dev/null @@ -1,63 +0,0 @@ -export const ValidationLogic = { - abi: [ - { - "type": "function", - "name": "HEALTH_FACTOR_LIQUIDATION_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ISOLATED_COLLATERAL_SUPPLIER_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60e6610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106050575f3560e01c80632b0139fa146054578063561cbec914608c578063abfcc86a14609a578063c3525c281460a2575b5f80fd5b607a7fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78281565b60405190815260200160405180910390f35b607a670d2f13f7789f000081565b607a61232881565b607a670de0b6b3a76400008156fea264697066735822122038dabb7fdd3c0dd70d047b3422215b12687e25da61ede72715a236c6c255b81564736f6c63430008160033', - methodIdentifiers: { - "HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "c3525c28", - "ISOLATED_COLLATERAL_SUPPLIER_ROLE()": "2b0139fa", - "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "561cbec9", - "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD()": "abfcc86a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts b/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts deleted file mode 100644 index 814154a26..000000000 --- a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const VersionedInitializable: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=VersionedInitializable.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map b/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map deleted file mode 100644 index fea155764..000000000 --- a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"VersionedInitializable.d.ts","sourceRoot":"","sources":["../src/VersionedInitializable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;cAEf,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VersionedInitializable.js b/packages/hyperdrive-artifacts/dist/VersionedInitializable.js deleted file mode 100644 index 688e23493..000000000 --- a/packages/hyperdrive-artifacts/dist/VersionedInitializable.js +++ /dev/null @@ -1,5 +0,0 @@ -export const VersionedInitializable = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Vm.d.ts b/packages/hyperdrive-artifacts/dist/Vm.d.ts deleted file mode 100644 index 8c6a471f9..000000000 --- a/packages/hyperdrive-artifacts/dist/Vm.d.ts +++ /dev/null @@ -1,6672 +0,0 @@ -export declare const Vm: { - abi: readonly [{ - readonly type: "function"; - readonly name: "accesses"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "readSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "writeSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "activeFork"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addr"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "allowCheatcodes"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assume"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "chainId"; - readonly inputs: readonly [{ - readonly name: "newChainId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "clearMockedCalls"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "coinbase"; - readonly inputs: readonly [{ - readonly name: "newCoinbase"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "copyFile"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "copied"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createSelectFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createSelectFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createSelectFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deal"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteSnapshot"; - readonly inputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteSnapshots"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "difficulty"; - readonly inputs: readonly [{ - readonly name: "newDifficulty"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dumpState"; - readonly inputs: readonly [{ - readonly name: "pathToStateJson"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "etch"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newRuntimeBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "eth_getLogs"; - readonly inputs: readonly [{ - readonly name: "fromBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "toBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.EthGetLogs[]"; - readonly components: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "blockNumber"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "transactionHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "transactionIndex"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "logIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "removed"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "exists"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCallMinGas"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minGas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCallMinGas"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minGas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly [{ - readonly name: "checkTopic1"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic2"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic3"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkData"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly [{ - readonly name: "checkTopic1"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic2"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic3"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkData"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectRevert"; - readonly inputs: readonly [{ - readonly name: "revertData"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectRevert"; - readonly inputs: readonly [{ - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectRevert"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectSafeMemory"; - readonly inputs: readonly [{ - readonly name: "min"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "max"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectSafeMemoryCall"; - readonly inputs: readonly [{ - readonly name: "min"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "max"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fee"; - readonly inputs: readonly [{ - readonly name: "newBasefee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ffi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fsMetadata"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "metadata"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FsMetadata"; - readonly components: readonly [{ - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "readOnly"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "modified"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "accessed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "created"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockNumber"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "height"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockTimestamp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "creationBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployedCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "runtimeBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLabel"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "currentLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMappingKeyAndParentOf"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "elementSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "found"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "parent"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingLength"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingSlotAt"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "idx"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getRecordedLogs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Log[]"; - readonly components: readonly [{ - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isPersistent"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "persistent"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExists"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "label"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "loadAllocs"; - readonly inputs: readonly [{ - readonly name: "pathToAllocsJson"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "accounts"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "account0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "account1"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "account0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "account1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "account2"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCallRevert"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCallRevert"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "parseAddress"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBool"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes32"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseInt"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddress"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddressArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBool"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBoolArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32Array"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytesArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonInt"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonIntArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonKeys"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonString"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonStringArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUint"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUintArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddress"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddressArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBool"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBoolArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32Array"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytesArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlInt"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlIntArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlKeys"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlString"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlStringArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUint"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUintArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseUint"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "pauseGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "prank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "txOrigin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "prank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "prevrandao"; - readonly inputs: readonly [{ - readonly name: "newPrevrandao"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "projectRoot"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readCallers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "callerMode"; - readonly type: "uint8"; - readonly internalType: "enum VmSafe.CallerMode"; - }, { - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "txOrigin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "followLinks"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "line"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLink"; - readonly inputs: readonly [{ - readonly name: "linkPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "targetPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "record"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "recordLogs"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rememberKey"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "replace"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "resetNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resumeGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revertTo"; - readonly inputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revertToAndDelete"; - readonly inputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revokePersistent"; - readonly inputs: readonly [{ - readonly name: "accounts"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revokePersistent"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "roll"; - readonly inputs: readonly [{ - readonly name: "newHeight"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpc"; - readonly inputs: readonly [{ - readonly name: "method"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpcUrl"; - readonly inputs: readonly [{ - readonly name: "rpcAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrlStructs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Rpc[]"; - readonly components: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "url"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrls"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "string[2][]"; - readonly internalType: "string[2][]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "selectFork"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeJson"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setEnv"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newNonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setNonceUnsafe"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newNonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "signP256"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "skip"; - readonly inputs: readonly [{ - readonly name: "skipTest"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sleep"; - readonly inputs: readonly [{ - readonly name: "duration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "snapshot"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "split"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delimiter"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "outputs"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startPrank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startPrank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "txOrigin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startStateDiffRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopAndReturnStateDiff"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "accountAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.AccountAccess[]"; - readonly components: readonly [{ - readonly name: "chainInfo"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.ChainInfo"; - readonly components: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "chainId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "kind"; - readonly type: "uint8"; - readonly internalType: "enum VmSafe.AccountAccessKind"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accessor"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "initialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "oldBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "newBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deployedCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "storageAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.StorageAccess[]"; - readonly components: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "isWrite"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "previousValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopExpectSafeMemory"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopPrank"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "store"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toLowercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUppercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "transact"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transact"; - readonly inputs: readonly [{ - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "trim"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "tryFfi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FfiResult"; - readonly components: readonly [{ - readonly name: "exitCode"; - readonly type: "int32"; - readonly internalType: "int32"; - }, { - readonly name: "stdout"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "stderr"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "txGasPrice"; - readonly inputs: readonly [{ - readonly name: "newGasPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "unixTime"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "milliseconds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "warp"; - readonly inputs: readonly [{ - readonly name: "newTimestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "accesses(address)": "65bc9481"; - readonly "activeFork()": "2f103f22"; - readonly "addr(uint256)": "ffa18649"; - readonly "allowCheatcodes(address)": "ea060291"; - readonly "assertApproxEqAbs(int256,int256,uint256)": "240f839d"; - readonly "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621"; - readonly "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6"; - readonly "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2"; - readonly "assertApproxEqRel(int256,int256,uint256)": "fea2d14f"; - readonly "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72"; - readonly "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4"; - readonly "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd"; - readonly "assertEq(address,address)": "515361f6"; - readonly "assertEq(address,address,string)": "2f2769d1"; - readonly "assertEq(address[],address[])": "3868ac34"; - readonly "assertEq(address[],address[],string)": "3e9173c5"; - readonly "assertEq(bool,bool)": "f7fe3477"; - readonly "assertEq(bool,bool,string)": "4db19e7e"; - readonly "assertEq(bool[],bool[])": "707df785"; - readonly "assertEq(bool[],bool[],string)": "e48a8f8d"; - readonly "assertEq(bytes,bytes)": "97624631"; - readonly "assertEq(bytes,bytes,string)": "e24fed00"; - readonly "assertEq(bytes32,bytes32)": "7c84c69b"; - readonly "assertEq(bytes32,bytes32,string)": "c1fa1ed0"; - readonly "assertEq(bytes32[],bytes32[])": "0cc9ee84"; - readonly "assertEq(bytes32[],bytes32[],string)": "e03e9177"; - readonly "assertEq(bytes[],bytes[])": "e5fb9b4a"; - readonly "assertEq(bytes[],bytes[],string)": "f413f0b6"; - readonly "assertEq(int256,int256)": "fe74f05b"; - readonly "assertEq(int256,int256,string)": "714a2f13"; - readonly "assertEq(int256[],int256[])": "711043ac"; - readonly "assertEq(int256[],int256[],string)": "191f1b30"; - readonly "assertEq(string,string)": "f320d963"; - readonly "assertEq(string,string,string)": "36f656d8"; - readonly "assertEq(string[],string[])": "cf1c049c"; - readonly "assertEq(string[],string[],string)": "eff6b27d"; - readonly "assertEq(uint256,uint256)": "98296c54"; - readonly "assertEq(uint256,uint256,string)": "88b44c85"; - readonly "assertEq(uint256[],uint256[])": "975d5a12"; - readonly "assertEq(uint256[],uint256[],string)": "5d18c73a"; - readonly "assertEqDecimal(int256,int256,uint256)": "48016c04"; - readonly "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5"; - readonly "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c"; - readonly "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef"; - readonly "assertFalse(bool)": "a5982885"; - readonly "assertFalse(bool,string)": "7ba04809"; - readonly "assertGe(int256,int256)": "0a30b771"; - readonly "assertGe(int256,int256,string)": "a84328dd"; - readonly "assertGe(uint256,uint256)": "a8d4d1d9"; - readonly "assertGe(uint256,uint256,string)": "e25242c0"; - readonly "assertGeDecimal(int256,int256,uint256)": "dc28c0f1"; - readonly "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b"; - readonly "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a"; - readonly "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133"; - readonly "assertGt(int256,int256)": "5a362d45"; - readonly "assertGt(int256,int256,string)": "f8d33b9b"; - readonly "assertGt(uint256,uint256)": "db07fcd2"; - readonly "assertGt(uint256,uint256,string)": "d9a3c4d2"; - readonly "assertGtDecimal(int256,int256,uint256)": "78611f0e"; - readonly "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab"; - readonly "assertGtDecimal(uint256,uint256,uint256)": "eccd2437"; - readonly "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d"; - readonly "assertLe(int256,int256)": "95fd154e"; - readonly "assertLe(int256,int256,string)": "4dfe692c"; - readonly "assertLe(uint256,uint256)": "8466f415"; - readonly "assertLe(uint256,uint256,string)": "d17d4b0d"; - readonly "assertLeDecimal(int256,int256,uint256)": "11d1364a"; - readonly "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788"; - readonly "assertLeDecimal(uint256,uint256,uint256)": "c304aab7"; - readonly "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0"; - readonly "assertLt(int256,int256)": "3e914080"; - readonly "assertLt(int256,int256,string)": "9ff531e3"; - readonly "assertLt(uint256,uint256)": "b12fc005"; - readonly "assertLt(uint256,uint256,string)": "65d5c135"; - readonly "assertLtDecimal(int256,int256,uint256)": "dbe8d88b"; - readonly "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0"; - readonly "assertLtDecimal(uint256,uint256,uint256)": "2077337e"; - readonly "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037"; - readonly "assertNotEq(address,address)": "b12e1694"; - readonly "assertNotEq(address,address,string)": "8775a591"; - readonly "assertNotEq(address[],address[])": "46d0b252"; - readonly "assertNotEq(address[],address[],string)": "72c7e0b5"; - readonly "assertNotEq(bool,bool)": "236e4d66"; - readonly "assertNotEq(bool,bool,string)": "1091a261"; - readonly "assertNotEq(bool[],bool[])": "286fafea"; - readonly "assertNotEq(bool[],bool[],string)": "62c6f9fb"; - readonly "assertNotEq(bytes,bytes)": "3cf78e28"; - readonly "assertNotEq(bytes,bytes,string)": "9507540e"; - readonly "assertNotEq(bytes32,bytes32)": "898e83fc"; - readonly "assertNotEq(bytes32,bytes32,string)": "b2332f51"; - readonly "assertNotEq(bytes32[],bytes32[])": "0603ea68"; - readonly "assertNotEq(bytes32[],bytes32[],string)": "b873634c"; - readonly "assertNotEq(bytes[],bytes[])": "edecd035"; - readonly "assertNotEq(bytes[],bytes[],string)": "1dcd1f68"; - readonly "assertNotEq(int256,int256)": "f4c004e3"; - readonly "assertNotEq(int256,int256,string)": "4724c5b9"; - readonly "assertNotEq(int256[],int256[])": "0b72f4ef"; - readonly "assertNotEq(int256[],int256[],string)": "d3977322"; - readonly "assertNotEq(string,string)": "6a8237b3"; - readonly "assertNotEq(string,string,string)": "78bdcea7"; - readonly "assertNotEq(string[],string[])": "bdfacbe8"; - readonly "assertNotEq(string[],string[],string)": "b67187f3"; - readonly "assertNotEq(uint256,uint256)": "b7909320"; - readonly "assertNotEq(uint256,uint256,string)": "98f9bdbd"; - readonly "assertNotEq(uint256[],uint256[])": "56f29cba"; - readonly "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f"; - readonly "assertNotEqDecimal(int256,int256,uint256)": "14e75680"; - readonly "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b"; - readonly "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7"; - readonly "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558"; - readonly "assertTrue(bool)": "0c9fd581"; - readonly "assertTrue(bool,string)": "a34edc03"; - readonly "assume(bool)": "4c63e562"; - readonly "breakpoint(string)": "f0259e92"; - readonly "breakpoint(string,bool)": "f7d39a8d"; - readonly "broadcast()": "afc98040"; - readonly "broadcast(address)": "e6962cdb"; - readonly "broadcast(uint256)": "f67a965b"; - readonly "chainId(uint256)": "4049ddd2"; - readonly "clearMockedCalls()": "3fdf4e15"; - readonly "closeFile(string)": "48c3241f"; - readonly "coinbase(address)": "ff483c54"; - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "copyFile(string,string)": "a54a87d8"; - readonly "createDir(string,bool)": "168b64d3"; - readonly "createFork(string)": "31ba3498"; - readonly "createFork(string,bytes32)": "7ca29682"; - readonly "createFork(string,uint256)": "6ba3ba2b"; - readonly "createSelectFork(string)": "98680034"; - readonly "createSelectFork(string,bytes32)": "84d52b7a"; - readonly "createSelectFork(string,uint256)": "71ee464d"; - readonly "createWallet(string)": "7404f1d2"; - readonly "createWallet(uint256)": "7a675bb6"; - readonly "createWallet(uint256,string)": "ed7c5462"; - readonly "deal(address,uint256)": "c88a5e6d"; - readonly "deleteSnapshot(uint256)": "a6368557"; - readonly "deleteSnapshots()": "421ae469"; - readonly "deriveKey(string,string,uint32)": "6bcb2c1b"; - readonly "deriveKey(string,string,uint32,string)": "29233b1f"; - readonly "deriveKey(string,uint32)": "6229498b"; - readonly "deriveKey(string,uint32,string)": "32c8176d"; - readonly "difficulty(uint256)": "46cc92d9"; - readonly "dumpState(string)": "709ecd3f"; - readonly "envAddress(string)": "350d56bf"; - readonly "envAddress(string,string)": "ad31b9fa"; - readonly "envBool(string)": "7ed1ec7d"; - readonly "envBool(string,string)": "aaaddeaf"; - readonly "envBytes(string)": "4d7baf06"; - readonly "envBytes(string,string)": "ddc2651b"; - readonly "envBytes32(string)": "97949042"; - readonly "envBytes32(string,string)": "5af231c1"; - readonly "envInt(string)": "892a0c61"; - readonly "envInt(string,string)": "42181150"; - readonly "envOr(string,address)": "561fe540"; - readonly "envOr(string,bool)": "4777f3cf"; - readonly "envOr(string,bytes)": "b3e47705"; - readonly "envOr(string,bytes32)": "b4a85892"; - readonly "envOr(string,int256)": "bbcb713e"; - readonly "envOr(string,string)": "d145736c"; - readonly "envOr(string,string,address[])": "c74e9deb"; - readonly "envOr(string,string,bool[])": "eb85e83b"; - readonly "envOr(string,string,bytes32[])": "2281f367"; - readonly "envOr(string,string,bytes[])": "64bc3e64"; - readonly "envOr(string,string,int256[])": "4700d74b"; - readonly "envOr(string,string,string[])": "859216bc"; - readonly "envOr(string,string,uint256[])": "74318528"; - readonly "envOr(string,uint256)": "5e97348f"; - readonly "envString(string)": "f877cb19"; - readonly "envString(string,string)": "14b02bc9"; - readonly "envUint(string)": "c1978d1f"; - readonly "envUint(string,string)": "f3dec099"; - readonly "etch(address,bytes)": "b4d6c782"; - readonly "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b"; - readonly "exists(string)": "261a323e"; - readonly "expectCall(address,bytes)": "bd6af434"; - readonly "expectCall(address,bytes,uint64)": "c1adbbff"; - readonly "expectCall(address,uint256,bytes)": "f30c7ba3"; - readonly "expectCall(address,uint256,bytes,uint64)": "a2b1a1ae"; - readonly "expectCall(address,uint256,uint64,bytes)": "23361207"; - readonly "expectCall(address,uint256,uint64,bytes,uint64)": "65b7b7cc"; - readonly "expectCallMinGas(address,uint256,uint64,bytes)": "08e4e116"; - readonly "expectCallMinGas(address,uint256,uint64,bytes,uint64)": "e13a1834"; - readonly "expectEmit()": "440ed10d"; - readonly "expectEmit(address)": "86b9620d"; - readonly "expectEmit(bool,bool,bool,bool)": "491cc7c2"; - readonly "expectEmit(bool,bool,bool,bool,address)": "81bad6f3"; - readonly "expectRevert()": "f4844814"; - readonly "expectRevert(bytes)": "f28dceb3"; - readonly "expectRevert(bytes4)": "c31eb0e0"; - readonly "expectSafeMemory(uint64,uint64)": "6d016688"; - readonly "expectSafeMemoryCall(uint64,uint64)": "05838bf4"; - readonly "fee(uint256)": "39b37ab0"; - readonly "ffi(string[])": "89160467"; - readonly "fsMetadata(string)": "af368a08"; - readonly "getBlockNumber()": "42cbb15c"; - readonly "getBlockTimestamp()": "796b89b9"; - readonly "getCode(string)": "8d1cc925"; - readonly "getDeployedCode(string)": "3ebf73b4"; - readonly "getLabel(address)": "28a249b0"; - readonly "getMappingKeyAndParentOf(address,bytes32)": "876e24e6"; - readonly "getMappingLength(address,bytes32)": "2f2fd63f"; - readonly "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4"; - readonly "getNonce((address,uint256,uint256,uint256))": "a5748aad"; - readonly "getNonce(address)": "2d0335ab"; - readonly "getRecordedLogs()": "191553a4"; - readonly "isDir(string)": "7d15d019"; - readonly "isFile(string)": "e0eb04d4"; - readonly "isPersistent(address)": "d92d8efd"; - readonly "keyExists(string,string)": "528a683c"; - readonly "keyExistsJson(string,string)": "db4235f6"; - readonly "keyExistsToml(string,string)": "600903ad"; - readonly "label(address,string)": "c657c718"; - readonly "load(address,bytes32)": "667f9d70"; - readonly "loadAllocs(string)": "b3a056d7"; - readonly "makePersistent(address)": "57e22dde"; - readonly "makePersistent(address,address)": "4074e0a8"; - readonly "makePersistent(address,address,address)": "efb77a75"; - readonly "makePersistent(address[])": "1d9e269e"; - readonly "mockCall(address,bytes,bytes)": "b96213e4"; - readonly "mockCall(address,uint256,bytes,bytes)": "81409b91"; - readonly "mockCallRevert(address,bytes,bytes)": "dbaad147"; - readonly "mockCallRevert(address,uint256,bytes,bytes)": "d23cd037"; - readonly "parseAddress(string)": "c6ce059d"; - readonly "parseBool(string)": "974ef924"; - readonly "parseBytes(string)": "8f5d232d"; - readonly "parseBytes32(string)": "087e6e81"; - readonly "parseInt(string)": "42346c5e"; - readonly "parseJson(string)": "6a82600a"; - readonly "parseJson(string,string)": "85940ef1"; - readonly "parseJsonAddress(string,string)": "1e19e657"; - readonly "parseJsonAddressArray(string,string)": "2fce7883"; - readonly "parseJsonBool(string,string)": "9f86dc91"; - readonly "parseJsonBoolArray(string,string)": "91f3b94f"; - readonly "parseJsonBytes(string,string)": "fd921be8"; - readonly "parseJsonBytes32(string,string)": "1777e59d"; - readonly "parseJsonBytes32Array(string,string)": "91c75bc3"; - readonly "parseJsonBytesArray(string,string)": "6631aa99"; - readonly "parseJsonInt(string,string)": "7b048ccd"; - readonly "parseJsonIntArray(string,string)": "9983c28a"; - readonly "parseJsonKeys(string,string)": "213e4198"; - readonly "parseJsonString(string,string)": "49c4fac8"; - readonly "parseJsonStringArray(string,string)": "498fdcf4"; - readonly "parseJsonUint(string,string)": "addde2b6"; - readonly "parseJsonUintArray(string,string)": "522074ab"; - readonly "parseToml(string)": "592151f0"; - readonly "parseToml(string,string)": "37736e08"; - readonly "parseTomlAddress(string,string)": "65e7c844"; - readonly "parseTomlAddressArray(string,string)": "65c428e7"; - readonly "parseTomlBool(string,string)": "d30dced6"; - readonly "parseTomlBoolArray(string,string)": "127cfe9a"; - readonly "parseTomlBytes(string,string)": "d77bfdb9"; - readonly "parseTomlBytes32(string,string)": "8e214810"; - readonly "parseTomlBytes32Array(string,string)": "3e716f81"; - readonly "parseTomlBytesArray(string,string)": "b197c247"; - readonly "parseTomlInt(string,string)": "c1350739"; - readonly "parseTomlIntArray(string,string)": "d3522ae6"; - readonly "parseTomlKeys(string,string)": "812a44b2"; - readonly "parseTomlString(string,string)": "8bb8dd43"; - readonly "parseTomlStringArray(string,string)": "9f629281"; - readonly "parseTomlUint(string,string)": "cc7b0487"; - readonly "parseTomlUintArray(string,string)": "b5df27c8"; - readonly "parseUint(string)": "fa91454d"; - readonly "pauseGasMetering()": "d1a5b36f"; - readonly "prank(address)": "ca669fa7"; - readonly "prank(address,address)": "47e50cce"; - readonly "prevrandao(bytes32)": "3b925549"; - readonly "projectRoot()": "d930a0e6"; - readonly "readCallers()": "4ad0bac9"; - readonly "readDir(string)": "c4bc59e0"; - readonly "readDir(string,uint64)": "1497876c"; - readonly "readDir(string,uint64,bool)": "8102d70d"; - readonly "readFile(string)": "60f9bb11"; - readonly "readFileBinary(string)": "16ed7bc4"; - readonly "readLine(string)": "70f55728"; - readonly "readLink(string)": "9f5684a2"; - readonly "record()": "266cf109"; - readonly "recordLogs()": "41af2f52"; - readonly "rememberKey(uint256)": "22100064"; - readonly "removeDir(string,bool)": "45c62011"; - readonly "removeFile(string)": "f1afe04d"; - readonly "replace(string,string,string)": "e00ad03e"; - readonly "resetNonce(address)": "1c72346d"; - readonly "resumeGasMetering()": "2bcd50e0"; - readonly "revertTo(uint256)": "44d7f0a4"; - readonly "revertToAndDelete(uint256)": "03e0aca9"; - readonly "revokePersistent(address)": "997a0222"; - readonly "revokePersistent(address[])": "3ce969e6"; - readonly "roll(uint256)": "1f7b4f30"; - readonly "rollFork(bytes32)": "0f29772b"; - readonly "rollFork(uint256)": "d9bbf3a1"; - readonly "rollFork(uint256,bytes32)": "f2830f7b"; - readonly "rollFork(uint256,uint256)": "d74c83a4"; - readonly "rpc(string,string)": "1206c8a8"; - readonly "rpcUrl(string)": "975a6ce9"; - readonly "rpcUrlStructs()": "9d2ad72a"; - readonly "rpcUrls()": "a85a8418"; - readonly "selectFork(uint256)": "9ebf6827"; - readonly "serializeAddress(string,string,address)": "972c6062"; - readonly "serializeAddress(string,string,address[])": "1e356e1a"; - readonly "serializeBool(string,string,bool)": "ac22e971"; - readonly "serializeBool(string,string,bool[])": "92925aa1"; - readonly "serializeBytes(string,string,bytes)": "f21d52c7"; - readonly "serializeBytes(string,string,bytes[])": "9884b232"; - readonly "serializeBytes32(string,string,bytes32)": "2d812b44"; - readonly "serializeBytes32(string,string,bytes32[])": "201e43e2"; - readonly "serializeInt(string,string,int256)": "3f33db60"; - readonly "serializeInt(string,string,int256[])": "7676e127"; - readonly "serializeJson(string,string)": "9b3358b0"; - readonly "serializeString(string,string,string)": "88da6d35"; - readonly "serializeString(string,string,string[])": "561cd6f3"; - readonly "serializeUint(string,string,uint256)": "129e9002"; - readonly "serializeUint(string,string,uint256[])": "fee9a469"; - readonly "setEnv(string,string)": "3d5923ee"; - readonly "setNonce(address,uint64)": "f8e18b57"; - readonly "setNonceUnsafe(address,uint64)": "9b67b21c"; - readonly "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25"; - readonly "sign(uint256,bytes32)": "e341eaa4"; - readonly "signP256(uint256,bytes32)": "83211b40"; - readonly "skip(bool)": "dd82d13e"; - readonly "sleep(uint256)": "fa9d8713"; - readonly "snapshot()": "9711715a"; - readonly "split(string,string)": "8bb75533"; - readonly "startBroadcast()": "7fb5297f"; - readonly "startBroadcast(address)": "7fec2a8d"; - readonly "startBroadcast(uint256)": "ce817d47"; - readonly "startMappingRecording()": "3e9705c0"; - readonly "startPrank(address)": "06447d56"; - readonly "startPrank(address,address)": "45b56078"; - readonly "startStateDiffRecording()": "cf22e3c9"; - readonly "stopAndReturnStateDiff()": "aa5cf90e"; - readonly "stopBroadcast()": "76eadd36"; - readonly "stopExpectSafeMemory()": "0956441b"; - readonly "stopMappingRecording()": "0d4aae9b"; - readonly "stopPrank()": "90c5013b"; - readonly "store(address,bytes32,bytes32)": "70ca10bb"; - readonly "toBase64(bytes)": "a5cbfe65"; - readonly "toBase64(string)": "3f8be2c8"; - readonly "toBase64URL(bytes)": "c8bd0e4a"; - readonly "toBase64URL(string)": "ae3165b3"; - readonly "toLowercase(string)": "50bb0884"; - readonly "toString(address)": "56ca623e"; - readonly "toString(bool)": "71dce7da"; - readonly "toString(bytes)": "71aad10d"; - readonly "toString(bytes32)": "b11a19e8"; - readonly "toString(int256)": "a322c40e"; - readonly "toString(uint256)": "6900a3ae"; - readonly "toUppercase(string)": "074ae3d7"; - readonly "transact(bytes32)": "be646da1"; - readonly "transact(uint256,bytes32)": "4d8abc4b"; - readonly "trim(string)": "b2dad155"; - readonly "tryFfi(string[])": "f45c1ce7"; - readonly "txGasPrice(uint256)": "48f50c0f"; - readonly "unixTime()": "625387dc"; - readonly "warp(uint256)": "e5d6bf02"; - readonly "writeFile(string,string)": "897e0a97"; - readonly "writeFileBinary(string,bytes)": "1f21fc80"; - readonly "writeJson(string,string)": "e23cd19f"; - readonly "writeJson(string,string,string)": "35d6ad46"; - readonly "writeLine(string,string)": "619d897f"; - readonly "writeToml(string,string)": "c0865ba7"; - readonly "writeToml(string,string,string)": "51ac6a33"; - }; -}; -//# sourceMappingURL=Vm.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Vm.d.ts.map b/packages/hyperdrive-artifacts/dist/Vm.d.ts.map deleted file mode 100644 index feaff8c60..000000000 --- a/packages/hyperdrive-artifacts/dist/Vm.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Vm.d.ts","sourceRoot":"","sources":["../src/Vm.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6gQK,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsXhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Vm.js b/packages/hyperdrive-artifacts/dist/Vm.js deleted file mode 100644 index bdf860f2b..000000000 --- a/packages/hyperdrive-artifacts/dist/Vm.js +++ /dev/null @@ -1,8580 +0,0 @@ -export const Vm = { - abi: [ - { - "type": "function", - "name": "accesses", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "readSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "writeSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "activeFork", - "inputs": [], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addr", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "allowCheatcodes", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assume", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "chainId", - "inputs": [ - { - "name": "newChainId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "clearMockedCalls", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "coinbase", - "inputs": [ - { - "name": "newCoinbase", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "copyFile", - "inputs": [ - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "copied", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createSelectFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createSelectFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createSelectFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deal", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newBalance", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteSnapshot", - "inputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteSnapshots", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "difficulty", - "inputs": [ - { - "name": "newDifficulty", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dumpState", - "inputs": [ - { - "name": "pathToStateJson", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "etch", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "newRuntimeBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "eth_getLogs", - "inputs": [ - { - "name": "fromBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "toBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.EthGetLogs[]", - "components": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "blockNumber", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "transactionIndex", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "logIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "removed", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "exists", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCallMinGas", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minGas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCallMinGas", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minGas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [ - { - "name": "checkTopic1", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic2", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic3", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkData", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [ - { - "name": "checkTopic1", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic2", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic3", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkData", - "type": "bool", - "internalType": "bool" - }, - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectRevert", - "inputs": [ - { - "name": "revertData", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectRevert", - "inputs": [ - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectRevert", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectSafeMemory", - "inputs": [ - { - "name": "min", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "max", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectSafeMemoryCall", - "inputs": [ - { - "name": "min", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "max", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fee", - "inputs": [ - { - "name": "newBasefee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ffi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fsMetadata", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "metadata", - "type": "tuple", - "internalType": "struct VmSafe.FsMetadata", - "components": [ - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - }, - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "readOnly", - "type": "bool", - "internalType": "bool" - }, - { - "name": "modified", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "accessed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "created", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockNumber", - "inputs": [], - "outputs": [ - { - "name": "height", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockTimestamp", - "inputs": [], - "outputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "creationBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployedCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "runtimeBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLabel", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "currentLabel", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMappingKeyAndParentOf", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "elementSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "found", - "type": "bool", - "internalType": "bool" - }, - { - "name": "key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "parent", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingLength", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingSlotAt", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "idx", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getRecordedLogs", - "inputs": [], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.Log[]", - "components": [ - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isPersistent", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "persistent", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExists", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "label", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "loadAllocs", - "inputs": [ - { - "name": "pathToAllocsJson", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "accounts", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "account0", - "type": "address", - "internalType": "address" - }, - { - "name": "account1", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "account0", - "type": "address", - "internalType": "address" - }, - { - "name": "account1", - "type": "address", - "internalType": "address" - }, - { - "name": "account2", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCallRevert", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCallRevert", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "parseAddress", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBool", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes32", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseInt", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddress", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddressArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBool", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBoolArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32Array", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytesArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonInt", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonIntArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonKeys", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonString", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonStringArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUint", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUintArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddress", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddressArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBool", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBoolArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32Array", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytesArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlInt", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlIntArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlKeys", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlString", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlStringArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUint", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUintArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseUint", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "pauseGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "prank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - }, - { - "name": "txOrigin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "prank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "prevrandao", - "inputs": [ - { - "name": "newPrevrandao", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "projectRoot", - "inputs": [], - "outputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readCallers", - "inputs": [], - "outputs": [ - { - "name": "callerMode", - "type": "uint8", - "internalType": "enum VmSafe.CallerMode" - }, - { - "name": "msgSender", - "type": "address", - "internalType": "address" - }, - { - "name": "txOrigin", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "followLinks", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "line", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLink", - "inputs": [ - { - "name": "linkPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "targetPath", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "record", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recordLogs", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rememberKey", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "replace", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "resetNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resumeGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revertTo", - "inputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revertToAndDelete", - "inputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokePersistent", - "inputs": [ - { - "name": "accounts", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokePersistent", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "roll", - "inputs": [ - { - "name": "newHeight", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpc", - "inputs": [ - { - "name": "method", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpcUrl", - "inputs": [ - { - "name": "rpcAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrlStructs", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "tuple[]", - "internalType": "struct VmSafe.Rpc[]", - "components": [ - { - "name": "key", - "type": "string", - "internalType": "string" - }, - { - "name": "url", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrls", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "string[2][]", - "internalType": "string[2][]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "selectFork", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeJson", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setEnv", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newNonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setNonceUnsafe", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newNonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "signP256", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "skip", - "inputs": [ - { - "name": "skipTest", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sleep", - "inputs": [ - { - "name": "duration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "snapshot", - "inputs": [], - "outputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "split", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "delimiter", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "outputs", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startPrank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startPrank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - }, - { - "name": "txOrigin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startStateDiffRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopAndReturnStateDiff", - "inputs": [], - "outputs": [ - { - "name": "accountAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.AccountAccess[]", - "components": [ - { - "name": "chainInfo", - "type": "tuple", - "internalType": "struct VmSafe.ChainInfo", - "components": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "chainId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "kind", - "type": "uint8", - "internalType": "enum VmSafe.AccountAccessKind" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "accessor", - "type": "address", - "internalType": "address" - }, - { - "name": "initialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "oldBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "newBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deployedCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - }, - { - "name": "storageAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.StorageAccess[]", - "components": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "isWrite", - "type": "bool", - "internalType": "bool" - }, - { - "name": "previousValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - } - ] - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopExpectSafeMemory", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopPrank", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "store", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toLowercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUppercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "transact", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transact", - "inputs": [ - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "trim", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "tryFfi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "tuple", - "internalType": "struct VmSafe.FfiResult", - "components": [ - { - "name": "exitCode", - "type": "int32", - "internalType": "int32" - }, - { - "name": "stdout", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "stderr", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "txGasPrice", - "inputs": [ - { - "name": "newGasPrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unixTime", - "inputs": [], - "outputs": [ - { - "name": "milliseconds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "warp", - "inputs": [ - { - "name": "newTimestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "accesses(address)": "65bc9481", - "activeFork()": "2f103f22", - "addr(uint256)": "ffa18649", - "allowCheatcodes(address)": "ea060291", - "assertApproxEqAbs(int256,int256,uint256)": "240f839d", - "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", - "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", - "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", - "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", - "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", - "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", - "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", - "assertEq(address,address)": "515361f6", - "assertEq(address,address,string)": "2f2769d1", - "assertEq(address[],address[])": "3868ac34", - "assertEq(address[],address[],string)": "3e9173c5", - "assertEq(bool,bool)": "f7fe3477", - "assertEq(bool,bool,string)": "4db19e7e", - "assertEq(bool[],bool[])": "707df785", - "assertEq(bool[],bool[],string)": "e48a8f8d", - "assertEq(bytes,bytes)": "97624631", - "assertEq(bytes,bytes,string)": "e24fed00", - "assertEq(bytes32,bytes32)": "7c84c69b", - "assertEq(bytes32,bytes32,string)": "c1fa1ed0", - "assertEq(bytes32[],bytes32[])": "0cc9ee84", - "assertEq(bytes32[],bytes32[],string)": "e03e9177", - "assertEq(bytes[],bytes[])": "e5fb9b4a", - "assertEq(bytes[],bytes[],string)": "f413f0b6", - "assertEq(int256,int256)": "fe74f05b", - "assertEq(int256,int256,string)": "714a2f13", - "assertEq(int256[],int256[])": "711043ac", - "assertEq(int256[],int256[],string)": "191f1b30", - "assertEq(string,string)": "f320d963", - "assertEq(string,string,string)": "36f656d8", - "assertEq(string[],string[])": "cf1c049c", - "assertEq(string[],string[],string)": "eff6b27d", - "assertEq(uint256,uint256)": "98296c54", - "assertEq(uint256,uint256,string)": "88b44c85", - "assertEq(uint256[],uint256[])": "975d5a12", - "assertEq(uint256[],uint256[],string)": "5d18c73a", - "assertEqDecimal(int256,int256,uint256)": "48016c04", - "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", - "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", - "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", - "assertFalse(bool)": "a5982885", - "assertFalse(bool,string)": "7ba04809", - "assertGe(int256,int256)": "0a30b771", - "assertGe(int256,int256,string)": "a84328dd", - "assertGe(uint256,uint256)": "a8d4d1d9", - "assertGe(uint256,uint256,string)": "e25242c0", - "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", - "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", - "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", - "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", - "assertGt(int256,int256)": "5a362d45", - "assertGt(int256,int256,string)": "f8d33b9b", - "assertGt(uint256,uint256)": "db07fcd2", - "assertGt(uint256,uint256,string)": "d9a3c4d2", - "assertGtDecimal(int256,int256,uint256)": "78611f0e", - "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", - "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", - "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", - "assertLe(int256,int256)": "95fd154e", - "assertLe(int256,int256,string)": "4dfe692c", - "assertLe(uint256,uint256)": "8466f415", - "assertLe(uint256,uint256,string)": "d17d4b0d", - "assertLeDecimal(int256,int256,uint256)": "11d1364a", - "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", - "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", - "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", - "assertLt(int256,int256)": "3e914080", - "assertLt(int256,int256,string)": "9ff531e3", - "assertLt(uint256,uint256)": "b12fc005", - "assertLt(uint256,uint256,string)": "65d5c135", - "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", - "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", - "assertLtDecimal(uint256,uint256,uint256)": "2077337e", - "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", - "assertNotEq(address,address)": "b12e1694", - "assertNotEq(address,address,string)": "8775a591", - "assertNotEq(address[],address[])": "46d0b252", - "assertNotEq(address[],address[],string)": "72c7e0b5", - "assertNotEq(bool,bool)": "236e4d66", - "assertNotEq(bool,bool,string)": "1091a261", - "assertNotEq(bool[],bool[])": "286fafea", - "assertNotEq(bool[],bool[],string)": "62c6f9fb", - "assertNotEq(bytes,bytes)": "3cf78e28", - "assertNotEq(bytes,bytes,string)": "9507540e", - "assertNotEq(bytes32,bytes32)": "898e83fc", - "assertNotEq(bytes32,bytes32,string)": "b2332f51", - "assertNotEq(bytes32[],bytes32[])": "0603ea68", - "assertNotEq(bytes32[],bytes32[],string)": "b873634c", - "assertNotEq(bytes[],bytes[])": "edecd035", - "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", - "assertNotEq(int256,int256)": "f4c004e3", - "assertNotEq(int256,int256,string)": "4724c5b9", - "assertNotEq(int256[],int256[])": "0b72f4ef", - "assertNotEq(int256[],int256[],string)": "d3977322", - "assertNotEq(string,string)": "6a8237b3", - "assertNotEq(string,string,string)": "78bdcea7", - "assertNotEq(string[],string[])": "bdfacbe8", - "assertNotEq(string[],string[],string)": "b67187f3", - "assertNotEq(uint256,uint256)": "b7909320", - "assertNotEq(uint256,uint256,string)": "98f9bdbd", - "assertNotEq(uint256[],uint256[])": "56f29cba", - "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", - "assertNotEqDecimal(int256,int256,uint256)": "14e75680", - "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", - "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", - "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", - "assertTrue(bool)": "0c9fd581", - "assertTrue(bool,string)": "a34edc03", - "assume(bool)": "4c63e562", - "breakpoint(string)": "f0259e92", - "breakpoint(string,bool)": "f7d39a8d", - "broadcast()": "afc98040", - "broadcast(address)": "e6962cdb", - "broadcast(uint256)": "f67a965b", - "chainId(uint256)": "4049ddd2", - "clearMockedCalls()": "3fdf4e15", - "closeFile(string)": "48c3241f", - "coinbase(address)": "ff483c54", - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreateAddress(address,uint256)": "74637a7a", - "copyFile(string,string)": "a54a87d8", - "createDir(string,bool)": "168b64d3", - "createFork(string)": "31ba3498", - "createFork(string,bytes32)": "7ca29682", - "createFork(string,uint256)": "6ba3ba2b", - "createSelectFork(string)": "98680034", - "createSelectFork(string,bytes32)": "84d52b7a", - "createSelectFork(string,uint256)": "71ee464d", - "createWallet(string)": "7404f1d2", - "createWallet(uint256)": "7a675bb6", - "createWallet(uint256,string)": "ed7c5462", - "deal(address,uint256)": "c88a5e6d", - "deleteSnapshot(uint256)": "a6368557", - "deleteSnapshots()": "421ae469", - "deriveKey(string,string,uint32)": "6bcb2c1b", - "deriveKey(string,string,uint32,string)": "29233b1f", - "deriveKey(string,uint32)": "6229498b", - "deriveKey(string,uint32,string)": "32c8176d", - "difficulty(uint256)": "46cc92d9", - "dumpState(string)": "709ecd3f", - "envAddress(string)": "350d56bf", - "envAddress(string,string)": "ad31b9fa", - "envBool(string)": "7ed1ec7d", - "envBool(string,string)": "aaaddeaf", - "envBytes(string)": "4d7baf06", - "envBytes(string,string)": "ddc2651b", - "envBytes32(string)": "97949042", - "envBytes32(string,string)": "5af231c1", - "envInt(string)": "892a0c61", - "envInt(string,string)": "42181150", - "envOr(string,address)": "561fe540", - "envOr(string,bool)": "4777f3cf", - "envOr(string,bytes)": "b3e47705", - "envOr(string,bytes32)": "b4a85892", - "envOr(string,int256)": "bbcb713e", - "envOr(string,string)": "d145736c", - "envOr(string,string,address[])": "c74e9deb", - "envOr(string,string,bool[])": "eb85e83b", - "envOr(string,string,bytes32[])": "2281f367", - "envOr(string,string,bytes[])": "64bc3e64", - "envOr(string,string,int256[])": "4700d74b", - "envOr(string,string,string[])": "859216bc", - "envOr(string,string,uint256[])": "74318528", - "envOr(string,uint256)": "5e97348f", - "envString(string)": "f877cb19", - "envString(string,string)": "14b02bc9", - "envUint(string)": "c1978d1f", - "envUint(string,string)": "f3dec099", - "etch(address,bytes)": "b4d6c782", - "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", - "exists(string)": "261a323e", - "expectCall(address,bytes)": "bd6af434", - "expectCall(address,bytes,uint64)": "c1adbbff", - "expectCall(address,uint256,bytes)": "f30c7ba3", - "expectCall(address,uint256,bytes,uint64)": "a2b1a1ae", - "expectCall(address,uint256,uint64,bytes)": "23361207", - "expectCall(address,uint256,uint64,bytes,uint64)": "65b7b7cc", - "expectCallMinGas(address,uint256,uint64,bytes)": "08e4e116", - "expectCallMinGas(address,uint256,uint64,bytes,uint64)": "e13a1834", - "expectEmit()": "440ed10d", - "expectEmit(address)": "86b9620d", - "expectEmit(bool,bool,bool,bool)": "491cc7c2", - "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", - "expectRevert()": "f4844814", - "expectRevert(bytes)": "f28dceb3", - "expectRevert(bytes4)": "c31eb0e0", - "expectSafeMemory(uint64,uint64)": "6d016688", - "expectSafeMemoryCall(uint64,uint64)": "05838bf4", - "fee(uint256)": "39b37ab0", - "ffi(string[])": "89160467", - "fsMetadata(string)": "af368a08", - "getBlockNumber()": "42cbb15c", - "getBlockTimestamp()": "796b89b9", - "getCode(string)": "8d1cc925", - "getDeployedCode(string)": "3ebf73b4", - "getLabel(address)": "28a249b0", - "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", - "getMappingLength(address,bytes32)": "2f2fd63f", - "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", - "getNonce((address,uint256,uint256,uint256))": "a5748aad", - "getNonce(address)": "2d0335ab", - "getRecordedLogs()": "191553a4", - "isDir(string)": "7d15d019", - "isFile(string)": "e0eb04d4", - "isPersistent(address)": "d92d8efd", - "keyExists(string,string)": "528a683c", - "keyExistsJson(string,string)": "db4235f6", - "keyExistsToml(string,string)": "600903ad", - "label(address,string)": "c657c718", - "load(address,bytes32)": "667f9d70", - "loadAllocs(string)": "b3a056d7", - "makePersistent(address)": "57e22dde", - "makePersistent(address,address)": "4074e0a8", - "makePersistent(address,address,address)": "efb77a75", - "makePersistent(address[])": "1d9e269e", - "mockCall(address,bytes,bytes)": "b96213e4", - "mockCall(address,uint256,bytes,bytes)": "81409b91", - "mockCallRevert(address,bytes,bytes)": "dbaad147", - "mockCallRevert(address,uint256,bytes,bytes)": "d23cd037", - "parseAddress(string)": "c6ce059d", - "parseBool(string)": "974ef924", - "parseBytes(string)": "8f5d232d", - "parseBytes32(string)": "087e6e81", - "parseInt(string)": "42346c5e", - "parseJson(string)": "6a82600a", - "parseJson(string,string)": "85940ef1", - "parseJsonAddress(string,string)": "1e19e657", - "parseJsonAddressArray(string,string)": "2fce7883", - "parseJsonBool(string,string)": "9f86dc91", - "parseJsonBoolArray(string,string)": "91f3b94f", - "parseJsonBytes(string,string)": "fd921be8", - "parseJsonBytes32(string,string)": "1777e59d", - "parseJsonBytes32Array(string,string)": "91c75bc3", - "parseJsonBytesArray(string,string)": "6631aa99", - "parseJsonInt(string,string)": "7b048ccd", - "parseJsonIntArray(string,string)": "9983c28a", - "parseJsonKeys(string,string)": "213e4198", - "parseJsonString(string,string)": "49c4fac8", - "parseJsonStringArray(string,string)": "498fdcf4", - "parseJsonUint(string,string)": "addde2b6", - "parseJsonUintArray(string,string)": "522074ab", - "parseToml(string)": "592151f0", - "parseToml(string,string)": "37736e08", - "parseTomlAddress(string,string)": "65e7c844", - "parseTomlAddressArray(string,string)": "65c428e7", - "parseTomlBool(string,string)": "d30dced6", - "parseTomlBoolArray(string,string)": "127cfe9a", - "parseTomlBytes(string,string)": "d77bfdb9", - "parseTomlBytes32(string,string)": "8e214810", - "parseTomlBytes32Array(string,string)": "3e716f81", - "parseTomlBytesArray(string,string)": "b197c247", - "parseTomlInt(string,string)": "c1350739", - "parseTomlIntArray(string,string)": "d3522ae6", - "parseTomlKeys(string,string)": "812a44b2", - "parseTomlString(string,string)": "8bb8dd43", - "parseTomlStringArray(string,string)": "9f629281", - "parseTomlUint(string,string)": "cc7b0487", - "parseTomlUintArray(string,string)": "b5df27c8", - "parseUint(string)": "fa91454d", - "pauseGasMetering()": "d1a5b36f", - "prank(address)": "ca669fa7", - "prank(address,address)": "47e50cce", - "prevrandao(bytes32)": "3b925549", - "projectRoot()": "d930a0e6", - "readCallers()": "4ad0bac9", - "readDir(string)": "c4bc59e0", - "readDir(string,uint64)": "1497876c", - "readDir(string,uint64,bool)": "8102d70d", - "readFile(string)": "60f9bb11", - "readFileBinary(string)": "16ed7bc4", - "readLine(string)": "70f55728", - "readLink(string)": "9f5684a2", - "record()": "266cf109", - "recordLogs()": "41af2f52", - "rememberKey(uint256)": "22100064", - "removeDir(string,bool)": "45c62011", - "removeFile(string)": "f1afe04d", - "replace(string,string,string)": "e00ad03e", - "resetNonce(address)": "1c72346d", - "resumeGasMetering()": "2bcd50e0", - "revertTo(uint256)": "44d7f0a4", - "revertToAndDelete(uint256)": "03e0aca9", - "revokePersistent(address)": "997a0222", - "revokePersistent(address[])": "3ce969e6", - "roll(uint256)": "1f7b4f30", - "rollFork(bytes32)": "0f29772b", - "rollFork(uint256)": "d9bbf3a1", - "rollFork(uint256,bytes32)": "f2830f7b", - "rollFork(uint256,uint256)": "d74c83a4", - "rpc(string,string)": "1206c8a8", - "rpcUrl(string)": "975a6ce9", - "rpcUrlStructs()": "9d2ad72a", - "rpcUrls()": "a85a8418", - "selectFork(uint256)": "9ebf6827", - "serializeAddress(string,string,address)": "972c6062", - "serializeAddress(string,string,address[])": "1e356e1a", - "serializeBool(string,string,bool)": "ac22e971", - "serializeBool(string,string,bool[])": "92925aa1", - "serializeBytes(string,string,bytes)": "f21d52c7", - "serializeBytes(string,string,bytes[])": "9884b232", - "serializeBytes32(string,string,bytes32)": "2d812b44", - "serializeBytes32(string,string,bytes32[])": "201e43e2", - "serializeInt(string,string,int256)": "3f33db60", - "serializeInt(string,string,int256[])": "7676e127", - "serializeJson(string,string)": "9b3358b0", - "serializeString(string,string,string)": "88da6d35", - "serializeString(string,string,string[])": "561cd6f3", - "serializeUint(string,string,uint256)": "129e9002", - "serializeUint(string,string,uint256[])": "fee9a469", - "setEnv(string,string)": "3d5923ee", - "setNonce(address,uint64)": "f8e18b57", - "setNonceUnsafe(address,uint64)": "9b67b21c", - "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", - "sign(uint256,bytes32)": "e341eaa4", - "signP256(uint256,bytes32)": "83211b40", - "skip(bool)": "dd82d13e", - "sleep(uint256)": "fa9d8713", - "snapshot()": "9711715a", - "split(string,string)": "8bb75533", - "startBroadcast()": "7fb5297f", - "startBroadcast(address)": "7fec2a8d", - "startBroadcast(uint256)": "ce817d47", - "startMappingRecording()": "3e9705c0", - "startPrank(address)": "06447d56", - "startPrank(address,address)": "45b56078", - "startStateDiffRecording()": "cf22e3c9", - "stopAndReturnStateDiff()": "aa5cf90e", - "stopBroadcast()": "76eadd36", - "stopExpectSafeMemory()": "0956441b", - "stopMappingRecording()": "0d4aae9b", - "stopPrank()": "90c5013b", - "store(address,bytes32,bytes32)": "70ca10bb", - "toBase64(bytes)": "a5cbfe65", - "toBase64(string)": "3f8be2c8", - "toBase64URL(bytes)": "c8bd0e4a", - "toBase64URL(string)": "ae3165b3", - "toLowercase(string)": "50bb0884", - "toString(address)": "56ca623e", - "toString(bool)": "71dce7da", - "toString(bytes)": "71aad10d", - "toString(bytes32)": "b11a19e8", - "toString(int256)": "a322c40e", - "toString(uint256)": "6900a3ae", - "toUppercase(string)": "074ae3d7", - "transact(bytes32)": "be646da1", - "transact(uint256,bytes32)": "4d8abc4b", - "trim(string)": "b2dad155", - "tryFfi(string[])": "f45c1ce7", - "txGasPrice(uint256)": "48f50c0f", - "unixTime()": "625387dc", - "warp(uint256)": "e5d6bf02", - "writeFile(string,string)": "897e0a97", - "writeFileBinary(string,bytes)": "1f21fc80", - "writeJson(string,string)": "e23cd19f", - "writeJson(string,string,string)": "35d6ad46", - "writeLine(string,string)": "619d897f", - "writeToml(string,string)": "c0865ba7", - "writeToml(string,string,string)": "51ac6a33" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts b/packages/hyperdrive-artifacts/dist/VmSafe.d.ts deleted file mode 100644 index 7ace9e089..000000000 --- a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts +++ /dev/null @@ -1,5609 +0,0 @@ -export declare const VmSafe: { - abi: readonly [{ - readonly type: "function"; - readonly name: "accesses"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "readSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "writeSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addr"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assume"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "copyFile"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "copied"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "eth_getLogs"; - readonly inputs: readonly [{ - readonly name: "fromBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "toBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.EthGetLogs[]"; - readonly components: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "blockNumber"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "transactionHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "transactionIndex"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "logIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "removed"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "exists"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ffi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fsMetadata"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "metadata"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FsMetadata"; - readonly components: readonly [{ - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "readOnly"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "modified"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "accessed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "created"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockNumber"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "height"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockTimestamp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "creationBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployedCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "runtimeBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLabel"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "currentLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMappingKeyAndParentOf"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "elementSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "found"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "parent"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingLength"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingSlotAt"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "idx"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getRecordedLogs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Log[]"; - readonly components: readonly [{ - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "keyExists"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "label"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "parseAddress"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBool"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes32"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseInt"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddress"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddressArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBool"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBoolArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32Array"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytesArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonInt"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonIntArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonKeys"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonString"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonStringArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUint"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUintArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddress"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddressArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBool"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBoolArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32Array"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytesArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlInt"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlIntArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlKeys"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlString"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlStringArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUint"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUintArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseUint"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "pauseGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "projectRoot"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "followLinks"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "line"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLink"; - readonly inputs: readonly [{ - readonly name: "linkPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "targetPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "record"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "recordLogs"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rememberKey"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "replace"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "resumeGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpc"; - readonly inputs: readonly [{ - readonly name: "method"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpcUrl"; - readonly inputs: readonly [{ - readonly name: "rpcAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrlStructs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Rpc[]"; - readonly components: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "url"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrls"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "string[2][]"; - readonly internalType: "string[2][]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeJson"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setEnv"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "signP256"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "sleep"; - readonly inputs: readonly [{ - readonly name: "duration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "split"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delimiter"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "outputs"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startStateDiffRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopAndReturnStateDiff"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "accountAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.AccountAccess[]"; - readonly components: readonly [{ - readonly name: "chainInfo"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.ChainInfo"; - readonly components: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "chainId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "kind"; - readonly type: "uint8"; - readonly internalType: "enum VmSafe.AccountAccessKind"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accessor"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "initialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "oldBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "newBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deployedCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "storageAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.StorageAccess[]"; - readonly components: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "isWrite"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "previousValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toLowercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUppercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "trim"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "tryFfi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FfiResult"; - readonly components: readonly [{ - readonly name: "exitCode"; - readonly type: "int32"; - readonly internalType: "int32"; - }, { - readonly name: "stdout"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "stderr"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "unixTime"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "milliseconds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "accesses(address)": "65bc9481"; - readonly "addr(uint256)": "ffa18649"; - readonly "assertApproxEqAbs(int256,int256,uint256)": "240f839d"; - readonly "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621"; - readonly "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6"; - readonly "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2"; - readonly "assertApproxEqRel(int256,int256,uint256)": "fea2d14f"; - readonly "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72"; - readonly "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4"; - readonly "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd"; - readonly "assertEq(address,address)": "515361f6"; - readonly "assertEq(address,address,string)": "2f2769d1"; - readonly "assertEq(address[],address[])": "3868ac34"; - readonly "assertEq(address[],address[],string)": "3e9173c5"; - readonly "assertEq(bool,bool)": "f7fe3477"; - readonly "assertEq(bool,bool,string)": "4db19e7e"; - readonly "assertEq(bool[],bool[])": "707df785"; - readonly "assertEq(bool[],bool[],string)": "e48a8f8d"; - readonly "assertEq(bytes,bytes)": "97624631"; - readonly "assertEq(bytes,bytes,string)": "e24fed00"; - readonly "assertEq(bytes32,bytes32)": "7c84c69b"; - readonly "assertEq(bytes32,bytes32,string)": "c1fa1ed0"; - readonly "assertEq(bytes32[],bytes32[])": "0cc9ee84"; - readonly "assertEq(bytes32[],bytes32[],string)": "e03e9177"; - readonly "assertEq(bytes[],bytes[])": "e5fb9b4a"; - readonly "assertEq(bytes[],bytes[],string)": "f413f0b6"; - readonly "assertEq(int256,int256)": "fe74f05b"; - readonly "assertEq(int256,int256,string)": "714a2f13"; - readonly "assertEq(int256[],int256[])": "711043ac"; - readonly "assertEq(int256[],int256[],string)": "191f1b30"; - readonly "assertEq(string,string)": "f320d963"; - readonly "assertEq(string,string,string)": "36f656d8"; - readonly "assertEq(string[],string[])": "cf1c049c"; - readonly "assertEq(string[],string[],string)": "eff6b27d"; - readonly "assertEq(uint256,uint256)": "98296c54"; - readonly "assertEq(uint256,uint256,string)": "88b44c85"; - readonly "assertEq(uint256[],uint256[])": "975d5a12"; - readonly "assertEq(uint256[],uint256[],string)": "5d18c73a"; - readonly "assertEqDecimal(int256,int256,uint256)": "48016c04"; - readonly "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5"; - readonly "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c"; - readonly "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef"; - readonly "assertFalse(bool)": "a5982885"; - readonly "assertFalse(bool,string)": "7ba04809"; - readonly "assertGe(int256,int256)": "0a30b771"; - readonly "assertGe(int256,int256,string)": "a84328dd"; - readonly "assertGe(uint256,uint256)": "a8d4d1d9"; - readonly "assertGe(uint256,uint256,string)": "e25242c0"; - readonly "assertGeDecimal(int256,int256,uint256)": "dc28c0f1"; - readonly "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b"; - readonly "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a"; - readonly "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133"; - readonly "assertGt(int256,int256)": "5a362d45"; - readonly "assertGt(int256,int256,string)": "f8d33b9b"; - readonly "assertGt(uint256,uint256)": "db07fcd2"; - readonly "assertGt(uint256,uint256,string)": "d9a3c4d2"; - readonly "assertGtDecimal(int256,int256,uint256)": "78611f0e"; - readonly "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab"; - readonly "assertGtDecimal(uint256,uint256,uint256)": "eccd2437"; - readonly "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d"; - readonly "assertLe(int256,int256)": "95fd154e"; - readonly "assertLe(int256,int256,string)": "4dfe692c"; - readonly "assertLe(uint256,uint256)": "8466f415"; - readonly "assertLe(uint256,uint256,string)": "d17d4b0d"; - readonly "assertLeDecimal(int256,int256,uint256)": "11d1364a"; - readonly "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788"; - readonly "assertLeDecimal(uint256,uint256,uint256)": "c304aab7"; - readonly "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0"; - readonly "assertLt(int256,int256)": "3e914080"; - readonly "assertLt(int256,int256,string)": "9ff531e3"; - readonly "assertLt(uint256,uint256)": "b12fc005"; - readonly "assertLt(uint256,uint256,string)": "65d5c135"; - readonly "assertLtDecimal(int256,int256,uint256)": "dbe8d88b"; - readonly "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0"; - readonly "assertLtDecimal(uint256,uint256,uint256)": "2077337e"; - readonly "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037"; - readonly "assertNotEq(address,address)": "b12e1694"; - readonly "assertNotEq(address,address,string)": "8775a591"; - readonly "assertNotEq(address[],address[])": "46d0b252"; - readonly "assertNotEq(address[],address[],string)": "72c7e0b5"; - readonly "assertNotEq(bool,bool)": "236e4d66"; - readonly "assertNotEq(bool,bool,string)": "1091a261"; - readonly "assertNotEq(bool[],bool[])": "286fafea"; - readonly "assertNotEq(bool[],bool[],string)": "62c6f9fb"; - readonly "assertNotEq(bytes,bytes)": "3cf78e28"; - readonly "assertNotEq(bytes,bytes,string)": "9507540e"; - readonly "assertNotEq(bytes32,bytes32)": "898e83fc"; - readonly "assertNotEq(bytes32,bytes32,string)": "b2332f51"; - readonly "assertNotEq(bytes32[],bytes32[])": "0603ea68"; - readonly "assertNotEq(bytes32[],bytes32[],string)": "b873634c"; - readonly "assertNotEq(bytes[],bytes[])": "edecd035"; - readonly "assertNotEq(bytes[],bytes[],string)": "1dcd1f68"; - readonly "assertNotEq(int256,int256)": "f4c004e3"; - readonly "assertNotEq(int256,int256,string)": "4724c5b9"; - readonly "assertNotEq(int256[],int256[])": "0b72f4ef"; - readonly "assertNotEq(int256[],int256[],string)": "d3977322"; - readonly "assertNotEq(string,string)": "6a8237b3"; - readonly "assertNotEq(string,string,string)": "78bdcea7"; - readonly "assertNotEq(string[],string[])": "bdfacbe8"; - readonly "assertNotEq(string[],string[],string)": "b67187f3"; - readonly "assertNotEq(uint256,uint256)": "b7909320"; - readonly "assertNotEq(uint256,uint256,string)": "98f9bdbd"; - readonly "assertNotEq(uint256[],uint256[])": "56f29cba"; - readonly "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f"; - readonly "assertNotEqDecimal(int256,int256,uint256)": "14e75680"; - readonly "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b"; - readonly "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7"; - readonly "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558"; - readonly "assertTrue(bool)": "0c9fd581"; - readonly "assertTrue(bool,string)": "a34edc03"; - readonly "assume(bool)": "4c63e562"; - readonly "breakpoint(string)": "f0259e92"; - readonly "breakpoint(string,bool)": "f7d39a8d"; - readonly "broadcast()": "afc98040"; - readonly "broadcast(address)": "e6962cdb"; - readonly "broadcast(uint256)": "f67a965b"; - readonly "closeFile(string)": "48c3241f"; - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "copyFile(string,string)": "a54a87d8"; - readonly "createDir(string,bool)": "168b64d3"; - readonly "createWallet(string)": "7404f1d2"; - readonly "createWallet(uint256)": "7a675bb6"; - readonly "createWallet(uint256,string)": "ed7c5462"; - readonly "deriveKey(string,string,uint32)": "6bcb2c1b"; - readonly "deriveKey(string,string,uint32,string)": "29233b1f"; - readonly "deriveKey(string,uint32)": "6229498b"; - readonly "deriveKey(string,uint32,string)": "32c8176d"; - readonly "envAddress(string)": "350d56bf"; - readonly "envAddress(string,string)": "ad31b9fa"; - readonly "envBool(string)": "7ed1ec7d"; - readonly "envBool(string,string)": "aaaddeaf"; - readonly "envBytes(string)": "4d7baf06"; - readonly "envBytes(string,string)": "ddc2651b"; - readonly "envBytes32(string)": "97949042"; - readonly "envBytes32(string,string)": "5af231c1"; - readonly "envInt(string)": "892a0c61"; - readonly "envInt(string,string)": "42181150"; - readonly "envOr(string,address)": "561fe540"; - readonly "envOr(string,bool)": "4777f3cf"; - readonly "envOr(string,bytes)": "b3e47705"; - readonly "envOr(string,bytes32)": "b4a85892"; - readonly "envOr(string,int256)": "bbcb713e"; - readonly "envOr(string,string)": "d145736c"; - readonly "envOr(string,string,address[])": "c74e9deb"; - readonly "envOr(string,string,bool[])": "eb85e83b"; - readonly "envOr(string,string,bytes32[])": "2281f367"; - readonly "envOr(string,string,bytes[])": "64bc3e64"; - readonly "envOr(string,string,int256[])": "4700d74b"; - readonly "envOr(string,string,string[])": "859216bc"; - readonly "envOr(string,string,uint256[])": "74318528"; - readonly "envOr(string,uint256)": "5e97348f"; - readonly "envString(string)": "f877cb19"; - readonly "envString(string,string)": "14b02bc9"; - readonly "envUint(string)": "c1978d1f"; - readonly "envUint(string,string)": "f3dec099"; - readonly "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b"; - readonly "exists(string)": "261a323e"; - readonly "ffi(string[])": "89160467"; - readonly "fsMetadata(string)": "af368a08"; - readonly "getBlockNumber()": "42cbb15c"; - readonly "getBlockTimestamp()": "796b89b9"; - readonly "getCode(string)": "8d1cc925"; - readonly "getDeployedCode(string)": "3ebf73b4"; - readonly "getLabel(address)": "28a249b0"; - readonly "getMappingKeyAndParentOf(address,bytes32)": "876e24e6"; - readonly "getMappingLength(address,bytes32)": "2f2fd63f"; - readonly "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4"; - readonly "getNonce((address,uint256,uint256,uint256))": "a5748aad"; - readonly "getNonce(address)": "2d0335ab"; - readonly "getRecordedLogs()": "191553a4"; - readonly "isDir(string)": "7d15d019"; - readonly "isFile(string)": "e0eb04d4"; - readonly "keyExists(string,string)": "528a683c"; - readonly "keyExistsJson(string,string)": "db4235f6"; - readonly "keyExistsToml(string,string)": "600903ad"; - readonly "label(address,string)": "c657c718"; - readonly "load(address,bytes32)": "667f9d70"; - readonly "parseAddress(string)": "c6ce059d"; - readonly "parseBool(string)": "974ef924"; - readonly "parseBytes(string)": "8f5d232d"; - readonly "parseBytes32(string)": "087e6e81"; - readonly "parseInt(string)": "42346c5e"; - readonly "parseJson(string)": "6a82600a"; - readonly "parseJson(string,string)": "85940ef1"; - readonly "parseJsonAddress(string,string)": "1e19e657"; - readonly "parseJsonAddressArray(string,string)": "2fce7883"; - readonly "parseJsonBool(string,string)": "9f86dc91"; - readonly "parseJsonBoolArray(string,string)": "91f3b94f"; - readonly "parseJsonBytes(string,string)": "fd921be8"; - readonly "parseJsonBytes32(string,string)": "1777e59d"; - readonly "parseJsonBytes32Array(string,string)": "91c75bc3"; - readonly "parseJsonBytesArray(string,string)": "6631aa99"; - readonly "parseJsonInt(string,string)": "7b048ccd"; - readonly "parseJsonIntArray(string,string)": "9983c28a"; - readonly "parseJsonKeys(string,string)": "213e4198"; - readonly "parseJsonString(string,string)": "49c4fac8"; - readonly "parseJsonStringArray(string,string)": "498fdcf4"; - readonly "parseJsonUint(string,string)": "addde2b6"; - readonly "parseJsonUintArray(string,string)": "522074ab"; - readonly "parseToml(string)": "592151f0"; - readonly "parseToml(string,string)": "37736e08"; - readonly "parseTomlAddress(string,string)": "65e7c844"; - readonly "parseTomlAddressArray(string,string)": "65c428e7"; - readonly "parseTomlBool(string,string)": "d30dced6"; - readonly "parseTomlBoolArray(string,string)": "127cfe9a"; - readonly "parseTomlBytes(string,string)": "d77bfdb9"; - readonly "parseTomlBytes32(string,string)": "8e214810"; - readonly "parseTomlBytes32Array(string,string)": "3e716f81"; - readonly "parseTomlBytesArray(string,string)": "b197c247"; - readonly "parseTomlInt(string,string)": "c1350739"; - readonly "parseTomlIntArray(string,string)": "d3522ae6"; - readonly "parseTomlKeys(string,string)": "812a44b2"; - readonly "parseTomlString(string,string)": "8bb8dd43"; - readonly "parseTomlStringArray(string,string)": "9f629281"; - readonly "parseTomlUint(string,string)": "cc7b0487"; - readonly "parseTomlUintArray(string,string)": "b5df27c8"; - readonly "parseUint(string)": "fa91454d"; - readonly "pauseGasMetering()": "d1a5b36f"; - readonly "projectRoot()": "d930a0e6"; - readonly "readDir(string)": "c4bc59e0"; - readonly "readDir(string,uint64)": "1497876c"; - readonly "readDir(string,uint64,bool)": "8102d70d"; - readonly "readFile(string)": "60f9bb11"; - readonly "readFileBinary(string)": "16ed7bc4"; - readonly "readLine(string)": "70f55728"; - readonly "readLink(string)": "9f5684a2"; - readonly "record()": "266cf109"; - readonly "recordLogs()": "41af2f52"; - readonly "rememberKey(uint256)": "22100064"; - readonly "removeDir(string,bool)": "45c62011"; - readonly "removeFile(string)": "f1afe04d"; - readonly "replace(string,string,string)": "e00ad03e"; - readonly "resumeGasMetering()": "2bcd50e0"; - readonly "rpc(string,string)": "1206c8a8"; - readonly "rpcUrl(string)": "975a6ce9"; - readonly "rpcUrlStructs()": "9d2ad72a"; - readonly "rpcUrls()": "a85a8418"; - readonly "serializeAddress(string,string,address)": "972c6062"; - readonly "serializeAddress(string,string,address[])": "1e356e1a"; - readonly "serializeBool(string,string,bool)": "ac22e971"; - readonly "serializeBool(string,string,bool[])": "92925aa1"; - readonly "serializeBytes(string,string,bytes)": "f21d52c7"; - readonly "serializeBytes(string,string,bytes[])": "9884b232"; - readonly "serializeBytes32(string,string,bytes32)": "2d812b44"; - readonly "serializeBytes32(string,string,bytes32[])": "201e43e2"; - readonly "serializeInt(string,string,int256)": "3f33db60"; - readonly "serializeInt(string,string,int256[])": "7676e127"; - readonly "serializeJson(string,string)": "9b3358b0"; - readonly "serializeString(string,string,string)": "88da6d35"; - readonly "serializeString(string,string,string[])": "561cd6f3"; - readonly "serializeUint(string,string,uint256)": "129e9002"; - readonly "serializeUint(string,string,uint256[])": "fee9a469"; - readonly "setEnv(string,string)": "3d5923ee"; - readonly "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25"; - readonly "sign(uint256,bytes32)": "e341eaa4"; - readonly "signP256(uint256,bytes32)": "83211b40"; - readonly "sleep(uint256)": "fa9d8713"; - readonly "split(string,string)": "8bb75533"; - readonly "startBroadcast()": "7fb5297f"; - readonly "startBroadcast(address)": "7fec2a8d"; - readonly "startBroadcast(uint256)": "ce817d47"; - readonly "startMappingRecording()": "3e9705c0"; - readonly "startStateDiffRecording()": "cf22e3c9"; - readonly "stopAndReturnStateDiff()": "aa5cf90e"; - readonly "stopBroadcast()": "76eadd36"; - readonly "stopMappingRecording()": "0d4aae9b"; - readonly "toBase64(bytes)": "a5cbfe65"; - readonly "toBase64(string)": "3f8be2c8"; - readonly "toBase64URL(bytes)": "c8bd0e4a"; - readonly "toBase64URL(string)": "ae3165b3"; - readonly "toLowercase(string)": "50bb0884"; - readonly "toString(address)": "56ca623e"; - readonly "toString(bool)": "71dce7da"; - readonly "toString(bytes)": "71aad10d"; - readonly "toString(bytes32)": "b11a19e8"; - readonly "toString(int256)": "a322c40e"; - readonly "toString(uint256)": "6900a3ae"; - readonly "toUppercase(string)": "074ae3d7"; - readonly "trim(string)": "b2dad155"; - readonly "tryFfi(string[])": "f45c1ce7"; - readonly "unixTime()": "625387dc"; - readonly "writeFile(string,string)": "897e0a97"; - readonly "writeFileBinary(string,bytes)": "1f21fc80"; - readonly "writeJson(string,string)": "e23cd19f"; - readonly "writeJson(string,string,string)": "35d6ad46"; - readonly "writeLine(string,string)": "619d897f"; - readonly "writeToml(string,string)": "c0865ba7"; - readonly "writeToml(string,string,string)": "51ac6a33"; - }; -}; -//# sourceMappingURL=VmSafe.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map b/packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map deleted file mode 100644 index 18e3464e7..000000000 --- a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"VmSafe.d.ts","sourceRoot":"","sources":["../src/VmSafe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+wNC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ShC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VmSafe.js b/packages/hyperdrive-artifacts/dist/VmSafe.js deleted file mode 100644 index fe1cd3bc9..000000000 --- a/packages/hyperdrive-artifacts/dist/VmSafe.js +++ /dev/null @@ -1,7229 +0,0 @@ -export const VmSafe = { - abi: [ - { - "type": "function", - "name": "accesses", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "readSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "writeSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addr", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assume", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "copyFile", - "inputs": [ - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "copied", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "eth_getLogs", - "inputs": [ - { - "name": "fromBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "toBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.EthGetLogs[]", - "components": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "blockNumber", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "transactionIndex", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "logIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "removed", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "exists", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ffi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fsMetadata", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "metadata", - "type": "tuple", - "internalType": "struct VmSafe.FsMetadata", - "components": [ - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - }, - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "readOnly", - "type": "bool", - "internalType": "bool" - }, - { - "name": "modified", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "accessed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "created", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockNumber", - "inputs": [], - "outputs": [ - { - "name": "height", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockTimestamp", - "inputs": [], - "outputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "creationBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployedCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "runtimeBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLabel", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "currentLabel", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMappingKeyAndParentOf", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "elementSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "found", - "type": "bool", - "internalType": "bool" - }, - { - "name": "key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "parent", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingLength", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingSlotAt", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "idx", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getRecordedLogs", - "inputs": [], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.Log[]", - "components": [ - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "keyExists", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "label", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "parseAddress", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBool", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes32", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseInt", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddress", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddressArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBool", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBoolArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32Array", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytesArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonInt", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonIntArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonKeys", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonString", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonStringArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUint", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUintArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddress", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddressArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBool", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBoolArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32Array", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytesArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlInt", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlIntArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlKeys", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlString", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlStringArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUint", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUintArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseUint", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "pauseGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "projectRoot", - "inputs": [], - "outputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "followLinks", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "line", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLink", - "inputs": [ - { - "name": "linkPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "targetPath", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "record", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recordLogs", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rememberKey", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "replace", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "resumeGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpc", - "inputs": [ - { - "name": "method", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpcUrl", - "inputs": [ - { - "name": "rpcAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrlStructs", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "tuple[]", - "internalType": "struct VmSafe.Rpc[]", - "components": [ - { - "name": "key", - "type": "string", - "internalType": "string" - }, - { - "name": "url", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrls", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "string[2][]", - "internalType": "string[2][]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeJson", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setEnv", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "signP256", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "sleep", - "inputs": [ - { - "name": "duration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "split", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "delimiter", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "outputs", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startStateDiffRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopAndReturnStateDiff", - "inputs": [], - "outputs": [ - { - "name": "accountAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.AccountAccess[]", - "components": [ - { - "name": "chainInfo", - "type": "tuple", - "internalType": "struct VmSafe.ChainInfo", - "components": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "chainId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "kind", - "type": "uint8", - "internalType": "enum VmSafe.AccountAccessKind" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "accessor", - "type": "address", - "internalType": "address" - }, - { - "name": "initialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "oldBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "newBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deployedCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - }, - { - "name": "storageAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.StorageAccess[]", - "components": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "isWrite", - "type": "bool", - "internalType": "bool" - }, - { - "name": "previousValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - } - ] - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toLowercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUppercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "trim", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "tryFfi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "tuple", - "internalType": "struct VmSafe.FfiResult", - "components": [ - { - "name": "exitCode", - "type": "int32", - "internalType": "int32" - }, - { - "name": "stdout", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "stderr", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unixTime", - "inputs": [], - "outputs": [ - { - "name": "milliseconds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "accesses(address)": "65bc9481", - "addr(uint256)": "ffa18649", - "assertApproxEqAbs(int256,int256,uint256)": "240f839d", - "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", - "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", - "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", - "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", - "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", - "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", - "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", - "assertEq(address,address)": "515361f6", - "assertEq(address,address,string)": "2f2769d1", - "assertEq(address[],address[])": "3868ac34", - "assertEq(address[],address[],string)": "3e9173c5", - "assertEq(bool,bool)": "f7fe3477", - "assertEq(bool,bool,string)": "4db19e7e", - "assertEq(bool[],bool[])": "707df785", - "assertEq(bool[],bool[],string)": "e48a8f8d", - "assertEq(bytes,bytes)": "97624631", - "assertEq(bytes,bytes,string)": "e24fed00", - "assertEq(bytes32,bytes32)": "7c84c69b", - "assertEq(bytes32,bytes32,string)": "c1fa1ed0", - "assertEq(bytes32[],bytes32[])": "0cc9ee84", - "assertEq(bytes32[],bytes32[],string)": "e03e9177", - "assertEq(bytes[],bytes[])": "e5fb9b4a", - "assertEq(bytes[],bytes[],string)": "f413f0b6", - "assertEq(int256,int256)": "fe74f05b", - "assertEq(int256,int256,string)": "714a2f13", - "assertEq(int256[],int256[])": "711043ac", - "assertEq(int256[],int256[],string)": "191f1b30", - "assertEq(string,string)": "f320d963", - "assertEq(string,string,string)": "36f656d8", - "assertEq(string[],string[])": "cf1c049c", - "assertEq(string[],string[],string)": "eff6b27d", - "assertEq(uint256,uint256)": "98296c54", - "assertEq(uint256,uint256,string)": "88b44c85", - "assertEq(uint256[],uint256[])": "975d5a12", - "assertEq(uint256[],uint256[],string)": "5d18c73a", - "assertEqDecimal(int256,int256,uint256)": "48016c04", - "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", - "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", - "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", - "assertFalse(bool)": "a5982885", - "assertFalse(bool,string)": "7ba04809", - "assertGe(int256,int256)": "0a30b771", - "assertGe(int256,int256,string)": "a84328dd", - "assertGe(uint256,uint256)": "a8d4d1d9", - "assertGe(uint256,uint256,string)": "e25242c0", - "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", - "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", - "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", - "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", - "assertGt(int256,int256)": "5a362d45", - "assertGt(int256,int256,string)": "f8d33b9b", - "assertGt(uint256,uint256)": "db07fcd2", - "assertGt(uint256,uint256,string)": "d9a3c4d2", - "assertGtDecimal(int256,int256,uint256)": "78611f0e", - "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", - "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", - "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", - "assertLe(int256,int256)": "95fd154e", - "assertLe(int256,int256,string)": "4dfe692c", - "assertLe(uint256,uint256)": "8466f415", - "assertLe(uint256,uint256,string)": "d17d4b0d", - "assertLeDecimal(int256,int256,uint256)": "11d1364a", - "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", - "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", - "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", - "assertLt(int256,int256)": "3e914080", - "assertLt(int256,int256,string)": "9ff531e3", - "assertLt(uint256,uint256)": "b12fc005", - "assertLt(uint256,uint256,string)": "65d5c135", - "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", - "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", - "assertLtDecimal(uint256,uint256,uint256)": "2077337e", - "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", - "assertNotEq(address,address)": "b12e1694", - "assertNotEq(address,address,string)": "8775a591", - "assertNotEq(address[],address[])": "46d0b252", - "assertNotEq(address[],address[],string)": "72c7e0b5", - "assertNotEq(bool,bool)": "236e4d66", - "assertNotEq(bool,bool,string)": "1091a261", - "assertNotEq(bool[],bool[])": "286fafea", - "assertNotEq(bool[],bool[],string)": "62c6f9fb", - "assertNotEq(bytes,bytes)": "3cf78e28", - "assertNotEq(bytes,bytes,string)": "9507540e", - "assertNotEq(bytes32,bytes32)": "898e83fc", - "assertNotEq(bytes32,bytes32,string)": "b2332f51", - "assertNotEq(bytes32[],bytes32[])": "0603ea68", - "assertNotEq(bytes32[],bytes32[],string)": "b873634c", - "assertNotEq(bytes[],bytes[])": "edecd035", - "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", - "assertNotEq(int256,int256)": "f4c004e3", - "assertNotEq(int256,int256,string)": "4724c5b9", - "assertNotEq(int256[],int256[])": "0b72f4ef", - "assertNotEq(int256[],int256[],string)": "d3977322", - "assertNotEq(string,string)": "6a8237b3", - "assertNotEq(string,string,string)": "78bdcea7", - "assertNotEq(string[],string[])": "bdfacbe8", - "assertNotEq(string[],string[],string)": "b67187f3", - "assertNotEq(uint256,uint256)": "b7909320", - "assertNotEq(uint256,uint256,string)": "98f9bdbd", - "assertNotEq(uint256[],uint256[])": "56f29cba", - "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", - "assertNotEqDecimal(int256,int256,uint256)": "14e75680", - "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", - "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", - "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", - "assertTrue(bool)": "0c9fd581", - "assertTrue(bool,string)": "a34edc03", - "assume(bool)": "4c63e562", - "breakpoint(string)": "f0259e92", - "breakpoint(string,bool)": "f7d39a8d", - "broadcast()": "afc98040", - "broadcast(address)": "e6962cdb", - "broadcast(uint256)": "f67a965b", - "closeFile(string)": "48c3241f", - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreateAddress(address,uint256)": "74637a7a", - "copyFile(string,string)": "a54a87d8", - "createDir(string,bool)": "168b64d3", - "createWallet(string)": "7404f1d2", - "createWallet(uint256)": "7a675bb6", - "createWallet(uint256,string)": "ed7c5462", - "deriveKey(string,string,uint32)": "6bcb2c1b", - "deriveKey(string,string,uint32,string)": "29233b1f", - "deriveKey(string,uint32)": "6229498b", - "deriveKey(string,uint32,string)": "32c8176d", - "envAddress(string)": "350d56bf", - "envAddress(string,string)": "ad31b9fa", - "envBool(string)": "7ed1ec7d", - "envBool(string,string)": "aaaddeaf", - "envBytes(string)": "4d7baf06", - "envBytes(string,string)": "ddc2651b", - "envBytes32(string)": "97949042", - "envBytes32(string,string)": "5af231c1", - "envInt(string)": "892a0c61", - "envInt(string,string)": "42181150", - "envOr(string,address)": "561fe540", - "envOr(string,bool)": "4777f3cf", - "envOr(string,bytes)": "b3e47705", - "envOr(string,bytes32)": "b4a85892", - "envOr(string,int256)": "bbcb713e", - "envOr(string,string)": "d145736c", - "envOr(string,string,address[])": "c74e9deb", - "envOr(string,string,bool[])": "eb85e83b", - "envOr(string,string,bytes32[])": "2281f367", - "envOr(string,string,bytes[])": "64bc3e64", - "envOr(string,string,int256[])": "4700d74b", - "envOr(string,string,string[])": "859216bc", - "envOr(string,string,uint256[])": "74318528", - "envOr(string,uint256)": "5e97348f", - "envString(string)": "f877cb19", - "envString(string,string)": "14b02bc9", - "envUint(string)": "c1978d1f", - "envUint(string,string)": "f3dec099", - "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", - "exists(string)": "261a323e", - "ffi(string[])": "89160467", - "fsMetadata(string)": "af368a08", - "getBlockNumber()": "42cbb15c", - "getBlockTimestamp()": "796b89b9", - "getCode(string)": "8d1cc925", - "getDeployedCode(string)": "3ebf73b4", - "getLabel(address)": "28a249b0", - "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", - "getMappingLength(address,bytes32)": "2f2fd63f", - "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", - "getNonce((address,uint256,uint256,uint256))": "a5748aad", - "getNonce(address)": "2d0335ab", - "getRecordedLogs()": "191553a4", - "isDir(string)": "7d15d019", - "isFile(string)": "e0eb04d4", - "keyExists(string,string)": "528a683c", - "keyExistsJson(string,string)": "db4235f6", - "keyExistsToml(string,string)": "600903ad", - "label(address,string)": "c657c718", - "load(address,bytes32)": "667f9d70", - "parseAddress(string)": "c6ce059d", - "parseBool(string)": "974ef924", - "parseBytes(string)": "8f5d232d", - "parseBytes32(string)": "087e6e81", - "parseInt(string)": "42346c5e", - "parseJson(string)": "6a82600a", - "parseJson(string,string)": "85940ef1", - "parseJsonAddress(string,string)": "1e19e657", - "parseJsonAddressArray(string,string)": "2fce7883", - "parseJsonBool(string,string)": "9f86dc91", - "parseJsonBoolArray(string,string)": "91f3b94f", - "parseJsonBytes(string,string)": "fd921be8", - "parseJsonBytes32(string,string)": "1777e59d", - "parseJsonBytes32Array(string,string)": "91c75bc3", - "parseJsonBytesArray(string,string)": "6631aa99", - "parseJsonInt(string,string)": "7b048ccd", - "parseJsonIntArray(string,string)": "9983c28a", - "parseJsonKeys(string,string)": "213e4198", - "parseJsonString(string,string)": "49c4fac8", - "parseJsonStringArray(string,string)": "498fdcf4", - "parseJsonUint(string,string)": "addde2b6", - "parseJsonUintArray(string,string)": "522074ab", - "parseToml(string)": "592151f0", - "parseToml(string,string)": "37736e08", - "parseTomlAddress(string,string)": "65e7c844", - "parseTomlAddressArray(string,string)": "65c428e7", - "parseTomlBool(string,string)": "d30dced6", - "parseTomlBoolArray(string,string)": "127cfe9a", - "parseTomlBytes(string,string)": "d77bfdb9", - "parseTomlBytes32(string,string)": "8e214810", - "parseTomlBytes32Array(string,string)": "3e716f81", - "parseTomlBytesArray(string,string)": "b197c247", - "parseTomlInt(string,string)": "c1350739", - "parseTomlIntArray(string,string)": "d3522ae6", - "parseTomlKeys(string,string)": "812a44b2", - "parseTomlString(string,string)": "8bb8dd43", - "parseTomlStringArray(string,string)": "9f629281", - "parseTomlUint(string,string)": "cc7b0487", - "parseTomlUintArray(string,string)": "b5df27c8", - "parseUint(string)": "fa91454d", - "pauseGasMetering()": "d1a5b36f", - "projectRoot()": "d930a0e6", - "readDir(string)": "c4bc59e0", - "readDir(string,uint64)": "1497876c", - "readDir(string,uint64,bool)": "8102d70d", - "readFile(string)": "60f9bb11", - "readFileBinary(string)": "16ed7bc4", - "readLine(string)": "70f55728", - "readLink(string)": "9f5684a2", - "record()": "266cf109", - "recordLogs()": "41af2f52", - "rememberKey(uint256)": "22100064", - "removeDir(string,bool)": "45c62011", - "removeFile(string)": "f1afe04d", - "replace(string,string,string)": "e00ad03e", - "resumeGasMetering()": "2bcd50e0", - "rpc(string,string)": "1206c8a8", - "rpcUrl(string)": "975a6ce9", - "rpcUrlStructs()": "9d2ad72a", - "rpcUrls()": "a85a8418", - "serializeAddress(string,string,address)": "972c6062", - "serializeAddress(string,string,address[])": "1e356e1a", - "serializeBool(string,string,bool)": "ac22e971", - "serializeBool(string,string,bool[])": "92925aa1", - "serializeBytes(string,string,bytes)": "f21d52c7", - "serializeBytes(string,string,bytes[])": "9884b232", - "serializeBytes32(string,string,bytes32)": "2d812b44", - "serializeBytes32(string,string,bytes32[])": "201e43e2", - "serializeInt(string,string,int256)": "3f33db60", - "serializeInt(string,string,int256[])": "7676e127", - "serializeJson(string,string)": "9b3358b0", - "serializeString(string,string,string)": "88da6d35", - "serializeString(string,string,string[])": "561cd6f3", - "serializeUint(string,string,uint256)": "129e9002", - "serializeUint(string,string,uint256[])": "fee9a469", - "setEnv(string,string)": "3d5923ee", - "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", - "sign(uint256,bytes32)": "e341eaa4", - "signP256(uint256,bytes32)": "83211b40", - "sleep(uint256)": "fa9d8713", - "split(string,string)": "8bb75533", - "startBroadcast()": "7fb5297f", - "startBroadcast(address)": "7fec2a8d", - "startBroadcast(uint256)": "ce817d47", - "startMappingRecording()": "3e9705c0", - "startStateDiffRecording()": "cf22e3c9", - "stopAndReturnStateDiff()": "aa5cf90e", - "stopBroadcast()": "76eadd36", - "stopMappingRecording()": "0d4aae9b", - "toBase64(bytes)": "a5cbfe65", - "toBase64(string)": "3f8be2c8", - "toBase64URL(bytes)": "c8bd0e4a", - "toBase64URL(string)": "ae3165b3", - "toLowercase(string)": "50bb0884", - "toString(address)": "56ca623e", - "toString(bool)": "71dce7da", - "toString(bytes)": "71aad10d", - "toString(bytes32)": "b11a19e8", - "toString(int256)": "a322c40e", - "toString(uint256)": "6900a3ae", - "toUppercase(string)": "074ae3d7", - "trim(string)": "b2dad155", - "tryFfi(string[])": "f45c1ce7", - "unixTime()": "625387dc", - "writeFile(string,string)": "897e0a97", - "writeFileBinary(string,bytes)": "1f21fc80", - "writeJson(string,string)": "e23cd19f", - "writeJson(string,string,string)": "35d6ad46", - "writeLine(string,string)": "619d897f", - "writeToml(string,string)": "c0865ba7", - "writeToml(string,string,string)": "51ac6a33" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts b/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts deleted file mode 100644 index 2e35b6869..000000000 --- a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const WadRayMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=WadRayMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map b/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map deleted file mode 100644 index b98f17c88..000000000 --- a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"WadRayMath.d.ts","sourceRoot":"","sources":["../src/WadRayMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/WadRayMath.js b/packages/hyperdrive-artifacts/dist/WadRayMath.js deleted file mode 100644 index 78850be4f..000000000 --- a/packages/hyperdrive-artifacts/dist/WadRayMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const WadRayMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e4e36dee321758970a50ba207d9b2dbcef9c3fe34162b30cf2428802e183803f64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts b/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts deleted file mode 100644 index 8376e50a8..000000000 --- a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const YieldSpaceMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=YieldSpaceMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map b/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map deleted file mode 100644 index 322b879d0..000000000 --- a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"YieldSpaceMath.d.ts","sourceRoot":"","sources":["../src/YieldSpaceMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.js b/packages/hyperdrive-artifacts/dist/YieldSpaceMath.js deleted file mode 100644 index 0e241fd2a..000000000 --- a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const YieldSpaceMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a690dac2b10c7f50c8f49f5696207e6ec98638bfd244c81b276d75cf503cff9764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/console.d.ts b/packages/hyperdrive-artifacts/dist/console.d.ts deleted file mode 100644 index f2f31dcae..000000000 --- a/packages/hyperdrive-artifacts/dist/console.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const console: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=console.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console.d.ts.map b/packages/hyperdrive-artifacts/dist/console.d.ts.map deleted file mode 100644 index 15a4d6803..000000000 --- a/packages/hyperdrive-artifacts/dist/console.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console.js b/packages/hyperdrive-artifacts/dist/console.js deleted file mode 100644 index 174ff7174..000000000 --- a/packages/hyperdrive-artifacts/dist/console.js +++ /dev/null @@ -1,5 +0,0 @@ -export const console = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ce24fb6998c488baf34dc5dcb235b417528a492b5e6b0ebc2b0085cbf79253fd64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/console2.d.ts b/packages/hyperdrive-artifacts/dist/console2.d.ts deleted file mode 100644 index 15f963e40..000000000 --- a/packages/hyperdrive-artifacts/dist/console2.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const console2: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=console2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console2.d.ts.map b/packages/hyperdrive-artifacts/dist/console2.d.ts.map deleted file mode 100644 index 6e78fbc19..000000000 --- a/packages/hyperdrive-artifacts/dist/console2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"console2.d.ts","sourceRoot":"","sources":["../src/console2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console2.js b/packages/hyperdrive-artifacts/dist/console2.js deleted file mode 100644 index 3db1297f6..000000000 --- a/packages/hyperdrive-artifacts/dist/console2.js +++ /dev/null @@ -1,5 +0,0 @@ -export const console2 = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202301753688608e1e83d99602a6bf1652675ab998b359db9c580d5688d4ebab6964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts b/packages/hyperdrive-artifacts/dist/safeconsole.d.ts deleted file mode 100644 index 93271f867..000000000 --- a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const safeconsole: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=safeconsole.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map b/packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map deleted file mode 100644 index db3316bfc..000000000 --- a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"safeconsole.d.ts","sourceRoot":"","sources":["../src/safeconsole.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;cAE0Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/safeconsole.js b/packages/hyperdrive-artifacts/dist/safeconsole.js deleted file mode 100644 index afecf250d..000000000 --- a/packages/hyperdrive-artifacts/dist/safeconsole.js +++ /dev/null @@ -1,5 +0,0 @@ -export const safeconsole = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122020d14503ffa71aaebd45a0d5d3c3f1537fae34e8d8b0244b44e47accf68ef76064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts b/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts deleted file mode 100644 index da8f2be04..000000000 --- a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -export declare const stdStorageSafe: { - abi: readonly [{ - readonly type: "event"; - readonly name: "SlotFound"; - readonly inputs: readonly [{ - readonly name: "who"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "fsig"; - readonly type: "bytes4"; - readonly indexed: false; - readonly internalType: "bytes4"; - }, { - readonly name: "keysHash"; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }, { - readonly name: "slot"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "WARNING_UninitedSlot"; - readonly inputs: readonly [{ - readonly name: "who"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdStorageSafe.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map b/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map deleted file mode 100644 index dbf63df79..000000000 --- a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdStorageSafe.d.ts","sourceRoot":"","sources":["../src/stdStorageSafe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqDuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdStorageSafe.js b/packages/hyperdrive-artifacts/dist/stdStorageSafe.js deleted file mode 100644 index 8986d9efe..000000000 --- a/packages/hyperdrive-artifacts/dist/stdStorageSafe.js +++ /dev/null @@ -1,56 +0,0 @@ -export const stdStorageSafe = { - abi: [ - { - "type": "event", - "name": "SlotFound", - "inputs": [ - { - "name": "who", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "fsig", - "type": "bytes4", - "indexed": false, - "internalType": "bytes4" - }, - { - "name": "keysHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - }, - { - "name": "slot", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "WARNING_UninitedSlot", - "inputs": [ - { - "name": "who", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "slot", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204cc1ab2cd6a604f15f9c4ce9584da51f090df0b197c7c615c311f23a31d5919b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/stdToml.d.ts b/packages/hyperdrive-artifacts/dist/stdToml.d.ts deleted file mode 100644 index a508c1507..000000000 --- a/packages/hyperdrive-artifacts/dist/stdToml.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdToml: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdToml.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdToml.d.ts.map b/packages/hyperdrive-artifacts/dist/stdToml.d.ts.map deleted file mode 100644 index 48cbfe9e8..000000000 --- a/packages/hyperdrive-artifacts/dist/stdToml.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdToml.d.ts","sourceRoot":"","sources":["../src/stdToml.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdToml.js b/packages/hyperdrive-artifacts/dist/stdToml.js deleted file mode 100644 index 2daae4434..000000000 --- a/packages/hyperdrive-artifacts/dist/stdToml.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdToml = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207ba9e2c3b107114be6d84156685ea16bb6c58fd8e32455dea1f3dca83ee44aca64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/package.json b/packages/hyperdrive-artifacts/package.json index ca65e22a8..74d4e1335 100644 --- a/packages/hyperdrive-artifacts/package.json +++ b/packages/hyperdrive-artifacts/package.json @@ -18,7 +18,8 @@ "./package.json": "./package.json" }, "scripts": { - "clone-and-build": "sh scripts/build.sh v1.0.20" + "generate": "sh scripts/generate.sh v1.0.20", + "build": "tsc --build" }, "devDependencies": { "@hyperdrive/tsconfig": "*", diff --git a/packages/hyperdrive-artifacts/scripts/build.sh b/packages/hyperdrive-artifacts/scripts/build.sh deleted file mode 100644 index f1e836f5b..000000000 --- a/packages/hyperdrive-artifacts/scripts/build.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash -set -e - -# SETTINGS -default_branch="main" -default_repo_url="git@github.com:delvtech/hyperdrive.git" -max_file_size=1000000 # 1MB - -# Check if forge is installed -if ! command -v forge &>/dev/null; then - echo "forge could not be found. Install forge to compile the contracts." - exit 1 -fi - -# Echo usage -echo "" -echo "+" -echo "| $0" -echo "| Clones the hyperdrive repo, compiles the contracts with forge, then creates and compiles" -echo "| typescript files from the contract artifacts." -echo "|" -echo "| Usage: $0 [branch] [repo_url]" -echo "|" -echo "| branch: The branch to clone. (default: $default_branch)" -echo "| repo_url: The url of the git repository to clone. (default: $default_repo_url)" -echo "+" -echo "" - -branch=${1:-$default_branch} -repo_url=${2:-$default_repo_url} -temp_dir=$(mktemp -d "hyperdrive-temp.XXXXXX") -src_dir="src" -dist_dir="dist" - -# Echo settings -echo "Branch: $branch" -echo "Repo URL: $repo_url" -echo "Max file size: $max_file_size bytes" -echo "" - -git clone --depth 1 "$repo_url" --branch "$branch" "$temp_dir" - -echo "Compiling contracts..." -( - cd "$temp_dir" - forge install - forge build --skip test --skip script -) - -echo "Creating typescript files..." - -# Reset the directories -rm -rf "$src_dir" -rm -rf "$dist_dir" -mkdir "$src_dir" -mkdir "$dist_dir" - -function processOutDir() { - local dir=$1 - for entry in "$dir"/*; do - - # Ignore test contract directories which end with ".t.sol" - if [[ "$entry" == *".t.sol" ]]; then - continue - fi - - # Recursively process directories - if [[ -d "$entry" ]]; then - processOutDir "$entry" - - # Process files - elif [[ -f "$entry" ]]; then - - # Get the name of the contract - local contract_name=$(basename "$entry" .json) - - # Omit contracts with "test"/"Test" in the name - if [[ "$contract_name" == *"test"* ]] || [[ "$contract_name" == *"Test"* ]]; then - continue - fi - - # Ignore the contract if the file is too large. This prevents TSC from - # throwing errors while trying to parse large files and prevents the - # script from processing files we probably don't want to be importing into - # our codebase. - local file_size=$(wc -c <"$entry") - if [ "$file_size" -gt "$max_file_size" ]; then - echo "WARNING: File $entry is too large ($(echo $file_size | tr -d ' ') bytes) and will be omitted." - continue - fi - - # Get the fields we care about - local abi=$(jq -r .abi <"$entry") - local bytecode=$(jq -r .bytecode.object <"$entry") - local methodIdentifiers=$(jq -r '.methodIdentifiers // "{}"' <"$entry") - - # Write the contract to a typescript file as a named export. - local out_file="$src_dir/$contract_name.ts" - { - echo "export const $contract_name = {" - echo " abi: $abi as const," - echo " bytecode: '$bytecode' as \`0x\${string}\`," - echo " methodIdentifiers: $methodIdentifiers as const" - echo "};" - } >"$out_file" - fi - done -} - -processOutDir "$temp_dir/out" - -echo "Compiling typescript files..." -tsc --outDir "$dist_dir" - -echo "Cleaning up..." -rm -rf "$temp_dir" -rm -rf "$src_dir" diff --git a/packages/hyperdrive-artifacts/scripts/generate.sh b/packages/hyperdrive-artifacts/scripts/generate.sh new file mode 100644 index 000000000..58ee66c4c --- /dev/null +++ b/packages/hyperdrive-artifacts/scripts/generate.sh @@ -0,0 +1,108 @@ +#!/bin/bash +set -e + +# Check if forge is installed +if ! command -v forge >/dev/null 2>&1; then + echo "forge not found. Install forge to compile the contracts." + exit 1 +fi + +# SETTINGS +default_branch="main" +default_repo_url="git@github.com:delvtech/hyperdrive.git" +max_file_size=1000000 # 1MB +out_dir="src" + +branch=${1:-$default_branch} +repo_url=${2:-$default_repo_url} + +repo_name=$(basename "$repo_url" .git) +default_repo_name=$(basename "$default_repo_url" .git) +package_name=$(jq -r .name "$temp_out_dir/$contract_name.ts" <<-EOF + export const $contract_name = { + name: '$contract_name' as const, + abi: $abi as const, + bytecode: '$bytecode' as \`0x\${string}\`, + methodIdentifiers: $methodIdentifiers as const + }; + EOF + + done + +echo "Cleaning up..." +rm -rf "$temp_clone_dir" +rm -rf "$out_dir" +mv "$temp_out_dir" "$out_dir" + +cat < DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteBorrowParams)": "1e6473f9", + "executeRebalanceStableBorrowRate(DataTypes.ReserveData storage,address,address)": "6973f744", + "executeRepay(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteRepayParams)": "40e95de6", + "executeSwapBorrowRateMode(DataTypes.ReserveData storage,DataTypes.UserConfigurationMap storage,address,address,DataTypes.InterestRateMode)": "2421c64e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/BridgeLogic.ts b/packages/hyperdrive-artifacts/src/BridgeLogic.ts new file mode 100644 index 000000000..75b24f46e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/BridgeLogic.ts @@ -0,0 +1,140 @@ +export const BridgeLogic = { + name: 'BridgeLogic' as const, + abi: [ + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x611ccd610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80630413c86f146100435780638e74324814610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004611899565b610095565b005b81801561006f575f80fd5b5061008361007e36600461190c565b61031b565b60405190815260200160405180910390f35b6001600160a01b0384165f908152602088905260408120906100b68261056a565b90506100c28282610735565b6100ce8183878761078d565b6101c08101515160b081901c640fffffffff169060301c60ff165f6100f288610a4e565b600886018054601090610116908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b0316905081600a6101519190611a6b565b61015b9084611a76565b811115604051806040016040528060028152602001611a9960f11b815250906101a05760405162461bcd60e51b81526004016101979190611a8d565b60405180910390fd5b506101ae85858b5f80610aba565b6101e084015161010085015160405163b3f1c93d60e01b81523360048201526001600160a01b038a81166024830152604482018c905260648201929092525f92919091169063b3f1c93d906084016020604051808303815f875af1158015610218573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023c9190611ad9565b905080156102bd5761025b8d8d8d886101c00151896101e00151610dd5565b156102bd57600386015461027d908c90600160a81b900461ffff166001610fbd565b876001600160a01b03168a6001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b60408051338152602081018b905261ffff8916916001600160a01b03808c1692908e16917ff25af37b3d3ec226063dc9bdc103ece7eb110a50f340fe854bb7bc1b0676d7d0910160405180910390a450505050505050505050505050565b5f806103268761056a565b90506103328782610735565b60088701545f90600160801b90046001600160801b03168610610369576008880154600160801b90046001600160801b031661036b565b855b90505f610378868661101f565b90505f6103858288611af8565b90505f6103928885611b0b565b61010086015160088d0154919250610430916103b9916001600160801b0390911690611043565b866101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190611b1e565b6104289190611b0b565b8c9084611084565b610100860181905261044c906104479085906110f8565b610a4e565b60088c0180545f906104689084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061049584610a4e565b60088c0180546010906104b9908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506104f6858b835f8f610aba90949392919063ffffffff16565b6101e0850151610513906001600160a01b038c1690339084611133565b60408051858152602081018a905233916001600160a01b038d16917f281596e92b2d974beb7d4f124df30a0b39067b096893e95011ce4bdad798b759910160405180910390a3509193505050505b95945050505050565b6105726117e5565b61057a6117e5565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610669573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068d9190611b1e565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156106de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107029190611b55565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610755575050565b61075f82826111d2565b61076982826112af565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b604080518082019091526002815261191b60f11b6020820152826107c45760405162461bcd60e51b81526004016101979190611a8d565b505f805f610819876101c0015151670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b94505050925092508260405180604001604052806002815260200161323760f01b8152509061085b5760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261323960f01b602082015281156108945760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261064760f31b602082015282156108cd5760405162461bcd60e51b81526004016101979190611a8d565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b815250906109225760405162461bcd60e51b81526004016101979190611a8d565b506101c08701515160741c640fffffffff16801580610a0a57506101c08801515160301c60ff1661095490600a611a6b565b61095e9082611a76565b866109fd8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ed9190611b1e565b6109f79190611b0b565b90611043565b610a079190611b0b565b11155b60405180604001604052806002815260200161353160f01b81525090610a435760405162461bcd60e51b81526004016101979190611a8d565b505050505050505050565b5f6001600160801b03821115610ab65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610197565b5090565b610ae160405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610af591611043565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610bbc91600401611b9c565b606060405180830381865afa158015610bd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfb9190611c1e565b60408401526020830152808252610c1190610a4e565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610c3e90610a4e565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610c6e90610a4e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610cac9051600160fc1b16151590565b15610d61578215610d0957610cc083610a4e565b600987018054601090610ce4908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115610d6157610d1882610a4e565b600987018054601090610d3c908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b81515f9060d41c64ffffffffff1615610fa7575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e499190611c49565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190611c49565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611c49565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015610f74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f989190611ad9565b610fa5575f915050610561565b505b610fb38686868661140f565b9695505050505050565b6040805180820190915260028152610dcd60f21b602082015260808310610ff75760405162461bcd60e51b81526004016101979190611a8d565b50600182811b81011b811561101157835481178455611019565b835481191684555b50505050565b5f81156113881983900484111517611035575f80fd5b506127109102611388010490565b5f81156b019d971e4fe8401e740000001983900484111517611063575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f9081906110c1906001600160801b0316676765c793fa10079d601b1b6109ed6110b2886114ab565b6110bb886114ab565b906110f8565b90506110cc81610a4e565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b60028404190484111715611119575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1611175573d5f803e3d5ffd5b5061117f856114c5565b6111cb5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610197565b5050505050565b61016081015115611240575f6111f2826101600151836102400151611568565b905061120b8260e001518261104390919063ffffffff16565b610100830181905261121c90610a4e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b8051156112ab575f61125c8261018001518361024001516115ad565b90506112768261012001518261104390919063ffffffff16565b610140830181905261128790610a4e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b6112e26040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036112f357505050565b610120820151825161130491611043565b6020820152610140820151825161131a91611043565b6040820152606082015161026083015161024084015161134292919064ffffffffff166115b5565b60608201819052604083015161135791611043565b8082526020820151608084015160408401516113739190611b0b565b61137d9190611af8565b6113879190611af8565b608082018190526101a083015161139e919061101f565b60a082018190521561140a576113c96104478361010001518360a001516110f890919063ffffffff16565b6008840180545f906113e59084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5f61141c825161ffff1690565b5f0361142957505f6114a3565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611468575060016114a3565b6040805160208101909152835481525f906114849087876116d8565b505090508015801561149f5750825160d41c64ffffffffff16155b9150505b949350505050565b633b9aca0081810290810482146114c0575f80fd5b919050565b5f6114e7565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115265760208114611557576115217f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f6114cb565b611562565b823b61154e5761154e7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b60146114cb565b60019150611562565b3d5f803e5f51151591505b50919050565b5f8061157b64ffffffffff841642611af8565b6115859085611a76565b6301e13380900490506115a381676765c793fa10079d601b1b611b0b565b9150505b92915050565b5f6110f18383425b5f806115c864ffffffffff851684611af8565b9050805f036115e557676765c793fa10079d601b1b9150506110f1565b5f1981015f8080600285116115fa575f6115ff565b600285035b925066038882915c40006116138a80611043565b8161162057611620611c64565b0491506301e13380611632838b611043565b8161163f5761163f611c64565b0490505f8261164e8688611a76565b6116589190611a76565b6002900490505f828561166b888a611a76565b6116759190611a76565b61167f9190611a76565b60069004905080826301e133806116968a8f611a76565b6116a09190611c78565b6116b590676765c793fa10079d601b1b611b0b565b6116bf9190611b0b565b6116c99190611b0b565b9b9a5050505050505050505050565b5f805f6116e48661177e565b1561176c575f611714877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6117c1565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611768576001955090935091506117759050565b5050505b505f9150819050805b93509350939050565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906110f157506117b9600182611af8565b161592915050565b81515f9082165f198101198116825b60029190911c908115610561576001016117d0565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161185a60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114611896575f80fd5b50565b5f805f805f805f60e0888a0312156118af575f80fd5b87359650602088013595506040880135945060608801356118cf81611882565b93506080880135925060a08801356118e681611882565b915060c088013561ffff811681146118fc575f80fd5b8091505092959891949750929550565b5f805f805f60a08688031215611920575f80fd5b85359450602086013561193281611882565b94979496505050506040830135926060810135926080909101359150565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908082111561198457611984611950565b5092915050565b600181815b808511156119c557815f19048211156119ab576119ab611950565b808516156119b857918102915b93841c9390800290611990565b509250929050565b5f826119db575060016115a7565b816119e757505f6115a7565b81600181146119fd5760028114611a0757611a23565b60019150506115a7565b60ff841115611a1857611a18611950565b50506001821b6115a7565b5060208310610133831016604e8410600b8410161715611a46575081810a6115a7565b611a50838361198b565b805f1904821115611a6357611a63611950565b029392505050565b5f6110f183836119cd565b80820281158282048414176115a7576115a7611950565b5f602080835283518060208501525f5b81811015611ab957858101830151858201604001528201611a9d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ae9575f80fd5b815180151581146110f1575f80fd5b818103818111156115a7576115a7611950565b808201808211156115a7576115a7611950565b5f60208284031215611b2e575f80fd5b5051919050565b6001600160801b0382811682821603908082111561198457611984611950565b5f805f8060808587031215611b68575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114611b91575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151611bfe60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215611c30575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c59575f80fd5b81516110f181611882565b634e487b7160e01b5f52601260045260245ffd5b5f82611c9257634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220fea637e18eeb345815f52e8526538811a8eea0ed524cf631d2402630bb41afb964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeBackUnbacked(DataTypes.ReserveData storage,address,uint256,uint256,uint256)": "8e743248", + "executeMintUnbacked(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,address,uint256,address,uint16)": "0413c86f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CalldataLogic.ts b/packages/hyperdrive-artifacts/src/CalldataLogic.ts new file mode 100644 index 000000000..14c181fa1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CalldataLogic.ts @@ -0,0 +1,6 @@ +export const CalldataLogic = { + name: 'CalldataLogic' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b62bad570afe33a39a83096ec895d556bc35d9b7e60c04175ebb692cadbf2faf64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkBase.ts b/packages/hyperdrive-artifacts/src/ChainlinkBase.ts new file mode 100644 index 000000000..214004a5e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkBase.ts @@ -0,0 +1,657 @@ +export const ChainlinkBase = { + name: 'ChainlinkBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkConversions.ts b/packages/hyperdrive-artifacts/src/ChainlinkConversions.ts new file mode 100644 index 000000000..2af832297 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkConversions.ts @@ -0,0 +1,6 @@ +export const ChainlinkConversions = { + name: 'ChainlinkConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122028a53ab113cb8d4399f43da1597ae57f6393fa298130b8680a1a766ee0d7adc364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts b/packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts new file mode 100644 index 000000000..e9e4ed9ba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts @@ -0,0 +1,1676 @@ +export const ChainlinkHyperdrive = { + name: 'ChainlinkHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..2184d2c3f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const ChainlinkHyperdriveCoreDeployer = { + name: 'ChainlinkHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611ed38061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200038b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f805f898060200190518101906200007c919062000483565b604080513360208201529081018790529193509150606001604051602081830303815290604052805190602001208d8d8d8c8c8c8c8c8a8a604051620000c29062000107565b620000d79a99989796959493929190620005e4565b8190604051809103905ff5905080158015620000f5573d5f803e3d5ffd5b509d9c50505050505050505050505050565b6117fd80620006a183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000150576200015062000115565b60405290565b5f82601f83011262000166575f80fd5b813567ffffffffffffffff8082111562000184576200018462000115565b604051601f8301601f19908116603f01168101908282118183101715620001af57620001af62000115565b81604052838152866020858801011115620001c8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001fc575f80fd5b50565b80356200020c81620001e7565b919050565b5f6080828403121562000222575f80fd5b6040516080810181811067ffffffffffffffff8211171562000248576200024862000115565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200028b575f80fd5b6200029562000129565b9050620002a282620001ff565b8152620002b260208301620001ff565b6020820152620002c560408301620001ff565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000330818401620001ff565b9082015261018062000344838201620001ff565b908201526101a062000358838201620001ff565b908201526101c06200036c838201620001ff565b908201526101e0620003818484830162000211565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a6575f80fd5b8a3567ffffffffffffffff80821115620003be575f80fd5b620003cc8e838f0162000156565b9b50620003dd8e60208f0162000279565b9a50620003ee6102808e01620001ff565b99506102a08d013591508082111562000405575f80fd5b50620004148d828e0162000156565b975050620004266102c08c01620001ff565b9550620004376102e08c01620001ff565b9450620004486103008c01620001ff565b9350620004596103208c01620001ff565b92506200046a6103408c01620001ff565b91506103608b013590509295989b9194979a5092959850565b5f806040838503121562000495575f80fd5b8251620004a281620001e7565b602084015190925060ff81168114620004b9575f80fd5b809150509250929050565b80516001600160a01b031682526020810151620004ec60208401826001600160a01b03169052565b5060408101516200050860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200057b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103808083528c5180828501525f91505b808210156200061a576020828f0101516103a08386010152602082019150620005f6565b6103a091505f82828601015281601f19601f8301168501019250505062000645602083018c620004c4565b6001600160a01b03998a166102808301529789166102a08201529588166102c08701529387166102e0860152918616610300850152851661032084015290931661034082015260ff909216610360909201919091529291505056fe61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033a2646970667358221220d631e332c39645a1fceaad8beacbc42762833f2583bee1e6f2b3e6e425da650764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..f26495365 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts @@ -0,0 +1,763 @@ +export const ChainlinkHyperdriveDeployerCoordinator = { + name: 'ChainlinkHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e2380380620029e28339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125c86200041a5f395f81816102830152610d0101525f81816103010152610bce01525f81816103670152610a9b01525f81816102ce015261096801525f8181610334015261075f01525f81816103ec015261105001525f81816103b9015281816104f3015281816106880152818161078f0152818161099801528181610acb01528181610bfe01528181610d3101528181610e24015261108101526125c85ff3fe6080604052600436106100e4575f3560e01c8063aa8cd6c411610087578063c45a015511610057578063c45a0155146103a8578063c83e1f51146103db578063e990eba81461040e578063e99be3961461042d575f80fd5b8063aa8cd6c4146102f0578063ab71905f14610323578063b6cb111814610356578063c151061814610389575f80fd5b806337404017116100c2578063374040171461014757806354fd4d5014610243578063966ecd1c14610272578063a085fa30146102bd575f80fd5b806304baa00b146100e857806306fdde031461011257806316abfc7014610126575b5f80fd5b3480156100f3575f80fd5b506100fc610440565b6040516101099190611a9c565b60405180910390f35b34801561011d575f80fd5b506100fc61045c565b610139610134366004611bd1565b6104e7565b604051908152602001610109565b348015610152575f80fd5b50610236610161366004611c8f565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101099190611ca6565b34801561024e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b60208201526100fc565b34801561027d575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610109565b3480156102c8575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fb575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b34801561032e575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610361575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610394575f80fd5b506102a56103a3366004611e7a565b61067c565b3480156103b3575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e6575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610419575f80fd5b506102a5610428366004611ee3565b610e18565b348015610438575f80fd5b506005610139565b60405180606001604052806026815260200161256d6026913981565b5f805461046890611f7d565b80601f016020809104026020016040519081016040528092919081815260200182805461049490611f7d565b80156104df5780601f106104b6576101008083540402835291602001916104df565b820191905f5260205f20905b8154815290600101906020018083116104c257829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053157604051634084351160e01b815260040160405180910390fd5b61053961118b565b5f868152600160205260409020600301546001600160a01b0316806105715760405163952b05cb60e01b815260040160405180910390fd5b5f61057e828888876111ac565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105b193929190611fb5565b60206040518083038185885af11580156105cd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105f29190611ffa565b92505f6105ff8234612025565b9050801561066f576040515f90339083908381818185875af1925050503d805f8114610646576040519150601f19603f3d011682016040523d82523d5f602084013e61064b565b606091505b505090508061066d576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c657604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610876578054156106fb57604051633be1b34d60e11b815260040160405180910390fd5b6107058686611265565b5f6107108787611353565b90505f876040516020016107249190612038565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107518a611387565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016107cb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610800949392919061226b565b6020604051808303815f875af115801561081c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084091906122b0565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610673565b5f87815260016020526040902054806108a25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108b49190612038565b60405160208183030381529060405280519060200120146108e85760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461091257604051631a3272d160e31b815260040160405180910390fd5b61091c8787611265565b5f61092688611387565b6002840154608082015290506001869003610a665760058301546001600160a01b0316156109665760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b6040516020016109cd939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a02949392919061226b565b6020604051808303815f875af1158015610a1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4291906122b0565b6005840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600203610b995760068301546001600160a01b031615610a995760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b00939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b35949392919061226b565b6020604051808303815f875af1158015610b51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7591906122b0565b6006840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600303610ccc5760078301546001600160a01b031615610bcc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c33939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c68949392919061226b565b6020604051808303815f875af1158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca891906122b0565b6007840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600403610dff5760088301546001600160a01b031615610cff5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d66939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d9b949392919061226b565b6020604051808303815f875af1158015610db7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ddb91906122b0565b6008840180546001600160a01b0319166001600160a01b038316179055935061066f565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e6257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f0a57604051632c95caeb60e01b815260040160405180910390fd5b8051610f295760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f4e575060a08101516001600160a01b0316155b80610f64575060c08101516001600160a01b0316155b80610f7a575060e08101516001600160a01b0316155b80610f9157506101008101516001600160a01b0316155b15610faf5760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051610fc2908790602001612038565b6040516020818303038152906040528051906020012014610ff65760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461102157604051631a3272d160e31b815260040160405180910390fd5b61102b8585611265565b5f61103586611387565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016110d7929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111129a999897969594939291906122ec565b6020604051808303815f875af115801561112e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115291906122b0565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111aa57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156111d05760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561120d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123191906122b0565b90506112486001600160a01b038216863087611455565b61125c6001600160a01b03821687866114c2565b50949350505050565b61126f8282611551565b81516001600160a01b03161561129857604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b03166112c35760405163073f739d60e51b815260040160405180910390fd5b5f818060200190518101906112d8919061236e565b91506112e790506003826123ab565b6112f290600a6124a4565b836080015114611315576040516349db44f560e01b815260040160405180910390fd5b6113206003826123ab565b61132b90600a6124a4565b8360a001511461134e576040516318c9522360e11b815260040160405180910390fd5b505050565b5f808280602001905181019061136991906122b0565b905061137d81670de0b6b3a7640000611669565b9150505b92915050565b61138f61197b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526114bc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611684565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261151384826116ea565b6114bc576040516001600160a01b0384811660248301525f604483015261154791869182169063095ea7b39060640161148a565b6114bc8482611684565b6103e882608001511015611578576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361159d57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806115c757508161010001518260e001516115c491906124b2565b15155b156115e55760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116115750670de0b6b3a7640000826101c0015160200151115b8061162c5750670de0b6b3a7640000826101c0015160400151115b806116475750670de0b6b3a7640000826101c0015160600151115b15611665576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f61167d61167684611787565b83906117f8565b9392505050565b5f6116986001600160a01b0384168361180c565b905080515f141580156116bc5750808060200190518101906116ba91906124d1565b155b1561134e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161170591906124ec565b5f604051808303815f865af19150503d805f811461173e576040519150601f19603f3d011682016040523d82523d5f602084013e611743565b606091505b509150915081801561176d57508051158061176d57508080602001905181019061176d91906124d1565b80156106735750505050506001600160a01b03163b151590565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156117c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e99190612520565b50505091505061167d81611819565b5f61167d8383670de0b6b3a764000061183f565b606061167d83835f61185a565b5f8082121561183b5760405163071d137160e51b815260040160405180910390fd5b5090565b5f825f190484118302158202611853575f80fd5b5091020490565b60608147101561187f5760405163cd78605960e01b81523060048201526024016116e1565b5f80856001600160a01b0316848660405161189a91906124ec565b5f6040518083038185875af1925050503d805f81146118d4576040519150601f19603f3d011682016040523d82523d5f602084013e6118d9565b606091505b50915091506118e98683836118f3565b9695505050505050565b606082611908576119038261194f565b61167d565b815115801561191f57506001600160a01b0384163b155b1561194857604051639996b31560e01b81526001600160a01b03851660048201526024016116e1565b508061167d565b80511561195f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a4a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a69578181015183820152602001611a51565b50505f910152565b5f8151808452611a88816020860160208601611a4f565b601f01601f19169290920160200192915050565b602081525f61167d6020830184611a71565b6001600160a01b0381168114611978575f80fd5b8035611acd81611aae565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b0957611b09611ad2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b0957611b09611ad2565b8015158114611978575f80fd5b5f67ffffffffffffffff80841115611b5a57611b5a611ad2565b604051601f8501601f19908116603f01168101908282118183101715611b8257611b82611ad2565b81604052809350858152868686011115611b9a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611bc2575f80fd5b61167d83833560208501611b40565b5f805f805f60a08688031215611be5575f80fd5b853594506020860135611bf781611aae565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611c21575f80fd5b908701906060828a031215611c34575f80fd5b611c3c611ae6565b8235611c4781611aae565b81526020830135611c5781611b33565b6020820152604083013582811115611c6d575f80fd5b611c798b828601611bb3565b6040830152508093505050509295509295909350565b5f60208284031215611c9f575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d33575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5657611d56611ad2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d98575f80fd5b611da0611b0f565b9050611dab82611ac2565b8152611db960208301611ac2565b6020820152611dca60408301611ac2565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e27818401611ac2565b90820152610160611e39838201611ac2565b90820152610180611e4b838201611ac2565b908201526101a0611e5d838201611ac2565b908201526101c0611e7084848301611d23565b9082015292915050565b5f805f805f6102c08688031215611e8f575f80fd5b85359450611ea08760208801611d87565b935061026086013567ffffffffffffffff811115611ebc575f80fd5b611ec888828901611bb3565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef8575f80fd5b85359450602086013567ffffffffffffffff80821115611f16575f80fd5b818801915088601f830112611f29575f80fd5b611f3889833560208501611b40565b9550611f478960408a01611d87565b9450610280880135915080821115611f5d575f80fd5b50611f6a88828901611bb3565b959894975092956102a001359392505050565b600181811c90821680611f9157607f821691505b602082108103611faf57634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526118e960c0840182611a71565b5f6020828403121561200a575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561138157611381612011565b81516001600160a01b031681526102408101602083015161206460208401826001600160a01b03169052565b50604083015161207f60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e5828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d1b565b80516001600160a01b03168252602081015161217560208401826001600160a01b03169052565b50604081015161219060408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612202828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526114bc565b5f6102c0612279838861214e565b6001600160a01b038616610260840152610280830181905261229d81840186611a71565b915050826102a083015295945050505050565b5f602082840312156122c0575f80fd5b815161167d81611aae565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ff8184018e611a71565b905061230e602084018d61214e565b6001600160a01b038b81166102808501528382036102a0850152612332828c611a71565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f806040838503121561237f575f80fd5b825161238a81611aae565b602084015190925060ff811681146123a0575f80fd5b809150509250929050565b60ff828116828216039081111561138157611381612011565b600181815b808511156123fe57815f19048211156123e4576123e4612011565b808516156123f157918102915b93841c93908002906123c9565b509250929050565b5f8261241457506001611381565b8161242057505f611381565b816001811461243657600281146124405761245c565b6001915050611381565b60ff84111561245157612451612011565b50506001821b611381565b5060208310610133831016604e8410600b841016171561247f575081810a611381565b61248983836123c4565b805f190482111561249c5761249c612011565b029392505050565b5f61167d60ff841683612406565b5f826124cc57634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156124e1575f80fd5b815161167d81611b33565b5f82516124fd818460208701611a4f565b9190910192915050565b805169ffffffffffffffffffff81168114611acd575f80fd5b5f805f805f60a08688031215612534575f80fd5b61253d86612507565b945060208601519350604086015192506060860151915061256060808701612507565b9050929550929590935056fe436861696e6c696e6b487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f6ab7d4f2c983fe186e6a41effaa7165ecf5b9b966e646324127c6bcec27dc1864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts new file mode 100644 index 000000000..459d76dda --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts @@ -0,0 +1,1961 @@ +export const ChainlinkTarget0 = { + name: 'ChainlinkTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "aggregator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "aggregator()": "245a7bfc", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts new file mode 100644 index 000000000..8fe04f321 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget0Deployer = { + name: 'ChainlinkTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506142ea8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613d94806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033a2646970667358221220763dc87fe8b2892ca4b50ea5dd31e724ef5511178a35297febd12632006c207864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts new file mode 100644 index 000000000..4eef86392 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts @@ -0,0 +1,1005 @@ +export const ChainlinkTarget1 = { + name: 'ChainlinkTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts new file mode 100644 index 000000000..c2078022b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget1Deployer = { + name: 'ChainlinkTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061451b8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613fc5806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033a264697066735822122054a2031bd3d1c581af53eeb58de0782ad11eb258834261810f3fbf7120f2db9664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts new file mode 100644 index 000000000..7898f9383 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts @@ -0,0 +1,1030 @@ +export const ChainlinkTarget2 = { + name: 'ChainlinkTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts new file mode 100644 index 000000000..d385df700 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget2Deployer = { + name: 'ChainlinkTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506146298061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b6140d3806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033a2646970667358221220ae0e7847dff6a762a557f519f2052a9223ccb4ffc24c70d7cff076c5e835f05864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts new file mode 100644 index 000000000..0ce0130f2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts @@ -0,0 +1,1050 @@ +export const ChainlinkTarget3 = { + name: 'ChainlinkTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts new file mode 100644 index 000000000..cc52fcda5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget3Deployer = { + name: 'ChainlinkTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145da8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b614084806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033a2646970667358221220e0a52e1adad5b425056392437ff533af6c3f9d49f7d9fb740a2d89340656fb3e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts new file mode 100644 index 000000000..ea2e0fd69 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts @@ -0,0 +1,1024 @@ +export const ChainlinkTarget4 = { + name: 'ChainlinkTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts new file mode 100644 index 000000000..8f6cb38ad --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget4Deployer = { + name: 'ChainlinkTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506139568061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613400806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033a2646970667358221220bd75f2efaa16267421e10cc34500819359909cd9e429c98c0d473ea97d5cad2764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CommonBase.ts b/packages/hyperdrive-artifacts/src/CommonBase.ts new file mode 100644 index 000000000..2fb154432 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CommonBase.ts @@ -0,0 +1,6 @@ +export const CommonBase = { + name: 'CommonBase' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Context.ts b/packages/hyperdrive-artifacts/src/Context.ts new file mode 100644 index 000000000..3799467b1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Context.ts @@ -0,0 +1,6 @@ +export const Context = { + name: 'Context' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornBase.ts b/packages/hyperdrive-artifacts/src/CornBase.ts new file mode 100644 index 000000000..c45635e44 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornBase.ts @@ -0,0 +1,657 @@ +export const CornBase = { + name: 'CornBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornConversions.ts b/packages/hyperdrive-artifacts/src/CornConversions.ts new file mode 100644 index 000000000..210e6f81f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornConversions.ts @@ -0,0 +1,48 @@ +export const CornConversions = { + name: 'CornConversions' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea2646970667358221220b9d26028c7b4c6a20d26496e9e331e5d123bedaf97958cf869de383f28cec77d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornHyperdrive.ts b/packages/hyperdrive-artifacts/src/CornHyperdrive.ts new file mode 100644 index 000000000..acb6b37bd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornHyperdrive.ts @@ -0,0 +1,1709 @@ +export const CornHyperdrive = { + name: 'CornHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..a610ff5f7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts @@ -0,0 +1,188 @@ +export const CornHyperdriveCoreDeployer = { + name: 'CornHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516121f53803806121f583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516121726100835f395f609801526121725ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200037f565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000c59062000109565b620000d99998979695949392919062000597565b8190604051809103905ff5905080158015620000f7573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611ace806200066f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000152576200015262000117565b60405290565b5f82601f83011262000168575f80fd5b813567ffffffffffffffff8082111562000186576200018662000117565b604051601f8301601f19908116603f01168101908282118183101715620001b157620001b162000117565b81604052838152866020858801011115620001ca575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000200575f80fd5b919050565b5f6080828403121562000216575f80fd5b6040516080810181811067ffffffffffffffff821117156200023c576200023c62000117565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200027f575f80fd5b620002896200012b565b90506200029682620001e9565b8152620002a660208301620001e9565b6020820152620002b960408301620001e9565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000324818401620001e9565b9082015261018062000338838201620001e9565b908201526101a06200034c838201620001e9565b908201526101c062000360838201620001e9565b908201526101e0620003758484830162000205565b9082015292915050565b5f805f805f805f805f806103808b8d0312156200039a575f80fd5b8a3567ffffffffffffffff80821115620003b2575f80fd5b620003c08e838f0162000158565b9b50620003d18e60208f016200026d565b9a50620003e26102808e01620001e9565b99506102a08d0135915080821115620003f9575f80fd5b50620004088d828e0162000158565b9750506200041a6102c08c01620001e9565b95506200042b6102e08c01620001e9565b94506200043c6103008c01620001e9565b93506200044d6103208c01620001e9565b92506200045e6103408c01620001e9565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200049f60208401826001600160a01b03169052565b506040810151620004bb60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200052e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005cd576020828e0101516103808386010152602082019150620005a9565b61038091505f82828601015281601f19601f83011685010192505050620005f8602083018b62000477565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000fb56fe61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033a2646970667358221220b999f55f01f73dbe4fff79beaf733b76e53e1545b3fb5e46a5c33f150beaf2d564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..e2738a541 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts @@ -0,0 +1,798 @@ +export const CornHyperdriveDeployerCoordinator = { + name: 'CornHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b50604051620029f1380380620029f18339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125d76200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526125d75ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611b32565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611c67565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d25565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d3c565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d25565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f10565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611d25565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611f79565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016125816021913981565b5f80546104bc90612013565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612013565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061204b565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612090565b92505f61065382346120bb565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612090565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df878761150d565b90505f876040516020016107f391906120ce565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a611526565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612301565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f9190612346565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161098391906120ce565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f588611526565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612301565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190612346565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612301565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190612346565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d0293929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612301565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d779190612346565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e3593929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612301565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612346565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb9087906020016120ce565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e86611526565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612382565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b9190612346565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113399190612346565b90506113506001600160a01b0382168630876115f4565b6113646001600160a01b0382168786611661565b505f95945050505050565b61137982826116f0565b81516001600160a01b03166113a157604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b0316156113cd5760405163073f739d60e51b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114329190612404565b61143c9190612424565b61144790600a61251d565b8260800151101561146b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d09190612404565b6114da9190612424565b6114e590600a61251d565b8260a001511015611509576040516318c9522360e11b815260040160405180910390fd5b5050565b5f61151f670de0b6b3a76400006106d0565b9392505050565b61152e611a11565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261165b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611804565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116b2848261186f565b61165b576040516001600160a01b0384811660248301525f60448301526116e691869182169063095ea7b390606401611629565b61165b8482611804565b6103e882608001511015611717576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173c57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061176657508161010001518260e00151611763919061252b565b15155b156117845760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117b05750670de0b6b3a7640000826101c0015160200151115b806117cb5750670de0b6b3a7640000826101c0015160400151115b806117e65750670de0b6b3a7640000826101c0015160600151115b15611509576040516322f72cc360e11b815260040160405180910390fd5b5f6118186001600160a01b0384168361190c565b905080515f1415801561183c57508080602001905181019061183a919061254a565b155b1561186a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161188a9190612565565b5f604051808303815f865af19150503d805f81146118c3576040519150601f19603f3d011682016040523d82523d5f602084013e6118c8565b606091505b50915091508180156118f25750805115806118f25750808060200190518101906118f2919061254a565b80156106c75750505050506001600160a01b03163b151590565b606061151f83835f845f80856001600160a01b031684866040516119309190612565565b5f6040518083038185875af1925050503d805f811461196a576040519150601f19603f3d011682016040523d82523d5f602084013e61196f565b606091505b509150915061197f868383611989565b9695505050505050565b60608261199e57611999826119e5565b61151f565b81511580156119b557506001600160a01b0384163b155b156119de57604051639996b31560e01b81526001600160a01b0385166004820152602401611861565b508061151f565b8051156119f55780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ae060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611aff578181015183820152602001611ae7565b50505f910152565b5f8151808452611b1e816020860160208601611ae5565b601f01601f19169290920160200192915050565b602081525f61151f6020830184611b07565b6001600160a01b0381168114611a0e575f80fd5b8035611b6381611b44565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b8015158114611a0e575f80fd5b5f67ffffffffffffffff80841115611bf057611bf0611b68565b604051601f8501601f19908116603f01168101908282118183101715611c1857611c18611b68565b81604052809350858152868686011115611c30575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c58575f80fd5b61151f83833560208501611bd6565b5f805f805f60a08688031215611c7b575f80fd5b853594506020860135611c8d81611b44565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611cb7575f80fd5b908701906060828a031215611cca575f80fd5b611cd2611b7c565b8235611cdd81611b44565b81526020830135611ced81611bc9565b6020820152604083013582811115611d03575f80fd5b611d0f8b828601611c49565b6040830152508093505050509295509295909350565b5f60208284031215611d35575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dc9575f80fd5b6040516080810181811067ffffffffffffffff82111715611dec57611dec611b68565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e2e575f80fd5b611e36611ba5565b9050611e4182611b58565b8152611e4f60208301611b58565b6020820152611e6060408301611b58565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611ebd818401611b58565b90820152610160611ecf838201611b58565b90820152610180611ee1838201611b58565b908201526101a0611ef3838201611b58565b908201526101c0611f0684848301611db9565b9082015292915050565b5f805f805f6102c08688031215611f25575f80fd5b85359450611f368760208801611e1d565b935061026086013567ffffffffffffffff811115611f52575f80fd5b611f5e88828901611c49565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f8e575f80fd5b85359450602086013567ffffffffffffffff80821115611fac575f80fd5b818801915088601f830112611fbf575f80fd5b611fce89833560208501611bd6565b9550611fdd8960408a01611e1d565b9450610280880135915080821115611ff3575f80fd5b5061200088828901611c49565b959894975092956102a001359392505050565b600181811c9082168061202757607f821691505b60208210810361204557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197f60c0840182611b07565b5f602082840312156120a0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610745576107456120a7565b81516001600160a01b03168152610240810160208301516120fa60208401826001600160a01b03169052565b50604083015161211560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161217b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611db1565b80516001600160a01b03168252602081015161220b60208401826001600160a01b03169052565b50604081015161222660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612298828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261165b565b5f6102c061230f83886121e4565b6001600160a01b038616610260840152610280830181905261233381840186611b07565b915050826102a083015295945050505050565b5f60208284031215612356575f80fd5b815161151f81611b44565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123958184018e611b07565b90506123a4602084018d6121e4565b6001600160a01b038b81166102808501528382036102a08501526123c8828c611b07565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612414575f80fd5b815160ff8116811461151f575f80fd5b60ff8281168282160390811115610745576107456120a7565b600181815b8085111561247757815f190482111561245d5761245d6120a7565b8085161561246a57918102915b93841c9390800290612442565b509250929050565b5f8261248d57506001610745565b8161249957505f610745565b81600181146124af57600281146124b9576124d5565b6001915050610745565b60ff8411156124ca576124ca6120a7565b50506001821b610745565b5060208310610133831016604e8410600b84101617156124f8575081810a610745565b612502838361243d565b805f1904821115612515576125156120a7565b029392505050565b5f61151f60ff84168361247f565b5f8261254557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561255a575f80fd5b815161151f81611bc9565b5f8251612576818460208701611ae5565b919091019291505056fe436f726e487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220b5ab105022b44bb1298c3119dea1a3fb4317d43d99b5905fd1620281923813be64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget0.ts b/packages/hyperdrive-artifacts/src/CornTarget0.ts new file mode 100644 index 000000000..da062fa75 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget0.ts @@ -0,0 +1,1951 @@ +export const CornTarget0 = { + name: 'CornTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "cornSilo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "cornSilo()": "7d1849ab", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts new file mode 100644 index 000000000..3472a8cb0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget0Deployer = { + name: 'CornTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161439138038061439183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161430e6100835f395f608b015261430e5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613e0f806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033a264697066735822122026094cd33c4fcb1821d6d80135d07655c1c0c62f3592dacbe23c63262fb6b34864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget1.ts b/packages/hyperdrive-artifacts/src/CornTarget1.ts new file mode 100644 index 000000000..1e8b79945 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget1.ts @@ -0,0 +1,995 @@ +export const CornTarget1 = { + name: 'CornTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts new file mode 100644 index 000000000..4aaec4efd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget1Deployer = { + name: 'CornTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161451338038061451383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144906100835f395f608b01526144905ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613f91806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033a264697066735822122079d8ca4682edb830cb9cd8aaa002aa4808e3c379d48160855e696fee40f32bd464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget2.ts b/packages/hyperdrive-artifacts/src/CornTarget2.ts new file mode 100644 index 000000000..ce8064910 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget2.ts @@ -0,0 +1,1020 @@ +export const CornTarget2 = { + name: 'CornTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts new file mode 100644 index 000000000..08fcc4546 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget2Deployer = { + name: 'CornTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516147d93803806147d983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147566100835f395f608b01526147565ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b614257806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033a26469706673582212204e3afa669e4652611b4e6462ec50409a8c9345f2fcc95ec1b4ad67b1aade5af764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget3.ts b/packages/hyperdrive-artifacts/src/CornTarget3.ts new file mode 100644 index 000000000..c60c96c9e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget3.ts @@ -0,0 +1,1040 @@ +export const CornTarget3 = { + name: 'CornTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts new file mode 100644 index 000000000..05de78aa9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget3Deployer = { + name: 'CornTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161474538038061474583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146c26100835f395f608b01526146c25ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6141c3806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033a264697066735822122005c9adc0322328f7aa2c123b4086a14ae0140950f1ef926b622332132d89ad7e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget4.ts b/packages/hyperdrive-artifacts/src/CornTarget4.ts new file mode 100644 index 000000000..8aacf6e47 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget4.ts @@ -0,0 +1,1014 @@ +export const CornTarget4 = { + name: 'CornTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts new file mode 100644 index 000000000..4bf6579d2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget4Deployer = { + name: 'CornTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161394e38038061394e83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138cb6100835f395f608b01526138cb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6133cc806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033a2646970667358221220c63eaf43f071c6c06f4cc5ba2362b1a2657b45efa3678c03c72a0095ccbaeaa264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/DataTypes.ts b/packages/hyperdrive-artifacts/src/DataTypes.ts new file mode 100644 index 000000000..1224f9791 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/DataTypes.ts @@ -0,0 +1,6 @@ +export const DataTypes = { + name: 'DataTypes' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206b4329db27ba9f71274415ec5a71848a8953922ed76f3d9684a07c38f081468364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHBase.ts b/packages/hyperdrive-artifacts/src/EETHBase.ts new file mode 100644 index 000000000..907b7c51b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHBase.ts @@ -0,0 +1,672 @@ +export const EETHBase = { + name: 'EETHBase' as const, + abi: [ + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHConversions.ts b/packages/hyperdrive-artifacts/src/EETHConversions.ts new file mode 100644 index 000000000..7f7d3b76b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHConversions.ts @@ -0,0 +1,6 @@ +export const EETHConversions = { + name: 'EETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d8e30ef645f9bb2fc984f1b0491d8697ffa3c73e1cf168c4f2ceffce6f5fca6364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/EETHHyperdrive.ts new file mode 100644 index 000000000..f3ef05956 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHHyperdrive.ts @@ -0,0 +1,1685 @@ +export const EETHHyperdrive = { + name: 'EETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "_liquidityPool()": "207deba0", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..222d4b7fd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const EETHHyperdriveCoreDeployer = { + name: 'EETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611ee5380380611ee583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e5c6100895f395f81816042015260c80152611e5c5ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c8063665a11ca146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003b0565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000f5906200013a565b6200010999989796959493929190620005c8565b8190604051809103905ff590508015801562000127573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b61178780620006a083390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000183576200018362000148565b60405290565b5f82601f83011262000199575f80fd5b813567ffffffffffffffff80821115620001b757620001b762000148565b604051601f8301601f19908116603f01168101908282118183101715620001e257620001e262000148565b81604052838152866020858801011115620001fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000231575f80fd5b919050565b5f6080828403121562000247575f80fd5b6040516080810181811067ffffffffffffffff821117156200026d576200026d62000148565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b0575f80fd5b620002ba6200015c565b9050620002c7826200021a565b8152620002d7602083016200021a565b6020820152620002ea604083016200021a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160620003558184016200021a565b90820152610180620003698382016200021a565b908201526101a06200037d8382016200021a565b908201526101c0620003918382016200021a565b908201526101e0620003a68484830162000236565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003cb575f80fd5b8a3567ffffffffffffffff80821115620003e3575f80fd5b620003f18e838f0162000189565b9b50620004028e60208f016200029e565b9a50620004136102808e016200021a565b99506102a08d01359150808211156200042a575f80fd5b50620004398d828e0162000189565b9750506200044b6102c08c016200021a565b95506200045c6102e08c016200021a565b94506200046d6103008c016200021a565b93506200047e6103208c016200021a565b92506200048f6103408c016200021a565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d060208401826001600160a01b03169052565b506040810151620004ec60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055f828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fe576020828e0101516103808386010152602082019150620005da565b61038091505f82828601015281601f19601f8301168501019250505062000629602083018b620004a8565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012c56fe61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033a2646970667358221220450a86b208f0f343448e05a1f35c024bd3d10154bc52fe59b8e9669b87d4646564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..1b5e52b56 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,789 @@ +export const EETHHyperdriveDeployerCoordinator = { + name: 'EETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b506040516200281e3803806200281e8339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516123ca620004545f395f81816102e20152818161070c0152818161074101526115d801525f818161032d0152610dec01525f81816103930152610cb901525f81816103f90152610b8601525f81816103600152610a5301525f81816103c6015261084a01525f818161047e015261113b01525f818161044b01528181610585015281816107730152818161087a01528181610a8301528181610bb601528181610ce901528181610e1c01528181610f0f015261116c01526123ca5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b806337404017116100d857806337404017146101875780633e5541f11461028357806354fd4d50146102a2578063665a11ca146102d1578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc7014610147578063251f6c4214610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a38565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b70565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061015a610182366004611c2e565b610706565b348015610192575f80fd5b506102766101a1366004611c58565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c6f565b34801561028e575f80fd5b5061015a61029d366004611c2e565b61073b565b3480156102ad575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102dc575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b348015610327575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b50610304610435366004611e43565b610767565b348015610445575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506103046104ba366004611eac565b610f03565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602181526020016123746021913981565b5f80546104fa90611f46565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f46565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611276565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f7e565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611fcd565b92505f6106898234611fe4565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107327f0000000000000000000000000000000000000000000000000000000000000000848461142f565b90505b92915050565b5f6107327f00000000000000000000000000000000000000000000000000000000000000008484611519565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610961578054156107e657604051633be1b34d60e11b815260040160405180910390fd5b6107f086866115cc565b5f6107fb878761170d565b90505f8760405160200161080f9190612003565b6040516020818303038152906040528051906020012090505f878051906020012090505f61083c8a611724565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108b6929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108eb9493929190612236565b6020604051808303815f875af1158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b919061227b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061098d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161099f9190612003565b60405160208183030381529060405280519060200120146109d35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109fd57604051631a3272d160e31b815260040160405180910390fd5b610a0787876115cc565b5f610a1188611724565b6002840154608082015290506001869003610b515760058301546001600160a01b031615610a515760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab893929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aed9493929190612236565b6020604051808303815f875af1158015610b09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d919061227b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c845760068301546001600160a01b031615610b845760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610beb93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c209493929190612236565b6020604051808303815f875af1158015610c3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c60919061227b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610db75760078301546001600160a01b031615610cb75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d1e93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d539493929190612236565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d93919061227b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eea5760088301546001600160a01b031615610dea5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e5193929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e869493929190612236565b6020604051808303815f875af1158015610ea2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec6919061227b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4d57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff557604051632c95caeb60e01b815260040160405180910390fd5b80516110145760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611039575060a08101516001600160a01b0316155b8061104f575060c08101516001600160a01b0316155b80611065575060e08101516001600160a01b0316155b8061107c57506101008101516001600160a01b0316155b1561109a5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110ad908790602001612003565b60405160208183030381529060405280519060200120146110e15760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110c57604051631a3272d160e31b815260040160405180910390fd5b61111685856115cc565b5f61112086611724565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111c2929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111fd9a999897969594939291906122b7565b6020604051808303815f875af1158015611219573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123d919061227b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151156112a957823410156112a25760405163044044a560e21b815260040160405180910390fd5b5081611427565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130a919061227b565b90505f6113178286610706565b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018390529192505f918416906323b872dd906064016020604051808303815f875af115801561136e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113929190612339565b9050806113b2576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0389811660048301526024820184905284169063095ea7b3906044016020604051808303815f875af11580156113fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114229190612339565b505050505b949350505050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114919190611fcd565b9050805f036114a3575f915050611512565b61150e856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115069190611fcd565b8490836117f2565b9150505b9392505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611557573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b9190611fcd565b9050805f0361158d575f915050611512565b61150e846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b6115d6828261180d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630de371e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611632573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611656919061227b565b6001600160a01b031682602001516001600160a01b03161461168b5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166116b357604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c68000146116de576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611709576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107328360200151670de0b6b3a7640000610706565b61172c611921565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f825f190484118302158202611806575f80fd5b5091020490565b6103e882608001511015611834576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361185957604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061188357508161010001518260e001516118809190612354565b15155b156118a15760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118cd5750670de0b6b3a7640000826101c0015160200151115b806118e85750670de0b6b3a7640000826101c0015160400151115b806119035750670de0b6b3a7640000826101c0015160600151115b15611709576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119f060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a19576020818501810151868301820152016119fd565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61073260208301846119f5565b6001600160a01b0381168114611a5e575f80fd5b50565b8035611a6c81611a4a565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611aa857611aa8611a71565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611aa857611aa8611a71565b8015158114611a5e575f80fd5b5f67ffffffffffffffff80841115611af957611af9611a71565b604051601f8501601f19908116603f01168101908282118183101715611b2157611b21611a71565b81604052809350858152868686011115611b39575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b61575f80fd5b61073283833560208501611adf565b5f805f805f60a08688031215611b84575f80fd5b853594506020860135611b9681611a4a565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bc0575f80fd5b908701906060828a031215611bd3575f80fd5b611bdb611a85565b8235611be681611a4a565b81526020830135611bf681611ad2565b6020820152604083013582811115611c0c575f80fd5b611c188b828601611b52565b6040830152508093505050509295509295909350565b5f8060408385031215611c3f575f80fd5b8235611c4a81611a4a565b946020939093013593505050565b5f60208284031215611c68575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cfc575f80fd5b6040516080810181811067ffffffffffffffff82111715611d1f57611d1f611a71565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d61575f80fd5b611d69611aae565b9050611d7482611a61565b8152611d8260208301611a61565b6020820152611d9360408301611a61565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611df0818401611a61565b90820152610160611e02838201611a61565b90820152610180611e14838201611a61565b908201526101a0611e26838201611a61565b908201526101c0611e3984848301611cec565b9082015292915050565b5f805f805f6102c08688031215611e58575f80fd5b85359450611e698760208801611d50565b935061026086013567ffffffffffffffff811115611e85575f80fd5b611e9188828901611b52565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ec1575f80fd5b85359450602086013567ffffffffffffffff80821115611edf575f80fd5b818801915088601f830112611ef2575f80fd5b611f0189833560208501611adf565b9550611f108960408a01611d50565b9450610280880135915080821115611f26575f80fd5b50611f3388828901611b52565b959894975092956102a001359392505050565b600181811c90821680611f5a57607f821691505b602082108103611f7857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611fc360c08401826119f5565b9695505050505050565b5f60208284031215611fdd575f80fd5b5051919050565b8181038181111561073557634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161202f60208401826001600160a01b03169052565b50604083015161204a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120b0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ce4565b80516001600160a01b03168252602081015161214060208401826001600160a01b03169052565b50604081015161215b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121cd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c06122448388612119565b6001600160a01b0386166102608401526102808301819052612268818401866119f5565b915050826102a083015295945050505050565b5f6020828403121561228b575f80fd5b815161151281611a4a565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ca8184018e6119f5565b90506122d9602084018d612119565b6001600160a01b038b81166102808501528382036102a08501526122fd828c6119f5565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612349575f80fd5b815161151281611ad2565b5f8261236e57634e487b7160e01b5f52601260045260245ffd5b50069056fe45455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb7fdab6b1a7e0099dfe1ab95a0b970744f788d179e5d614cc9cac5361d50bba64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "liquidityPool()": "665a11ca", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget0.ts b/packages/hyperdrive-artifacts/src/EETHTarget0.ts new file mode 100644 index 000000000..6ecfaf4df --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget0.ts @@ -0,0 +1,1970 @@ +export const EETHTarget0 = { + name: 'EETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "liquidityPool()": "665a11ca", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts new file mode 100644 index 000000000..4bd469cc8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget0Deployer = { + name: 'EETHTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161448038038061448083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143f76100895f395f8181603d015260b801526143f75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613ecb806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033a2646970667358221220a6831cdf5f39d83855e8a445a49d7e643f3ac418aca30c6d5e2b3b855072f45d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget1.ts b/packages/hyperdrive-artifacts/src/EETHTarget1.ts new file mode 100644 index 000000000..d62912ffb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget1.ts @@ -0,0 +1,976 @@ +export const EETHTarget1 = { + name: 'EETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts new file mode 100644 index 000000000..ae71f9b2b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget1Deployer = { + name: 'EETHTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161452238038061452283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144996100895f395f8181603d015260b801526144995ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f6d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033a2646970667358221220ad4ce9a6fe4476b25693872e405cf042beb8c780ac11f3766f4df9175073056964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget2.ts b/packages/hyperdrive-artifacts/src/EETHTarget2.ts new file mode 100644 index 000000000..bc0ec48c4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget2.ts @@ -0,0 +1,986 @@ +export const EETHTarget2 = { + name: 'EETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts new file mode 100644 index 000000000..31363a630 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget2Deployer = { + name: 'EETHTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161464638038061464683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145bd6100895f395f8181603d015260b801526145bd5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614091806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033a26469706673582212207f61c2c41875cea09cc584c35a076ce90c66a4d2a70c82ade54f9037ba1df07264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget3.ts b/packages/hyperdrive-artifacts/src/EETHTarget3.ts new file mode 100644 index 000000000..378763c92 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget3.ts @@ -0,0 +1,1006 @@ +export const EETHTarget3 = { + name: 'EETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts new file mode 100644 index 000000000..250759e7c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget3Deployer = { + name: 'EETHTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516145db3803806145db83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145526100895f395f8181603d015260b801526145525ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614026806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033a2646970667358221220b76d00495249c7f4e4c99e5eb276d120a5b898bcacb6a2520890e6a2e82c1a1364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget4.ts b/packages/hyperdrive-artifacts/src/EETHTarget4.ts new file mode 100644 index 000000000..5e047dc31 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget4.ts @@ -0,0 +1,995 @@ +export const EETHTarget4 = { + name: 'EETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts new file mode 100644 index 000000000..3f67c255b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget4Deployer = { + name: 'EETHTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161395d38038061395d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138d46100895f395f8181603d015260b801526138d45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6133a8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033a2646970667358221220031583c44c74a3841c7428e01c807d25c70e43634d2d0e5b0f45bc1e9b5e4f9964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EModeLogic.ts b/packages/hyperdrive-artifacts/src/EModeLogic.ts new file mode 100644 index 000000000..a3576d877 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EModeLogic.ts @@ -0,0 +1,28 @@ +export const EModeLogic = { + name: 'EModeLogic' as const, + abi: [ + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x610fd8610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610034575f3560e01c80635d5dc31314610038575b5f80fd5b818015610043575f80fd5b50610057610052366004610df4565b610059565b005b604080516020810182528354815282519183015161007d9289928992899290610121565b335f908152602084905260409081902080549183015160ff90811660ff198416179091551680156100da576100d7878787866040518060200160405290815f82015481525050338760400151885f0151896020015161023e565b50505b604080830151905160ff909116815233907fd728da875fc88944cbf17638bcbe4af0eedaef63becd1d1c57cc097eb4608d849060200160405180910390a250505050505050565b60ff8116158061014b575060ff81165f9081526020859052604090205462010000900461ffff1615155b6040518060400160405280600281526020016106a760f31b8152509061018d5760405162461bcd60e51b81526004016101849190610ebb565b60405180910390fd5b508251156102365760ff811615610236575f5b82811015610234576101b284826102e8565b1561022c575f81815260208781526040808320546001600160a01b03168352898252918290208251918201909252905480825260ff8481169160a81c16146040518060400160405280600281526020016106a760f31b815250906102295760405162461bcd60e51b81526004016101849190610ebb565b50505b6001016101a0565b505b505050505050565b5f805f806102898c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff1681525061033b565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b815250906102d65760405162461bcd60e51b81526004016101849190610ebb565b50909b909a5098505050505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106103245760405162461bcd60e51b81526004016101849190610ebb565b50508151600182811b9190911c1615155b92915050565b5f805f805f8061034d875f0151511590565b1561036957505f94508493508392508291505f199050816107f0565b6103f86040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561043c57608088015160ff165f90815260208a905260409020606089015161042991906107fd565b6101808401526101c08301526101a08201525b87602001518160c0015110156107155760c0810151885161045c916108a6565b6104705760c081018051600101905261043c565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526104a85760c081018051600101905261043c565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906105305750816101e00151896080015160ff16145b6105ac57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190610f07565b6105b3565b8161018001515b825260a0820151158015906105d3575060c082015189516105d3916108f5565b156106c2576105ef896040015182845f01518560200151610943565b6040830181905261010083018051610608908390610f32565b90525060808901516101e08301516106239160ff16906109f8565b151561024083015260808201511561067957816102400151610649578160800151610650565b816101a001515b826040015161065f9190610f45565b82610140018181516106719190610f32565b905250610682565b60016102208301525b816102400151610696578160a0015161069d565b816101c001515b82604001516106ac9190610f45565b82610160018181516106be9190610f32565b9052505b60c082015189516106d2916102e8565b15610704576106ee896040015182845f01518560200151610a0e565b82610120018181516107009190610f32565b9052505b5060c081018051600101905261043c565b8061010001515f03610727575f610742565b8061010001518161014001518161074057610740610f5c565b045b6101408201526101008101515f0361075a575f610775565b8061010001518161016001518161077357610773610f5c565b045b610160820152610120810151156107b7576107b28161012001516107ac836101600151846101000151610b3d90919063ffffffff16565b90610b61565b6107ba565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b81545f90819081908190660100000000000090046001600160a01b0316801561088b5760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015610864573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108889190610f07565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106108e25760405162461bcd60e51b81526004016101849190610ebb565b5050905160019190911b1c600316151590565b6040805180820190915260028152610dcd60f21b60208201525f90608083106109315760405162461bcd60e51b81526004016101849190610ebb565b50509051600191821b82011c16151590565b5f8061094e85610b96565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926109d1928692911690631da24f3e90602401602060405180830381865afa1580156109a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cb9190610f07565b90610bec565b6109db9190610f45565b90508381816109ec576109ec610f5c565b04979650505050505050565b5f8215801590610a0757508282145b9392505050565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015610a5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7f9190610f07565b90508015610a9d57610a9a610a9386610c2e565b8290610bec565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015610ae7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610f07565b610b159082610f32565b9050610b218185610f45565b9050828181610b3257610b32610f5c565b049695505050505050565b5f81156113881983900484111517610b53575f80fd5b506127109102611388010490565b5f8115670de0b6b3a764000060028404190484111715610b7f575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff16428103610bc4575050600101546001600160801b031690565b6001830154610a07906001600160801b03808216916109cb91600160801b9091041684610c84565b5f81156b019d971e4fe8401e740000001983900484111517610c0c575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60038101545f90600160801b900464ffffffffff16428103610c5c575050600201546001600160801b031690565b6002830154610a07906001600160801b03808216916109cb91600160801b9091041684610cc8565b5f80610c9764ffffffffff841642610f70565b610ca19085610f45565b6301e1338090049050610cc0816b033b2e3c9fd0803ce8000000610f32565b949350505050565b5f610a078383425f80610ce264ffffffffff851684610f70565b9050805f03610d00576b033b2e3c9fd0803ce8000000915050610a07565b5f1981015f808060028511610d15575f610d1a565b600285035b925066038882915c4000610d2e8a80610bec565b81610d3b57610d3b610f5c565b0491506301e13380610d4d838b610bec565b81610d5a57610d5a610f5c565b0490505f82610d698688610f45565b610d739190610f45565b6002900490505f8285610d86888a610f45565b610d909190610f45565b610d9a9190610f45565b60069004905080826301e13380610db18a8f610f45565b610dbb9190610f83565b610dd1906b033b2e3c9fd0803ce8000000610f32565b610ddb9190610f32565b610de59190610f32565b9b9a5050505050505050505050565b5f805f805f80868803610100811215610e0b575f80fd5b873596506020880135955060408801359450606080890135945060808901359350609f1982011215610e3b575f80fd5b506040516060810181811067ffffffffffffffff82111715610e6b57634e487b7160e01b5f52604160045260245ffd5b60405260a0880135815260c08801356001600160a01b0381168114610e8e575f80fd5b602082015260e088013560ff81168114610ea6575f80fd5b80604083015250809150509295509295509295565b5f602080835283518060208501525f5b81811015610ee757858101830151858201604001528201610ecb565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215610f17575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033557610335610f1e565b808202811582820484141761033557610335610f1e565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561033557610335610f1e565b5f82610f9d57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212205fedc852856008db381a4b471a87bb15242fc3a860ea279677529381f57b359c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeSetUserEMode(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => uint8) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSetUserEModeParams)": "5d5dc313" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20.ts b/packages/hyperdrive-artifacts/src/ERC20.ts new file mode 100644 index 000000000..3fa626852 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20.ts @@ -0,0 +1,325 @@ +export const ERC20 = { + name: 'ERC20' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20Forwarder.ts b/packages/hyperdrive-artifacts/src/ERC20Forwarder.ts new file mode 100644 index 000000000..b312b2445 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20Forwarder.ts @@ -0,0 +1,407 @@ +export const ERC20Forwarder = { + name: 'ERC20Forwarder' as const, + abi: [ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "token", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "source", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + } +] as const, + bytecode: '0x60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "kind()": "04baa00b", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "token()": "fc0c546a", + "tokenId()": "17d70f7c", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts b/packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts new file mode 100644 index 000000000..580508c4e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts @@ -0,0 +1,149 @@ +export const ERC20ForwarderFactory = { + name: 'ERC20ForwarderFactory' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ERC20LINK_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "create", + "inputs": [ + { + "name": "__token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "__tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20Forwarder" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getDeployDetails", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getForwarder", + "inputs": [ + { + "name": "__token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "__tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "InvalidForwarderAddress", + "inputs": [] + } +] as const, + bytecode: '0x6080604052600180546001600160a01b03191681178155600255348015610024575f80fd5b5060405161186e38038061186e83398101604081905261004391610069565b5f61004e82826101af565b505061026e565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561007a575f80fd5b82516001600160401b0380821115610090575f80fd5b818501915085601f8301126100a3575f80fd5b8151818111156100b5576100b5610055565b604051601f8201601f19908116603f011681019083821181831017156100dd576100dd610055565b8160405282815288868487010111156100f4575f80fd5b5f93505b8284101561011557848401860151818501870152928501926100f8565b5f86848301015280965050505050505092915050565b600181811c9082168061013f57607f821691505b60208210810361015d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101aa57805f5260205f20601f840160051c810160208510156101885750805b601f840160051c820191505b818110156101a7575f8155600101610194565b50505b505050565b81516001600160401b038111156101c8576101c8610055565b6101dc816101d6845461012b565b84610163565b602080601f83116001811461020f575f84156101f85750858301515b5f19600386901b1c1916600185901b178555610266565b5f85815260208120601f198616915b8281101561023d5788860151825594840194600190910190840161021e565b508582101561025a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6115f38061027b5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c80630ecaea73116100585780630ecaea73146100fb57806354fd4d501461010e578063600eb4ba14610134578063d13053bb1461016a575f80fd5b806304baa00b1461007e57806306fdde03146100c85780630710fd58146100d0575b5f80fd5b6100b2604051806040016040528060158152602001744552433230466f72776172646572466163746f727960581b81525081565b6040516100bf91906103f0565b60405180910390f35b6100b2610180565b6100e36100de36600461043c565b61020b565b6040516001600160a01b0390911681526020016100bf565b6100e361010936600461043c565b6102de565b6100b260405180604001604052806007815260200166076312e302e32360cc1b81525081565b61014b6001546002546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016100bf565b6101726103b6565b6040519081526020016100bf565b5f805461018c90610471565b80601f01602080910402602001604051908101604052809291908181526020018280546101b890610471565b80156102035780601f106101da57610100808354040283529160200191610203565b820191905f5260205f20905b8154815290600101906020018083116101e657829003601f168201915b505050505081565b604080516001600160a01b03841660208201529081018290525f9081906060016040516020818303038152906040528051906020012090505f60ff60f81b30836040518060200161025b906103e3565b6020820181038252601f19601f82011660405250805190602001206040516020016102bd94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051808303601f19018152919052805160209091012095945050505050565b6002819055600180546001600160a01b0319166001600160a01b03841690811790915560408051602081019290925281018290525f9081906060016040516020818303038152906040528051906020012090505f8160405161033f906103e3565b8190604051809103905ff590508015801561035c573d5f803e3d5ffd5b509050610369858561020b565b6001600160a01b0316816001600160a01b0316146103995760405162e0775560e61b815260040160405180910390fd5b600180546001600160a01b03191681178155600255949350505050565b6040516103c5602082016103e3565b6020820181038252601f19601f820116604052508051906020012081565b611114806104aa83390190565b5f602080835283518060208501525f5b8181101561041c57858101830151858201604001528201610400565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561044d575f80fd5b82356001600160a01b0381168114610463575f80fd5b946020939093013593505050565b600181811c9082168061048557607f821691505b6020821081036104a357634e487b7160e01b5f52602260045260245ffd5b5091905056fe60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033a264697066735822122077ff4715aad5e900a0eb1d5c03c2f718a47d434f98962105db8d4a1f1d659e7364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "ERC20LINK_HASH()": "d13053bb", + "create(address,uint256)": "0ecaea73", + "getDeployDetails()": "600eb4ba", + "getForwarder(address,uint256)": "0710fd58", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20Mintable.ts b/packages/hyperdrive-artifacts/src/ERC20Mintable.ts new file mode 100644 index 000000000..7adfce507 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20Mintable.ts @@ -0,0 +1,928 @@ +export const ERC20Mintable = { + name: 'ERC20Mintable' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol", + "type": "string", + "internalType": "string" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "admin", + "type": "address", + "internalType": "address" + }, + { + "name": "isCompetitionMode_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "maxMintAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x61010060405234801562000011575f80fd5b5060405162001f8938038062001f8983398101604081905262000034916200028a565b823081818989895f620000488482620003cb565b506001620000578382620003cb565b5060ff81166080524660a0526200006d6200011a565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55506200051192505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200014c919062000497565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001d8575f80fd5b81516001600160401b0380821115620001f557620001f5620001b4565b604051601f8301601f19908116603f01168101908282118183101715620002205762000220620001b4565b81604052838152602092508660208588010111156200023d575f80fd5b5f91505b8382101562000260578582018301518183018401529082019062000241565b5f602085830101528094505050505092915050565b8051801515811462000285575f80fd5b919050565b5f805f805f8060c08789031215620002a0575f80fd5b86516001600160401b0380821115620002b7575f80fd5b620002c58a838b01620001c8565b97506020890151915080821115620002db575f80fd5b50620002ea89828a01620001c8565b955050604087015160ff8116811462000301575f80fd5b60608801519094506001600160a01b03811681146200031e575f80fd5b92506200032e6080880162000275565b915060a087015190509295509295509295565b600181811c908216806200035657607f821691505b6020821081036200037557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003c657805f5260205f20601f840160051c81016020851015620003a25750805b601f840160051c820191505b81811015620003c3575f8155600101620003ae565b50505b505050565b81516001600160401b03811115620003e757620003e7620001b4565b620003ff81620003f8845462000341565b846200037b565b602080601f83116001811462000435575f84156200041d5750858301515b5f19600386901b1c1916600185901b1785556200048f565b5f85815260208120601f198616915b82811015620004655788860151825594840194600190910190840162000444565b50858210156200048357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620004a68162000341565b60018281168015620004c15760018114620004d75762000505565b60ff198416875282151583028701945062000505565b875f526020805f205f5b85811015620004fc5781548a820152908401908201620004e1565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611a1a6200056f5f395f81816103c7015281816105d3015281816106e8015281816109bb01528181610a5801528181610d8a0152610deb01525f61099701525f61096201525f6103080152611a1a5ff3fe608060405234801561000f575f80fd5b5060043610610213575f3560e01c80637a8c63b51161011f578063b7009613116100a9578063dd62ed3e11610079578063dd62ed3e1461050a578063e688747b14610534578063ea7ca27614610569578063ed0d0efb1461059f578063f2fde38b146105be575f80fd5b8063b7009613146104a9578063bf7e214f146104bc578063c53a3985146104cf578063d505accf146104f7575f80fd5b806395d89b41116100ef57806395d89b41146104465780639dc29fac1461044e578063a0712d6814610461578063a9059cbb14610474578063aed3077714610487575f80fd5b80637a8c63b5146103c25780637a9e5e4b146103e95780637ecebe00146103fc5780638da5cb5b1461041b575f80fd5b806323b872dd116101a057806342966c681161017057806342966c68146103575780634b5159da1461036a57806367aff4841461037d57806370a0823114610390578063728b952b146103af575f80fd5b806323b872dd146102f0578063313ce567146103035780633644e5151461033c57806340c10f1914610344575f80fd5b8063095ea7b3116101e6578063095ea7b3146102865780630bade8a4146102a95780630ea9b75b146102cb57806318160ddd146102de578063239c70ae146102e7575f80fd5b806305f05a941461021757806306a36aee1461022c57806306fdde031461025e578063088a4ed014610273575b5f80fd5b61022a6102253660046114ae565b6105d1565b005b61024b61023a3660046114e5565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b61026661065b565b6040516102559190611500565b61022a61028136600461154c565b6106e6565b610299610294366004611563565b610742565b6040519015158152602001610255565b6102996102b73660046115a9565b600a6020525f908152604090205460ff1681565b61022a6102d93660046115d2565b6107ae565b61024b60025481565b61024b600c5481565b6102996102fe366004611616565b610883565b61032a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610255565b61024b61095f565b61022a610352366004611563565b6109b9565b61022a61036536600461154c565b610a56565b61022a610378366004611654565b610aba565b61022a61038b36600461166e565b610b4a565b61024b61039e3660046114e5565b60036020525f908152604090205481565b61022a6103bd366004611699565b610c0f565b6102997f000000000000000000000000000000000000000000000000000000000000000081565b61022a6103f73660046114e5565b610c96565b61024b61040a3660046114e5565b60056020525f908152604090205481565b60065461042e906001600160a01b031681565b6040516001600160a01b039091168152602001610255565b610266610d7b565b61022a61045c366004611563565b610d88565b61022a61046f36600461154c565b610de9565b610299610482366004611563565b610e82565b6102996104953660046114e5565b600d6020525f908152604090205460ff1681565b6102996104b73660046116c5565b610ee5565b60075461042e906001600160a01b031681565b61042e6104dd3660046114e5565b60086020525f90815260409020546001600160a01b031681565b61022a610505366004611709565b610fde565b61024b610518366004611699565b600460209081525f928352604080842090915290825290205481565b610299610542366004611772565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6102996105773660046117a3565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61024b6105ad3660046115a9565b600b6020525f908152604090205481565b61022a6105cc3660046114e5565b61121c565b7f0000000000000000000000000000000000000000000000000000000000000000156106315761060c335f356001600160e01b031916611298565b6106315760405162461bcd60e51b8152600401610628906117cd565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461066790611804565b80601f016020809104026020016040519081016040528092919081815260200182805461069390611804565b80156106de5780601f106106b5576101008083540402835291602001916106de565b820191905f5260205f20905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b7f00000000000000000000000000000000000000000000000000000000000000001561073d57610721335f356001600160e01b031916611298565b61073d5760405162461bcd60e51b8152600401610628906117cd565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079c9086815260200190565b60405180910390a35060015b92915050565b6107c3335f356001600160e01b031916611298565b6107df5760405162461bcd60e51b81526004016106289061183c565b801561080e576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610834565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610876911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146108dc576108b88382611876565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610903908490611876565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206119c58339815191529061094a9087815260200190565b60405180910390a360019150505b9392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146109945761098f61133f565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610a10576109f4335f356001600160e01b031916611298565b610a105760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610a4857600c54811115610a485760405162461bcd60e51b815260040161062890611889565b610a5282826113d7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610aad57610a91335f356001600160e01b031916611298565b610aad5760405162461bcd60e51b8152600401610628906117cd565b610ab7338261142e565b50565b610acf335f356001600160e01b031916611298565b610aeb5760405162461bcd60e51b81526004016106289061183c565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610b5f335f356001600160e01b031916611298565b610b7b5760405162461bcd60e51b81526004016106289061183c565b8015610ba9576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610bce565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610876911515815260200190565b610c24335f356001600160e01b031916611298565b610c405760405162461bcd60e51b81526004016106289061183c565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480610d28575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610ce990339030906001600160e01b03195f3516906004016118cb565b602060405180830381865afa158015610d04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2891906118f8565b610d30575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001805461066790611804565b7f000000000000000000000000000000000000000000000000000000000000000015610ddf57610dc3335f356001600160e01b031916611298565b610ddf5760405162461bcd60e51b8152600401610628906117cd565b610a52828261142e565b7f000000000000000000000000000000000000000000000000000000000000000015610e4057610e24335f356001600160e01b031916611298565b610e405760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610e7857600c54811115610e785760405162461bcd60e51b815260040161062890611889565b610ab733826113d7565b335f90815260036020526040812080548391908390610ea2908490611876565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206119c58339815191529061079c9086815260200190565b6001600160a01b038083165f908152600860205260408120549091168015610f7e5760405163b700961360e01b81526001600160a01b0382169063b700961390610f37908890889088906004016118cb565b602060405180830381865afa158015610f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7691906118f8565b915050610958565b6001600160e01b031983165f908152600a602052604090205460ff1680610fd557506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b4284101561102e5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610628565b5f600161103961095f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015611141573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906111775750876001600160a01b0316816001600160a01b0316145b6111b45760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610628565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b611231335f356001600160e01b031916611298565b61124d5760405162461bcd60e51b81526004016106289061183c565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b0316801580159061131f575060405163b700961360e01b81526001600160a01b0382169063b7009613906112e0908790309088906004016118cb565b602060405180830381865afa1580156112fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131f91906118f8565b8061133757506006546001600160a01b038581169116145b949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405161136f9190611913565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f8282546113e891906119b1565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206119c583398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611455908490611876565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206119c583398151915290602001611422565b6001600160a01b0381168114610ab7575f80fd5b8015158114610ab7575f80fd5b5f80604083850312156114bf575f80fd5b82356114ca8161148d565b915060208301356114da816114a1565b809150509250929050565b5f602082840312156114f5575f80fd5b81356109588161148d565b5f602080835283518060208501525f5b8181101561152c57858101830151858201604001528201611510565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561155c575f80fd5b5035919050565b5f8060408385031215611574575f80fd5b823561157f8161148d565b946020939093013593505050565b80356001600160e01b0319811681146115a4575f80fd5b919050565b5f602082840312156115b9575f80fd5b6109588261158d565b803560ff811681146115a4575f80fd5b5f805f606084860312156115e4575f80fd5b6115ed846115c2565b92506115fb6020850161158d565b9150604084013561160b816114a1565b809150509250925092565b5f805f60608486031215611628575f80fd5b83356116338161148d565b925060208401356116438161148d565b929592945050506040919091013590565b5f8060408385031215611665575f80fd5b6114ca8361158d565b5f805f60608486031215611680575f80fd5b833561168b8161148d565b92506115fb602085016115c2565b5f80604083850312156116aa575f80fd5b82356116b58161148d565b915060208301356114da8161148d565b5f805f606084860312156116d7575f80fd5b83356116e28161148d565b925060208401356116f28161148d565b91506117006040850161158d565b90509250925092565b5f805f805f805f60e0888a03121561171f575f80fd5b873561172a8161148d565b9650602088013561173a8161148d565b95506040880135945060608801359350611756608089016115c2565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611783575f80fd5b61178c836115c2565b915061179a6020840161158d565b90509250929050565b5f80604083850312156117b4575f80fd5b82356117bf8161148d565b915061179a602084016115c2565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c9082168061181857607f821691505b60208210810361183657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107a8576107a8611862565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611908575f80fd5b8151610958816114a1565b5f8083545f60018260011c9150600183168061193057607f831692505b6020808410820361194f57634e487b7160e01b5f52602260045260245ffd5b8180156119635760018114611978576119a3565b60ff19861689528415158502890196506119a3565b5f8a8152602090205f5b8681101561199b5781548b820152908501908301611982565b505084890196505b509498975050505050505050565b808201808211156107a8576107a861186256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220327bc91d6f09a925c146c80290bfde7f90aab0f56a72af8861f409aa3948d81964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626.ts b/packages/hyperdrive-artifacts/src/ERC4626.ts new file mode 100644 index 000000000..ad6673554 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626.ts @@ -0,0 +1,723 @@ +export const ERC4626 = { + name: 'ERC4626' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "balanceOf(address)": "70a08231", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256,address,address)": "b460af94" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Base.ts b/packages/hyperdrive-artifacts/src/ERC4626Base.ts new file mode 100644 index 000000000..8fa6832cc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Base.ts @@ -0,0 +1,657 @@ +export const ERC4626Base = { + name: 'ERC4626Base' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Conversions.ts b/packages/hyperdrive-artifacts/src/ERC4626Conversions.ts new file mode 100644 index 000000000..af5989a18 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Conversions.ts @@ -0,0 +1,6 @@ +export const ERC4626Conversions = { + name: 'ERC4626Conversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206342abdde17a804bc069629bb17530c9892231b5ab21dfb0262d9fe17e0ef05064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts b/packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts new file mode 100644 index 000000000..c183f361e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts @@ -0,0 +1,1704 @@ +export const ERC4626Hyperdrive = { + name: 'ERC4626Hyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts new file mode 100644 index 000000000..ed85778a4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const ERC4626HyperdriveCoreDeployer = { + name: 'ERC4626HyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506121068061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611ab2806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033a2646970667358221220fdcc5ef1e806b823ef7b08ac5894ec6168915c6e11a413d32e99ac705377a1df64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..e1afd5133 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts @@ -0,0 +1,803 @@ +export const ERC4626HyperdriveDeployerCoordinator = { + name: 'ERC4626HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b5060405162002aea38038062002aea8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126d06200041a5f395f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526126d05ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bf4565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611d29565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611de7565b6106d0565b348015610187575f80fd5b5061026b610196366004611e11565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611e28565b348015610283575f80fd5b5061014f610292366004611de7565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611ffc565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004612065565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602481526020016126776024913981565b5f80546104bc906120ff565b80601f01602080910402602001604051908101604052809291908181526020018280546104e8906120ff565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190612137565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612186565b92505f61065382346121b1565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db8383611329565b90505b92915050565b5f6106db8383611393565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b61077886866113c2565b5f61078387876115cf565b90505f8760405160200161079791906121c4565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a6115e6565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161087394939291906123f7565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b3919061243c565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161092791906121c4565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f87876113c2565b5f610999886115e6565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a4093929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a7594939291906123f7565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab5919061243c565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b7393929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba894939291906123f7565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be8919061243c565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca693929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb94939291906123f7565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b919061243c565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd993929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e94939291906123f7565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e919061243c565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110359087906020016121c4565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e85856113c2565b5f6110a8866115e6565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a99989796959493929190612478565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c5919061243c565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561129257856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611267573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128b919061243c565b90506112f5565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f2919061243c565b90505b61130a6001600160a01b0382168630876116b4565b61131e6001600160a01b0382168786611721565b505f95945050505050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa15801561136f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190612186565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611354565b6113cc82826117b0565b60208201516001600160a01b03166113f75760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145b919061243c565b6001600160a01b0316825f01516001600160a01b03161461148f57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f491906124fa565b6114fe919061251a565b61150990600a612613565b8260800151101561152d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159291906124fa565b61159c919061251a565b6115a790600a612613565b8260a0015110156115cb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b6115ee611ad3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261171b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506118c4565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611772848261192f565b61171b576040516001600160a01b0384811660248301525f60448301526117a691869182169063095ea7b3906064016116e9565b61171b84826118c4565b6103e8826080015110156117d7576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117fc57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061182657508161010001518260e001516118239190612621565b15155b156118445760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118705750670de0b6b3a7640000826101c0015160200151115b8061188b5750670de0b6b3a7640000826101c0015160400151115b806118a65750670de0b6b3a7640000826101c0015160600151115b156115cb576040516322f72cc360e11b815260040160405180910390fd5b5f6118d86001600160a01b038416836119cc565b905080515f141580156118fc5750808060200190518101906118fa9190612640565b155b1561192a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161194a919061265b565b5f604051808303815f865af19150503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b50915091508180156119b25750805115806119b25750808060200190518101906119b29190612640565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b031684866040516119f0919061265b565b5f6040518083038185875af1925050503d805f8114611a2a576040519150601f19603f3d011682016040523d82523d5f602084013e611a2f565b606091505b5091509150611a3f868383611a4b565b925050505b9392505050565b606082611a6057611a5b82611aa7565b611a44565b8151158015611a7757506001600160a01b0384163b155b15611aa057604051639996b31560e01b81526001600160a01b0385166004820152602401611921565b5080611a44565b805115611ab75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ba260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611bc1578181015183820152602001611ba9565b50505f910152565b5f8151808452611be0816020860160208601611ba7565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611bc9565b6001600160a01b0381168114611ad0575f80fd5b8035611c2581611c06565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c6157611c61611c2a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c6157611c61611c2a565b8015158114611ad0575f80fd5b5f67ffffffffffffffff80841115611cb257611cb2611c2a565b604051601f8501601f19908116603f01168101908282118183101715611cda57611cda611c2a565b81604052809350858152868686011115611cf2575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611d1a575f80fd5b6106db83833560208501611c98565b5f805f805f60a08688031215611d3d575f80fd5b853594506020860135611d4f81611c06565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d79575f80fd5b908701906060828a031215611d8c575f80fd5b611d94611c3e565b8235611d9f81611c06565b81526020830135611daf81611c8b565b6020820152604083013582811115611dc5575f80fd5b611dd18b828601611d0b565b6040830152508093505050509295509295909350565b5f8060408385031215611df8575f80fd5b8235611e0381611c06565b946020939093013593505050565b5f60208284031215611e21575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611eb5575f80fd5b6040516080810181811067ffffffffffffffff82111715611ed857611ed8611c2a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f1a575f80fd5b611f22611c67565b9050611f2d82611c1a565b8152611f3b60208301611c1a565b6020820152611f4c60408301611c1a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fa9818401611c1a565b90820152610160611fbb838201611c1a565b90820152610180611fcd838201611c1a565b908201526101a0611fdf838201611c1a565b908201526101c0611ff284848301611ea5565b9082015292915050565b5f805f805f6102c08688031215612011575f80fd5b853594506120228760208801611f09565b935061026086013567ffffffffffffffff81111561203e575f80fd5b61204a88828901611d0b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561207a575f80fd5b85359450602086013567ffffffffffffffff80821115612098575f80fd5b818801915088601f8301126120ab575f80fd5b6120ba89833560208501611c98565b95506120c98960408a01611f09565b94506102808801359150808211156120df575f80fd5b506120ec88828901611d0b565b959894975092956102a001359392505050565b600181811c9082168061211357607f821691505b60208210810361213157634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261217c60c0840182611bc9565b9695505050505050565b5f60208284031215612196575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106de576106de61219d565b81516001600160a01b03168152610240810160208301516121f060208401826001600160a01b03169052565b50604083015161220b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151612271828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e9d565b80516001600160a01b03168252602081015161230160208401826001600160a01b03169052565b50604081015161231c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161238e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261171b565b5f6102c061240583886122da565b6001600160a01b038616610260840152610280830181905261242981840186611bc9565b915050826102a083015295945050505050565b5f6020828403121561244c575f80fd5b8151611a4481611c06565b6001600160a01b039390931683526020830191909152604082015260600190565b5f61038080835261248b8184018e611bc9565b905061249a602084018d6122da565b6001600160a01b038b81166102808501528382036102a08501526124be828c611bc9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561250a575f80fd5b815160ff81168114611a44575f80fd5b60ff82811682821603908111156106de576106de61219d565b600181815b8085111561256d57815f19048211156125535761255361219d565b8085161561256057918102915b93841c9390800290612538565b509250929050565b5f82612583575060016106de565b8161258f57505f6106de565b81600181146125a557600281146125af576125cb565b60019150506106de565b60ff8411156125c0576125c061219d565b50506001821b6106de565b5060208310610133831016604e8410600b84101617156125ee575081810a6106de565b6125f88383612533565b805f190482111561260b5761260b61219d565b029392505050565b5f6106db60ff841683612575565b5f8261263b57634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612650575f80fd5b8151611a4481611c8b565b5f825161266c818460208701611ba7565b919091019291505056fe45524334363236487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb20e2025c59cf03e179f60d33edda05b6e9118b0ab6a9f06e08bed958790ecc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target0.ts b/packages/hyperdrive-artifacts/src/ERC4626Target0.ts new file mode 100644 index 000000000..5742861d0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target0.ts @@ -0,0 +1,1932 @@ +export const ERC4626Target0 = { + name: 'ERC4626Target0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts new file mode 100644 index 000000000..e1102bb7d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target0Deployer = { + name: 'ERC4626Target0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143a48061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ecc806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033a26469706673582212204bc9a6125e7a582ac48b2e649ead520a3e9160ddee511f1c375e1b74c9bd273464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target1.ts b/packages/hyperdrive-artifacts/src/ERC4626Target1.ts new file mode 100644 index 000000000..3d0a7bc73 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target1.ts @@ -0,0 +1,990 @@ +export const ERC4626Target1 = { + name: 'ERC4626Target1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts new file mode 100644 index 000000000..4d46804d2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target1Deployer = { + name: 'ERC4626Target1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145b78061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6140df806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033a26469706673582212205f5aa409eae4faa0640904c71022305cb4399f397b4501d8a5b3a799a75041fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target2.ts b/packages/hyperdrive-artifacts/src/ERC4626Target2.ts new file mode 100644 index 000000000..45bacc1ce --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target2.ts @@ -0,0 +1,1010 @@ +export const ERC4626Target2 = { + name: 'ERC4626Target2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts new file mode 100644 index 000000000..75972a711 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target2Deployer = { + name: 'ERC4626Target2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061472e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614256806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033a264697066735822122043f672569fe8860f954412d209b078eaed10295fb03a71f5dd6a807e7e219bad64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target3.ts b/packages/hyperdrive-artifacts/src/ERC4626Target3.ts new file mode 100644 index 000000000..57699773e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target3.ts @@ -0,0 +1,1030 @@ +export const ERC4626Target3 = { + name: 'ERC4626Target3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts new file mode 100644 index 000000000..367f69f6b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target3Deployer = { + name: 'ERC4626Target3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061469a8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6141c2806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033a264697066735822122049bde01678a107bcf071d08800055eece08bc194212b6e9aa216e53ae8e1e68364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target4.ts b/packages/hyperdrive-artifacts/src/ERC4626Target4.ts new file mode 100644 index 000000000..ec4d40101 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target4.ts @@ -0,0 +1,1009 @@ +export const ERC4626Target4 = { + name: 'ERC4626Target4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts new file mode 100644 index 000000000..afac36527 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target4Deployer = { + name: 'ERC4626Target4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506139f28061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61351a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033a2646970667358221220cf2d5b23ebb64c3f7a3b0255b3a637a2a4fd302160b948a06af1566879db7ab364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Errors.ts b/packages/hyperdrive-artifacts/src/Errors.ts new file mode 100644 index 000000000..06af4843d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Errors.ts @@ -0,0 +1,1380 @@ +export const Errors = { + name: 'Errors' as const, + abi: [ + { + "type": "function", + "name": "ACL_ADMIN_CANNOT_BE_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ADDRESSES_PROVIDER_ALREADY_ADDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ADDRESSES_PROVIDER_NOT_REGISTERED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ASSET_NOT_BORROWABLE_IN_ISOLATION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ASSET_NOT_LISTED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BORROWING_NOT_ENABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BORROW_CAP_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE_INVALID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_MUST_BE_POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_ATOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_BRIDGE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_EMERGENCY_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_POOL_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_POOL_CONFIGURATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_RISK_OR_POOL_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_BALANCE_IS_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_CANNOT_BE_LIQUIDATED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_CANNOT_COVER_NEW_BORROW", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_SAME_AS_BORROWING_CURRENCY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEBT_CEILING_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEBT_CEILING_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "EMODE_CATEGORY_RESERVED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_DISABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_INVALID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "HEALTH_FACTOR_NOT_BELOW_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INCONSISTENT_EMODE_CATEGORY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INCONSISTENT_FLASHLOAN_PARAMS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INCONSISTENT_PARAMS_LENGTH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_ADDRESSES_PROVIDER_ID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_AMOUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_BORROW_CAP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_BURN_AMOUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_DEBT_CEILING", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_DECIMALS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EMODE_CATEGORY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EMODE_CATEGORY_ASSIGNMENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EMODE_CATEGORY_PARAMS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EXPIRATION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_FLASHLOAN_EXECUTOR_RETURN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_FREEZE_STATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_GRACE_PERIOD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_INTEREST_RATE_MODE_SELECTED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LIQUIDATION_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LIQ_BONUS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LIQ_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LTV", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_MAX_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_MINT_AMOUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_OPTIMAL_USAGE_RATIO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_RESERVE_FACTOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_RESERVE_INDEX", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_RESERVE_PARAMS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_SIGNATURE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_SUPPLY_CAP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_UNBACKED_MINT_CAP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "LTV_VALIDATION_FAILED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NOT_CONTRACT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NOT_ENOUGH_AVAILABLE_USER_BALANCE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_DEBT_OF_SELECTED_TYPE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_MORE_RESERVES_ALLOWED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_OUTSTANDING_STABLE_DEBT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_OUTSTANDING_VARIABLE_DEBT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "OPERATION_NOT_SUPPORTED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL_ADDRESSES_DO_NOT_MATCH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "PRICE_ORACLE_SENTINEL_CHECK_FAILED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_ALREADY_ADDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_ALREADY_INITIALIZED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_DEBT_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_FROZEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_INACTIVE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_LIQUIDITY_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_PAUSED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SILOED_BORROWING_VIOLATION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SLOPE_2_MUST_BE_GTE_SLOPE_1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STABLE_BORROWING_ENABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STABLE_BORROWING_NOT_ENABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STABLE_DEBT_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SUPPLY_CAP_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SUPPLY_TO_ATOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNBACKED_MINT_CAP_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_BALANCE_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_CANNOT_BE_RESCUED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "USER_IN_ISOLATION_MODE_OR_LTV_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "VARIABLE_DEBT_SUPPLY_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "WITHDRAW_TO_ATOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ZERO_ADDRESS_NOT_VALID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x611293610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061055e575f3560e01c80638aa3ca4c116102ca578063c08a114611610191578063de24948c116100fa578063f10727db116100b4578063f9b6e9a11161008f578063f9b6e9a11461118d578063fa163a83146111ae578063fae82791146111cf578063fd1828ff146111f0575f80fd5b8063f10727db1461112a578063f18206521461114b578063f479ea111461116c575f80fd5b8063de24948c14611065578063e02f07ee14611086578063e3fa20f5146110a6578063e4dd8b74146110c7578063e981483a146110e8578063f07f678514611109575f80fd5b8063d6f9fcde1161014b578063d6f9fcde14610f9f578063d9adda8514610fc0578063db3e2c5414610fe1578063dc191bd914611002578063dcc56db614611023578063dd1dd95f14611044575f80fd5b8063c08a114614610ed9578063c863808214610efa578063c899301a14610f1b578063cd23367c14610f3c578063d14bb17a14610f5d578063d1cd8b1d14610f7e575f80fd5b8063a4868dca11610233578063b4a45730116101ed578063b4a4573014610e14578063b5e7936614610e35578063b68774e914610e55578063b7f5e22414610e76578063b87041c214610e97578063bad8308c14610eb8575f80fd5b8063a4868dca14610d4f578063a8c9785314610d70578063ab883ca014610d91578063abd351b114610db2578063ac75323614610dd3578063b051005414610df3575f80fd5b8063952633c511610284578063952633c514610c895780639527e9d914610caa57806399ce53f314610ccb578063a2797c8014610cec578063a2e976c614610d0d578063a3402a3814610d2e575f80fd5b80638aa3ca4c14610bc35780638b8b98d714610be45780638e83874814610c055780638eda46bd14610c265780638f7722b214610c4757806394f9fd8a14610c68575f80fd5b80634e01e3c1116104285780636b3f7cc71161039157806376ae8fca1161034b5780638596aad5116103265780638596aad514610b3f578063895f7dc814610b6057806389c5d45f14610b815780638a34400014610ba2575f80fd5b806376ae8fca14610adc5780637aa0767e14610afd5780637fea6f3614610b1e575f80fd5b80636b3f7cc714610a165780636cd3cfbc14610a37578063712f536a14610a5857806373dea5e314610a7957806374459b1414610a9a578063747fa55614610abb575f80fd5b80635d9c76c0116103e25780635d9c76c01461095157806360c3de80146109725780636177a9321461099257806361c111d2146109b357806365a83bab146109d457806365e7ef4c146109f5575f80fd5b80634e01e3c11461088c5780634e3aed37146108ad5780634ef999ff146108ce5780634f77647b146108ef578063512674501461090f57806352ba9dbe14610930575f80fd5b80632c8e3b4c116104ca578063471df68511610484578063471df685146107c757806347ba93d8146107e857806347cf152314610809578063480702ae1461082a578063485c8ff61461084b5780634d86f3931461086b575f80fd5b80632c8e3b4c146107025780632eed17e814610722578063335763de14610743578063366eb54d1461076457806337930782146107855780634105ab65146107a6575f80fd5b8063227602451161051b578063227602451461063d57806322a734461461065e578063231ec1411461067f57806326bbd053146106a057806326e7b312146106c15780632926c971146106e1575f80fd5b8063084dfa0d1461056257806311d7b0061461059957806312dcade8146105b957806314dcfbbc146105da578063198d6a6b146105fb5780631abbb0011461061c575b5f80fd5b61058360405180604001604052806002815260200161062760f31b81525081565b6040516105909190611211565b60405180910390f35b610583604051806040016040528060018152602001603960f81b81525081565b610583604051806040016040528060028152602001610c4d60f21b81525081565b610583604051806040016040528060028152602001611c1b60f11b81525081565b61058360405180604001604052806002815260200161070760f31b81525081565b61058360405180604001604052806002815260200161383760f01b81525081565b61058360405180604001604052806002815260200161393960f01b81525081565b61058360405180604001604052806002815260200161343760f01b81525081565b610583604051806040016040528060028152602001610e4d60f21b81525081565b61058360405180604001604052806002815260200161363960f01b81525081565b610583604051806040016040528060018152602001603360f81b81525081565b610583604051806040016040528060028152602001610d0d60f21b81525081565b610583604051806040016040528060018152602001603560f81b81525081565b61058360405180604001604052806002815260200161035360f41b81525081565b61058360405180604001604052806002815260200161032360f41b81525081565b61058360405180604001604052806002815260200161333560f01b81525081565b61058360405180604001604052806002815260200161189960f11b81525081565b61058360405180604001604052806002815260200161072760f31b81525081565b61058360405180604001604052806002815260200161323360f01b81525081565b610583604051806040016040528060028152602001611b9960f11b81525081565b61058360405180604001604052806002815260200161323160f01b81525081565b610583604051806040016040528060028152602001611b1960f11b81525081565b610583604051806040016040528060018152602001601960f91b81525081565b61058360405180604001604052806002815260200161333160f01b81525081565b610583604051806040016040528060028152602001610ccd60f21b81525081565b61058360405180604001604052806002815260200161383360f01b81525081565b61058360405180604001604052806002815260200161033360f41b81525081565b610583604051806040016040528060018152602001601b60f91b81525081565b61058360405180604001604052806002815260200161323560f01b81525081565b61058360405180604001604052806002815260200161323760f01b81525081565b61058360405180604001604052806002815260200161313760f01b81525081565b610583604051806040016040528060018152602001600760fb1b81525081565b61058360405180604001604052806002815260200161393360f01b81525081565b61058360405180604001604052806002815260200161031360f41b81525081565b61058360405180604001604052806002815260200161353360f01b81525081565b61058360405180604001604052806002815260200161353560f01b81525081565b610583604051806040016040528060028152602001611a9960f11b81525081565b61058360405180604001604052806002815260200161064760f31b81525081565b61058360405180604001604052806002815260200161034360f41b81525081565b61058360405180604001604052806002815260200161343960f01b81525081565b61058360405180604001604052806002815260200161343160f01b81525081565b61058360405180604001604052806002815260200161313960f01b81525081565b61058360405180604001604052806002815260200161313560f01b81525081565b61058360405180604001604052806002815260200161191960f11b81525081565b61058360405180604001604052806002815260200161313360f01b81525081565b61058360405180604001604052806002815260200161036360f41b81525081565b610583604051806040016040528060028152602001611a1b60f11b81525081565b61058360405180604001604052806002815260200161333360f01b81525081565b61058360405180604001604052806002815260200161333760f01b81525081565b61058360405180604001604052806002815260200161393160f01b81525081565b61058360405180604001604052806002815260200161038360f41b81525081565b610583604051806040016040528060028152602001611c9b60f11b81525081565b61058360405180604001604052806002815260200161037360f41b81525081565b6105836040518060400160405280600281526020016106a760f31b81525081565b610583604051806040016040528060028152602001610d4d60f21b81525081565b61058360405180604001604052806002815260200161343560f01b81525081565b61058360405180604001604052806002815260200161363560f01b81525081565b61058360405180604001604052806002815260200161363360f01b81525081565b61058360405180604001604052806002815260200161343360f01b81525081565b61058360405180604001604052806002815260200161313160f01b81525081565b61058360405180604001604052806002815260200161373960f01b81525081565b61058360405180604001604052806002815260200161363760f01b81525081565b61058360405180604001604052806002815260200161373160f01b81525081565b61058360405180604001604052806002815260200161383560f01b81525081565b610583604051806040016040528060028152602001610c8d60f21b81525081565b610583604051806040016040528060018152602001603160f81b81525081565b61058360405180604001604052806002815260200161353160f01b81525081565b610583604051806040016040528060028152602001611a1960f11b81525081565b610583604051806040016040528060018152602001600d60fa1b81525081565b61058360405180604001604052806002815260200161323960f01b81525081565b61058360405180604001604052806002815260200161199960f11b81525081565b61058360405180604001604052806002815260200161353760f01b81525081565b610583604051806040016040528060028152602001611b9b60f11b81525081565b6105836040518060400160405280600281526020016106e760f31b81525081565b61058360405180604001604052806002815260200161353960f01b81525081565b610583604051806040016040528060028152602001610e0d60f21b81525081565b610583604051806040016040528060028152602001611c1960f11b81525081565b61058360405180604001604052806002815260200161373760f01b81525081565b610583604051806040016040528060028152602001610dcd60f21b81525081565b6105836040518060400160405280600281526020016106c760f31b81525081565b61058360405180604001604052806002815260200161363160f01b81525081565b61058360405180604001604052806002815260200161393560f01b81525081565b61058360405180604001604052806002815260200161333960f01b81525081565b61058360405180604001604052806002815260200161373360f01b81525081565b610583604051806040016040528060028152602001610d8d60f21b81525081565b61058360405180604001604052806002815260200161383960f01b81525081565b610583604051806040016040528060018152602001603760f81b81525081565b61058360405180604001604052806002815260200161199b60f11b81525081565b61058360405180604001604052806002815260200161383160f01b81525081565b61058360405180604001604052806002815260200161039360f41b81525081565b61058360405180604001604052806002815260200161066760f31b81525081565b610583604051806040016040528060028152602001611a9b60f11b81525081565b61058360405180604001604052806002815260200161393760f01b81525081565b61058360405180604001604052806002815260200161189b60f11b81525081565b610583604051806040016040528060028152602001611c9960f11b81525081565b610583604051806040016040528060028152602001611b1b60f11b81525081565b61058360405180604001604052806002815260200161191b60f11b81525081565b61058360405180604001604052806002815260200161373560f01b81525081565b5f602080835283518060208501525f5b8181101561123d57858101830151858201604001528201611221565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220277e106deea35701f26fbbedb8f798ae0af618897570241f2a4cd24dc0c951aa64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "ACL_ADMIN_CANNOT_BE_ZERO()": "fd1828ff", + "ADDRESSES_PROVIDER_ALREADY_ADDED()": "14dcfbbc", + "ADDRESSES_PROVIDER_NOT_REGISTERED()": "e02f07ee", + "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE()": "f07f6785", + "ASSET_NOT_BORROWABLE_IN_ISOLATION()": "8596aad5", + "ASSET_NOT_LISTED()": "cd23367c", + "BORROWING_NOT_ENABLED()": "4ef999ff", + "BORROW_CAP_EXCEEDED()": "2eed17e8", + "BRIDGE_PROTOCOL_FEE_INVALID()": "7aa0767e", + "CALLER_MUST_BE_POOL()": "471df685", + "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN()": "2c8e3b4c", + "CALLER_NOT_ATOKEN()": "a2e976c6", + "CALLER_NOT_BRIDGE()": "4f77647b", + "CALLER_NOT_EMERGENCY_ADMIN()": "485c8ff6", + "CALLER_NOT_POOL_ADMIN()": "ac753236", + "CALLER_NOT_POOL_CONFIGURATOR()": "61c111d2", + "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN()": "26e7b312", + "CALLER_NOT_RISK_OR_POOL_ADMIN()": "b5e79366", + "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN()": "8e838748", + "COLLATERAL_BALANCE_IS_ZERO()": "4e01e3c1", + "COLLATERAL_CANNOT_BE_LIQUIDATED()": "895f7dc8", + "COLLATERAL_CANNOT_COVER_NEW_BORROW()": "e3fa20f5", + "COLLATERAL_SAME_AS_BORROWING_CURRENCY()": "8a344000", + "DEBT_CEILING_EXCEEDED()": "65a83bab", + "DEBT_CEILING_NOT_ZERO()": "e4dd8b74", + "EMODE_CATEGORY_RESERVED()": "f479ea11", + "FLASHLOAN_DISABLED()": "8aa3ca4c", + "FLASHLOAN_PREMIUM_INVALID()": "747fa556", + "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD()": "366eb54d", + "HEALTH_FACTOR_NOT_BELOW_THRESHOLD()": "952633c5", + "INCONSISTENT_EMODE_CATEGORY()": "8f7722b2", + "INCONSISTENT_FLASHLOAN_PARAMS()": "73dea5e3", + "INCONSISTENT_PARAMS_LENGTH()": "bad8308c", + "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET()": "2926c971", + "INVALID_ADDRESSES_PROVIDER()": "37930782", + "INVALID_ADDRESSES_PROVIDER_ID()": "60c3de80", + "INVALID_AMOUNT()": "fae82791", + "INVALID_BORROW_CAP()": "d6f9fcde", + "INVALID_BURN_AMOUNT()": "51267450", + "INVALID_DEBT_CEILING()": "dcc56db6", + "INVALID_DECIMALS()": "fa163a83", + "INVALID_EMODE_CATEGORY()": "a8c97853", + "INVALID_EMODE_CATEGORY_ASSIGNMENT()": "5d9c76c0", + "INVALID_EMODE_CATEGORY_PARAMS()": "47cf1523", + "INVALID_EXPIRATION()": "c08a1146", + "INVALID_FLASHLOAN_EXECUTOR_RETURN()": "7fea6f36", + "INVALID_FREEZE_STATE()": "22760245", + "INVALID_GRACE_PERIOD()": "4105ab65", + "INVALID_INTEREST_RATE_MODE_SELECTED()": "89c5d45f", + "INVALID_LIQUIDATION_PROTOCOL_FEE()": "8eda46bd", + "INVALID_LIQ_BONUS()": "9527e9d9", + "INVALID_LIQ_THRESHOLD()": "dd1dd95f", + "INVALID_LTV()": "99ce53f3", + "INVALID_MAX_RATE()": "f9b6e9a1", + "INVALID_MINT_AMOUNT()": "abd351b1", + "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO()": "c899301a", + "INVALID_OPTIMAL_USAGE_RATIO()": "4e3aed37", + "INVALID_RESERVE_FACTOR()": "a4868dca", + "INVALID_RESERVE_INDEX()": "d1cd8b1d", + "INVALID_RESERVE_PARAMS()": "335763de", + "INVALID_SIGNATURE()": "a3402a38", + "INVALID_SUPPLY_CAP()": "26bbd053", + "INVALID_UNBACKED_MINT_CAP()": "47ba93d8", + "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED()": "f1820652", + "LTV_VALIDATION_FAILED()": "b87041c2", + "NOT_CONTRACT()": "11d7b006", + "NOT_ENOUGH_AVAILABLE_USER_BALANCE()": "b7f5e224", + "NO_DEBT_OF_SELECTED_TYPE()": "dc191bd9", + "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF()": "712f536a", + "NO_MORE_RESERVES_ALLOWED()": "76ae8fca", + "NO_OUTSTANDING_STABLE_DEBT()": "74459b14", + "NO_OUTSTANDING_VARIABLE_DEBT()": "b4a45730", + "OPERATION_NOT_SUPPORTED()": "8b8b98d7", + "POOL_ADDRESSES_DO_NOT_MATCH()": "1abbb001", + "PRICE_ORACLE_SENTINEL_CHECK_FAILED()": "c8638082", + "RESERVE_ALREADY_ADDED()": "12dcade8", + "RESERVE_ALREADY_INITIALIZED()": "d9adda85", + "RESERVE_DEBT_NOT_ZERO()": "e981483a", + "RESERVE_FROZEN()": "6cd3cfbc", + "RESERVE_INACTIVE()": "52ba9dbe", + "RESERVE_LIQUIDITY_NOT_ZERO()": "084dfa0d", + "RESERVE_PAUSED()": "b68774e9", + "SILOED_BORROWING_VIOLATION()": "de24948c", + "SLOPE_2_MUST_BE_GTE_SLOPE_1()": "db3e2c54", + "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER()": "22a73446", + "STABLE_BORROWING_ENABLED()": "198d6a6b", + "STABLE_BORROWING_NOT_ENABLED()": "4d86f393", + "STABLE_DEBT_NOT_ZERO()": "65e7ef4c", + "SUPPLY_CAP_EXCEEDED()": "b0510054", + "SUPPLY_TO_ATOKEN()": "231ec141", + "UNBACKED_MINT_CAP_EXCEEDED()": "6b3f7cc7", + "UNDERLYING_BALANCE_ZERO()": "a2797c80", + "UNDERLYING_CANNOT_BE_RESCUED()": "ab883ca0", + "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO()": "94f9fd8a", + "USER_IN_ISOLATION_MODE_OR_LTV_ZERO()": "480702ae", + "VARIABLE_DEBT_SUPPLY_NOT_ZERO()": "f10727db", + "WITHDRAW_TO_ATOKEN()": "6177a932", + "ZERO_ADDRESS_NOT_VALID()": "d14bb17a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ErrorsLib.ts b/packages/hyperdrive-artifacts/src/ErrorsLib.ts new file mode 100644 index 000000000..c9951b1de --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ErrorsLib.ts @@ -0,0 +1,6 @@ +export const ErrorsLib = { + name: 'ErrorsLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c9cc56cd8ceefe4fe028ddf9f165d958af3b63952c40726213beb3e92239b66364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EtchingUtils.ts b/packages/hyperdrive-artifacts/src/EtchingUtils.ts new file mode 100644 index 000000000..815db53f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EtchingUtils.ts @@ -0,0 +1,562 @@ +export const EtchingUtils = { + name: 'EtchingUtils' as const, + abi: [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeArtifacts", + "inputs": [], + "outputs": [ + { + "name": "excludedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeContracts", + "inputs": [], + "outputs": [ + { + "name": "excludedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeSenders", + "inputs": [], + "outputs": [ + { + "name": "excludedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifactSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifactSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifacts", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetContracts", + "inputs": [], + "outputs": [ + { + "name": "targetedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetInterfaces", + "inputs": [], + "outputs": [ + { + "name": "targetedInterfaces_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzInterface[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "artifacts", + "type": "string[]", + "internalType": "string[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSenders", + "inputs": [], + "outputs": [ + { + "name": "targetedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002c575f80fd5b50610af38061003a5f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806385226c811161006e57806385226c8114610102578063916a17c614610117578063b5508aa91461011f578063ba414fa614610127578063e20c9f711461013f578063fa7626d414610147575f80fd5b80631ed7831c146100aa5780632ade3880146100c85780633e5e3c23146100dd5780633f7286f4146100e557806366d9a9a0146100ed575b5f80fd5b6100b2610154565b6040516100bf9190610802565b60405180910390f35b6100d06101b4565b6040516100bf919061084e565b6100b26102f0565b6100b261034e565b6100f56103ac565b6040516100bf919061093e565b61010a61048d565b6040516100bf91906109e1565b6100f5610558565b61010a610639565b61012f610704565b60405190151581526020016100bf565b6100b26107a4565b601e5461012f9060ff1681565b606060168054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161018c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156102d0578382905f5260205f2001805461024590610a6e565b80601f016020809104026020016040519081016040528092919081815260200182805461027190610a6e565b80156102bc5780601f10610293576101008083540402835291602001916102bc565b820191905f5260205f20905b81548152906001019060200180831161029f57829003601f168201915b505050505081526020019060010190610228565b5050505081525050815260200190600101906101d7565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047557602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104375790505b505050505081525050815260200190600101906103cf565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f200180546104cd90610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990610a6e565b80156105445780601f1061051b57610100808354040283529160200191610544565b820191905f5260205f20905b81548152906001019060200180831161052757829003601f168201915b5050505050815260200190600101906104b0565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561062157602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105e35790505b5050505050815250508152602001906001019061057b565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f2001805461067990610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546106a590610a6e565b80156106f05780601f106106c7576101008083540402835291602001916106f0565b820191905f5260205f20905b8154815290600101906020018083116106d357829003601f168201915b50505050508152602001906001019061065c565b6008545f9060ff161561071b575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa158015610779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079d9190610aa6565b1415905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b602080825282518282018190525f9190848201906040850190845b818110156108425783516001600160a01b03168352928401929184019160010161081d565b50909695505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b8601810191908601905f5b8181101561091a57878403605f19018352845180518086525f5b818110156108f4578e81840101518f82890101528e810190506108d6565b505f8682018f0152958d0195601f01601f19169094018c019350918b01916001016108bc565b5050509588019593505090860190600101610875565b509098975050505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b808310156109cc5783516001600160e01b0319168252928a019260019290920191908a01906109a2565b50968901969450505090860190600101610965565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b82811015610a6157878503603f19018452815180518087525f5b81811015610a3b578281018901518882018a01528801610a20565b505f878201890152601f01601f1916909501860194509285019290850190600101610a06565b5092979650505050505050565b600181811c90821680610a8257607f821691505b602082108103610aa057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610ab6575f80fd5b505191905056fea2646970667358221220f8e3f1e78d3a92b702c3b4390e0a0517b53bdb574b48e718842dcde2e095e5e564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "IS_TEST()": "fa7626d4", + "excludeArtifacts()": "b5508aa9", + "excludeContracts()": "e20c9f71", + "excludeSenders()": "1ed7831c", + "failed()": "ba414fa6", + "targetArtifactSelectors()": "66d9a9a0", + "targetArtifacts()": "85226c81", + "targetContracts()": "3f7286f4", + "targetInterfaces()": "2ade3880", + "targetSelectors()": "916a17c6", + "targetSenders()": "3e5e3c23" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EtchingVault.ts b/packages/hyperdrive-artifacts/src/EtchingVault.ts new file mode 100644 index 000000000..736690e09 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EtchingVault.ts @@ -0,0 +1,58 @@ +export const EtchingVault = { + name: 'EtchingVault' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_baseToken_", + "type": "address", + "internalType": "address" + }, + { + "name": "_vaultSharePrice_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60c060405234801561000f575f80fd5b5060405161019138038061019183398101604081905261002e91610044565b6001600160a01b0390911660805260a05261007b565b5f8060408385031215610055575f80fd5b82516001600160a01b038116811461006b575f80fd5b6020939093015192949293505050565b60805160a05160f96100985f395f604201525f6084015260f95ff3fe6080604052348015600e575f80fd5b50600436106030575f3560e01c806307a2d13a14603457806338d52e0f146077575b5f80fd5b6064603f36600460ad565b507f000000000000000000000000000000000000000000000000000000000000000090565b6040519081526020015b60405180910390f35b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001606e565b5f6020828403121560bc575f80fd5b503591905056fea264697066735822122096e50bd5dc98c6d2bcb55b4e1b306bf05c1561d1057b9b404154025d00a265f464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "asset()": "38d52e0f", + "convertToAssets(uint256)": "07a2d13a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts b/packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts new file mode 100644 index 000000000..0f5eebef5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts @@ -0,0 +1,6 @@ +export const ExcessivelySafeCall = { + name: 'ExcessivelySafeCall' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212201e07a5e84cfc83e73639cab8548c1a55ca605d8a07d8c3d3a38cad377301094f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHBase.ts b/packages/hyperdrive-artifacts/src/EzETHBase.ts new file mode 100644 index 000000000..d174af5e2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHBase.ts @@ -0,0 +1,657 @@ +export const EzETHBase = { + name: 'EzETHBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHConversions.ts b/packages/hyperdrive-artifacts/src/EzETHConversions.ts new file mode 100644 index 000000000..fa7d7b2f3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHConversions.ts @@ -0,0 +1,6 @@ +export const EzETHConversions = { + name: 'EzETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a2221d2867c29648bcbb93a06ec06af7d6f25879110496b212e45ec5eb2f99a564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts new file mode 100644 index 000000000..cd1b13dcc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts @@ -0,0 +1,1671 @@ +export const EzETHHyperdrive = { + name: 'EzETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..8c8f76458 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const EzETHHyperdriveCoreDeployer = { + name: 'EzETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611f52380380611f5283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611ec96100895f395f81816075015260ce0152611ec95ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80638cc23ce0146200003c578063ff0996b5146200006f575b5f80fd5b620000536200004d366004620003b6565b62000097565b6040516001600160a01b03909116815260200160405180910390f35b620000537f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000fb9062000140565b6200010f99989796959493929190620005ce565b8190604051809103905ff59050801580156200012d573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b6117ee80620006a683390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200018957620001896200014e565b60405290565b5f82601f8301126200019f575f80fd5b813567ffffffffffffffff80821115620001bd57620001bd6200014e565b604051601f8301601f19908116603f01168101908282118183101715620001e857620001e86200014e565b8160405283815286602085880101111562000201575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000237575f80fd5b919050565b5f608082840312156200024d575f80fd5b6040516080810181811067ffffffffffffffff821117156200027357620002736200014e565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b6575f80fd5b620002c062000162565b9050620002cd8262000220565b8152620002dd6020830162000220565b6020820152620002f06040830162000220565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035b81840162000220565b908201526101806200036f83820162000220565b908201526101a06200038383820162000220565b908201526101c06200039783820162000220565b908201526101e0620003ac848483016200023c565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003d1575f80fd5b8a3567ffffffffffffffff80821115620003e9575f80fd5b620003f78e838f016200018f565b9b50620004088e60208f01620002a4565b9a50620004196102808e0162000220565b99506102a08d013591508082111562000430575f80fd5b506200043f8d828e016200018f565b975050620004516102c08c0162000220565b9550620004626102e08c0162000220565b9450620004736103008c0162000220565b9350620004846103208c0162000220565b9250620004956103408c0162000220565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d660208401826001600160a01b03169052565b506040810151620004f260408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015162000565828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b8082101562000604576020828e0101516103808386010152602082019150620005e0565b61038091505f82828601015281601f19601f830116850101925050506200062f602083018b620004ae565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200013256fe61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033a2646970667358221220710b355c8d17e3c6a99473b8cceee8e31a0be2c3ad016c28dfd1368d3e21367964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..8ff950d78 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,880 @@ +export const EzETHHyperdriveDeployerCoordinator = { + name: 'EzETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6101c060405234801562000011575f80fd5b5060405162002e0f38038062002e0f8339810160408190526200003491620001c1565b88888888888888885f620000498982620003ab565b506001600160a01b0396871660805294861660a05292851660c05290841660e052831661010052821661012052811661014052821661016081905260408051630274e78f60e31b815290519192506313a73c789160048083019260209291908290030181865afa158015620000c0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e6919062000477565b6001600160a01b03166101a0816001600160a01b031681525050610160516001600160a01b031663892866a46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000140573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000166919062000477565b6001600160a01b031661018052506200049c975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114620001ac575f80fd5b50565b8051620001bc8162000197565b919050565b5f805f805f805f805f6101208a8c031215620001db575f80fd5b89516001600160401b0380821115620001f2575f80fd5b818c0191508c601f83011262000206575f80fd5b8151818111156200021b576200021b62000183565b604051601f8201601f19908116603f0116810190838211818310171562000246576200024662000183565b81604052828152602093508f8484870101111562000262575f80fd5b5f91505b8282101562000285578482018401518183018501529083019062000266565b5f848483010152809d505050506200029f818d01620001af565b99505050620002b160408b01620001af565b9650620002c160608b01620001af565b9550620002d160808b01620001af565b9450620002e160a08b01620001af565b9350620002f160c08b01620001af565b92506200030160e08b01620001af565b9150620003126101008b01620001af565b90509295985092959850929598565b600181811c908216806200033657607f821691505b6020821081036200035557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003a657805f5260205f20601f840160051c81016020851015620003825750805b601f840160051c820191505b81811015620003a3575f81556001016200038e565b50505b505050565b81516001600160401b03811115620003c757620003c762000183565b620003df81620003d8845462000321565b846200035b565b602080601f83116001811462000415575f8415620003fd5750858301515b5f19600386901b1c1916600185901b1785556200046f565b5f85815260208120601f198616915b82811015620004455788860151825594840194600190910190840162000424565b50858210156200046357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000488575f80fd5b8151620004958162000197565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051612877620005985f395f818161019b0152818161145a0152818161148f015261161101525f818161034301526116c501525f818161052c01526116e601525f81816103760152610e3101525f81816103dc0152610cfe01525f81816104420152610bcb01525f81816103a90152610a9801525f818161040f015261088f01525f81816104c7015261118001525f818161049401528181610617015281816107b8015281816108bf01528181610ac801528181610bfb01528181610d2e01528181610e6101528181610f5401526111b101526128775ff3fe60806040526004361061011b575f3560e01c8063a085fa301161009d578063c45a015511610062578063c45a015514610483578063c83e1f51146104b6578063e990eba8146104e9578063e99be39614610508578063ff0996b51461051b575f80fd5b8063a085fa3014610398578063aa8cd6c4146103cb578063ab71905f146103fe578063b6cb111814610431578063c151061814610464575f80fd5b806337404017116100e357806337404017146101e85780635111bea2146102e457806354fd4d5014610303578063892866a414610332578063966ecd1c14610365575f80fd5b806304baa00b1461011f57806306fdde0314610149578063079554e71461015d57806313a73c781461018a57806316abfc70146101d5575b5f80fd5b34801561012a575f80fd5b5061013361054e565b6040516101409190611d2f565b60405180910390f35b348015610154575f80fd5b5061013361056a565b348015610168575f80fd5b5061017c610177366004611d65565b6105f5565b604051908152602001610140565b348015610195575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610140565b61017c6101e3366004611ec5565b61060b565b3480156101f3575f80fd5b506102d7610202366004611f83565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101409190611f9a565b3480156102ef575f80fd5b5061017c6102fe366004611d65565b61079f565b34801561030e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610133565b34801561033d575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610370575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a3575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d6575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610409575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561043c575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f575f80fd5b506101bd61047e36600461216e565b6107ac565b34801561048e575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c1575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f4575f80fd5b506101bd6105033660046121d7565b610f48565b348015610513575f80fd5b50600561017c565b348015610526575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040518060600160405280602281526020016128206022913981565b5f805461057690612271565b80601f01602080910402602001604051908101604052809291908181526020018280546105a290612271565b80156105ed5780601f106105c4576101008083540402835291602001916105ed565b820191905f5260205f20905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b5f610602858585856112bb565b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461065557604051634084351160e01b815260040160405180910390fd5b61065d611408565b5f868152600160205260409020600301546001600160a01b0316806106955760405163952b05cb60e01b815260040160405180910390fd5b5f6106a282888887611429565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106d5939291906122a9565b60206040518083038185885af11580156106f1573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061071691906122f8565b92505f610723823461230f565b90508015610793576040515f90339083908381818185875af1925050503d805f811461076a576040519150601f19603f3d011682016040523d82523d5f602084013e61076f565b606091505b5050905080610791576040516312171d8360e31b815260040160405180910390fd5b505b50505095945050505050565b5f610602858585856114c0565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107f657604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036109a65780541561082b57604051633be1b34d60e11b815260040160405180910390fd5b61083586866115c7565b5f61084087876116bf565b90505f87604051602001610854919061232e565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108818a611721565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108fb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016109309493929190612561565b6020604051808303815f875af115801561094c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097091906125a6565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610602565b5f87815260016020526040902054806109d25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109e4919061232e565b6040516020818303038152906040528051906020012014610a185760405163332ee11f60e01b815260040160405180910390fd5b60018201548651602088012014610a4257604051631a3272d160e31b815260040160405180910390fd5b610a4c87876115c7565b5f610a5688611721565b6002840154608082015290506001869003610b965760058301546001600160a01b031615610a965760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610afd939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b329493929190612561565b6020604051808303815f875af1158015610b4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7291906125a6565b6005840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600203610cc95760068301546001600160a01b031615610bc95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c30939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c659493929190612561565b6020604051808303815f875af1158015610c81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906125a6565b6006840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600303610dfc5760078301546001600160a01b031615610cfc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d63939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d989493929190612561565b6020604051808303815f875af1158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd891906125a6565b6007840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600403610f2f5760088301546001600160a01b031615610e2f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e96939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ecb9493929190612561565b6020604051808303815f875af1158015610ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b91906125a6565b6008840180546001600160a01b0319166001600160a01b0383161790559350610793565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103a57604051632c95caeb60e01b815260040160405180910390fd5b80516110595760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b0316158061107e575060a08101516001600160a01b0316155b80611094575060c08101516001600160a01b0316155b806110aa575060e08101516001600160a01b0316155b806110c157506101008101516001600160a01b0316155b156110df5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110f290879060200161232e565b60405160208183030381529060405280519060200120146111265760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461115157604051631a3272d160e31b815260040160405180910390fd5b61115b85856115c7565b5f61116586611721565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611207929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016112429a999897969594939291906125e2565b6020604051808303815f875af115801561125e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128291906125a6565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261131f91908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906122f8565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064015b602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd91906122f8565b979650505050505050565b341561142757604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001511561144d5760405163350b944160e11b815260040160405180910390fd5b6114826001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168530866117ef565b6114b66001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868561185c565b505f949350505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156114fd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261152491908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158991906122f8565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064016113be565b6115d182826118eb565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461160f57604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146116655760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611690576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c68000146116bb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6117187f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008560200151670de0b6b3a764000061079f565b90505b92915050565b611729611c0e565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526118569186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119ff565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118ad8482611a6a565b611856576040516001600160a01b0384811660248301525f60448301526118e191869182169063095ea7b390606401611824565b61185684826119ff565b6103e882608001511015611912576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361193757604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061196157508161010001518260e0015161195e91906127ca565b15155b1561197f5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119ab5750670de0b6b3a7640000826101c0015160200151115b806119c65750670de0b6b3a7640000826101c0015160400151115b806119e15750670de0b6b3a7640000826101c0015160600151115b156116bb576040516322f72cc360e11b815260040160405180910390fd5b5f611a136001600160a01b03841683611b07565b905080515f14158015611a37575080806020019051810190611a3591906127e9565b155b15611a6557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a859190612804565b5f604051808303815f865af19150503d805f8114611abe576040519150601f19603f3d011682016040523d82523d5f602084013e611ac3565b606091505b5091509150818015611aed575080511580611aed575080806020019051810190611aed91906127e9565b80156106025750505050506001600160a01b03163b151590565b606061171883835f845f80856001600160a01b03168486604051611b2b9190612804565b5f6040518083038185875af1925050503d805f8114611b65576040519150601f19603f3d011682016040523d82523d5f602084013e611b6a565b606091505b5091509150611b7a868383611b86565b925050505b9392505050565b606082611b9b57611b9682611be2565b611b7f565b8151158015611bb257506001600160a01b0384163b155b15611bdb57604051639996b31560e01b81526001600160a01b0385166004820152602401611a5c565b5080611b7f565b805115611bf25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cdd60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cfc578181015183820152602001611ce4565b50505f910152565b5f8151808452611d1b816020860160208601611ce2565b601f01601f19169290920160200192915050565b602081525f6117186020830184611d04565b6001600160a01b0381168114611c0b575f80fd5b8035611d6081611d41565b919050565b5f805f8060808587031215611d78575f80fd5b8435611d8381611d41565b93506020850135611d9381611d41565b92506040850135611da381611d41565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611dea57611dea611db3565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611dea57611dea611db3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e3d57611e3d611db3565b604052919050565b8015158114611c0b575f80fd5b5f67ffffffffffffffff831115611e6b57611e6b611db3565b611e7e601f8401601f1916602001611e14565b9050828152838383011115611e91575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112611eb6575f80fd5b61171883833560208501611e52565b5f805f805f60a08688031215611ed9575f80fd5b853594506020860135611eeb81611d41565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611f15575f80fd5b908701906060828a031215611f28575f80fd5b611f30611dc7565b8235611f3b81611d41565b81526020830135611f4b81611e45565b6020820152604083013582811115611f61575f80fd5b611f6d8b828601611ea7565b6040830152508093505050509295509295909350565b5f60208284031215611f93575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215612027575f80fd5b6040516080810181811067ffffffffffffffff8211171561204a5761204a611db3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561208c575f80fd5b612094611df0565b905061209f82611d55565b81526120ad60208301611d55565b60208201526120be60408301611d55565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061211b818401611d55565b9082015261016061212d838201611d55565b9082015261018061213f838201611d55565b908201526101a0612151838201611d55565b908201526101c061216484848301612017565b9082015292915050565b5f805f805f6102c08688031215612183575f80fd5b85359450612194876020880161207b565b935061026086013567ffffffffffffffff8111156121b0575f80fd5b6121bc88828901611ea7565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c086880312156121ec575f80fd5b85359450602086013567ffffffffffffffff8082111561220a575f80fd5b818801915088601f83011261221d575f80fd5b61222c89833560208501611e52565b955061223b8960408a0161207b565b9450610280880135915080821115612251575f80fd5b5061225e88828901611ea7565b959894975092956102a001359392505050565b600181811c9082168061228557607f821691505b6020821081036122a357634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526122ee60c0840182611d04565b9695505050505050565b5f60208284031215612308575f80fd5b5051919050565b8181038181111561171b57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161235a60208401826001600160a01b03169052565b50604083015161237560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516123db828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e08501526040810151610200850152606081015161022085015261200f565b80516001600160a01b03168252602081015161246b60208401826001600160a01b03169052565b50604081015161248660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124f8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611856565b5f6102c061256f8388612444565b6001600160a01b038616610260840152610280830181905261259381840186611d04565b915050826102a083015295945050505050565b5f602082840312156125b6575f80fd5b8151611b7f81611d41565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125f58184018e611d04565b9050612604602084018d612444565b6001600160a01b038b81166102808501528382036102a0850152612628828c611d04565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f67ffffffffffffffff82111561267d5761267d611db3565b5060051b60200190565b5f82601f830112612696575f80fd5b815160206126ab6126a683612664565b611e14565b8083825260208201915060208460051b8701019350868411156126cc575f80fd5b602086015b848110156126e857805183529183019183016126d1565b509695505050505050565b5f805f60608486031215612705575f80fd5b835167ffffffffffffffff8082111561271c575f80fd5b818601915086601f83011261272f575f80fd5b8151602061273f6126a683612664565b82815260059290921b8401810191818101908a84111561275d575f80fd5b8286015b8481101561279357805186811115612777575f80fd5b6127858d86838b0101612687565b845250918301918301612761565b50918901519197509093505050808211156127ac575f80fd5b506127b986828701612687565b925050604084015190509250925092565b5f826127e457634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156127f9575f80fd5b8151611b7f81611e45565b5f8251612815818460208701611ce2565b919091019291505056fe457a455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220c481fd737d68f65e134bf8a9ac399c7d6aa52f9ed8bea236e80df2c9feeab78664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,address,uint256)": "5111bea2", + "convertToShares(address,address,address,uint256)": "079554e7", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "ezETH()": "13a73c78", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "renzoOracle()": "892866a4", + "restakeManager()": "ff0996b5", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaBase.ts b/packages/hyperdrive-artifacts/src/EzETHLineaBase.ts new file mode 100644 index 000000000..d8cb1b891 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaBase.ts @@ -0,0 +1,657 @@ +export const EzETHLineaBase = { + name: 'EzETHLineaBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts b/packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts new file mode 100644 index 000000000..82e5a6d84 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts @@ -0,0 +1,6 @@ +export const EzETHLineaConversions = { + name: 'EzETHLineaConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f67ac4d85d125d3caac64e9417f531a496cfe1642a72ca2dae0bcef19b38f6fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts new file mode 100644 index 000000000..34595eef9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts @@ -0,0 +1,1671 @@ +export const EzETHLineaHyperdrive = { + name: 'EzETHLineaHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..50892017f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const EzETHLineaHyperdriveCoreDeployer = { + name: 'EzETHLineaHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c806312ae5e67146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033a2646970667358221220bc33a3244939269e39b725e0a7a6c69ccb69b66ee235df69a13cf49c27db1e0a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..a4b710483 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts @@ -0,0 +1,784 @@ +export const EzETHLineaHyperdriveDeployerCoordinator = { + name: 'EzETHLineaHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002709380380620027098339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516122bc6200044d5f395f8181610158015281816106f5015261143701525f81816102ef0152610da501525f81816103550152610c7201525f81816103bb0152610b3f01525f81816103220152610a0c01525f8181610388015261080301525f818161045f01526110f401525f818161042c015281816105660152818161072c0152818161083301528181610a3c01528181610b6f01528181610ca201528181610dd501528181610ec8015261112501526122bc5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f592146103dd578063c83e1f511461044e578063e990eba814610481578063e99be396146104a0575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806337404017116100d857806337404017146101b357806354fd4d50146102af578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806312ae5e671461014757806316abfc7014610192575b5f80fd5b348015610114575f80fd5b5061011d6104b3565b60405161012a919061192c565b60405180910390f35b34801561013e575f80fd5b5061011d6104cf565b348015610152575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b6101a56101a0366004611a64565b61055a565b60405190815260200161012a565b3480156101be575f80fd5b506102a26101cd366004611b22565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611b39565b3480156102ba575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102e9575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506101a56103f7366004611b22565b6106ef565b348015610407575f80fd5b5061017a610416366004611d0d565b610720565b348015610426575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c575f80fd5b5061017a61049b366004611d76565b610ebc565b3480156104ab575f80fd5b5060056101a5565b6040518060600160405280602781526020016122606027913981565b5f80546104db90611e10565b80601f016020809104026020016040519081016040528092919081815260200182805461050790611e10565b80156105525780601f1061052957610100808354040283529160200191610552565b820191905f5260205f20905b81548152906001019060200180831161053557829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105a457604051634084351160e01b815260040160405180910390fd5b6105ac61122f565b5f868152600160205260409020600301546001600160a01b0316806105e45760405163952b05cb60e01b815260040160405180910390fd5b5f6105f182888887611250565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161062493929190611e48565b60206040518083038185885af1158015610640573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106659190611e97565b92505f6106728234611eae565b905080156106e2576040515f90339083908381818185875af1925050503d805f81146106b9576040519150601f19603f3d011682016040523d82523d5f602084013e6106be565b606091505b50509050806106e0576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071a7f00000000000000000000000000000000000000000000000000000000000000008361140c565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091a5780541561079f57604051633be1b34d60e11b815260040160405180910390fd5b6107a9868661142b565b5f6107b48787611582565b90505f876040516020016107c89190611ecd565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107f58a61159b565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161086f929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a49493929190612100565b6020604051808303815f875af11580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190612145565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106e6565b5f87815260016020526040902054806109465760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109589190611ecd565b604051602081830303815290604052805190602001201461098c5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109b657604051631a3272d160e31b815260040160405180910390fd5b6109c0878761142b565b5f6109ca8861159b565b6002840154608082015290506001869003610b0a5760058301546001600160a01b031615610a0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a7193929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aa69493929190612100565b6020604051808303815f875af1158015610ac2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae69190612145565b6005840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600203610c3d5760068301546001600160a01b031615610b3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba493929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bd99493929190612100565b6020604051808303815f875af1158015610bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190612145565b6006840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600303610d705760078301546001600160a01b031615610c705760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cd793929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d0c9493929190612100565b6020604051808303815f875af1158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c9190612145565b6007840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600403610ea35760088301546001600160a01b031615610da35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0a93929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e3f9493929190612100565b6020604051808303815f875af1158015610e5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612145565b6008840180546001600160a01b0319166001600160a01b03831617905593506106e2565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0657604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fae57604051632c95caeb60e01b815260040160405180910390fd5b8051610fcd5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff2575060a08101516001600160a01b0316155b80611008575060c08101516001600160a01b0316155b8061101e575060e08101516001600160a01b0316155b8061103557506101008101516001600160a01b0316155b156110535760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611066908790602001611ecd565b604051602081830303815290604052805190602001201461109a5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110c557604051631a3272d160e31b815260040160405180910390fd5b6110cf858561142b565b5f6110d98661159b565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161117b929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111b69a99989796959493929190612181565b6020604051808303815f875af11580156111d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f69190612145565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561124e57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112745760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190612145565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af115801561132c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113509190612203565b905080611370576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af11580156113bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e09190612203565b905080611400576040516340b27c2160e11b815260040160405180910390fd5b505f9695505050505050565b5f8061141784611669565b905061142383826116d2565b949350505050565b61143582826116e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663152b2c4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612145565b6001600160a01b031682602001516001600160a01b0316146114ea5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461152857604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611553576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461157e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611594670de0b6b3a76400006106ef565b9392505050565b6115a3611815565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156116a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ca919061221e565b509392505050565b5f6115948383670de0b6b3a76400006117fa565b6103e88260800151101561170d576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173257604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175c57508161010001518260e001516117599190612240565b15155b1561177a5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a65750670de0b6b3a7640000826101c0015160200151115b806117c15750670de0b6b3a7640000826101c0015160400151115b806117dc5750670de0b6b3a7640000826101c0015160600151115b1561157e576040516322f72cc360e11b815260040160405180910390fd5b5f825f19048411830215820261180e575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016118e460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561190d576020818501810151868301820152016118f1565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61159460208301846118e9565b6001600160a01b0381168114611952575f80fd5b50565b80356119608161193e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199c5761199c611965565b60405290565b6040516101e0810167ffffffffffffffff8111828210171561199c5761199c611965565b8015158114611952575f80fd5b5f67ffffffffffffffff808411156119ed576119ed611965565b604051601f8501601f19908116603f01168101908282118183101715611a1557611a15611965565b81604052809350858152868686011115611a2d575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611a55575f80fd5b611594838335602085016119d3565b5f805f805f60a08688031215611a78575f80fd5b853594506020860135611a8a8161193e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ab4575f80fd5b908701906060828a031215611ac7575f80fd5b611acf611979565b8235611ada8161193e565b81526020830135611aea816119c6565b6020820152604083013582811115611b00575f80fd5b611b0c8b828601611a46565b6040830152508093505050509295509295909350565b5f60208284031215611b32575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611bc6575f80fd5b6040516080810181811067ffffffffffffffff82111715611be957611be9611965565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611c2b575f80fd5b611c336119a2565b9050611c3e82611955565b8152611c4c60208301611955565b6020820152611c5d60408301611955565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611cba818401611955565b90820152610160611ccc838201611955565b90820152610180611cde838201611955565b908201526101a0611cf0838201611955565b908201526101c0611d0384848301611bb6565b9082015292915050565b5f805f805f6102c08688031215611d22575f80fd5b85359450611d338760208801611c1a565b935061026086013567ffffffffffffffff811115611d4f575f80fd5b611d5b88828901611a46565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611d8b575f80fd5b85359450602086013567ffffffffffffffff80821115611da9575f80fd5b818801915088601f830112611dbc575f80fd5b611dcb898335602085016119d3565b9550611dda8960408a01611c1a565b9450610280880135915080821115611df0575f80fd5b50611dfd88828901611a46565b959894975092956102a001359392505050565b600181811c90821680611e2457607f821691505b602082108103611e4257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611e8d60c08401826118e9565b9695505050505050565b5f60208284031215611ea7575f80fd5b5051919050565b8181038181111561071a57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611ef960208401826001600160a01b03169052565b506040830151611f1460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611f7a828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611bae565b80516001600160a01b03168252602081015161200a60208401826001600160a01b03169052565b50604081015161202560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612097828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061210e8388611fe3565b6001600160a01b0386166102608401526102808301819052612132818401866118e9565b915050826102a083015295945050505050565b5f60208284031215612155575f80fd5b81516115948161193e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526121948184018e6118e9565b90506121a3602084018d611fe3565b6001600160a01b038b81166102808501528382036102a08501526121c7828c6118e9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612213575f80fd5b8151611594816119c6565b5f806040838503121561222f575f80fd5b505080516020909101519092909150565b5f8261225a57634e487b7160e01b5f52601260045260245ffd5b50069056fe457a4554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212201eec5f311729a0457d96043dddf7c08546a2553822f7700393a7fb716a3861d564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts new file mode 100644 index 000000000..1c4b4ef8f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts @@ -0,0 +1,1956 @@ +export const EzETHLineaTarget0 = { + name: 'EzETHLineaTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts new file mode 100644 index 000000000..da6268ce2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget0Deployer = { + name: 'EzETHLineaTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161431038038061431083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142876100895f395f8181603d015260b801526142875ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d5b806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033a26469706673582212207c509fd1c03c2184a79d1586e62b90e86f23936009e3087a6adfe718a19b48b964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts new file mode 100644 index 000000000..ac9785030 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts @@ -0,0 +1,962 @@ +export const EzETHLineaTarget1 = { + name: 'EzETHLineaTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts new file mode 100644 index 000000000..9f33d4516 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget1Deployer = { + name: 'EzETHLineaTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161435b38038061435b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142d26100895f395f8181603d015260b801526142d25ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613da6806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033a2646970667358221220edcd677769f7f8da108f6ffb643080fa1e39bbc38d04fdd5ff6cdaefaa45048064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts new file mode 100644 index 000000000..e4f23052f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts @@ -0,0 +1,982 @@ +export const EzETHLineaTarget2 = { + name: 'EzETHLineaTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts new file mode 100644 index 000000000..d152fed28 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget2Deployer = { + name: 'EzETHLineaTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161443638038061443683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143ad6100895f395f8181603d015260b801526143ad5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e81806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033a2646970667358221220a97e8368c0814cab46c11d2986ccd59dc3a985683f9cdb9d42512a9b5fe33a2864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts new file mode 100644 index 000000000..5cce8bcde --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts @@ -0,0 +1,1002 @@ +export const EzETHLineaTarget3 = { + name: 'EzETHLineaTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts new file mode 100644 index 000000000..c78711a36 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget3Deployer = { + name: 'EzETHLineaTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516143e23803806143e283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143596100895f395f8181603d015260b801526143595ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e2d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033a264697066735822122053626dfe90230be3cfa3d38abf5dc5742e465b8cb62617b35fd8bbce0c214de364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts new file mode 100644 index 000000000..848d58a13 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts @@ -0,0 +1,981 @@ +export const EzETHLineaTarget4 = { + name: 'EzETHLineaTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts new file mode 100644 index 000000000..8bba44f03 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget4Deployer = { + name: 'EzETHLineaTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161379638038061379683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161370d6100895f395f8181603d015260b8015261370d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131e1806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033a264697066735822122077d7b6e575688ed2cfaaa88f74afafcd2c0f7b72e3b392651aeb3ee931a526e364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget0.ts b/packages/hyperdrive-artifacts/src/EzETHTarget0.ts new file mode 100644 index 000000000..f7add842b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget0.ts @@ -0,0 +1,1965 @@ +export const EzETHTarget0 = { + name: 'EzETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "renzo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "renzo()": "6a1a3f3d", + "renzoOracle()": "892866a4", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts new file mode 100644 index 000000000..cfdd5a252 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget0Deployer = { + name: 'EzETHTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161477d38038061477d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146f46100895f395f8181606c015260bd01526146f45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141c280620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033a2646970667358221220ab739ef33eaf94485fcef00b116ea314b3ce3a4437577403003718fb86c8914664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget1.ts b/packages/hyperdrive-artifacts/src/EzETHTarget1.ts new file mode 100644 index 000000000..7e714fa78 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget1.ts @@ -0,0 +1,957 @@ +export const EzETHTarget1 = { + name: 'EzETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts new file mode 100644 index 000000000..debdfb32f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget1Deployer = { + name: 'EzETHTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516147eb3803806147eb83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147626100895f395f8181606c015260bd01526147625ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61423080620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033a264697066735822122034f17bafc1baa96bbd7b76eeb892deb03c1a1ca1a759390f81ad67babddacd7d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget2.ts b/packages/hyperdrive-artifacts/src/EzETHTarget2.ts new file mode 100644 index 000000000..efc4a5c6e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget2.ts @@ -0,0 +1,982 @@ +export const EzETHTarget2 = { + name: 'EzETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts new file mode 100644 index 000000000..38ce2b1ab --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget2Deployer = { + name: 'EzETHTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161477438038061477483398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146eb6100895f395f8181606c015260bd01526146eb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141b980620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033a2646970667358221220216ab024a27b24bb8e1d911e87f55ef282ffbba02823d8779216ec4490216b2564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget3.ts b/packages/hyperdrive-artifacts/src/EzETHTarget3.ts new file mode 100644 index 000000000..9454fa7cc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget3.ts @@ -0,0 +1,1002 @@ +export const EzETHTarget3 = { + name: 'EzETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts new file mode 100644 index 000000000..bed6320e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget3Deployer = { + name: 'EzETHTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161470938038061470983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146806100895f395f8181606c015260bd01526146805ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61414e80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033a2646970667358221220c3f64d7796630bb2699b928ac64d7d5b30f2a85202601cf4aa699f7f00a0ad8164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget4.ts b/packages/hyperdrive-artifacts/src/EzETHTarget4.ts new file mode 100644 index 000000000..358fa8fa4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget4.ts @@ -0,0 +1,976 @@ +export const EzETHTarget4 = { + name: 'EzETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts new file mode 100644 index 000000000..e1b94c04c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget4Deployer = { + name: 'EzETHTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051613c26380380613c2683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051613b9d6100895f395f8181606c015260bd0152613b9d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61366b80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033a264697066735822122003874c91623dcd3f30b860e583527274889c45dddc07c8c44e7764b7f32c49a564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/FixedPointMath.ts b/packages/hyperdrive-artifacts/src/FixedPointMath.ts new file mode 100644 index 000000000..bec348fe4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/FixedPointMath.ts @@ -0,0 +1,6 @@ +export const FixedPointMath = { + name: 'FixedPointMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ab5330a265c88664dbe0d7bcb7c41a09258e07d5e26b9d424694434026334e9264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/FixedPointMathLib.ts b/packages/hyperdrive-artifacts/src/FixedPointMathLib.ts new file mode 100644 index 000000000..0f0388bd6 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/FixedPointMathLib.ts @@ -0,0 +1,6 @@ +export const FixedPointMathLib = { + name: 'FixedPointMathLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220690de1b5e79a420b769ad01df0747a97804fed65ed44ee4d1027828105eee6fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/FlashLoanLogic.ts b/packages/hyperdrive-artifacts/src/FlashLoanLogic.ts new file mode 100644 index 000000000..69e0b035b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/FlashLoanLogic.ts @@ -0,0 +1,102 @@ +export const FlashLoanLogic = { + name: 'FlashLoanLogic' as const, + abi: [ + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x6128a2610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80632e7263ea14610043578063a1fe0e8d14610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004612100565b610083565b005b81801561006f575f80fd5b5061006261007e3660046122a7565b610a3c565b6100968582602001518360400151610c5e565b6100e26040518060e001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b031681526020015f8152602001606081526020015f81526020015f81525090565b81602001515167ffffffffffffffff81111561010057610100611eb3565b604051908082528060200260200182016040528015610129578160200160208202803683370190505b50608082015281516001600160a01b031681526101c0820151610156578161010001518260e00151610159565b5f805b60c083015260a08201525f60208201525b816020015151816020015110156103e65781604001518160200151815181106101955761019561236c565b602090810291909101015160608201525f82606001518260200151815181106101c0576101c061236c565b602002602001015160028111156101d9576101d9612380565b60028111156101ea576101ea612380565b146101f5575f610208565b60a0810151606082015161020891610db0565b81608001518260200151815181106102225761022261236c565b602002602001018181525050610289865f846020015184602001518151811061024d5761024d61236c565b6020908102919091018101516001600160a01b031682528181019290925260409081015f20815192830190915254815251600160fc1b16151590565b156103275761029b8160600151610dd4565b865f84602001518460200151815181106102b7576102b761236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2060090160108282829054906101000a90046001600160801b031661030291906123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b855f83602001518360200151815181106103435761034361236c565b6020908102919091018101516001600160a01b0390811683529082019290925260409081015f20600490810154855160608601519351634efecaa560e01b8152908516928101929092526024820192909252911690634efecaa5906044015f604051808303815f87803b1580156103b8575f80fd5b505af11580156103ca573d5f803e3d5ffd5b50505060208201805191506103de826123cf565b90525061016a565b805f01516001600160a01b031663920f5c84836020015184604001518460800151338760a001516040518663ffffffff1660e01b815260040161042d959493929190612464565b6020604051808303815f875af1158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d91906124fe565b60405180604001604052806002815260200161313360f01b815250906104af5760405162461bcd60e51b81526004016104a69190612519565b60405180910390fd5b505f60208201525b81602001515181602001511015610a345781602001518160200151815181106104e2576104e261236c565b602002602001015181604001906001600160a01b031690816001600160a01b03168152505081604001518160200151815181106105215761052161236c565b602090810291909101015160608201525f826060015182602001518151811061054c5761054c61236c565b6020026020010151600281111561056557610565612380565b600281111561057657610576612380565b0361062557610620865f83604001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808460600151815260200184608001518560200151815181106105d3576105d361236c565b602002602001015181526020018460c00151815260200184604001516001600160a01b03168152602001855f01516001600160a01b031681526020018560c0015161ffff16815250610e40565b610a1c565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f98787878760405180610180016040528088604001516001600160a01b03168152602001336001600160a01b0316815260200189608001516001600160a01b031681526020018860600151815260200189606001518960200151815181106106a8576106a861236c565b602002602001015160028111156106c1576106c1612380565b60028111156106d2576106d2612380565b81526020018960c0015161ffff1681526020015f151581526020018961018001516001600160a01b031663e82fec2f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610752919061252b565b81526020018961018001516001600160a01b03166372218d046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610798573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bc919061252b565b81526020018961016001516001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610802573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108269190612542565b6001600160a01b031681526020016108bf8a61018001516001600160a01b031663eddf1b798c608001516040518263ffffffff1660e01b815260040161087b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ba919061252b565b6110c6565b60ff1681526020018961016001516001600160a01b0316635eb88d3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190612542565b6001600160a01b03168152506040518663ffffffff1660e01b815260040161095895949392919061257d565b5f6040518083038186803b15801561096e575f80fd5b505af4158015610980573d5f803e3d5ffd5b505050508160c0015161ffff1681604001516001600160a01b0316835f01516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033856060015187606001518760200151815181106109e9576109e961236c565b60200260200101516002811115610a0257610a02612380565b5f604051610a139493929190612671565b60405180910390a45b60208101805190610a2c826123cf565b9052506104b7565b505050505050565b610a4a828260400151611126565b805160c082015160408301515f91610a629190610db0565b6040805160208101909152855490819052909150600160fc1b1615610ad757610a8e8360400151610dd4565b600985018054601090610ab2908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60048481015484516040808701519051634efecaa560e01b81526001600160a01b039283169481019490945260248401521690634efecaa5906044015f604051808303815f87803b158015610b2a575f80fd5b505af1158015610b3c573d5f803e3d5ffd5b50505050602083015160408085015160608601519151631b11d0ff60e01b81526001600160a01b03861693631b11d0ff93610b7f939192879133916004016126a4565b6020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf91906124fe565b60405180604001604052806002815260200161313360f01b81525090610bf85760405162461bcd60e51b81526004016104a69190612519565b50610c58846040518060c00160405280866040015181526020018481526020018660a00151815260200186602001516001600160a01b03168152602001865f01516001600160a01b03168152602001866080015161ffff16815250610e40565b50505050565b805182511460405180604001604052806002815260200161343960f01b81525090610c9c5760405162461bcd60e51b81526004016104a69190612519565b505f5b8251811015610c58575f610cb48260016126e8565b90505b8351811015610d4a57838181518110610cd257610cd261236c565b60200260200101516001600160a01b0316848381518110610cf557610cf561236c565b60200260200101516001600160a01b0316141560405180604001604052806002815260200161343960f01b81525090610d415760405162461bcd60e51b81526004016104a69190612519565b50600101610cb7565b50610da8845f858481518110610d6257610d6261236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f20838381518110610d9b57610d9b61236c565b6020026020010151611126565b600101610c9f565b5f81156113881983900484111517610dc6575f80fd5b506127109102611388010490565b5f6001600160801b03821115610e3c5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016104a6565b5090565b5f610e5c82604001518360200151610db090919063ffffffff16565b90505f818360200151610e6f91906126fb565b90505f8360200151845f0151610e8591906126e8565b90505f610e91866112cf565b9050610e9d868261149a565b6101008101516008870154610f3691610ebf916001600160801b0316906114f2565b826101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f24919061252b565b610f2e91906126e8565b879085611533565b6101008201819052610f5290610f4d9086906115b7565b610dd4565b6008870180545f90610f6e9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610faf818660600151845f8a6115f290949392919063ffffffff16565b60808501516101e08201516060870151610fd5926001600160a01b03909116918561190d565b6101e081015160808601516040516337ecbb3b60e11b81526001600160a01b0391821660048201819052602482015260448101859052911690636fd97676906064015f604051808303815f87803b15801561102e575f80fd5b505af1158015611040573d5f803e3d5ffd5b505050508460a0015161ffff1685606001516001600160a01b031686608001516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033895f01515f60028111156110a1576110a1612380565b8b602001516040516110b69493929190612671565b60405180910390a4505050505050565b5f60ff821115610e3c5760405162461bcd60e51b815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2038604482015264206269747360d81b60648201526084016104a6565b604080516020810190915282548082526710000000000000001615151560405180604001604052806002815260200161323960f01b8152509061117c5760405162461bcd60e51b81526004016104a69190612519565b50805167010000000000000016151560405180604001604052806002815260200161323760f01b815250906111c45760405162461bcd60e51b81526004016104a69190612519565b50805167800000000000000016151560405180604001604052806002815260200161393160f01b8152509061120c5760405162461bcd60e51b81526004016104a69190612519565b508051600160fc1b161580611296575081836004015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611293919061252b565b10155b60405180604001604052806002815260200161191b60f11b81525090610c585760405162461bcd60e51b81526004016104a69190612519565b6112d7611e16565b6112df611e16565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156113ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f2919061252b565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015611443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611467919061272e565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036114ba575050565b6114c482826119ac565b6114ce8282611a89565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517611512575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f908190611580906001600160801b0316676765c793fa10079d601b1b61157061156188611be9565b61156a88611be9565b906115b7565b61157a91906126e8565b906114f2565b905061158b81610dd4565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b600284041904841117156115d8575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b61161960405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161162d916114f2565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e916116f491600401612775565b606060405180830381865afa15801561170f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061173391906127f7565b6040840152602083015280825261174990610dd4565b6001870180546001600160801b03928316600160801b029216919091179055602081015161177690610dd4565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516117a690610dd4565b6002870180546001600160801b03928316600160801b0292169190911790556040805160208101909152865481526117e49051600160fc1b16151590565b15611899578215611841576117f883610dd4565b60098701805460109061181c908490600160801b90046001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156118995761185082610dd4565b600987018054601090611874908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af161194f573d5f803e3d5ffd5b5061195985611c03565b6119a55760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d0000000000000060448201526064016104a6565b5050505050565b61016081015115611a1a575f6119cc826101600151836102400151611ca6565b90506119e58260e00151826114f290919063ffffffff16565b61010083018190526119f690610dd4565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611a85575f611a36826101800151836102400151611ceb565b9050611a50826101200151826114f290919063ffffffff16565b6101408301819052611a6190610dd4565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b611abc6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611acd57505050565b6101208201518251611ade916114f2565b60208201526101408201518251611af4916114f2565b60408201526060820151610260830151610240840151611b1c92919064ffffffffff16611cf3565b606082018190526040830151611b31916114f2565b808252602082015160808401516040840151611b4d91906126e8565b611b5791906126fb565b611b6191906126fb565b608082018190526101a0830151611b789190610db0565b60a0820181905215611be457611ba3610f4d8361010001518360a001516115b790919063ffffffff16565b6008840180545f90611bbf9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b633b9aca008181029081048214611bfe575f80fd5b919050565b5f611c25565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611c645760208114611c9557611c5f7f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611c09565b611ca0565b823b611c8c57611c8c7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611c09565b60019150611ca0565b3d5f803e5f51151591505b50919050565b5f80611cb964ffffffffff8416426126fb565b611cc39085612822565b6301e1338090049050611ce181676765c793fa10079d601b1b6126e8565b9150505b92915050565b5f6115b08383425b5f80611d0664ffffffffff8516846126fb565b9050805f03611d2357676765c793fa10079d601b1b9150506115b0565b5f1981015f808060028511611d38575f611d3d565b600285035b925066038882915c4000611d518a806114f2565b81611d5e57611d5e612839565b0491506301e13380611d70838b6114f2565b81611d7d57611d7d612839565b0490505f82611d8c8688612822565b611d969190612822565b6002900490505f8285611da9888a612822565b611db39190612822565b611dbd9190612822565b60069004905080826301e13380611dd48a8f612822565b611dde919061284d565b611df390676765c793fa10079d601b1b6126e8565b611dfd91906126e8565b611e0791906126e8565b9b9a5050505050505050505050565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001611e8b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b60405290565b60405160e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f3d57611f3d611eb3565b604052919050565b6001600160a01b0381168114611f59575f80fd5b50565b8035611bfe81611f45565b5f67ffffffffffffffff821115611f8057611f80611eb3565b5060051b60200190565b5f82601f830112611f99575f80fd5b81356020611fae611fa983611f67565b611f14565b8083825260208201915060208460051b870101935086841115611fcf575f80fd5b602086015b84811015611ff4578035611fe781611f45565b8352918301918301611fd4565b509695505050505050565b5f82601f83011261200e575f80fd5b8135602061201e611fa983611f67565b8083825260208201915060208460051b87010193508684111561203f575f80fd5b602086015b84811015611ff45780358352918301918301612044565b5f82601f83011261206a575f80fd5b813567ffffffffffffffff81111561208457612084611eb3565b612097601f8201601f1916602001611f14565b8181528460208386010111156120ab575f80fd5b816020850160208301375f918101602001919091529392505050565b803561ffff81168114611bfe575f80fd5b803560ff81168114611bfe575f80fd5b8015158114611f59575f80fd5b8035611bfe816120e8565b5f805f805f60a08688031215612114575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff80821115612147575f80fd5b908701906101e0828a03121561215b575f80fd5b612163611ec7565b61216c83611f5c565b815260208301358281111561217f575f80fd5b61218b8b828601611f8a565b6020830152506040830135828111156121a2575f80fd5b6121ae8b828601611fff565b6040830152506060830135828111156121c5575f80fd5b6121d18b828601611fff565b6060830152506121e360808401611f5c565b608082015260a0830135828111156121f9575f80fd5b6122058b82860161205b565b60a08301525061221760c084016120c7565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101609150612257828401611f5c565b82820152610180915061226b828401611f5c565b828201526101a0915061227f8284016120d8565b828201526101c091506122938284016120f5565b828201528093505050509295509295909350565b5f80604083850312156122b8575f80fd5b82359150602083013567ffffffffffffffff808211156122d6575f80fd5b9084019060e082870312156122e9575f80fd5b6122f1611ef1565b6122fa83611f5c565b815261230860208401611f5c565b602082015260408301356040820152606083013582811115612328575f80fd5b6123348882860161205b565b606083015250612346608084016120c7565b608082015260a083013560a082015260c083013560c08201528093505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038281168282160390808211156123c8576123c8612394565b5092915050565b5f600182016123e0576123e0612394565b5060010190565b5f815180845260208085019450602084015f5b83811015612416578151875295820195908201906001016123fa565b509495945050505050565b5f81518084525f5b8181101561244557602081850181015186830182015201612429565b505f602082860101526020601f19601f83011685010191505092915050565b60a080825286519082018190525f9060209060c0840190828a01845b828110156124a55781516001600160a01b031684529284019290840190600101612480565b50505083810360208501526124ba81896123e7565b91505082810360408401526124cf81876123e7565b6001600160a01b0386166060850152838103608085015290506124f28185612421565b98975050505050505050565b5f6020828403121561250e575f80fd5b81516115b0816120e8565b602081525f6115b06020830184612421565b5f6020828403121561253b575f80fd5b5051919050565b5f60208284031215612552575f80fd5b81516115b081611f45565b6003811061257957634e487b7160e01b5f52602160045260245ffd5b9052565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e083015260808301516101006125f28185018361255d565b60a0850151915061012061260b8186018461ffff169052565b60c086015192506101406126228187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e08501529050611ff4565b6001600160a01b03851681526020810184905260808101612695604083018561255d565b82606083015295945050505050565b6001600160a01b03868116825260208201869052604082018590528316606082015260a0608082018190525f906126dd90830184612421565b979650505050505050565b80820180821115611ce557611ce5612394565b81810381811115611ce557611ce5612394565b6001600160801b038181168382160190808211156123c8576123c8612394565b5f805f8060808587031215612741575f80fd5b845193506020850151925060408501519150606085015164ffffffffff8116811461276a575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516127d760e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612809575f80fd5b8351925060208401519150604084015190509250925092565b8082028115828204841417611ce557611ce5612394565b634e487b7160e01b5f52601260045260245ffd5b5f8261286757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220347a10409fa10aed1c7c663df78ec0314d1ba218f8888c5bdf40c377cb90785c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeFlashLoan(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.FlashloanParams)": "2e7263ea", + "executeFlashLoanSimple(DataTypes.ReserveData storage,DataTypes.FlashloanSimpleParams)": "a1fe0e8d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts b/packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts new file mode 100644 index 000000000..e39af8667 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts @@ -0,0 +1,6 @@ +export const GPv2SafeERC20 = { + name: 'GPv2SafeERC20' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207fd976204a67fe387dde0e3f5b91594a03bb9474ecded0f0cec5f31f49530ec764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/GenericLogic.ts b/packages/hyperdrive-artifacts/src/GenericLogic.ts new file mode 100644 index 000000000..4a1bdf41c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/GenericLogic.ts @@ -0,0 +1,6 @@ +export const GenericLogic = { + name: 'GenericLogic' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212203216d6a937141bc98440dcdd944ec0c65652e17bc70b3418594ecdc84aa23c9064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Helpers.ts b/packages/hyperdrive-artifacts/src/Helpers.ts new file mode 100644 index 000000000..e6bc73588 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Helpers.ts @@ -0,0 +1,6 @@ +export const Helpers = { + name: 'Helpers' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220696d957db5182146bba93b0e3509553cedcf65a26663dfb9cf78d4a5c870740464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Hyperdrive.ts b/packages/hyperdrive-artifacts/src/Hyperdrive.ts new file mode 100644 index 000000000..4ad3a43fe --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Hyperdrive.ts @@ -0,0 +1,1516 @@ +export const Hyperdrive = { + name: 'Hyperdrive' as const, + abi: [ + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts b/packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts new file mode 100644 index 000000000..475626f05 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts @@ -0,0 +1,657 @@ +export const HyperdriveAdmin = { + name: 'HyperdriveAdmin' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveBase.ts b/packages/hyperdrive-artifacts/src/HyperdriveBase.ts new file mode 100644 index 000000000..fb0890230 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveBase.ts @@ -0,0 +1,657 @@ +export const HyperdriveBase = { + name: 'HyperdriveBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts b/packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts new file mode 100644 index 000000000..59c1d7e4b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts @@ -0,0 +1,657 @@ +export const HyperdriveCheckpoint = { + name: 'HyperdriveCheckpoint' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts new file mode 100644 index 000000000..14188d66f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts @@ -0,0 +1,220 @@ +export const HyperdriveCheckpointRewarder = { + name: 'HyperdriveCheckpointRewarder' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_subrewarder", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimCheckpointReward", + "inputs": [ + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "subrewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSubrewarder", + "inputs": [ + { + "name": "_subrewarder", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewardClaimed", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "claimant", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "isTrader", + "type": "bool", + "indexed": true, + "internalType": "bool" + }, + { + "name": "checkpointTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "rewardToken", + "type": "address", + "indexed": false, + "internalType": "contract IERC20" + }, + { + "name": "rewardAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SubrewarderUpdated", + "inputs": [ + { + "name": "subrewarder", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506040516107fb3803806107fb83398101604081905261002e91610099565b60018054336001600160a01b031991821617909155600280549091166001600160a01b0383161790555f61006283826101f0565b5050506102af565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114610094575f80fd5b919050565b5f80604083850312156100aa575f80fd5b82516001600160401b03808211156100c0575f80fd5b818501915085601f8301126100d3575f80fd5b8151818111156100e5576100e561006a565b604051601f8201601f19908116603f0116810190838211818310171561010d5761010d61006a565b81604052828152602093508884848701011115610128575f80fd5b5f91505b82821015610149578482018401518183018501529083019061012c565b5f84848301015280965050505061016181860161007e565b925050509250929050565b600181811c9082168061018057607f821691505b60208210810361019e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101eb57805f5260205f20601f840160051c810160208510156101c95750805b601f840160051c820191505b818110156101e8575f81556001016101d5565b50505b505050565b81516001600160401b038111156102095761020961006a565b61021d81610217845461016c565b846101a4565b602080601f831160018114610250575f84156102395750858301515b5f19600386901b1c1916600185901b1785556102a7565b5f85815260208120601f198616915b8281101561027e5788860151825594840194600190910190840161025f565b508582101561029b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61053f806102bc5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c806369114d4e1161005857806369114d4e146101345780639b06ae4914610149578063e2f273bd1461015c578063f851a4401461016f575f80fd5b806304baa00b1461008957806306fdde03146100db5780633d7f7b24146100e357806354fd4d501461010e575b5f80fd5b6100c56040518060400160405280601c81526020017f48797065726472697665436865636b706f696e7452657761726465720000000081525081565b6040516100d291906103dd565b60405180910390f35b6100c5610182565b6002546100f6906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100c560405180604001604052806007815260200166076312e302e32360cc1b81525081565b610147610142366004610440565b61020d565b005b610147610157366004610483565b6102f7565b61014761016a366004610483565b61036a565b6001546100f6906001600160a01b031681565b5f805461018e906104a5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ba906104a5565b80156102055780601f106101dc57610100808354040283529160200191610205565b820191905f5260205f20905b8154815290600101906020018083116101e857829003601f168201915b505050505081565b60025460405163e9f4604160e01b81523360048201526001600160a01b0385811660248301526044820185905283151560648301525f92839291169063e9f460419060840160408051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029191906104dd565b909250905080156102f057604080518581526001600160a01b0384811660208301529181018390528415159187169033907f458cb4864d237cf3ef21835340aeec96759e685bd06793180e8cf7a7cd69cd5e9060600160405180910390a45b5050505050565b6001546001600160a01b03163314610321576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f4a847489062ccada272e291a747bfecff5d74ded500da0a156faca0bd8394dc6905f90a250565b6001546001600160a01b03163314610394576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f602080835283518060208501525f5b81811015610409578581018301518582016040015282016103ed565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461043d575f80fd5b50565b5f805f60608486031215610452575f80fd5b833561045d81610429565b92506020840135915060408401358015158114610478575f80fd5b809150509250925092565b5f60208284031215610493575f80fd5b813561049e81610429565b9392505050565b600181811c908216806104b957607f821691505b6020821081036104d757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f80604083850312156104ee575f80fd5b82516104f981610429565b602093909301519294929350505056fea26469706673582212209883b177773d0f7ac2191c2fef31721ffed01848dae9984a91967ab2106bb24764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "claimCheckpointReward(address,uint256,bool)": "69114d4e", + "kind()": "04baa00b", + "name()": "06fdde03", + "subrewarder()": "3d7f7b24", + "updateAdmin(address)": "e2f273bd", + "updateSubrewarder(address)": "9b06ae49", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts new file mode 100644 index 000000000..ae159e969 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts @@ -0,0 +1,434 @@ +export const HyperdriveCheckpointSubrewarder = { + name: 'HyperdriveCheckpointSubrewarder' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_rewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "_source", + "type": "address", + "internalType": "address" + }, + { + "name": "_registry", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + }, + { + "name": "_rewardToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_minterRewardAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_traderRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minterRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "processReward", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + }, + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "registry", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "source", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "traderRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinterRewardAmount", + "inputs": [ + { + "name": "_minterRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRegistry", + "inputs": [ + { + "name": "_registry", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRewardToken", + "inputs": [ + { + "name": "_rewardToken", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSource", + "inputs": [ + { + "name": "_source", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateTraderRewardAmount", + "inputs": [ + { + "name": "_traderRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinterRewardAmountUpdated", + "inputs": [ + { + "name": "minterRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RegistryUpdated", + "inputs": [ + { + "name": "registry", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveRegistry" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardTokenUpdated", + "inputs": [ + { + "name": "rewardToken", + "type": "address", + "indexed": true, + "internalType": "contract IERC20" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SourceUpdated", + "inputs": [ + { + "name": "source", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TraderRewardAmountUpdated", + "inputs": [ + { + "name": "traderRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x60a060405234801562000010575f80fd5b50604051620010db380380620010db8339810160408190526200003391620000d3565b5f62000040888262000286565b50600180546001600160a01b031990811633179091556001600160a01b0396871660805260028054968816968216969096179095556003805494871694861694909417909355600480549290951691909316179092556005556006555062000352565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000ce575f80fd5b919050565b5f805f805f805f60e0888a031215620000ea575f80fd5b87516001600160401b038082111562000101575f80fd5b818a0191508a601f83011262000115575f80fd5b8151818111156200012a576200012a620000a3565b604051601f8201601f19908116603f01168101908382118183101715620001555762000155620000a3565b81604052828152602093508d8484870101111562000171575f80fd5b5f91505b8282101562000194578482018401518183018501529083019062000175565b5f848483010152809b50505050620001ae818b01620000b7565b97505050620001c060408901620000b7565b9450620001d060608901620000b7565b9350620001e060808901620000b7565b925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200021157607f821691505b6020821081036200023057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028157805f5260205f20601f840160051c810160208510156200025d5750805b601f840160051c820191505b818110156200027e575f815560010162000269565b50505b505050565b81516001600160401b03811115620002a257620002a2620000a3565b620002ba81620002b38454620001fc565b8462000236565b602080601f831160018114620002f0575f8415620002d85750858301515b5f19600386901b1c1916600185901b1785556200034a565b5f85815260208120601f198616915b828110156200032057888601518255948401946001909101908401620002ff565b50858210156200033e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051610d69620003725f395f818161022801526105110152610d695ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80637b1039991161009e578063e9f460411161006e578063e9f460411461025d578063f24bab651461028f578063f7c618c1146102a2578063f851a440146102b5578063f8cf31cb146102c8575f80fd5b80637b103999146101fd5780639183219f14610210578063dcc3e06e14610223578063e2f273bd1461024a575f80fd5b806354fd4d50116100d957806354fd4d501461018c5780635b338e07146101b257806362498576146101c957806367e828bf146101d2575f80fd5b806304baa00b1461010a57806306fdde031461015c5780631a5da6c8146101645780632057b1c714610179575b5f80fd5b6101466040518060400160405280601f81526020017f48797065726472697665436865636b706f696e7453756272657761726465720081525081565b604051610153919061099e565b60405180910390f35b6101466102db565b6101776101723660046109e4565b610366565b005b6101776101873660046109ff565b6103d9565b61014660405180604001604052806007815260200166076312e302e32360cc1b81525081565b6101bb60065481565b604051908152602001610153565b6101bb60055481565b6002546101e5906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b6003546101e5906001600160a01b031681565b61017761021e3660046109ff565b610435565b6101e57f000000000000000000000000000000000000000000000000000000000000000081565b6101776102583660046109e4565b610491565b61027061026b366004610a23565b610504565b604080516001600160a01b039093168352602083019190915201610153565b61017761029d3660046109e4565b6106a6565b6004546101e5906001600160a01b031681565b6001546101e5906001600160a01b031681565b6101776102d63660046109e4565b610719565b5f80546102e790610a73565b80601f016020809104026020016040519081016040528092919081815260200182805461031390610a73565b801561035e5780601f106103355761010080835404028352916020019161035e565b820191905f5260205f20905b81548152906001019060200180831161034157829003601f168201915b505050505081565b6001546001600160a01b03163314610390576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd905f90a250565b6001546001600160a01b03163314610403576040516282b42960e81b815260040160405180910390fd5b600581905560405181907faa8ae98398382187f26cba5014456be39e5486e84a5347fc41a234a6c4f03d25905f90a250565b6001546001600160a01b0316331461045f576040516282b42960e81b815260040160405180910390fd5b600681905560405181907fcbfc476043808accf425b48e528723c20dfc23e022fc8b6b63247ba91f9ee396905f90a250565b6001546001600160a01b031633146104bb576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461054e576040516282b42960e81b815260040160405180910390fd5b5f60045f9054906101000a90046001600160a01b031690506105d542886001600160a01b031663b0d965806040518163ffffffff1660e01b815260040161026060405180830381865afa1580156105a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cb9190610b61565b610120015161078c565b85146105e55791505f905061069d565b60035460405163062eced560e21b81526001600160a01b038981166004830152909116906318bb3b54906024016040805180830381865afa15801561062c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106509190610c5f565b516001146106625791505f905061069d565b5f8461067057600554610674565b6006545b9050801561069757600254610697906001600160a01b03848116911689846107aa565b90925090505b94509492505050565b6001546001600160a01b031633146106d0576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517ff2d025ce2c36cbd78cd7a2dd4607f7c5ef6b207ee59dfceb74aa73b80c1c53ae905f90a250565b6001546001600160a01b03163314610743576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fa5289ba11778999f4dfb9415023783188d42bbb5db0612cbfbe55999069612a0905f90a250565b5f6107978284610cbf565b6107a19084610cde565b90505b92915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261080490859061080a565b50505050565b5f61081e6001600160a01b03841683610875565b905080515f141580156108425750808060200190518101906108409190610cfd565b155b1561087057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606107a183835f845f80856001600160a01b031684866040516108999190610d18565b5f6040518083038185875af1925050503d805f81146108d3576040519150601f19603f3d011682016040523d82523d5f602084013e6108d8565b606091505b50915091506108e88683836108f4565b925050505b9392505050565b6060826109095761090482610950565b6108ed565b815115801561092057506001600160a01b0384163b155b1561094957604051639996b31560e01b81526001600160a01b0385166004820152602401610867565b50806108ed565b8051156109605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b8381101561099657818101518382015260200161097e565b50505f910152565b602081525f82518060208401526109bc81604085016020870161097c565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610979575f80fd5b5f602082840312156109f4575f80fd5b81356108ed816109d0565b5f60208284031215610a0f575f80fd5b5035919050565b8015158114610979575f80fd5b5f805f8060808587031215610a36575f80fd5b8435610a41816109d0565b93506020850135610a51816109d0565b9250604085013591506060850135610a6881610a16565b939692955090935050565b600181811c90821680610a8757607f821691505b602082108103610aa557634e487b7160e01b5f52602260045260245ffd5b50919050565b604051610200810167ffffffffffffffff81118282101715610adb57634e487b7160e01b5f52604160045260245ffd5b60405290565b8051610aec816109d0565b919050565b5f60808284031215610b01575f80fd5b6040516080810181811067ffffffffffffffff82111715610b3057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215610b72575f80fd5b610b7a610aab565b610b8383610ae1565b8152610b9160208401610ae1565b6020820152610ba260408401610ae1565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140808401518183015250610160610c0b818501610ae1565b90820152610180610c1d848201610ae1565b908201526101a0610c2f848201610ae1565b908201526101c0610c41848201610ae1565b908201526101e0610c5485858301610af1565b908201529392505050565b5f60408284031215610c6f575f80fd5b6040516040810181811067ffffffffffffffff82111715610c9e57634e487b7160e01b5f52604160045260245ffd5b604052825181526020830151610cb3816109d0565b60208201529392505050565b5f82610cd957634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156107a457634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610d0d575f80fd5b81516108ed81610a16565b5f8251610d2981846020870161097c565b919091019291505056fea2646970667358221220f4b1145022da47caf294d648d4347ec3f42c6c13cdaae0c32add7e23800bc40264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "kind()": "04baa00b", + "minterRewardAmount()": "62498576", + "name()": "06fdde03", + "processReward(address,address,uint256,bool)": "e9f46041", + "registry()": "7b103999", + "rewardToken()": "f7c618c1", + "rewarder()": "dcc3e06e", + "source()": "67e828bf", + "traderRewardAmount()": "5b338e07", + "updateAdmin(address)": "e2f273bd", + "updateMinterRewardAmount(uint256)": "2057b1c7", + "updateRegistry(address)": "1a5da6c8", + "updateRewardToken(address)": "f8cf31cb", + "updateSource(address)": "f24bab65", + "updateTraderRewardAmount(uint256)": "9183219f", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..cd5db1da8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts @@ -0,0 +1,669 @@ +export const HyperdriveDeployerCoordinator = { + name: 'HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveFactory.ts b/packages/hyperdrive-artifacts/src/HyperdriveFactory.ts new file mode 100644 index 000000000..913a76a16 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveFactory.ts @@ -0,0 +1,2143 @@ +export const HyperdriveFactory = { + name: 'HyperdriveFactory' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_factoryConfig", + "type": "tuple", + "internalType": "struct HyperdriveFactory.FactoryConfig", + "components": [ + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "deployerCoordinatorManager", + "type": "address", + "internalType": "address" + }, + { + "name": "hyperdriveGovernance", + "type": "address", + "internalType": "address" + }, + { + "name": "defaultPausers", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointDurationResolution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minPositionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPositionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minFixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxFixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "maxFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "_instancesToDeployerCoordinators", + "inputs": [ + { + "name": "instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "deployCoordinator", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpointDurationResolution", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployAndInitialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdrive" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployerCoordinatorManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorByInstances", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "coordinators", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorsInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfDeployerCoordinators", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "governance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isDeployerCoordinator", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isInstance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "linkerCodeHash", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "linkerFactory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateCheckpointDurationResolution", + "inputs": [ + { + "name": "_checkpointDurationResolution", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateCheckpointRewarder", + "inputs": [ + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDefaultPausers", + "inputs": [ + { + "name": "_defaultPausers_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDeployerCoordinatorManager", + "inputs": [ + { + "name": "_deployerCoordinatorManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFeeCollector", + "inputs": [ + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateGovernance", + "inputs": [ + { + "name": "_governance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateHyperdriveGovernance", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerCodeHash", + "inputs": [ + { + "name": "_linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerFactory", + "inputs": [ + { + "name": "_linkerFactory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCheckpointDuration", + "inputs": [ + { + "name": "_maxCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCircuitBreakerDelta", + "inputs": [ + { + "name": "_maxCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFees", + "inputs": [ + { + "name": "__maxFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFixedAPR", + "inputs": [ + { + "name": "_maxFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxPositionDuration", + "inputs": [ + { + "name": "_maxPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxTimeStretchAPR", + "inputs": [ + { + "name": "_maxTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCheckpointDuration", + "inputs": [ + { + "name": "_minCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCircuitBreakerDelta", + "inputs": [ + { + "name": "_minCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFees", + "inputs": [ + { + "name": "__minFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFixedAPR", + "inputs": [ + { + "name": "_minFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinPositionDuration", + "inputs": [ + { + "name": "_minPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinTimeStretchAPR", + "inputs": [ + { + "name": "_minTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSweepCollector", + "inputs": [ + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "CheckpointDurationResolutionUpdated", + "inputs": [ + { + "name": "newCheckpointDurationResolution", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewarderUpdated", + "inputs": [ + { + "name": "newCheckpointRewarder", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DefaultPausersUpdated", + "inputs": [ + { + "name": "newDefaultPausers", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deployed", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "hyperdrive", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "config", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorAdded", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorManagerUpdated", + "inputs": [ + { + "name": "deployerCoordinatorManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorRemoved", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeeCollectorUpdated", + "inputs": [ + { + "name": "newFeeCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "GovernanceUpdated", + "inputs": [ + { + "name": "governance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "HyperdriveGovernanceUpdated", + "inputs": [ + { + "name": "hyperdriveGovernance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerCodeHashUpdated", + "inputs": [ + { + "name": "newLinkerCodeHash", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerFactoryUpdated", + "inputs": [ + { + "name": "newLinkerFactory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMaxCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMaxCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFeesUpdated", + "inputs": [ + { + "name": "newMaxFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFixedAPRUpdated", + "inputs": [ + { + "name": "newMaxFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxPositionDurationUpdated", + "inputs": [ + { + "name": "newMaxPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMaxTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMinCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMinCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFeesUpdated", + "inputs": [ + { + "name": "newMinFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFixedAPRUpdated", + "inputs": [ + { + "name": "newMinFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinPositionDurationUpdated", + "inputs": [ + { + "name": "newMinPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMinTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SweepCollectorUpdated", + "inputs": [ + { + "name": "newSweepCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DeployerCoordinatorAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorIndexMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorNotAdded", + "inputs": [] + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDurationResolution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployConfig", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployerCoordinator", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "ReceiveLocked", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x6080604052600260015534801562000015575f80fd5b5060405162004012380380620040128339810160408190526200003891620006f6565b5f6200004582826200094e565b508160e0015182610100015110806200007357508160e0015182610100015162000070919062000a1a565b15155b156200009257604051630219d66360e11b815260040160405180910390fd5b610100820151600b8190556101208301511080620000c557508160e00151826101200151620000c2919062000a1a565b15155b15620000e45760405163f9c0959d60e01b815260040160405180910390fd5b610120820151600c81905561014083015110806200011757508160e0015182610140015162000114919062000a1a565b15155b156200013657604051633007ad0160e11b815260040160405180910390fd5b610140820151600d81905561016083015110806200016957508160e0015182610160015162000166919062000a1a565b15155b15620001885760405163cfb699cb60e01b815260040160405180910390fd5b610160820151600e556101a08201516101808301511115620001bd5760405163ef9bc65f60e01b815260040160405180910390fd5b610180820151600f556101a08201516010556101e08201516101c08301511115620001fb576040516330554de160e01b815260040160405180910390fd5b6101c08201516011556101e0820151601255610220820151610200830151111562000239576040516383ebdfb760e01b815260040160405180910390fd5b61020082015160135561022082015160145561026082015151670de0b6b3a76400001080620002785750670de0b6b3a764000082610260015160200151115b80620002945750670de0b6b3a764000082610260015160400151115b80620002b05750670de0b6b3a764000082610260015160600151115b15620002cf5760405163161071fb60e11b815260040160405180910390fd5b610260820151805160198190556020820151601a556040820151601b55606090910151601c556102408301515111806200031a57508161026001516020015182610240015160200151115b806200033757508161026001516040015182610240015160400151115b806200035457508161026001516060015182610240015160600151115b1562000373576040516315b05a8f60e01b815260040160405180910390fd5b61024082015180516015556020808201516016556040808301516017556060928301516018558451600280546001600160a01b03199081166001600160a01b03938416179091558387015160038054831691841691909117905591860151600480548416918316919091179055608086015160078054841691831691909117905560a086015160088054841691831691909117905560c08601516009805490931691161790559083015180516200042f92601d9201906200046c565b5050610280810151600580546001600160a01b0319166001600160a01b039092169190911790556102a081015160065560e00151600a5562000a3a565b828054828255905f5260205f20908101928215620004c2579160200282015b82811115620004c257825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200048b565b50620004d0929150620004d4565b5090565b5b80821115620004d0575f8155600101620004d5565b634e487b7160e01b5f52604160045260245ffd5b6040516102c081016001600160401b0381118282101715620005245762000524620004ea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005555762000555620004ea565b604052919050565b80516001600160a01b038116811462000574575f80fd5b919050565b5f82601f83011262000589575f80fd5b815160206001600160401b03821115620005a757620005a7620004ea565b8160051b620005b88282016200052a565b9283528481018201928281019087851115620005d2575f80fd5b83870192505b84831015620005fc57620005ec836200055d565b82529183019190830190620005d8565b979650505050505050565b5f6080828403121562000618575f80fd5b604051608081016001600160401b03811182821017156200063d576200063d620004ea565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f82601f8301126200067e575f80fd5b81516001600160401b038111156200069a576200069a620004ea565b6020620006b0601f8301601f191682016200052a565b8281528582848701011115620006c4575f80fd5b5f5b83811015620006e3578581018301518282018401528201620006c6565b505f928101909101919091529392505050565b5f806040838503121562000708575f80fd5b82516001600160401b03808211156200071f575f80fd5b90840190610380828703121562000734575f80fd5b6200073e620004fe565b62000749836200055d565b815262000759602084016200055d565b60208201526200076c604084016200055d565b604082015260608301518281111562000783575f80fd5b620007918882860162000579565b606083015250620007a5608084016200055d565b6080820152620007b860a084016200055d565b60a0820152620007cb60c084016200055d565b60c082015260e08381015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a080840151908201526101c080840151908201526101e0808401519082015261020080840151908201526102208084015190820152610240620008598882860162000607565b908201526200086d876102c0850162000607565b6102608201526200088261034084016200055d565b61028082015261036092909201516102a0830152602085015191935080821115620008ab575f80fd5b50620008ba858286016200066e565b9150509250929050565b600181811c90821680620008d957607f821691505b602082108103620008f857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200094957805f5260205f20601f840160051c81016020851015620009255750805b601f840160051c820191505b8181101562000946575f815560010162000931565b50505b505050565b81516001600160401b038111156200096a576200096a620004ea565b62000982816200097b8454620008c4565b84620008fe565b602080601f831160018114620009b8575f8415620009a05750858301515b5f19600386901b1c1916600185901b17855562000a12565b5f85815260208120601f198616915b82811015620009e857888601518255948401946001909101908401620009c7565b508582101562000a0657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8262000a3557634e487b7160e01b5f52601260045260245ffd5b500690565b6135ca8062000a485f395ff3fe608060405260043610610395575f3560e01c80638e127cf5116101de578063d2c35ce811610108578063e4e7148f1161009d578063ec895f111161006d578063ec895f1114610a9d578063f259645814610abc578063f8c09e5914610adb578063fe3d5aeb14610b09575f80fd5b8063e4e7148f14610a2c578063e71f34b314610a4b578063e83e34b114610a6a578063eb71f66c14610a7e575f80fd5b8063dd2b8fbb116100d8578063dd2b8fbb146109c5578063e0e2daaa146109e4578063e1b39c80146109f9578063e333155514610a0d575f80fd5b8063d2c35ce81461095d578063d6f501691461097c578063daac24da14610991578063daf012e6146109b0575f80fd5b8063b25612631161017e578063c415b95c1161014e578063c415b95c146108ff578063c905a4b51461091e578063d0f96b9214610933578063d23d7ea314610948575f80fd5b8063b25612631461088b578063bc30e7a1146108aa578063bf9bd5cd146108c9578063c1722563146108de575f80fd5b806399623bb1116101b957806399623bb11461081a5780639af2526214610839578063a64c90bf14610858578063a98a46db1461086c575f80fd5b80638e127cf5146107c75780638efc0986146107e657806397b0e8ce146107fb575f80fd5b80634554f9a9116102bf578063628027a31161025f57806383b361e81161022f57806383b361e81461074b57806384c19aab1461076a57806385229785146107895780638627a4f0146107a8575f80fd5b8063628027a3146106bb5780636b44e6be146106da5780636e95d67c146107185780636f6d5c4a1461072c575f80fd5b80634fbfee771161029a5780634fbfee771461063657806354fd4d50146106555780635720c9d5146106875780635aa6e6751461069c575f80fd5b80634554f9a9146105ed578063488007601461060257806349f13de714610617575f80fd5b80631ecda0fe116103355780632e7cd971116103055780632e7cd9711461057d5780633e2d201414610590578063411c3035146105af578063421caba8146105ce575f80fd5b80631ecda0fe146104e95780632885e3ac1461050c5780632907d3dd1461052b5780632b58f4181461054a575f80fd5b806310d1dc3e1161037057806310d1dc3e1461046057806311e77bfe1461047f5780631978ebcf1461049e5780631b59be0c146104bd575f80fd5b806304baa00b146103c357806306fdde031461041557806310780f7314610429575f80fd5b366103bf576002600154036103bd57604051630aac75b560e31b815260040160405180910390fd5b005b5f80fd5b3480156103ce575f80fd5b506103ff6040518060400160405280601181526020017048797065726472697665466163746f727960781b81525081565b60405161040c9190612c3a565b60405180910390f35b348015610420575f80fd5b506103ff610b28565b348015610434575f80fd5b50600854610448906001600160a01b031681565b6040516001600160a01b03909116815260200161040c565b34801561046b575f80fd5b506103bd61047a366004612c4c565b610bb3565b34801561048a575f80fd5b506103bd610499366004612c5c565b610ccc565b3480156104a9575f80fd5b506103bd6104b8366004612c5c565b610da5565b3480156104c8575f80fd5b506104dc6104d7366004612c73565b610e27565b60405161040c9190612ce2565b3480156104f4575f80fd5b506104fe600f5481565b60405190815260200161040c565b348015610517575f80fd5b506103bd610526366004612c4c565b610eff565b348015610536575f80fd5b506103bd610545366004612c5c565b611065565b348015610555575f80fd5b50610448610564366004612d55565b602080525f90815260409020546001600160a01b031681565b61044861058b36600461301f565b6110e7565b34801561059b575f80fd5b506103bd6105aa366004612d55565b61150e565b3480156105ba575f80fd5b506103bd6105c93660046130f7565b611581565b3480156105d9575f80fd5b506103bd6105e8366004612d55565b611749565b3480156105f8575f80fd5b506104fe60105481565b34801561060d575f80fd5b506104fe60145481565b348015610622575f80fd5b50610448610631366004613121565b611850565b348015610641575f80fd5b506103bd610650366004612c5c565b61193d565b348015610660575f80fd5b506103ff60405180604001604052806007815260200166076312e302e32360cc1b81525081565b348015610692575f80fd5b506104fe600b5481565b3480156106a7575f80fd5b50600254610448906001600160a01b031681565b3480156106c6575f80fd5b506103bd6106d5366004612c5c565b611999565b3480156106e5575f80fd5b506107086106f4366004612d55565b60226020525f908152604090205460ff1681565b604051901515815260200161040c565b348015610723575f80fd5b506021546104fe565b348015610737575f80fd5b506103bd610746366004612c5c565b611a1b565b348015610756575f80fd5b506103bd610765366004612c5c565b611abf565b348015610775575f80fd5b506103bd610784366004612c5c565b611b41565b348015610794575f80fd5b506103bd6107a3366004612d55565b611bc3565b3480156107b3575f80fd5b506103bd6107c2366004612d55565b611c36565b3480156107d2575f80fd5b506103bd6107e1366004612c5c565b611ca9565b3480156107f1575f80fd5b506104fe600e5481565b348015610806575f80fd5b506103bd610815366004612c5c565b611d4d565b348015610825575f80fd5b50600554610448906001600160a01b031681565b348015610844575f80fd5b506103bd610853366004612c73565b611dcf565b348015610863575f80fd5b506104dc611e37565b348015610877575f80fd5b506103bd610886366004612d55565b611e97565b348015610896575f80fd5b506103bd6108a5366004612d55565b611f0a565b3480156108b5575f80fd5b506104dc6108c43660046131af565b611f7d565b3480156108d4575f80fd5b506104fe60125481565b3480156108e9575f80fd5b506108f261207c565b60405161040c91906131cf565b34801561090a575f80fd5b50600754610448906001600160a01b031681565b348015610929575f80fd5b506104fe60065481565b34801561093e575f80fd5b506104fe600a5481565b348015610953575f80fd5b506104fe60115481565b348015610968575f80fd5b506103bd610977366004612d55565b6120d0565b348015610987575f80fd5b506104fe60135481565b34801561099c575f80fd5b506104486109ab366004612c5c565b612143565b3480156109bb575f80fd5b506104fe600d5481565b3480156109d0575f80fd5b506103bd6109df366004612d55565b612171565b3480156109ef575f80fd5b506104fe600c5481565b348015610a04575f80fd5b50601e546104fe565b348015610a18575f80fd5b50600454610448906001600160a01b031681565b348015610a37575f80fd5b50600354610448906001600160a01b031681565b348015610a56575f80fd5b506103bd610a65366004612c5c565b6121e4565b348015610a75575f80fd5b506108f2612288565b348015610a89575f80fd5b506103bd610a98366004612c5c565b6122dc565b348015610aa8575f80fd5b506104dc610ab73660046131af565b612374565b348015610ac7575f80fd5b50600954610448906001600160a01b031681565b348015610ae6575f80fd5b50610708610af5366004612d55565b601f6020525f908152604090205460ff1681565b348015610b14575f80fd5b50610448610b23366004612c5c565b612473565b5f8054610b34906131fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610b60906131fa565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b505050505081565b6002546001600160a01b03163314610bdd576040516282b42960e81b815260040160405180910390fd5b60408051608081018252601954808252601a546020830152601b5492820192909252601c5460608201529082351180610c1d575080602001518260200135115b80610c2f575080604001518260400135115b80610c41575080606001518260600135115b15610c5f576040516315b05a8f60e01b815260040160405180910390fd5b81356015819055602080840135601681905560408086013560178190556060808801356018819055835196875294860193909352908401528201527fe1c45f8aeb543f30b37cc2fccfbac0f32cc8f234284df921d71cff04e51ef421906080015b60405180910390a15050565b6002546001600160a01b03163314610cf6576040516282b42960e81b815260040160405180910390fd5b80600b54610d04919061322c565b151580610d1d575080600c54610d1a919061322c565b15155b80610d34575080600d54610d31919061322c565b15155b80610d4b575080600e54610d48919061322c565b15155b15610d69576040516311b75c1560e31b815260040160405180910390fd5b600a8190556040518181527f04ed835b488b4fcf0a212a46ed67cbbffc2fc81b5cb6a12c546572cbf7b7e06a906020015b60405180910390a150565b6002546001600160a01b03163314610dcf576040516282b42960e81b815260040160405180910390fd5b601254811115610df257604051631670f79760e01b815260040160405180910390fd5b60118190556040518181527faab0ee9100629c405a4d75336e1640cc81e0608fb0d7f17389c06ee8d4f0219190602001610d9a565b60215460609067ffffffffffffffff811115610e4557610e45612d70565b604051908082528060200260200182016040528015610e6e578160200160208202803683370190505b5090505f5b82811015610ef75760205f858584818110610e9057610e9061324b565b9050602002016020810190610ea59190612d55565b6001600160a01b03908116825260208201929092526040015f20548351911690839083908110610ed757610ed761324b565b6001600160a01b0390921660209283029190910190910152600101610e73565b505b92915050565b6002546001600160a01b03163314610f29576040516282b42960e81b815260040160405180910390fd5b6040805160808101825260155481526016546020820152601754918101919091526018546060820152670de0b6b3a764000082351180610f745750670de0b6b3a76400008260200135115b80610f8a5750670de0b6b3a76400008260400135115b80610fa05750670de0b6b3a76400008260600135115b80610fac575080518235105b80610fbe575080602001518260200135105b80610fd0575080604001518260400135105b80610fe2575080606001518260600135105b156110005760405163161071fb60e11b815260040160405180910390fd5b81356019819055602080840135601a819055604080860135601b819055606080880135601c819055835196875294860193909352908401528201527f8c6093c7e65dd862e88162770c4e156e8a0da57d25d961e0fb6f28cfb7ff89a790608001610cc0565b6002546001600160a01b0316331461108f576040516282b42960e81b815260040160405180910390fd5b6010548111156110b2576040516328a2d9a960e01b815260040160405180910390fd5b600f8190556040518181527f41f729b931ad8e33d697fff6bc6736a1ac6ee09e8265efae2794ac1635c217a690602001610d9a565b6001600160a01b0389165f908152601f602052604081205460ff1661111f57604051636e623f0f60e01b815260040160405180910390fd5b61112a888686612487565b60408051336020808301919091528183018e905282518083038401815260608301938490528051910120631d321d7560e31b9092525f916001600160a01b038d169163e990eba891611186918e908e908e908a90606401613370565b6020604051808303815f875af11580156111a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c691906133bf565b90508a60205f836001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060045f9054906101000a90046001600160a01b03168961014001906001600160a01b031690816001600160a01b0316815250508a6001600160a01b03167fb25b0f0f93209be08152122f1321f6b0ef559a93a67695fff5fea3e5ed234465828c8c8c60405161128194939291906133da565b60405180910390a26021805460018082019092557f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180546001600160a01b0319166001600160a01b038481169182179092555f90815260226020908152604091829020805460ff1916851790559280558051339381019390935282018e90528c16906316abfc7090349060600160405160208183030381529060405280519060200120338b8b8a6040518763ffffffff1660e01b815260040161134995949392919061342b565b60206040518083038185885af1158015611365573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061138a919061348d565b5060026001555f5b601d5481101561143057816001600160a01b0316637180c8ca601d83815481106113be576113be61324b565b5f9182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b039091166004820152600160248201526044015f604051808303815f87803b15801561140e575f80fd5b505af1158015611420573d5f803e3d5ffd5b5050600190920191506113929050565b506004805460405163ab033ea960e01b81526001600160a01b039182169281019290925282169063ab033ea9906024015f604051808303815f87803b158015611477575f80fd5b505af1158015611489573d5f803e3d5ffd5b5047925050811590506114fe576040515f90339083908381818185875af1925050503d805f81146114d5576040519150601f19603f3d011682016040523d82523d5f602084013e6114da565b606091505b50509050806114fc576040516312171d8360e31b815260040160405180910390fd5b505b509b9a5050505050505050505050565b6002546001600160a01b03163314611538576040516282b42960e81b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040517fae062fb82c932c653cd44617343ecda1d13e375e0d6f20d969c944fbda1963d3905f90a250565b6002546001600160a01b031633148015906115a757506003546001600160a01b03163314155b156115c4576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0382165f908152601f602052604090205460ff166115fc57604051634bf121ab60e01b815260040160405180910390fd5b816001600160a01b0316601e82815481106116195761161961324b565b5f918252602090912001546001600160a01b03161461164b57604051630f2700cb60e21b815260040160405180910390fd5b6001600160a01b0382165f908152601f60205260409020805460ff19169055601e805461167a906001906134b8565b8154811061168a5761168a61324b565b5f91825260209091200154601e80546001600160a01b0390921691839081106116b5576116b561324b565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550601e8054806116f1576116f16134cb565b5f8281526020812082015f1990810180546001600160a01b03191690559091019091556040516001600160a01b038416917f709b7450bfafda93efd91d29149870a794637ac9d696ca61625fd2f53548afe091a25050565b6002546001600160a01b0316331480159061176f57506003546001600160a01b03163314155b1561178c576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f908152601f602052604090205460ff16156117c55760405163bd34634f60e01b815260040160405180910390fd5b6001600160a01b0381165f818152601f6020526040808220805460ff19166001908117909155601e8054918201815583527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b03191684179055517f16ce88285cfd59829a5aa04370a5ec8090a18c14e7e7fb9d4b12a42291c098e39190a250565b6001600160a01b0387165f908152601f602052604081205460ff1661188857604051636e623f0f60e01b815260040160405180910390fd5b611893878686612487565b60408051336020808301919091528183018c90528251808303840181526060830193849052805191012063182a20c360e31b9092525f916001600160a01b038b169163c1510618916118ef918c908c908a908a906064016134df565b6020604051808303815f875af115801561190b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192f91906133bf565b9a9950505050505050505050565b6002546001600160a01b03163314611967576040516282b42960e81b815260040160405180910390fd5b600681905560405181907f395a61259037298d1c4cd4bf177b64ad5995d38a9394573fcd9060d649314ad0905f90a250565b6002546001600160a01b031633146119c3576040516282b42960e81b815260040160405180910390fd5b6013548110156119e657604051630a35539d60e41b815260040160405180910390fd5b60148190556040518181527fa9e7961bb3342715dbecc208087a6a9df8986d524b3a0a829fd90f5a2f5ba53e90602001610d9a565b6002546001600160a01b03163314611a45576040516282b42960e81b815260040160405180910390fd5b600b54811080611a605750600a54611a5d908261322c565b15155b80611a6c5750600d5481115b15611a8a5760405163f9c0959d60e01b815260040160405180910390fd5b600c8190556040518181527f31407ddd1722f500b8aa2c18e112398626dd7c2869a5f80731ec30b244d9b5f290602001610d9a565b6002546001600160a01b03163314611ae9576040516282b42960e81b815260040160405180910390fd5b601454811115611b0c57604051635a8f655760e01b815260040160405180910390fd5b60138190556040518181527f490eb2a91746aa933c9ffe2f7939aa06498f3259139f8805f008b12c8c697a4690602001610d9a565b6002546001600160a01b03163314611b6b576040516282b42960e81b815260040160405180910390fd5b600f54811015611b8e57604051637edc061360e11b815260040160405180910390fd5b60108190556040518181527f0e56d83f54e6f5b08716a54b3abdb59b3025bf12c1875c87ab98ab081d6f838190602001610d9a565b6002546001600160a01b03163314611bed576040516282b42960e81b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517f03aa5b0fb65014eea89fda04a7bc11742014881f3c078f2c75b7226ce10d9418905f90a250565b6002546001600160a01b03163314611c60576040516282b42960e81b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040517fc049058b1df2dd8902739ceb78992df12fa8369c06c450b3c6787137b452fdd2905f90a250565b6002546001600160a01b03163314611cd3576040516282b42960e81b815260040160405180910390fd5b600a54811080611cee5750600a54611ceb908261322c565b15155b80611cfa5750600c5481115b15611d1857604051630219d66360e11b815260040160405180910390fd5b600b8190556040518181527f6f8175cdbac1b4d238abba24a17d2554d7b9750bbeda6414e191c478384b763190602001610d9a565b6002546001600160a01b03163314611d77576040516282b42960e81b815260040160405180910390fd5b601154811015611d9a5760405163019cfb7b60e61b815260040160405180910390fd5b60128190556040518181527f4fa35c11ce9a45ae882c154ecb53ab5cac52a74a5b9b0373be36deb30c78297890602001610d9a565b6002546001600160a01b03163314611df9576040516282b42960e81b815260040160405180910390fd5b611e05601d8383612b8b565b507f2a85276cf604a3822e19b29a3e97aebfbc47a19025c2e8f6e80b3af774dcbc388282604051610cc092919061351d565b6060601d805480602002602001604051908101604052809291908181526020018280548015611e8d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611e6f575b5050505050905090565b6002546001600160a01b03163314611ec1576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517f6f717fb0ab51206dea4064a35c94c2784f8714b012fbde820e0ddee36265eb6a905f90a250565b6002546001600160a01b03163314611f34576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f9d3e522e1e47a2f6009739342b9cc7b252a1888154e843ab55ee1c81745795ab905f90a250565b6060818310611f9f57604051633b2735ab60e11b815260040160405180910390fd5b602154821115611fc25760405163e0f7becb60e01b815260040160405180910390fd5b611fcc83836134b8565b67ffffffffffffffff811115611fe457611fe4612d70565b60405190808252806020026020018201604052801561200d578160200160208202803683370190505b509050825b82811015610ef7576021818154811061202d5761202d61324b565b905f5260205f20015f9054906101000a90046001600160a01b0316828583038151811061205c5761205c61324b565b6001600160a01b0390921660209283029190910190910152600101612012565b6120a360405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526015548152601654602082015260175491810191909152601854606082015290565b6002546001600160a01b031633146120fa576040516282b42960e81b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f905f90a250565b5f602182815481106121575761215761324b565b5f918252602090912001546001600160a01b031692915050565b6002546001600160a01b0316331461219b576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517ff3e07b4bb4394f2ff320bd1dd151551dff304d5e948b401d8558b228482c97d8905f90a250565b6002546001600160a01b0316331461220e576040516282b42960e81b815260040160405180910390fd5b600c548110806122295750600a54612226908261322c565b15155b806122355750600e5481115b1561225357604051633007ad0160e11b815260040160405180910390fd5b600d8190556040518181527fe9ef3e93dff799d4db8a12ff79e0918a5a78d75b10527864f4b1c920f6f4f17890602001610d9a565b6122af60405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526019548152601a546020820152601b5491810191909152601c54606082015290565b6002546001600160a01b03163314612306576040516282b42960e81b815260040160405180910390fd5b600d548110806123215750600a5461231e908261322c565b15155b1561233f5760405163cfb699cb60e01b815260040160405180910390fd5b600e8190556040518181527f866fe9485f9983afceaa1385307b6eb0fd3df5a250ae2b0bf76dc9ddd316926b90602001610d9a565b606081831061239657604051633b2735ab60e11b815260040160405180910390fd5b601e548211156123b95760405163e0f7becb60e01b815260040160405180910390fd5b6123c383836134b8565b67ffffffffffffffff8111156123db576123db612d70565b604051908082528060200260200182016040528015612404578160200160208202803683370190505b509050825b82811015610ef757601e81815481106124245761242461324b565b905f5260205f20015f9054906101000a90046001600160a01b031682858303815181106124535761245361324b565b6001600160a01b0390921660209283029190910190910152600101612409565b5f601e82815481106121575761215761324b565b600b5483610100015110806124a25750600c54836101000151115b806124be5750600a548361010001516124bb919061322c565b15155b156124dc57604051635428734d60e01b815260040160405180910390fd5b600d548360e0015110806124f55750600e548360e00151115b8061251357508261010001518360e00151612510919061322c565b15155b156125315760405163253fffcf60e11b815260040160405180910390fd5b600f548360c00151108061254a57506010548360c00151115b156125685760405163ef9bc65f60e01b815260040160405180910390fd5b6019546101c084015151118061259c5750601a5460e08401516101c08501516020015161259a916301e13380906127f6565b115b806125b15750601b546101c084015160400151115b806125c65750601c546101c084015160600151115b806125d857506015546101c084015151105b80612601575060165460e08401516101c0850151602001516125ff916301e1338090612819565b105b8061261657506017546101c084015160400151105b8061262b57506018546101c084015160600151105b1561264957604051632d8768f960e01b815260040160405180910390fd5b60115482108061265a575060125482115b15612678576040516330554de160e01b815260040160405180910390fd5b5f61269c6611c37937e0800061269685671bc16d674ec80000612834565b9061284f565b6013549091506126ac908261284f565b8210806126df57506126dc6126d3671bc16d674ec800006126cd868561284f565b90612864565b60145490612878565b82115b156126fd576040516383ebdfb760e01b815260040160405180910390fd5b5f61270c838660e0015161288c565b60055460408701519192506001600160a01b0391821691161415806127375750600654856060015114155b8061275657506007546101608601516001600160a01b03908116911614155b8061277557506008546101808601516001600160a01b03908116911614155b8061279457506009546101a08601516001600160a01b03908116911614155b806127b357506004546101408601516001600160a01b03908116911614155b806127c2575061012085015115155b156127e05760405163e8c02dd760e01b815260040160405180910390fd5b3061014086015261012090940193909352505050565b5f825f19048411830215820261280a575f80fd5b50910281810615159190040190565b5f825f19048411830215820261282d575f80fd5b5091020490565b5f61284883670de0b6b3a764000084612819565b9392505050565b5f81831161285d5781612848565b5090919050565b5f6128488383670de0b6b3a7640000612819565b5f8183116128865782612848565b50919050565b5f806128bc6128ad61289f86606461356a565b66a5bbed86c5a00090612864565b6748cd4072281e000090612834565b90506128d0670de0b6b3a764000082612834565b9050612928816126cd6128fb6128f66128f189670de0b6b3a7640000613581565b612930565b61295d565b6129226128f66129108a8a6301e13380612819565b6128f190670de0b6b3a7640000613581565b90612834565b949350505050565b5f6001600160ff1b038211156129595760405163396ea70160e11b815260040160405180910390fd5b5090565b5f80821361297e5760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612a0a9084901c612930565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b828054828255905f5260205f20908101928215612bdc579160200282015b82811115612bdc5781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190612ba9565b506129599291505b80821115612959575f8155600101612be4565b5f81518084525f5b81811015612c1b57602081850181015186830182015201612bff565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6128486020830184612bf7565b5f60808284031215612886575f80fd5b5f60208284031215612c6c575f80fd5b5035919050565b5f8060208385031215612c84575f80fd5b823567ffffffffffffffff80821115612c9b575f80fd5b818501915085601f830112612cae575f80fd5b813581811115612cbc575f80fd5b8660208260051b8501011115612cd0575f80fd5b60209290920196919550909350505050565b602080825282518282018190525f9190848201906040850190845b81811015612d225783516001600160a01b031683529284019291840191600101612cfd565b50909695505050505050565b6001600160a01b0381168114612d42575f80fd5b50565b8035612d5081612d2e565b919050565b5f60208284031215612d65575f80fd5b813561284881612d2e565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715612da857612da8612d70565b60405290565b5f82601f830112612dbd575f80fd5b813567ffffffffffffffff80821115612dd857612dd8612d70565b604051601f8301601f19908116603f01168101908282118183101715612e0057612e00612d70565b81604052838152866020858801011115612e18575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215612e47575f80fd5b6040516080810181811067ffffffffffffffff82111715612e6a57612e6a612d70565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215612eac575f80fd5b612eb4612d84565b9050612ebf82612d45565b8152612ecd60208301612d45565b6020820152612ede60408301612d45565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140612f3b818401612d45565b90820152610160612f4d838201612d45565b90820152610180612f5f838201612d45565b908201526101a0612f71838201612d45565b908201526101c0612f8484848301612e37565b9082015292915050565b5f60608284031215612f9e575f80fd5b6040516060810167ffffffffffffffff8282108183111715612fc257612fc2612d70565b8160405282935084359150612fd682612d2e565b9082526020840135908115158214612fec575f80fd5b8160208401526040850135915080821115613005575f80fd5b5061301285828601612dae565b6040830152505092915050565b5f805f805f805f805f806103608b8d031215613039575f80fd5b8a35995061304960208c01612d45565b985060408b013567ffffffffffffffff80821115613065575f80fd5b6130718e838f01612dae565b99506130808e60608f01612e9b565b98506102a08d0135915080821115613096575f80fd5b6130a28e838f01612dae565b97506102c08d013596506102e08d013595506103008d013594506103208d01359150808211156130d0575f80fd5b506130dd8d828e01612f8e565b9250506103408b013590509295989b9194979a5092959850565b5f8060408385031215613108575f80fd5b823561311381612d2e565b946020939093013593505050565b5f805f805f805f80610320898b031215613139575f80fd5b88359750602089013561314b81612d2e565b965061315a8a60408b01612e9b565b955061028089013567ffffffffffffffff811115613176575f80fd5b6131828b828c01612dae565b989b979a5095986102a0810135976102c082013597506102e0820135965061030090910135945092505050565b5f80604083850312156131c0575f80fd5b50508035926020909101359150565b8151815260208083015190820152604080830151908201526060808301519082015260808101610ef9565b600181811c9082168061320e57607f821691505b60208210810361288657634e487b7160e01b5f52602260045260245ffd5b5f8261324657634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52603260045260245ffd5b80516001600160a01b03168252602081015161328660208401826001600160a01b03169052565b5060408101516132a160408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151613307828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b5f6102c087835280602084015261338981840188612bf7565b9050613398604084018761325f565b8281036102808401526133ab8186612bf7565b915050826102a08301529695505050505050565b5f602082840312156133cf575f80fd5b815161284881612d2e565b6001600160a01b03851681526102a0602082018190525f906133fe83820187612bf7565b905061340d604084018661325f565b8281036102808401526134208185612bf7565b979650505050505050565b8581525f60018060a01b03808716602084015285604084015284606084015260a060808401528084511660a0840152506020830151151560c08301526040830151606060e0840152613481610100840182612bf7565b98975050505050505050565b5f6020828403121561349d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ef957610ef96134a4565b634e487b7160e01b5f52603160045260245ffd5b5f6102c08783526134f3602084018861325f565b8061026084015261350681840187612bf7565b61028084019590955250506102a001529392505050565b60208082528181018390525f908460408401835b8681101561355f57823561354481612d2e565b6001600160a01b031682529183019190830190600101613531565b509695505050505050565b8082028115828204841417610ef957610ef96134a4565b80820180821115610ef957610ef96134a456fea2646970667358221220a1e514bf85e79a36a06a6b5cba470da19dd8126fb4e92a14dbe5b9d89c3e2ddf64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_instancesToDeployerCoordinators(address)": "2b58f418", + "addDeployerCoordinator(address)": "421caba8", + "checkpointDurationResolution()": "d0f96b92", + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", + "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", + "deployerCoordinatorManager()": "e4e7148f", + "feeCollector()": "c415b95c", + "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", + "getDeployerCoordinatorByInstances(address[])": "1b59be0c", + "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfDeployerCoordinators()": "e1b39c80", + "getNumberOfInstances()": "6e95d67c", + "governance()": "5aa6e675", + "hyperdriveGovernance()": "e3331555", + "isDeployerCoordinator(address)": "f8c09e59", + "isInstance(address)": "6b44e6be", + "kind()": "04baa00b", + "linkerCodeHash()": "c905a4b5", + "linkerFactory()": "99623bb1", + "maxCheckpointDuration()": "e0e2daaa", + "maxCircuitBreakerDelta()": "4554f9a9", + "maxFees()": "e83e34b1", + "maxFixedAPR()": "bf9bd5cd", + "maxPositionDuration()": "8efc0986", + "maxTimeStretchAPR()": "48800760", + "minCheckpointDuration()": "5720c9d5", + "minCircuitBreakerDelta()": "1ecda0fe", + "minFees()": "c1722563", + "minFixedAPR()": "d23d7ea3", + "minPositionDuration()": "daf012e6", + "minTimeStretchAPR()": "d6f50169", + "name()": "06fdde03", + "removeDeployerCoordinator(address,uint256)": "411c3035", + "sweepCollector()": "10780f73", + "updateCheckpointDurationResolution(uint256)": "11e77bfe", + "updateCheckpointRewarder(address)": "3e2d2014", + "updateDefaultPausers(address[])": "9af25262", + "updateDeployerCoordinatorManager(address)": "a98a46db", + "updateFeeCollector(address)": "d2c35ce8", + "updateGovernance(address)": "b2561263", + "updateHyperdriveGovernance(address)": "dd2b8fbb", + "updateLinkerCodeHash(bytes32)": "4fbfee77", + "updateLinkerFactory(address)": "85229785", + "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", + "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", + "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", + "updateMaxFixedAPR(uint256)": "97b0e8ce", + "updateMaxPositionDuration(uint256)": "eb71f66c", + "updateMaxTimeStretchAPR(uint256)": "628027a3", + "updateMinCheckpointDuration(uint256)": "8e127cf5", + "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", + "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", + "updateMinFixedAPR(uint256)": "1978ebcf", + "updateMinPositionDuration(uint256)": "e71f34b3", + "updateMinTimeStretchAPR(uint256)": "83b361e8", + "updateSweepCollector(address)": "8627a4f0", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveLP.ts b/packages/hyperdrive-artifacts/src/HyperdriveLP.ts new file mode 100644 index 000000000..228d28259 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveLP.ts @@ -0,0 +1,657 @@ +export const HyperdriveLP = { + name: 'HyperdriveLP' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveLong.ts b/packages/hyperdrive-artifacts/src/HyperdriveLong.ts new file mode 100644 index 000000000..19224a166 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveLong.ts @@ -0,0 +1,657 @@ +export const HyperdriveLong = { + name: 'HyperdriveLong' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveMath.ts b/packages/hyperdrive-artifacts/src/HyperdriveMath.ts new file mode 100644 index 000000000..c007663ba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveMath.ts @@ -0,0 +1,6 @@ +export const HyperdriveMath = { + name: 'HyperdriveMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f750f6fbf60495e97c0a539b86ad20c1304cba5840bc52023fe0f4c42006d81b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts b/packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts new file mode 100644 index 000000000..eed0ec1e3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts @@ -0,0 +1,657 @@ +export const HyperdriveMultiToken = { + name: 'HyperdriveMultiToken' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts b/packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts new file mode 100644 index 000000000..e29dd64a5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts @@ -0,0 +1,701 @@ +export const HyperdriveRegistry = { + name: 'HyperdriveRegistry' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoriesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfo", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfoWithMetadata", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfos", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfosWithMetadata", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfo", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfoWithMetadata", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfos", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfosWithMetadata", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfFactories", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isInitialized", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setFactoryInfo", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setInstanceInfo", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + }, + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateName", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FactoryInfoUpdated", + "inputs": [ + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InstanceInfoUpdated", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NameUpdated", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFactory", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "RegistryAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061286f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c80639b724ad4116100bf578063e2f273bd11610079578063e2f273bd146103ee578063e967e38814610401578063ea35032114610414578063f32c9e3414610434578063f59d00b914610454578063f851a4401461045c575f80fd5b80639b724ad414610307578063a587bbe11461035d578063b73e3fab14610388578063bc30e7a1146103a8578063d2f72d52146103bb578063daac24da146103db575f80fd5b80634db6c0e0116101105780634db6c0e01461026957806354fd4d50146102895780636e95d67c146102af578063716ba5f6146102c15780637ab4339d146102e157806384da92a7146102f4575f80fd5b806304baa00b1461015757806306fdde031461019e57806318bb3b54146101a65780631ff30ad2146102185780632ad19de81461022d578063392e53cd1461024d575b5f80fd5b6101886040518060400160405280601281526020017148797065726472697665526567697374727960701b81525081565b6040516101959190611f2a565b60405180910390f35b61018861046f565b61020b6101b4366004611f5e565b604080518082019091525f8082526020820152506040805180820182526001600160a01b039283165f8181526006602081815294822080546001600160801b03168552929091528352600101549092169082015290565b6040516101959190611f77565b61022b610226366004611fde565b6104fb565b005b61024061023b366004611f5e565b6108c1565b60405161019591906120dc565b5f546102599060ff1681565b6040519015158152602001610195565b61027c6102773660046120ee565b610a44565b604051610195919061212c565b61018860405180604001604052806007815260200166076312e302e32360cc1b81525081565b6005545b604051908152602001610195565b6102d46102cf36600461218b565b610b88565b60405161019591906121ab565b61022b6102ef3660046121f7565b610c86565b61022b6103023660046122da565b610d26565b61034e610315366004611f5e565b60408051602080820183525f91829052825180820184526001600160a01b039490941682526004905220546001600160801b0316815290565b60405190518152602001610195565b61037061036b366004612353565b610d9d565b6040516001600160a01b039091168152602001610195565b61039b6103963660046120ee565b610dcb565b60405161019591906123bb565b6102d46103b636600461218b565b611047565b6103ce6103c93660046120ee565b611145565b604051610195919061241d565b6103706103e9366004612353565b6113f4565b61022b6103fc366004611f5e565b611408565b61022b61040f366004612472565b61147b565b6104276104223660046120ee565b611821565b60405161019591906124d8565b610447610442366004611f5e565b611907565b6040516101959190612510565b6003546102b3565b600254610370906001600160a01b031681565b6001805461047c90612522565b80601f01602080910402602001604051908101604052809291908181526020018280546104a890612522565b80156104f35780601f106104ca576101008083540402835291602001916104f3565b820191905f5260205f20905b8154815290600101906020018083116104d657829003601f168201915b505050505081565b6002546001600160a01b03163314610525576040516282b42960e81b815260040160405180910390fd5b84831415806105345750848114155b156105525760405163aaad13f760e01b815260040160405180910390fd5b5f5b858110156108b8575f60065f8989858181106105725761057261255a565b90506020020160208101906105879190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508585838181106105bd576105bd61255a565b90506020020160208101906105d2919061256e565b6001600160801b03161580156105e757508015155b1561066f575f8484848181106105ff576105ff61255a565b90506020020160208101906106149190611f5e565b6001600160a01b03161461063b57604051637a44db9560e01b815260040160405180910390fd5b61066a8888848181106106505761065061255a565b90506020020160208101906106659190611f5e565b611998565b6107f2565b8585838181106106815761068161255a565b9050602002016020810190610696919061256e565b6001600160801b0316158015906106ac57508015155b1561072e5761066a8888848181106106c6576106c661255a565b90506020020160208101906106db9190611f5e565b8787858181106106ed576106ed61255a565b9050602002016020810190610702919061256e565b8686868181106107145761071461255a565b90506020020160208101906107299190611f5e565b611ae6565b8585838181106107405761074061255a565b9050602002016020810190610755919061256e565b6001600160801b03161580159061076a575080155b156107ec5761066a8888848181106107845761078461255a565b90506020020160208101906107999190611f5e565b8787858181106107ab576107ab61255a565b90506020020160208101906107c0919061256e565b8686868181106107d2576107d261255a565b90506020020160208101906107e79190611f5e565b611c29565b506108b0565b8383838181106108045761080461255a565b90506020020160208101906108199190611f5e565b6001600160a01b03168686848181106108345761083461255a565b9050602002016020810190610849919061256e565b6001600160801b03168989858181106108645761086461255a565b90506020020160208101906108799190611f5e565b6001600160a01b03167fdcdda2b8267b8fe0ebfeb2cc8f266807b412bec096d16cbbe576d46d122553e060405160405180910390a4505b600101610554565b50505050505050565b6108c9611ea7565b6040805160a0810182526001600160a01b038085165f8181526006602081815286832080546001600160801b031687528484529181526001909101549093169284019290925283516306fdde0360e01b8152845187958501936306fdde0392600480820193918290030181865afa158015610946573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096d9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156109ad573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109d49190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a14573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a3b9190810190612594565b90529392505050565b6060816001600160401b03811115610a5e57610a5e612270565b604051908082528060200260200182016040528015610aa257816020015b604080518082019091525f8082526020820152815260200190600190039081610a7c5790505b5090505f5b82811015610b8057604051806040016040528060065f878786818110610acf57610acf61255a565b9050602002016020810190610ae49190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b03168352910190600690878786818110610b2357610b2361255a565b9050602002016020810190610b389190611f5e565b6001600160a01b03908116825260208201929092526040015f20600101541690528251839083908110610b6d57610b6d61255a565b6020908102919091010152600101610aa7565b505b92915050565b6060818310610baa57604051633b2735ab60e11b815260040160405180910390fd5b600354821115610bcd5760405163e0f7becb60e01b815260040160405180910390fd5b610bd783836125fc565b6001600160401b03811115610bee57610bee612270565b604051908082528060200260200182016040528015610c17578160200160208202803683370190505b509050825b82811015610b805760038181548110610c3757610c3761255a565b5f918252602090912001546001600160a01b031682610c5686846125fc565b81518110610c6657610c6661255a565b6001600160a01b0390921660209283029190910190910152600101610c1c565b5f5460ff1615610ca95760405163722c395b60e11b815260040160405180910390fd5b5f805460ff19166001908117909155610cc3838583612664565b50600280546001600160a01b0319166001600160a01b038316908117909155604051610cf2908590859061271d565b604051908190038120907fe57439d837715589a751e391f73a95929ecc96ae6aa09a16be8ae312d6147157905f90a3505050565b6002546001600160a01b03163314610d50576040516282b42960e81b815260040160405180910390fd5b6001610d5c828261272c565b5080604051610d6b91906127eb565b604051908190038120907f9f7688a97f1ac51fe03bac18af18d6810f9f11f0db08c59b1938a9ac825ef744905f90a250565b5f60038281548110610db157610db161255a565b5f918252602090912001546001600160a01b031692915050565b6060816001600160401b03811115610de557610de5612270565b604051908082528060200260200182016040528015610e4057816020015b610e2d60405180608001604052805f81526020016060815260200160608152602001606081525090565b815260200190600190039081610e035790505b5090505f5b82811015610b80575f848483818110610e6057610e6061255a565b9050602002016020810190610e759190611f5e565b9050604051806080016040528060045f888887818110610e9757610e9761255a565b9050602002016020810190610eac9190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f205f015f9054906101000a90046001600160801b03166001600160801b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f509190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f90573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fb79190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ff7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261101e9190810190612594565b8152508383815181106110335761103361255a565b602090810291909101015250600101610e45565b606081831061106957604051633b2735ab60e11b815260040160405180910390fd5b60055482111561108c5760405163e0f7becb60e01b815260040160405180910390fd5b61109683836125fc565b6001600160401b038111156110ad576110ad612270565b6040519080825280602002602001820160405280156110d6578160200160208202803683370190505b509050825b82811015610b8057600581815481106110f6576110f661255a565b5f918252602090912001546001600160a01b03168261111586846125fc565b815181106111255761112561255a565b6001600160a01b03909216602092830291909101909101526001016110db565b6060816001600160401b0381111561115f5761115f612270565b60405190808252806020026020018201604052801561119857816020015b611185611ea7565b81526020019060019003908161117d5790505b5090505f5b82811015610b80575f8484838181106111b8576111b861255a565b90506020020160208101906111cd9190611f5e565b90506040518060a0016040528060065f8888878181106111ef576111ef61255a565b90506020020160208101906112049190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b031683529101906006908888878181106112435761124361255a565b90506020020160208101906112589190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f206001015f9054906101000a90046001600160a01b03166001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112d6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112fd9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561133d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113649190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa1580156113a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113cb9190810190612594565b8152508383815181106113e0576113e061255a565b60209081029190910101525060010161119d565b5f60058281548110610db157610db161255a565b6002546001600160a01b03163314611432576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b6002546001600160a01b031633146114a5576040516282b42960e81b815260040160405180910390fd5b8281146114c55760405163aaad13f760e01b815260040160405180910390fd5b5f5b8381101561181a575f60045f8787858181106114e5576114e561255a565b90506020020160208101906114fa9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508383838181106115305761153061255a565b9050602002016020810190611545919061256e565b6001600160801b031615801561155a57508015155b156115935761158e8686848181106115745761157461255a565b90506020020160208101906115899190611f5e565b611d6b565b611784565b8383838181106115a5576115a561255a565b90506020020160208101906115ba919061256e565b6001600160801b0316158015906115d057508015155b1561165e5761158e8686848181106115ea576115ea61255a565b90506020020160208101906115ff9190611f5e565b8585858181106116115761161161255a565b9050602002016020810190611626919061256e565b6001600160a01b03919091165f90815260046020526040902080546001600160801b0319166001600160801b03909216919091179055565b8383838181106116705761167061255a565b9050602002016020810190611685919061256e565b6001600160801b03161580159061169a575080155b1561177e5761158e8686848181106116b4576116b461255a565b90506020020160208101906116c99190611f5e565b8585858181106116db576116db61255a565b90506020020160208101906116f0919061256e565b60038054600181019091557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810180546001600160a01b039094166001600160a01b0319909416841790556040805180820182526001600160801b03938416815291831660208381019182525f958652600490529320905192518216600160801b0292909116919091179055565b50611812565b8383838181106117965761179661255a565b90506020020160208101906117ab919061256e565b6001600160801b03168686848181106117c6576117c661255a565b90506020020160208101906117db9190611f5e565b6001600160a01b03167fd840ea8cb042bc840d3e55a04618ab268434d3d0a218638360a30fdb80de63f660405160405180910390a3505b6001016114c7565b5050505050565b6060816001600160401b0381111561183b5761183b612270565b60405190808252806020026020018201604052801561187a57816020015b60408051602081019091525f81528152602001906001900390816118595790505b5090505f5b82811015610b8057604051806020016040528060045f8787868181106118a7576118a761255a565b90506020020160208101906118bc9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b0316905282518390839081106118f4576118f461255a565b602090810291909101015260010161187f565b61193160405180608001604052805f81526020016060815260200160608152602001606081525090565b604080516080810182526001600160a01b0384165f81815260046020818152858320546001600160801b0316855285516306fdde0360e01b81529551889691860194936306fdde0393838101939192918290030181865afa158015610946573d5f803e3d5ffd5b6001600160a01b0381165f90815260066020526040902054600554600160801b9091046001600160801b0316906119d06001826125fc565b826001600160801b031614611a83575f60056119ed6001846125fc565b815481106119fd576119fd61255a565b5f9182526020808320909101546001600160a01b03168083526006909152604090912080546001600160801b03808716600160801b810291909216179091556005805492935083929091908110611a5657611a5661255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6005805480611a9457611a94612806565b5f828152602080822083015f1990810180546001600160a01b031990811690915593019093556001600160a01b0395909516855260069091526040842093845560019390930180549093169092555050565b6001600160a01b038084165f90815260066020526040902060010154168015801590611b245750816001600160a01b0316816001600160a01b031614155b80611bba57506001600160a01b038116158015611b4957506001600160a01b03821615155b8015611bba57506040516335a2735f60e11b81526001600160a01b038581166004830152831690636b44e6be90602401602060405180830381865afa158015611b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb8919061281a565b155b15611bd857604051637a44db9560e01b815260040160405180910390fd5b506001600160a01b039283165f90815260066020526040902080546001600160801b0319166001600160801b0393909316929092178255600190910180546001600160a01b03191691909216179055565b6001600160a01b03811615801590611ca657506040516335a2735f60e11b81526001600160a01b038481166004830152821690636b44e6be90602401602060405180830381865afa158015611c80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca4919061281a565b155b15611cc457604051637a44db9560e01b815260040160405180910390fd5b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0810180546001600160a01b039687166001600160a01b03199182168117909255604080516060810182526001600160801b03978816815293871660208581019182529689168583019081525f94855260069097529220925191518616600160801b0291909516178155915191018054919093169116179055565b6001600160a01b0381165f90815260046020526040902054600354600160801b9091046001600160801b031690611da36001826125fc565b826001600160801b031614611e56575f6003611dc06001846125fc565b81548110611dd057611dd061255a565b5f9182526020808320909101546001600160a01b03168083526004909152604090912080546001600160801b03808716600160801b810291909216179091556003805492935083929091908110611e2957611e2961255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6003805480611e6757611e67612806565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03949094168152600490935250506040812055565b6040518060a001604052805f81526020015f6001600160a01b031681526020016060815260200160608152602001606081525090565b5f5b83811015611ef7578181015183820152602001611edf565b50505f910152565b5f8151808452611f16816020860160208601611edd565b601f01601f19169290920160200192915050565b602081525f611f3c6020830184611eff565b9392505050565b80356001600160a01b0381168114611f59575f80fd5b919050565b5f60208284031215611f6e575f80fd5b611f3c82611f43565b815181526020808301516001600160a01b03169082015260408101610b82565b5f8083601f840112611fa7575f80fd5b5081356001600160401b03811115611fbd575f80fd5b6020830191508360208260051b8501011115611fd7575f80fd5b9250929050565b5f805f805f8060608789031215611ff3575f80fd5b86356001600160401b0380821115612009575f80fd5b6120158a838b01611f97565b9098509650602089013591508082111561202d575f80fd5b6120398a838b01611f97565b90965094506040890135915080821115612051575f80fd5b5061205e89828a01611f97565b979a9699509497509295939492505050565b8051825260018060a01b0360208201511660208301525f604082015160a060408501526120a060a0850182611eff565b9050606083015184820360608601526120b98282611eff565b915050608083015184820360808601526120d38282611eff565b95945050505050565b602081525f611f3c6020830184612070565b5f80602083850312156120ff575f80fd5b82356001600160401b03811115612114575f80fd5b61212085828601611f97565b90969095509350505050565b602080825282518282018190525f919060409081850190868401855b8281101561217e5761216e848351805182526020908101516001600160a01b0316910152565b9284019290850190600101612148565b5091979650505050505050565b5f806040838503121561219c575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b818110156121eb5783516001600160a01b0316835292840192918401916001016121c6565b50909695505050505050565b5f805f60408486031215612209575f80fd5b83356001600160401b038082111561221f575f80fd5b818601915086601f830112612232575f80fd5b813581811115612240575f80fd5b876020828501011115612251575f80fd5b6020928301955093506122679186019050611f43565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156122ac576122ac612270565b604052919050565b5f6001600160401b038211156122cc576122cc612270565b50601f01601f191660200190565b5f602082840312156122ea575f80fd5b81356001600160401b038111156122ff575f80fd5b8201601f8101841361230f575f80fd5b803561232261231d826122b4565b612284565b818152856020838501011115612336575f80fd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215612363575f80fd5b5035919050565b805182525f6020820151608060208501526123886080850182611eff565b9050604083015184820360408601526123a18282611eff565b915050606083015184820360608601526120d38282611eff565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f198886030184526123fe85835161236a565b945092850192908501906001016123e2565b5092979650505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f19888603018452612460858351612070565b94509285019290850190600101612444565b5f805f8060408587031215612485575f80fd5b84356001600160401b038082111561249b575f80fd5b6124a788838901611f97565b909650945060208701359150808211156124bf575f80fd5b506124cc87828801611f97565b95989497509550505050565b602080825282518282018190525f9190848201906040850190845b818110156121eb57835151835292840192918401916001016124f3565b602081525f611f3c602083018461236a565b600181811c9082168061253657607f821691505b60208210810361255457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561257e575f80fd5b81356001600160801b0381168114611f3c575f80fd5b5f602082840312156125a4575f80fd5b81516001600160401b038111156125b9575f80fd5b8201601f810184136125c9575f80fd5b80516125d761231d826122b4565b8181528560208385010111156125eb575f80fd5b6120d3826020830160208601611edd565b81810381811115610b8257634e487b7160e01b5f52601160045260245ffd5b601f82111561265f57805f5260205f20601f840160051c810160208510156126405750805b601f840160051c820191505b8181101561181a575f815560010161264c565b505050565b6001600160401b0383111561267b5761267b612270565b61268f836126898354612522565b8361261b565b5f601f8411600181146126c0575f85156126a95750838201355b5f19600387901b1c1916600186901b17835561181a565b5f83815260208120601f198716915b828110156126ef57868501358255602094850194600190920191016126cf565b508682101561270b575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b818382375f9101908152919050565b81516001600160401b0381111561274557612745612270565b612759816127538454612522565b8461261b565b602080601f83116001811461278c575f84156127755750858301515b5f19600386901b1c1916600185901b1785556127e3565b5f85815260208120601f198616915b828110156127ba5788860151825594840194600190910190840161279b565b50858210156127d757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516127fc818460208701611edd565b9190910192915050565b634e487b7160e01b5f52603160045260245ffd5b5f6020828403121561282a575f80fd5b81518015158114611f3c575f80fdfea264697066735822122090609514c01730f9b6bb56485879b709dcc1984706fd1e114bcbdba52e3aa30a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "getFactoriesInRange(uint256,uint256)": "716ba5f6", + "getFactoryAtIndex(uint256)": "a587bbe1", + "getFactoryInfo(address)": "9b724ad4", + "getFactoryInfoWithMetadata(address)": "f32c9e34", + "getFactoryInfos(address[])": "ea350321", + "getFactoryInfosWithMetadata(address[])": "b73e3fab", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstanceInfo(address)": "18bb3b54", + "getInstanceInfoWithMetadata(address)": "2ad19de8", + "getInstanceInfos(address[])": "4db6c0e0", + "getInstanceInfosWithMetadata(address[])": "d2f72d52", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfFactories()": "f59d00b9", + "getNumberOfInstances()": "6e95d67c", + "initialize(string,address)": "7ab4339d", + "isInitialized()": "392e53cd", + "kind()": "04baa00b", + "name()": "06fdde03", + "setFactoryInfo(address[],uint128[])": "e967e388", + "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", + "updateAdmin(address)": "e2f273bd", + "updateName(string)": "84da92a7", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveShort.ts b/packages/hyperdrive-artifacts/src/HyperdriveShort.ts new file mode 100644 index 000000000..d01a4971e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveShort.ts @@ -0,0 +1,657 @@ +export const HyperdriveShort = { + name: 'HyperdriveShort' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveStorage.ts b/packages/hyperdrive-artifacts/src/HyperdriveStorage.ts new file mode 100644 index 000000000..51dada392 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveStorage.ts @@ -0,0 +1,12 @@ +export const HyperdriveStorage = { + name: 'HyperdriveStorage' as const, + abi: [ + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts new file mode 100644 index 000000000..a8d4b34ee --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts @@ -0,0 +1,1807 @@ +export const HyperdriveTarget0 = { + name: 'HyperdriveTarget0' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts new file mode 100644 index 000000000..c61858f54 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts @@ -0,0 +1,827 @@ +export const HyperdriveTarget1 = { + name: 'HyperdriveTarget1' as const, + abi: [ + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts new file mode 100644 index 000000000..56da3aa20 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts @@ -0,0 +1,847 @@ +export const HyperdriveTarget2 = { + name: 'HyperdriveTarget2' as const, + abi: [ + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts new file mode 100644 index 000000000..16bb0cb2e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts @@ -0,0 +1,867 @@ +export const HyperdriveTarget3 = { + name: 'HyperdriveTarget3' as const, + abi: [ + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts new file mode 100644 index 000000000..b8681077b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts @@ -0,0 +1,846 @@ +export const HyperdriveTarget4 = { + name: 'HyperdriveTarget4' as const, + abi: [ + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveUtils.ts b/packages/hyperdrive-artifacts/src/HyperdriveUtils.ts new file mode 100644 index 000000000..369f5e674 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveUtils.ts @@ -0,0 +1,6 @@ +export const HyperdriveUtils = { + name: 'HyperdriveUtils' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220317a95d9702a7c5baacdc9bd0720fc8fa59b2c3bd6ca2145a819cafee039a0a464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IACLManager.ts b/packages/hyperdrive-artifacts/src/IACLManager.ts new file mode 100644 index 000000000..9464ba67c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IACLManager.ts @@ -0,0 +1,413 @@ +export const IACLManager = { + name: 'IACLManager' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ASSET_LISTING_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "EMERGENCY_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASH_BORROWER_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RISK_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addAssetListingAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addBridge", + "inputs": [ + { + "name": "bridge", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addEmergencyAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addFlashBorrower", + "inputs": [ + { + "name": "borrower", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addPoolAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addRiskAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isAssetListingAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isBridge", + "inputs": [ + { + "name": "bridge", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isEmergencyAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isFlashBorrower", + "inputs": [ + { + "name": "borrower", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPoolAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isRiskAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeAssetListingAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeBridge", + "inputs": [ + { + "name": "bridge", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeEmergencyAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFlashBorrower", + "inputs": [ + { + "name": "borrower", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removePoolAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeRiskAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleAdmin", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "adminRole", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "ASSET_LISTING_ADMIN_ROLE()": "78bb0a43", + "BRIDGE_ROLE()": "b5bfddea", + "EMERGENCY_ADMIN_ROLE()": "6e76fc8f", + "FLASH_BORROWER_ROLE()": "5577b7a9", + "POOL_ADMIN_ROLE()": "b8f6dba7", + "RISK_ADMIN_ROLE()": "4f16b425", + "addAssetListingAdmin(address)": "9a2b96f7", + "addBridge(address)": "9712fdf8", + "addEmergencyAdmin(address)": "179efb09", + "addFlashBorrower(address)": "9ac9d80b", + "addPoolAdmin(address)": "22650caf", + "addRiskAdmin(address)": "5b9a94e4", + "isAssetListingAdmin(address)": "13ee32e0", + "isBridge(address)": "726600ce", + "isEmergencyAdmin(address)": "2500f2b6", + "isFlashBorrower(address)": "fa50f297", + "isPoolAdmin(address)": "7be53ca1", + "isRiskAdmin(address)": "674b5e4d", + "removeAssetListingAdmin(address)": "a21bce15", + "removeBridge(address)": "04df017d", + "removeEmergencyAdmin(address)": "7a9a93f4", + "removeFlashBorrower(address)": "253cf980", + "removePoolAdmin(address)": "f83695cb", + "removeRiskAdmin(address)": "3c5a08e5", + "setRoleAdmin(bytes32,bytes32)": "1e4e0091" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAL2Token.ts b/packages/hyperdrive-artifacts/src/IAL2Token.ts new file mode 100644 index 000000000..61a8a99ec --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAL2Token.ts @@ -0,0 +1,779 @@ +export const IAL2Token = { + name: 'IAL2Token' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IL2Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_TREASURY_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "receiverOfUnderlying", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "handleRepayment", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "treasury", + "type": "address", + "internalType": "address" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOnLiquidation", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferUnderlyingTo", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BalanceTransfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "treasury", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "POOL()": "7535d246", + "RESERVE_TREASURY_ADDRESS()": "ae167335", + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,address,uint256,uint256)": "d7020d0a", + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "handleRepayment(address,address,uint256)": "6fd97676", + "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "mintToTreasury(uint256,uint256)": "7df5bd3b", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "rescueTokens(address,address,uint256)": "cea9d26f", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOnLiquidation(address,address,uint256)": "f866c319", + "transferUnderlyingTo(address,uint256)": "4efecaa5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAToken.ts b/packages/hyperdrive-artifacts/src/IAToken.ts new file mode 100644 index 000000000..f8e42038e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAToken.ts @@ -0,0 +1,765 @@ +export const IAToken = { + name: 'IAToken' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_TREASURY_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "receiverOfUnderlying", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "handleRepayment", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "treasury", + "type": "address", + "internalType": "address" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOnLiquidation", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferUnderlyingTo", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BalanceTransfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "treasury", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "RESERVE_TREASURY_ADDRESS()": "ae167335", + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,address,uint256,uint256)": "d7020d0a", + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "handleRepayment(address,address,uint256)": "6fd97676", + "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "mintToTreasury(uint256,uint256)": "7df5bd3b", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "rescueTokens(address,address,uint256)": "cea9d26f", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOnLiquidation(address,address,uint256)": "f866c319", + "transferUnderlyingTo(address,uint256)": "4efecaa5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts b/packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts new file mode 100644 index 000000000..660970906 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IAaveHyperdrive = { + name: 'IAaveHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..1a497ae18 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts @@ -0,0 +1,564 @@ +export const IAaveHyperdriveDeployerCoordinator = { + name: 'IAaveHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,uint256)": "ce34a8c3", + "convertToShares(address,address,uint256)": "0550e6e4", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts new file mode 100644 index 000000000..53b692ce5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts @@ -0,0 +1,756 @@ +export const IAaveHyperdriveRead = { + name: 'IAaveHyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts b/packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts new file mode 100644 index 000000000..334233a76 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts @@ -0,0 +1,32 @@ +export const IAaveIncentivesController = { + name: 'IAaveIncentivesController' as const, + abi: [ + { + "type": "function", + "name": "handleAction", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "totalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "userBalance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "handleAction(address,uint256,uint256)": "31873e2e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts b/packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts new file mode 100644 index 000000000..c2fbccfa1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts @@ -0,0 +1,2451 @@ +export const IAaveL2Hyperdrive = { + name: 'IAaveL2Hyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IL2Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..bd72de442 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts @@ -0,0 +1,564 @@ +export const IAaveL2HyperdriveDeployerCoordinator = { + name: 'IAaveL2HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IL2Pool" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IL2Pool" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,uint256)": "ce34a8c3", + "convertToShares(address,address,uint256)": "0550e6e4", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts new file mode 100644 index 000000000..9edc3b34c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts @@ -0,0 +1,756 @@ +export const IAaveL2HyperdriveRead = { + name: 'IAaveL2HyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IL2Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAccessControl.ts b/packages/hyperdrive-artifacts/src/IAccessControl.ts new file mode 100644 index 000000000..1774ff885 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAccessControl.ts @@ -0,0 +1,185 @@ +export const IAccessControl = { + name: 'IAccessControl' as const, + abi: [ + { + "type": "function", + "name": "getRoleAdmin", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "grantRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "hasRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renounceRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "RoleAdminChanged", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "previousAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "newAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleGranted", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleRevoked", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts b/packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts new file mode 100644 index 000000000..9835c76a7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts @@ -0,0 +1,2465 @@ +export const IAerodromeLpHyperdrive = { + name: 'IAerodromeLpHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "gauge", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "gauge()": "a6f19c84", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getReward()": "3d18b912", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts b/packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts new file mode 100644 index 000000000..8f91eb31d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts @@ -0,0 +1,138 @@ +export const IChainlinkAggregatorV3 = { + name: 'IChainlinkAggregatorV3' as const, + abi: [ + { + "type": "function", + "name": "aggregator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "description", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRoundData", + "inputs": [ + { + "name": "_roundId", + "type": "uint80", + "internalType": "uint80" + } + ], + "outputs": [ + { + "name": "roundId", + "type": "uint80", + "internalType": "uint80" + }, + { + "name": "answer", + "type": "int256", + "internalType": "int256" + }, + { + "name": "startedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "updatedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "answeredInRound", + "type": "uint80", + "internalType": "uint80" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "latestRoundData", + "inputs": [], + "outputs": [ + { + "name": "roundId", + "type": "uint80", + "internalType": "uint80" + }, + { + "name": "answer", + "type": "int256", + "internalType": "int256" + }, + { + "name": "startedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "updatedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "answeredInRound", + "type": "uint80", + "internalType": "uint80" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "aggregator()": "245a7bfc", + "decimals()": "313ce567", + "description()": "7284e416", + "getRoundData(uint80)": "9a6fc8f5", + "latestRoundData()": "feaf968c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts b/packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts new file mode 100644 index 000000000..c31f8a8e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IChainlinkHyperdrive = { + name: 'IChainlinkHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "aggregator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "aggregator()": "245a7bfc", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ICornHyperdrive.ts b/packages/hyperdrive-artifacts/src/ICornHyperdrive.ts new file mode 100644 index 000000000..f0ec3f6de --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ICornHyperdrive.ts @@ -0,0 +1,2451 @@ +export const ICornHyperdrive = { + name: 'ICornHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "cornSilo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "cornSilo()": "7d1849ab", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ICornSilo.ts b/packages/hyperdrive-artifacts/src/ICornSilo.ts new file mode 100644 index 000000000..a2f9f6e6d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ICornSilo.ts @@ -0,0 +1,730 @@ +export const ICornSilo = { + name: 'ICornSilo' as const, + abi: [ + { + "type": "function", + "name": "addApprovedToken", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "bridgeAllTokens", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "cost", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gasPriceBid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "bridgeToken", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "maxGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gasPriceBid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "depositFor", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableBridge", + "inputs": [ + { + "name": "gatewayRouter", + "type": "address", + "internalType": "address" + }, + { + "name": "erc20Inbox", + "type": "address", + "internalType": "address" + }, + { + "name": "swapFacilityVault", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "from18DecimalsToAssetDecimals", + "inputs": [ + { + "name": "amountIn18Decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "fromAssetDecimalsTo18Decimals", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApprovedTokens", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGatewayRouter", + "inputs": [], + "outputs": [ + { + "name": "gatewayRouter", + "type": "address", + "internalType": "contract IGatewayRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mintAndDepositBitcorn", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintAndDepositBitcornFor", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemAll", + "inputs": [], + "outputs": [ + { + "name": "approvedTokens", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "depositedAssets", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "bitcornShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minterAssetReturned", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemBitcorn", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemToken", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "unpause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BridgeEnabled", + "inputs": [ + { + "name": "gatewayRouter", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "swapFacilityVault", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TokenBridged", + "inputs": [ + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maxGas", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "gasPriceBid", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TokenDeposited", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TokenWithdrawn", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowOneSatoshiOfShares", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "oneSatoshiOfBitcornShares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "BitcornMinterAssetMustNotBeApprovedToken", + "inputs": [ + { + "name": "bitcornMinterAsset", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BitcornMustNotBeApprovedToken", + "inputs": [ + { + "name": "bitcorn", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BridgeIsEnabled", + "inputs": [] + }, + { + "type": "error", + "name": "BridgeIsNotSet", + "inputs": [] + }, + { + "type": "error", + "name": "BridgeNotEnabled", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBitcornSharesToBridge", + "inputs": [ + { + "name": "cachedShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "requiredShares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "InsufficientShares", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "cachedShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "SharesNotMultipleOfOneSatoshi", + "inputs": [ + { + "name": "bitcornShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "oneSatoshiOfBitcornShares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "TokenAlreadyApproved", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TokenNotApproved", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "WithdrawalFeeAboveMax", + "inputs": [ + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ZeroDeposit", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ZeroShares", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ZeroSharesForAnyToken", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ZeroWithdraw", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addApprovedToken(address)": "cd10534b", + "bridgeAllTokens(address,uint256,uint256,uint256,bytes)": "3d169812", + "bridgeToken(address,address,uint256,uint256,bytes)": "b9d64e9f", + "deposit(address,uint256)": "47e7ef24", + "depositFor(address,address,uint256)": "b3db428b", + "enableBridge(address,address,address)": "15ec1f6f", + "from18DecimalsToAssetDecimals(uint256)": "789680f4", + "fromAssetDecimalsTo18Decimals(uint256)": "101ab12c", + "getApprovedTokens()": "6afc0c5f", + "getGatewayRouter()": "87f0cf2e", + "mintAndDepositBitcorn(uint256)": "ce75d53e", + "mintAndDepositBitcornFor(address,uint256)": "55ae9046", + "pause()": "8456cb59", + "redeemAll()": "2f4350c2", + "redeemBitcorn(uint256)": "bdafe351", + "redeemToken(address,uint256)": "830cbbbd", + "sharesOf(address,address)": "0a7292f5", + "totalShares(address)": "bf6b874e", + "unpause()": "3f4ba83a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ICreateX.ts b/packages/hyperdrive-artifacts/src/ICreateX.ts new file mode 100644 index 000000000..067d06e52 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ICreateX.ts @@ -0,0 +1,924 @@ +export const ICreateX = { + name: 'ICreateX' as const, + abi: [ + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployCreate", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateClone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Create3ProxyContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "FailedContractCreation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedContractInitialisation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "FailedEtherTransfer", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "InvalidNonceValue", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InvalidSalt", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreate3Address(bytes32)": "6cec2536", + "computeCreate3Address(bytes32,address)": "42d654fc", + "computeCreateAddress(address,uint256)": "74637a7a", + "computeCreateAddress(uint256)": "28ddd046", + "deployCreate(bytes)": "27fe1822", + "deployCreate2(bytes)": "26a32fc7", + "deployCreate2(bytes32,bytes)": "26307668", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", + "deployCreate2Clone(address,bytes)": "81503da1", + "deployCreate2Clone(bytes32,address,bytes)": "2852527a", + "deployCreate3(bytes)": "7f565360", + "deployCreate3(bytes32,bytes)": "9c36a286", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", + "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", + "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", + "deployCreateClone(address,bytes)": "f9664498" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IDepositQueue.ts b/packages/hyperdrive-artifacts/src/IDepositQueue.ts new file mode 100644 index 000000000..a914271e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IDepositQueue.ts @@ -0,0 +1,36 @@ +export const IDepositQueue = { + name: 'IDepositQueue' as const, + abi: [ + { + "type": "function", + "name": "depositETHFromProtocol", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "totalEarned", + "inputs": [ + { + "name": "tokenAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "depositETHFromProtocol()": "d123ccd5", + "totalEarned(address)": "649aca4a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts b/packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts new file mode 100644 index 000000000..b5a59fc73 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts @@ -0,0 +1,924 @@ +export const IDeterministicDeployer = { + name: 'IDeterministicDeployer' as const, + abi: [ + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployCreate", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateClone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Create3ProxyContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "FailedContractCreation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedContractInitialisation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "FailedEtherTransfer", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "InvalidNonceValue", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InvalidSalt", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreate3Address(bytes32)": "6cec2536", + "computeCreate3Address(bytes32,address)": "42d654fc", + "computeCreateAddress(address,uint256)": "74637a7a", + "computeCreateAddress(uint256)": "28ddd046", + "deployCreate(bytes)": "27fe1822", + "deployCreate2(bytes)": "26a32fc7", + "deployCreate2(bytes32,bytes)": "26307668", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", + "deployCreate2Clone(address,bytes)": "81503da1", + "deployCreate2Clone(bytes32,address,bytes)": "2852527a", + "deployCreate3(bytes)": "7f565360", + "deployCreate3(bytes32,bytes)": "9c36a286", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", + "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", + "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", + "deployCreateClone(address,bytes)": "f9664498" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEETH.ts b/packages/hyperdrive-artifacts/src/IEETH.ts new file mode 100644 index 000000000..7959dcfec --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEETH.ts @@ -0,0 +1,236 @@ +export const IEETH = { + name: 'IEETH' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burnShares", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + }, + { + "name": "_share", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintShares", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + }, + { + "name": "_share", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "shares", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burnShares(address,uint256)": "ee7a7c04", + "decimals()": "313ce567", + "initialize(address)": "c4d66de8", + "mintShares(address,uint256)": "528c198a", + "name()": "06fdde03", + "shares(address)": "ce7c2ac2", + "symbol()": "95d89b41", + "totalShares()": "3a98ef39", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts new file mode 100644 index 000000000..60c879e8e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IEETHHyperdrive = { + name: 'IEETHHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "liquidityPool()": "665a11ca", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC1155Errors.ts b/packages/hyperdrive-artifacts/src/IERC1155Errors.ts new file mode 100644 index 000000000..7edf3f711 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC1155Errors.ts @@ -0,0 +1,109 @@ +export const IERC1155Errors = { + name: 'IERC1155Errors' as const, + abi: [ + { + "type": "error", + "name": "ERC1155InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidArrayLength", + "inputs": [ + { + "name": "idsLength", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "valuesLength", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidOperator", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155MissingApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC165.ts b/packages/hyperdrive-artifacts/src/IERC165.ts new file mode 100644 index 000000000..bde0229c7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC165.ts @@ -0,0 +1,28 @@ +export const IERC165 = { + name: 'IERC165' as const, + abi: [ + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "supportsInterface(bytes4)": "01ffc9a7" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20.ts b/packages/hyperdrive-artifacts/src/IERC20.ts new file mode 100644 index 000000000..bb95b2a55 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20.ts @@ -0,0 +1,239 @@ +export const IERC20 = { + name: 'IERC20' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Detailed.ts b/packages/hyperdrive-artifacts/src/IERC20Detailed.ts new file mode 100644 index 000000000..fda2d5437 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Detailed.ts @@ -0,0 +1,239 @@ +export const IERC20Detailed = { + name: 'IERC20Detailed' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Errors.ts b/packages/hyperdrive-artifacts/src/IERC20Errors.ts new file mode 100644 index 000000000..0db4786d8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Errors.ts @@ -0,0 +1,93 @@ +export const IERC20Errors = { + name: 'IERC20Errors' as const, + abi: [ + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Forwarder.ts b/packages/hyperdrive-artifacts/src/IERC20Forwarder.ts new file mode 100644 index 000000000..ea13174ce --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Forwarder.ts @@ -0,0 +1,402 @@ +export const IERC20Forwarder = { + name: 'IERC20Forwarder' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "token", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "kind()": "04baa00b", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "token()": "fc0c546a", + "tokenId()": "17d70f7c", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts b/packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts new file mode 100644 index 000000000..6eb2d2847 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts @@ -0,0 +1,138 @@ +export const IERC20ForwarderFactory = { + name: 'IERC20ForwarderFactory' as const, + abi: [ + { + "type": "function", + "name": "ERC20LINK_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "create", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20Forwarder" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getDeployDetails", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getForwarder", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "InvalidForwarderAddress", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ERC20LINK_HASH()": "d13053bb", + "create(address,uint256)": "0ecaea73", + "getDeployDetails()": "600eb4ba", + "getForwarder(address,uint256)": "0710fd58", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Metadata.ts b/packages/hyperdrive-artifacts/src/IERC20Metadata.ts new file mode 100644 index 000000000..4b60acad8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Metadata.ts @@ -0,0 +1,239 @@ +export const IERC20Metadata = { + name: 'IERC20Metadata' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Permit.ts b/packages/hyperdrive-artifacts/src/IERC20Permit.ts new file mode 100644 index 000000000..cb2d0905f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Permit.ts @@ -0,0 +1,86 @@ +export const IERC20Permit = { + name: 'IERC20Permit' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20WithPermit.ts b/packages/hyperdrive-artifacts/src/IERC20WithPermit.ts new file mode 100644 index 000000000..42b965ef3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20WithPermit.ts @@ -0,0 +1,241 @@ +export const IERC20WithPermit = { + name: 'IERC20WithPermit' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC4626.ts b/packages/hyperdrive-artifacts/src/IERC4626.ts new file mode 100644 index 000000000..d7bf09b9f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC4626.ts @@ -0,0 +1,639 @@ +export const IERC4626 = { + name: 'IERC4626' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "totalAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "balanceOf(address)": "70a08231", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256,address,address)": "b460af94" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..ee21a009b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const IERC4626HyperdriveDeployerCoordinator = { + name: 'IERC4626HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721.ts b/packages/hyperdrive-artifacts/src/IERC721.ts new file mode 100644 index 000000000..9f833e3da --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721.ts @@ -0,0 +1,303 @@ +export const IERC721 = { + name: 'IERC721' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_approved", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "_operator", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721Enumerable.ts b/packages/hyperdrive-artifacts/src/IERC721Enumerable.ts new file mode 100644 index 000000000..3a9d30b48 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721Enumerable.ts @@ -0,0 +1,362 @@ +export const IERC721Enumerable = { + name: 'IERC721Enumerable' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_approved", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "_operator", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenByIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenOfOwnerByIndex", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "tokenByIndex(uint256)": "4f6ccce7", + "tokenOfOwnerByIndex(address,uint256)": "2f745c59", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721Errors.ts b/packages/hyperdrive-artifacts/src/IERC721Errors.ts new file mode 100644 index 000000000..b53b3494d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721Errors.ts @@ -0,0 +1,110 @@ +export const IERC721Errors = { + name: 'IERC721Errors' as const, + abi: [ + { + "type": "error", + "name": "ERC721IncorrectOwner", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InsufficientApproval", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidOperator", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidOwner", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721NonexistentToken", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721Metadata.ts b/packages/hyperdrive-artifacts/src/IERC721Metadata.ts new file mode 100644 index 000000000..066fe7dd1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721Metadata.ts @@ -0,0 +1,351 @@ +export const IERC721Metadata = { + name: 'IERC721Metadata' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_approved", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "_operator", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "_symbol", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts b/packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts new file mode 100644 index 000000000..50714757c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts @@ -0,0 +1,43 @@ +export const IERC721TokenReceiver = { + name: 'IERC721TokenReceiver' as const, + abi: [ + { + "type": "function", + "name": "onERC721Received", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "onERC721Received(address,address,uint256,bytes)": "150b7a02" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts new file mode 100644 index 000000000..df83bea9d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts @@ -0,0 +1,2465 @@ +export const IEzETHHyperdrive = { + name: 'IEzETHHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "renzo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "renzo()": "6a1a3f3d", + "renzoOracle()": "892866a4", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..8dd98ca79 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,574 @@ +export const IEzETHHyperdriveDeployerCoordinator = { + name: 'IEzETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,address,uint256)": "5111bea2", + "convertToShares(address,address,address,uint256)": "079554e7", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts new file mode 100644 index 000000000..49371d855 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts @@ -0,0 +1,770 @@ +export const IEzETHHyperdriveRead = { + name: 'IEzETHHyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "renzo()": "6a1a3f3d", + "renzoOracle()": "892866a4", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts new file mode 100644 index 000000000..102b39fca --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IEzETHLineaHyperdrive = { + name: 'IEzETHLineaHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts b/packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts new file mode 100644 index 000000000..04c237b5e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts @@ -0,0 +1,22 @@ +export const IFiatTokenProxy = { + name: 'IFiatTokenProxy' as const, + abi: [ + { + "type": "function", + "name": "implementation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "implementation()": "5c60da1b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts b/packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts new file mode 100644 index 000000000..18ec72442 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts @@ -0,0 +1,76 @@ +export const IFlashLoanReceiver = { + name: 'IFlashLoanReceiver' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "executeOperation", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "premiums", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "initiator", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "POOL()": "7535d246", + "executeOperation(address[],uint256[],uint256[],address,bytes)": "920f5c84" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts b/packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts new file mode 100644 index 000000000..15dbd66c5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts @@ -0,0 +1,76 @@ +export const IFlashLoanSimpleReceiver = { + name: 'IFlashLoanSimpleReceiver' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "executeOperation", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "premium", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initiator", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "POOL()": "7535d246", + "executeOperation(address,uint256,uint256,address,bytes)": "1b11d0ff" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IGatewayRouter.ts b/packages/hyperdrive-artifacts/src/IGatewayRouter.ts new file mode 100644 index 000000000..28591a193 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IGatewayRouter.ts @@ -0,0 +1,78 @@ +export const IGatewayRouter = { + name: 'IGatewayRouter' as const, + abi: [ + { + "type": "function", + "name": "getGateway", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "outboundTransferCustomRefund", + "inputs": [ + { + "name": "_l1Token", + "type": "address", + "internalType": "address" + }, + { + "name": "_refundTo", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_gasPriceBid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "payable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getGateway(address)": "bda009fe", + "outboundTransferCustomRefund(address,address,address,uint256,uint256,uint256,bytes)": "4fb1a07b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IGauge.ts b/packages/hyperdrive-artifacts/src/IGauge.ts new file mode 100644 index 000000000..aad3610d8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IGauge.ts @@ -0,0 +1,563 @@ +export const IGauge = { + name: 'IGauge' as const, + abi: [ + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "earned", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "_earned", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "fees0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "fees1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feesVotingReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReward", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lastTimeRewardApplicable", + "inputs": [], + "outputs": [ + { + "name": "_time", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lastUpdateTime", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "left", + "inputs": [], + "outputs": [ + { + "name": "_left", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "notifyRewardAmount", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "notifyRewardWithoutClaim", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "periodFinish", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardPerToken", + "inputs": [], + "outputs": [ + { + "name": "_rewardPerToken", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardPerTokenStored", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardRateByEpoch", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewards", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "stakingToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "userRewardPerTokenPaid", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ve", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "voter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ClaimFees", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "claimed0", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "claimed1", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ClaimRewards", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NotifyReward", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "NotAlive", + "inputs": [] + }, + { + "type": "error", + "name": "NotAuthorized", + "inputs": [] + }, + { + "type": "error", + "name": "NotTeam", + "inputs": [] + }, + { + "type": "error", + "name": "NotVoter", + "inputs": [] + }, + { + "type": "error", + "name": "RewardRateTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAmount", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroRewardRate", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "balanceOf(address)": "70a08231", + "deposit(uint256)": "b6b55f25", + "deposit(uint256,address)": "6e553f65", + "earned(address)": "008cc262", + "fees0()": "93f1c442", + "fees1()": "4c02a21c", + "feesVotingReward()": "0fe2f711", + "getReward(address)": "c00007b0", + "isPool()": "e2e1c6db", + "lastTimeRewardApplicable()": "80faa57d", + "lastUpdateTime()": "c8f33c91", + "left()": "16e64048", + "notifyRewardAmount(uint256)": "3c6b16ab", + "notifyRewardWithoutClaim(uint256)": "dcdc18dc", + "periodFinish()": "ebe2b12b", + "rewardPerToken()": "cd3daf9d", + "rewardPerTokenStored()": "df136d65", + "rewardRate()": "7b0a47ee", + "rewardRateByEpoch(uint256)": "94af5b63", + "rewardToken()": "f7c618c1", + "rewards(address)": "0700037d", + "stakingToken()": "72f702f3", + "totalSupply()": "18160ddd", + "userRewardPerTokenPaid(address)": "8b876347", + "ve()": "1f850716", + "voter()": "46c96aac", + "withdraw(uint256)": "2e1a7d4d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdrive.ts b/packages/hyperdrive-artifacts/src/IHyperdrive.ts new file mode 100644 index 000000000..ca461acea --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdrive.ts @@ -0,0 +1,2437 @@ +export const IHyperdrive = { + name: 'IHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts b/packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts new file mode 100644 index 000000000..78156d4e2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts @@ -0,0 +1,78 @@ +export const IHyperdriveAdminController = { + name: 'IHyperdriveAdminController' as const, + abi: [ + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "feeCollector()": "c415b95c", + "hyperdriveGovernance()": "e3331555", + "sweepCollector()": "10780f73" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts new file mode 100644 index 000000000..69e5ad362 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts @@ -0,0 +1,204 @@ +export const IHyperdriveCheckpointRewarder = { + name: 'IHyperdriveCheckpointRewarder' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimCheckpointReward", + "inputs": [ + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "subrewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSubrewarder", + "inputs": [ + { + "name": "_subrewarder", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewardClaimed", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "claimant", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "isTrader", + "type": "bool", + "indexed": true, + "internalType": "bool" + }, + { + "name": "checkpointTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "rewardToken", + "type": "address", + "indexed": false, + "internalType": "contract IERC20" + }, + { + "name": "rewardAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SubrewarderUpdated", + "inputs": [ + { + "name": "subrewarder", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "claimCheckpointReward(address,uint256,bool)": "69114d4e", + "kind()": "04baa00b", + "name()": "06fdde03", + "subrewarder()": "3d7f7b24", + "updateAdmin(address)": "e2f273bd", + "updateSubrewarder(address)": "9b06ae49", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts new file mode 100644 index 000000000..780391a6b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts @@ -0,0 +1,355 @@ +export const IHyperdriveCheckpointSubrewarder = { + name: 'IHyperdriveCheckpointSubrewarder' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "minterRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "processReward", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + }, + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "registry", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "source", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "traderRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinterRewardAmount", + "inputs": [ + { + "name": "_minterRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRegistry", + "inputs": [ + { + "name": "_registry", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRewardToken", + "inputs": [ + { + "name": "_rewardToken", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSource", + "inputs": [ + { + "name": "_source", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateTraderRewardAmount", + "inputs": [ + { + "name": "_traderRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinterRewardAmountUpdated", + "inputs": [ + { + "name": "minterRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RegistryUpdated", + "inputs": [ + { + "name": "registry", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveRegistry" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardTokenUpdated", + "inputs": [ + { + "name": "rewardToken", + "type": "address", + "indexed": true, + "internalType": "contract IERC20" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SourceUpdated", + "inputs": [ + { + "name": "source", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TraderRewardAmountUpdated", + "inputs": [ + { + "name": "traderRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "kind()": "04baa00b", + "minterRewardAmount()": "62498576", + "name()": "06fdde03", + "processReward(address,address,uint256,bool)": "e9f46041", + "registry()": "7b103999", + "rewardToken()": "f7c618c1", + "rewarder()": "dcc3e06e", + "source()": "67e828bf", + "traderRewardAmount()": "5b338e07", + "updateAdmin(address)": "e2f273bd", + "updateMinterRewardAmount(uint256)": "2057b1c7", + "updateRegistry(address)": "1a5da6c8", + "updateRewardToken(address)": "f8cf31cb", + "updateSource(address)": "f24bab65", + "updateTraderRewardAmount(uint256)": "9183219f", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCore.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCore.ts new file mode 100644 index 000000000..879057c51 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCore.ts @@ -0,0 +1,759 @@ +export const IHyperdriveCore = { + name: 'IHyperdriveCore' as const, + abi: [ + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..391c112c1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const IHyperdriveCoreDeployer = { + name: 'IHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..52077de06 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts @@ -0,0 +1,504 @@ +export const IHyperdriveDeployerCoordinator = { + name: 'IHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts b/packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts new file mode 100644 index 000000000..ad43885d7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts @@ -0,0 +1,652 @@ +export const IHyperdriveEvents = { + name: 'IHyperdriveEvents' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts b/packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts new file mode 100644 index 000000000..83bfac811 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts @@ -0,0 +1,1937 @@ +export const IHyperdriveFactory = { + name: 'IHyperdriveFactory' as const, + abi: [ + { + "type": "function", + "name": "addDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpointDurationResolution", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployAndInitialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdrive" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployerCoordinatorManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorByInstances", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "coordinators", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorsInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfDeployerCoordinators", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "governance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isInstance", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "linkerCodeHash", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "linkerFactory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateCheckpointDurationResolution", + "inputs": [ + { + "name": "_checkpointDurationResolution", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateCheckpointRewarder", + "inputs": [ + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDefaultPausers", + "inputs": [ + { + "name": "_defaultPausers_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDeployerCoordinatorManager", + "inputs": [ + { + "name": "_deployerCoordinatorManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFeeCollector", + "inputs": [ + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateGovernance", + "inputs": [ + { + "name": "_governance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateHyperdriveGovernance", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerCodeHash", + "inputs": [ + { + "name": "_linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerFactory", + "inputs": [ + { + "name": "_linkerFactory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCheckpointDuration", + "inputs": [ + { + "name": "_maxCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCircuitBreakerDelta", + "inputs": [ + { + "name": "_maxCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFees", + "inputs": [ + { + "name": "__maxFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFixedAPR", + "inputs": [ + { + "name": "_maxFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxPositionDuration", + "inputs": [ + { + "name": "_maxPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxTimeStretchAPR", + "inputs": [ + { + "name": "_maxTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCheckpointDuration", + "inputs": [ + { + "name": "_minCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCircuitBreakerDelta", + "inputs": [ + { + "name": "_minCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFees", + "inputs": [ + { + "name": "__minFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFixedAPR", + "inputs": [ + { + "name": "_minFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinPositionDuration", + "inputs": [ + { + "name": "_minPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinTimeStretchAPR", + "inputs": [ + { + "name": "_minTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSweepCollector", + "inputs": [ + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "CheckpointDurationResolutionUpdated", + "inputs": [ + { + "name": "newCheckpointDurationResolution", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewarderUpdated", + "inputs": [ + { + "name": "newCheckpointRewarder", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DefaultPausersUpdated", + "inputs": [ + { + "name": "newDefaultPausers", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deployed", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "hyperdrive", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "config", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorAdded", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorManagerUpdated", + "inputs": [ + { + "name": "deployerCoordinatorManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorRemoved", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeeCollectorUpdated", + "inputs": [ + { + "name": "newFeeCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "GovernanceUpdated", + "inputs": [ + { + "name": "governance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "HyperdriveGovernanceUpdated", + "inputs": [ + { + "name": "hyperdriveGovernance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerCodeHashUpdated", + "inputs": [ + { + "name": "newLinkerCodeHash", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerFactoryUpdated", + "inputs": [ + { + "name": "newLinkerFactory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMaxCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMaxCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFeesUpdated", + "inputs": [ + { + "name": "newMaxFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFixedAPRUpdated", + "inputs": [ + { + "name": "newMaxFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxPositionDurationUpdated", + "inputs": [ + { + "name": "newMaxPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMaxTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMinCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMinCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFeesUpdated", + "inputs": [ + { + "name": "newMinFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFixedAPRUpdated", + "inputs": [ + { + "name": "newMinFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinPositionDurationUpdated", + "inputs": [ + { + "name": "newMinPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMinTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SweepCollectorUpdated", + "inputs": [ + { + "name": "newSweepCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DeployerCoordinatorAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorIndexMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorNotAdded", + "inputs": [] + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDurationResolution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployConfig", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployerCoordinator", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "ReceiveLocked", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addDeployerCoordinator(address)": "421caba8", + "checkpointDurationResolution()": "d0f96b92", + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", + "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", + "deployerCoordinatorManager()": "e4e7148f", + "feeCollector()": "c415b95c", + "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", + "getDeployerCoordinatorByInstances(address[])": "1b59be0c", + "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfDeployerCoordinators()": "e1b39c80", + "getNumberOfInstances()": "6e95d67c", + "governance()": "5aa6e675", + "hyperdriveGovernance()": "e3331555", + "isDeployerCoordinator(address)": "f8c09e59", + "isInstance(address)": "6b44e6be", + "kind()": "04baa00b", + "linkerCodeHash()": "c905a4b5", + "linkerFactory()": "99623bb1", + "maxCheckpointDuration()": "e0e2daaa", + "maxCircuitBreakerDelta()": "4554f9a9", + "maxFees()": "e83e34b1", + "maxFixedAPR()": "bf9bd5cd", + "maxPositionDuration()": "8efc0986", + "maxTimeStretchAPR()": "48800760", + "minCheckpointDuration()": "5720c9d5", + "minCircuitBreakerDelta()": "1ecda0fe", + "minFees()": "c1722563", + "minFixedAPR()": "d23d7ea3", + "minPositionDuration()": "daf012e6", + "minTimeStretchAPR()": "d6f50169", + "name()": "06fdde03", + "removeDeployerCoordinator(address,uint256)": "411c3035", + "sweepCollector()": "10780f73", + "updateCheckpointDurationResolution(uint256)": "11e77bfe", + "updateCheckpointRewarder(address)": "3e2d2014", + "updateDefaultPausers(address[])": "9af25262", + "updateDeployerCoordinatorManager(address)": "a98a46db", + "updateFeeCollector(address)": "d2c35ce8", + "updateGovernance(address)": "b2561263", + "updateHyperdriveGovernance(address)": "dd2b8fbb", + "updateLinkerCodeHash(bytes32)": "4fbfee77", + "updateLinkerFactory(address)": "85229785", + "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", + "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", + "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", + "updateMaxFixedAPR(uint256)": "97b0e8ce", + "updateMaxPositionDuration(uint256)": "eb71f66c", + "updateMaxTimeStretchAPR(uint256)": "628027a3", + "updateMinCheckpointDuration(uint256)": "8e127cf5", + "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", + "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", + "updateMinFixedAPR(uint256)": "1978ebcf", + "updateMinPositionDuration(uint256)": "e71f34b3", + "updateMinTimeStretchAPR(uint256)": "83b361e8", + "updateSweepCollector(address)": "8627a4f0", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts new file mode 100644 index 000000000..027685681 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts @@ -0,0 +1,701 @@ +export const IHyperdriveGovernedRegistry = { + name: 'IHyperdriveGovernedRegistry' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoriesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfo", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfoWithMetadata", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfos", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfosWithMetadata", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfo", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfoWithMetadata", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfos", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfosWithMetadata", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfFactories", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isInitialized", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setFactoryInfo", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setInstanceInfo", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + }, + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateName", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FactoryInfoUpdated", + "inputs": [ + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InstanceInfoUpdated", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NameUpdated", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFactory", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "RegistryAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "getFactoriesInRange(uint256,uint256)": "716ba5f6", + "getFactoryAtIndex(uint256)": "a587bbe1", + "getFactoryInfo(address)": "9b724ad4", + "getFactoryInfoWithMetadata(address)": "f32c9e34", + "getFactoryInfos(address[])": "ea350321", + "getFactoryInfosWithMetadata(address[])": "b73e3fab", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstanceInfo(address)": "18bb3b54", + "getInstanceInfoWithMetadata(address)": "2ad19de8", + "getInstanceInfos(address[])": "4db6c0e0", + "getInstanceInfosWithMetadata(address[])": "d2f72d52", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfFactories()": "f59d00b9", + "getNumberOfInstances()": "6e95d67c", + "initialize(string,address)": "7ab4339d", + "isInitialized()": "392e53cd", + "kind()": "04baa00b", + "name()": "06fdde03", + "setFactoryInfo(address[],uint128[])": "e967e388", + "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", + "updateAdmin(address)": "e2f273bd", + "updateName(string)": "84da92a7", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts new file mode 100644 index 000000000..df817896d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts @@ -0,0 +1,96 @@ +export const IHyperdriveGovernedRegistryEvents = { + name: 'IHyperdriveGovernedRegistryEvents' as const, + abi: [ + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FactoryInfoUpdated", + "inputs": [ + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InstanceInfoUpdated", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NameUpdated", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IHyperdriveRead.ts new file mode 100644 index 000000000..7430928c7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveRead.ts @@ -0,0 +1,742 @@ +export const IHyperdriveRead = { + name: 'IHyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts b/packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts new file mode 100644 index 000000000..d094d8d38 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts @@ -0,0 +1,464 @@ +export const IHyperdriveRegistry = { + name: 'IHyperdriveRegistry' as const, + abi: [ + { + "type": "function", + "name": "getFactoriesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfo", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfoWithMetadata", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfos", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfosWithMetadata", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfo", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfoWithMetadata", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfos", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfosWithMetadata", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfFactories", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getFactoriesInRange(uint256,uint256)": "716ba5f6", + "getFactoryAtIndex(uint256)": "a587bbe1", + "getFactoryInfo(address)": "9b724ad4", + "getFactoryInfoWithMetadata(address)": "f32c9e34", + "getFactoryInfos(address[])": "ea350321", + "getFactoryInfosWithMetadata(address[])": "b73e3fab", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstanceInfo(address)": "18bb3b54", + "getInstanceInfoWithMetadata(address)": "2ad19de8", + "getInstanceInfos(address[])": "4db6c0e0", + "getInstanceInfosWithMetadata(address[])": "d2f72d52", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfFactories()": "f59d00b9", + "getNumberOfInstances()": "6e95d67c", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts b/packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts new file mode 100644 index 000000000..f62241525 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts @@ -0,0 +1,147 @@ +export const IHyperdriveTargetDeployer = { + name: 'IHyperdriveTargetDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IInitializableAToken.ts b/packages/hyperdrive-artifacts/src/IInitializableAToken.ts new file mode 100644 index 000000000..ab607ca8c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IInitializableAToken.ts @@ -0,0 +1,112 @@ +export const IInitializableAToken = { + name: 'IInitializableAToken' as const, + abi: [ + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "treasury", + "type": "address", + "internalType": "address" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "treasury", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts b/packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts new file mode 100644 index 000000000..eb29c3594 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts @@ -0,0 +1,101 @@ +export const IInitializableDebtToken = { + name: 'IInitializableDebtToken' as const, + abi: [ + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IIrm.ts b/packages/hyperdrive-artifacts/src/IIrm.ts new file mode 100644 index 000000000..cd85bb83e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IIrm.ts @@ -0,0 +1,176 @@ +export const IIrm = { + name: 'IIrm' as const, + abi: [ + { + "type": "function", + "name": "borrowRate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "market", + "type": "tuple", + "internalType": "struct Market", + "components": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrowRateView", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "market", + "type": "tuple", + "internalType": "struct Market", + "components": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "borrowRate((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "9451fed4", + "borrowRateView((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "8c00bf6b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IL2Pool.ts b/packages/hyperdrive-artifacts/src/IL2Pool.ts new file mode 100644 index 000000000..666b492ad --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IL2Pool.ts @@ -0,0 +1,2269 @@ +export const IL2Pool = { + name: 'IL2Pool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "config", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "args1", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "args2", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "bridgeProtocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "borrow(bytes32)": "d5eed868", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "liquidationCall(bytes32,bytes32)": "fd21ecff", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "rebalanceStableBorrowRate(bytes32)": "427da177", + "repay(address,uint256,uint256,address)": "573ade81", + "repay(bytes32)": "563dd613", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithATokens(bytes32)": "dc7c0bff", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "setUserUseReserveAsCollateral(bytes32)": "4d013f03", + "supply(address,uint256,address,uint16)": "617ba037", + "supply(bytes32)": "f7a73840", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapBorrowRateMode(bytes32)": "1fe3c6f3", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec", + "withdraw(bytes32)": "8e19899e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ILido.ts b/packages/hyperdrive-artifacts/src/ILido.ts new file mode 100644 index 000000000..fb8d97db1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ILido.ts @@ -0,0 +1,416 @@ +export const ILido = { + name: 'ILido' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBufferedEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPooledEthByShares", + "inputs": [ + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSharesByPooledEth", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "getBufferedEther()": "47b714e0", + "getPooledEthByShares(uint256)": "7a28fb88", + "getSharesByPooledEth(uint256)": "19208451", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "name()": "06fdde03", + "sharesOf(address)": "f5eb42dc", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ILiquidityPool.ts b/packages/hyperdrive-artifacts/src/ILiquidityPool.ts new file mode 100644 index 000000000..3f1b5d847 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ILiquidityPool.ts @@ -0,0 +1,289 @@ +export const ILiquidityPool = { + name: 'ILiquidityPool' as const, + abi: [ + { + "type": "function", + "name": "addEthAmountLockedForWithdrawal", + "inputs": [ + { + "name": "_amount", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "amountForShare", + "inputs": [ + { + "name": "_share", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + }, + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "depositToRecipient", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "eETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IEETH" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalEtherClaimOf", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "numPendingDeposits", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint32", + "internalType": "uint32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rebase", + "inputs": [ + { + "name": "_accruedRewards", + "type": "int128", + "internalType": "int128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "reduceEthAmountLockedForWithdrawal", + "inputs": [ + { + "name": "_amount", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesForAmount", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesForWithdrawalAmount", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalValueInLp", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalValueOutOfLp", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addEthAmountLockedForWithdrawal(uint128)": "1665f66d", + "amountForShare(uint256)": "561bddf8", + "deposit()": "d0e30db0", + "deposit(address)": "f340fa01", + "deposit(address,address)": "f9609f08", + "depositToRecipient(address,uint256,address)": "b46a130e", + "eETH()": "0de371e2", + "getTotalEtherClaimOf(address)": "51199700", + "getTotalPooledEther()": "37cfdaca", + "numPendingDeposits()": "e4537934", + "rebase(int128)": "c00b2d61", + "reduceEthAmountLockedForWithdrawal(uint128)": "8a1b58b1", + "sharesForAmount(uint256)": "3a53acb0", + "sharesForWithdrawalAmount(uint256)": "917266fa", + "totalValueInLp()": "7c90fbf0", + "totalValueOutOfLp()": "456a23a6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..c2a9d26d5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const ILsETHHyperdriveDeployerCoordinator = { + name: 'ILsETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMetaMorpho.ts b/packages/hyperdrive-artifacts/src/IMetaMorpho.ts new file mode 100644 index 000000000..51d122a03 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMetaMorpho.ts @@ -0,0 +1,729 @@ +export const IMetaMorpho = { + name: 'IMetaMorpho' as const, + abi: [ + { + "type": "function", + "name": "MORPHO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMorpho" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fee", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "totalAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawQueue", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "Id" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdrawQueueLength", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "MORPHO()": "3acb5624", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "balanceOf(address)": "70a08231", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "fee()": "ddca3f43", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "setFee(uint256)": "69fe0e2d", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256,address,address)": "b460af94", + "withdrawQueue(uint256)": "62518ddf", + "withdrawQueueLength()": "33f91ebb" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMockHyperdrive.ts b/packages/hyperdrive-artifacts/src/IMockHyperdrive.ts new file mode 100644 index 000000000..be8ea4eaa --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMockHyperdrive.ts @@ -0,0 +1,234 @@ +export const IMockHyperdrive = { + name: 'IMockHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "__external_transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "__setBalanceOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_who", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "accrue", + "inputs": [ + { + "name": "time", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "apr", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "calculateTimeRemaining", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateTimeRemainingScaled", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGovernanceFeesAccrued", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "latestCheckpoint", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserves", + "inputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLiquidity", + "inputs": [ + { + "name": "shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", + "__setBalanceOf(uint256,address,uint256)": "94a97cdb", + "accrue(uint256,int256)": "68096239", + "burn(uint256,address,uint256)": "9eea5f66", + "calculateTimeRemaining(uint256)": "68c2ecb8", + "calculateTimeRemainingScaled(uint256)": "ca6d38f7", + "getGovernanceFeesAccrued()": "8e67f87e", + "latestCheckpoint()": "907c0f92", + "mint(uint256,address,uint256)": "836a1040", + "setReserves(uint256,uint256)": "8392b8c0", + "updateLiquidity(uint256)": "ced09112" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorpho.ts b/packages/hyperdrive-artifacts/src/IMorpho.ts new file mode 100644 index 000000000..b4e40acf3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorpho.ts @@ -0,0 +1,1058 @@ +export const IMorpho = { + name: 'IMorpho' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "accrueInterest", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsBorrowed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesBorrowed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createMarket", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableIrm", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableLltv", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extSloads", + "inputs": [ + { + "name": "slots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "idToMarketParams", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isAuthorized", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIrmEnabled", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLltvEnabled", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "borrower", + "type": "address", + "internalType": "address" + }, + { + "name": "seizedAssets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "repaidShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "market", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "m", + "type": "tuple", + "internalType": "struct Market", + "components": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonce", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "position", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "p", + "type": "tuple", + "internalType": "struct Position", + "components": [ + { + "name": "supplyShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "borrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "collateral", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsRepaid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesRepaid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorization", + "inputs": [ + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "newIsAuthorized", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorizationWithSig", + "inputs": [ + { + "name": "authorization", + "type": "tuple", + "internalType": "struct Authorization", + "components": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "isAuthorized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "tuple", + "internalType": "struct Signature", + "components": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFeeRecipient", + "inputs": [ + { + "name": "newFeeRecipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOwner", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsSupplied", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesSupplied", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsWithdrawn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "accrueInterest((address,address,address,address,uint256))": "151c1ade", + "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", + "createMarket((address,address,address,address,uint256))": "8c1358a2", + "enableIrm(address)": "5a64f51e", + "enableLltv(uint256)": "4d98a93b", + "extSloads(bytes32[])": "7784c685", + "feeRecipient()": "46904840", + "flashLoan(address,uint256,bytes)": "e0232b42", + "idToMarketParams(bytes32)": "2c3c9157", + "isAuthorized(address,address)": "65e4ad9e", + "isIrmEnabled(address)": "f2b863ce", + "isLltvEnabled(uint256)": "b485f3b8", + "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", + "market(bytes32)": "5c60e39a", + "nonce(address)": "70ae92d2", + "owner()": "8da5cb5b", + "position(bytes32,address)": "93c52062", + "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", + "setAuthorization(address,bool)": "eecea000", + "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", + "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", + "setFeeRecipient(address)": "e74b981b", + "setOwner(address)": "13af4035", + "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", + "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", + "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", + "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorphoBase.ts b/packages/hyperdrive-artifacts/src/IMorphoBase.ts new file mode 100644 index 000000000..ecb9a0397 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorphoBase.ts @@ -0,0 +1,917 @@ +export const IMorphoBase = { + name: 'IMorphoBase' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "accrueInterest", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsBorrowed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesBorrowed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createMarket", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableIrm", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableLltv", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extSloads", + "inputs": [ + { + "name": "slots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isAuthorized", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIrmEnabled", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLltvEnabled", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "borrower", + "type": "address", + "internalType": "address" + }, + { + "name": "seizedAssets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "repaidShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonce", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsRepaid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesRepaid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorization", + "inputs": [ + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "newIsAuthorized", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorizationWithSig", + "inputs": [ + { + "name": "authorization", + "type": "tuple", + "internalType": "struct Authorization", + "components": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "isAuthorized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "tuple", + "internalType": "struct Signature", + "components": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFeeRecipient", + "inputs": [ + { + "name": "newFeeRecipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOwner", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsSupplied", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesSupplied", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsWithdrawn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "accrueInterest((address,address,address,address,uint256))": "151c1ade", + "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", + "createMarket((address,address,address,address,uint256))": "8c1358a2", + "enableIrm(address)": "5a64f51e", + "enableLltv(uint256)": "4d98a93b", + "extSloads(bytes32[])": "7784c685", + "feeRecipient()": "46904840", + "flashLoan(address,uint256,bytes)": "e0232b42", + "isAuthorized(address,address)": "65e4ad9e", + "isIrmEnabled(address)": "f2b863ce", + "isLltvEnabled(uint256)": "b485f3b8", + "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", + "nonce(address)": "70ae92d2", + "owner()": "8da5cb5b", + "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", + "setAuthorization(address,bool)": "eecea000", + "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", + "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", + "setFeeRecipient(address)": "e74b981b", + "setOwner(address)": "13af4035", + "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", + "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", + "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", + "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts b/packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts new file mode 100644 index 000000000..0d87423c2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts @@ -0,0 +1,2521 @@ +export const IMorphoBlueHyperdrive = { + name: 'IMorphoBlueHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collateralToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "id", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "Id" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "irm", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lltv", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "oracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collateralToken()": "b2016bd4", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "id()": "af640d0f", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "irm()": "28e8fe7d", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "lltv()": "217b7ffe", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "oracle()": "7dc0d1d0", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts b/packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts new file mode 100644 index 000000000..41acb6e09 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts @@ -0,0 +1,1037 @@ +export const IMorphoStaticTyping = { + name: 'IMorphoStaticTyping' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "accrueInterest", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsBorrowed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesBorrowed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createMarket", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableIrm", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableLltv", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extSloads", + "inputs": [ + { + "name": "slots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "idToMarketParams", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isAuthorized", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIrmEnabled", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLltvEnabled", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "borrower", + "type": "address", + "internalType": "address" + }, + { + "name": "seizedAssets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "repaidShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "market", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonce", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "position", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "supplyShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "borrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "collateral", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsRepaid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesRepaid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorization", + "inputs": [ + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "newIsAuthorized", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorizationWithSig", + "inputs": [ + { + "name": "authorization", + "type": "tuple", + "internalType": "struct Authorization", + "components": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "isAuthorized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "tuple", + "internalType": "struct Signature", + "components": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFeeRecipient", + "inputs": [ + { + "name": "newFeeRecipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOwner", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsSupplied", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesSupplied", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsWithdrawn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "accrueInterest((address,address,address,address,uint256))": "151c1ade", + "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", + "createMarket((address,address,address,address,uint256))": "8c1358a2", + "enableIrm(address)": "5a64f51e", + "enableLltv(uint256)": "4d98a93b", + "extSloads(bytes32[])": "7784c685", + "feeRecipient()": "46904840", + "flashLoan(address,uint256,bytes)": "e0232b42", + "idToMarketParams(bytes32)": "2c3c9157", + "isAuthorized(address,address)": "65e4ad9e", + "isIrmEnabled(address)": "f2b863ce", + "isLltvEnabled(uint256)": "b485f3b8", + "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", + "market(bytes32)": "5c60e39a", + "nonce(address)": "70ae92d2", + "owner()": "8da5cb5b", + "position(bytes32,address)": "93c52062", + "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", + "setAuthorization(address,bool)": "eecea000", + "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", + "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", + "setFeeRecipient(address)": "e74b981b", + "setOwner(address)": "13af4035", + "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", + "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", + "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", + "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiToken.ts b/packages/hyperdrive-artifacts/src/IMultiToken.ts new file mode 100644 index 000000000..6a76fd424 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiToken.ts @@ -0,0 +1,505 @@ +export const IMultiToken = { + name: 'IMultiToken' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "balanceOf(uint256,address)": "3656eec2", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "isApprovedForAll(address,address)": "e985e9c5", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "symbol(uint256)": "4e41a1fb", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenCore.ts b/packages/hyperdrive-artifacts/src/IMultiTokenCore.ts new file mode 100644 index 000000000..2688fb87d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenCore.ts @@ -0,0 +1,216 @@ +export const IMultiTokenCore = { + name: 'IMultiTokenCore' as const, + abi: [ + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts b/packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts new file mode 100644 index 000000000..613158caf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts @@ -0,0 +1,94 @@ +export const IMultiTokenEvents = { + name: 'IMultiTokenEvents' as const, + abi: [ + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts b/packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts new file mode 100644 index 000000000..502676d25 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts @@ -0,0 +1,36 @@ +export const IMultiTokenMetadata = { + name: 'IMultiTokenMetadata' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "domainSeparator()": "f698da25" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenRead.ts b/packages/hyperdrive-artifacts/src/IMultiTokenRead.ts new file mode 100644 index 000000000..ee34a4c9b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenRead.ts @@ -0,0 +1,182 @@ +export const IMultiTokenRead = { + name: 'IMultiTokenRead' as const, + abi: [ + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "balanceOf(uint256,address)": "3656eec2", + "decimals()": "313ce567", + "isApprovedForAll(address,address)": "e985e9c5", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalSupply(uint256)": "bd85b039" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMulticall3.ts b/packages/hyperdrive-artifacts/src/IMulticall3.ts new file mode 100644 index 000000000..a26ada074 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMulticall3.ts @@ -0,0 +1,462 @@ +export const IMulticall3 = { + name: 'IMulticall3' as const, + abi: [ + { + "type": "function", + "name": "aggregate", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "returnData", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "aggregate3", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call3[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "allowFailure", + "type": "bool", + "internalType": "bool" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "aggregate3Value", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call3Value[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "allowFailure", + "type": "bool", + "internalType": "bool" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "blockAndAggregate", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "getBasefee", + "inputs": [], + "outputs": [ + { + "name": "basefee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockHash", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getChainId", + "inputs": [], + "outputs": [ + { + "name": "chainid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockCoinbase", + "inputs": [], + "outputs": [ + { + "name": "coinbase", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockDifficulty", + "inputs": [], + "outputs": [ + { + "name": "difficulty", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockGasLimit", + "inputs": [], + "outputs": [ + { + "name": "gaslimit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthBalance", + "inputs": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLastBlockHash", + "inputs": [], + "outputs": [ + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tryAggregate", + "inputs": [ + { + "name": "requireSuccess", + "type": "bool", + "internalType": "bool" + }, + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "tryBlockAndAggregate", + "inputs": [ + { + "name": "requireSuccess", + "type": "bool", + "internalType": "bool" + }, + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "aggregate((address,bytes)[])": "252dba42", + "aggregate3((address,bool,bytes)[])": "82ad56cb", + "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71", + "blockAndAggregate((address,bytes)[])": "c3077fa9", + "getBasefee()": "3e64a696", + "getBlockHash(uint256)": "ee82ac5e", + "getBlockNumber()": "42cbb15c", + "getChainId()": "3408e470", + "getCurrentBlockCoinbase()": "a8b0574e", + "getCurrentBlockDifficulty()": "72425d9d", + "getCurrentBlockGasLimit()": "86d516e8", + "getCurrentBlockTimestamp()": "0f28c97d", + "getEthBalance(address)": "4d2301cc", + "getLastBlockHash()": "27e86d6e", + "tryAggregate(bool,(address,bytes)[])": "bce38bd7", + "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPool.ts b/packages/hyperdrive-artifacts/src/IPool.ts new file mode 100644 index 000000000..87a59ac71 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPool.ts @@ -0,0 +1,2066 @@ +export const IPool = { + name: 'IPool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "config", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "bridgeProtocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "repay(address,uint256,uint256,address)": "573ade81", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "supply(address,uint256,address,uint16)": "617ba037", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts b/packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts new file mode 100644 index 000000000..673bd2a58 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts @@ -0,0 +1,523 @@ +export const IPoolAddressesProvider = { + name: 'IPoolAddressesProvider' as const, + abi: [ + { + "type": "function", + "name": "getACLAdmin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getACLManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAddress", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfigurator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolDataProvider", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPriceOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPriceOracleSentinel", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setACLAdmin", + "inputs": [ + { + "name": "newAclAdmin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setACLManager", + "inputs": [ + { + "name": "newAclManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAddress", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAddressAsProxy", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newImplementationAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMarketId", + "inputs": [ + { + "name": "newMarketId", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPoolConfiguratorImpl", + "inputs": [ + { + "name": "newPoolConfiguratorImpl", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPoolDataProvider", + "inputs": [ + { + "name": "newDataProvider", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPoolImpl", + "inputs": [ + { + "name": "newPoolImpl", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPriceOracle", + "inputs": [ + { + "name": "newPriceOracle", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPriceOracleSentinel", + "inputs": [ + { + "name": "newPriceOracleSentinel", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ACLAdminUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ACLManagerUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddressSet", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddressSetAsProxy", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "proxyAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "oldImplementationAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newImplementationAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MarketIdSet", + "inputs": [ + { + "name": "oldMarketId", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "newMarketId", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PoolConfiguratorUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PoolDataProviderUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PoolUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PriceOracleSentinelUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PriceOracleUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProxyCreated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "proxyAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "implementationAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getACLAdmin()": "0e67178c", + "getACLManager()": "707cd716", + "getAddress(bytes32)": "21f8a721", + "getMarketId()": "568ef470", + "getPool()": "026b1d5f", + "getPoolConfigurator()": "631adfca", + "getPoolDataProvider()": "e860accb", + "getPriceOracle()": "fca513a8", + "getPriceOracleSentinel()": "5eb88d3d", + "setACLAdmin(address)": "76d84ffc", + "setACLManager(address)": "ed301ca9", + "setAddress(bytes32,address)": "ca446dd9", + "setAddressAsProxy(bytes32,address)": "5dcc528c", + "setMarketId(string)": "f67b1847", + "setPoolConfiguratorImpl(address)": "e4ca28b7", + "setPoolDataProvider(address)": "e44e9ed1", + "setPoolImpl(address)": "a1564406", + "setPriceOracle(address)": "530e784f", + "setPriceOracleSentinel(address)": "74944cec" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts b/packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts new file mode 100644 index 000000000..c58fd19ed --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts @@ -0,0 +1,56 @@ +export const IPriceOracleGetter = { + name: 'IPriceOracleGetter' as const, + abi: [ + { + "type": "function", + "name": "BASE_CURRENCY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BASE_CURRENCY_UNIT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAssetPrice", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "BASE_CURRENCY()": "e19f4700", + "BASE_CURRENCY_UNIT()": "8c89b64f", + "getAssetPrice(address)": "b3596f07" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts b/packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts new file mode 100644 index 000000000..54256a77c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts @@ -0,0 +1,132 @@ +export const IPriceOracleSentinel = { + name: 'IPriceOracleSentinel' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGracePeriod", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSequencerOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isBorrowAllowed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLiquidationAllowed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setGracePeriod", + "inputs": [ + { + "name": "newGracePeriod", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setSequencerOracle", + "inputs": [ + { + "name": "newSequencerOracle", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "GracePeriodUpdated", + "inputs": [ + { + "name": "newGracePeriod", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SequencerOracleUpdated", + "inputs": [ + { + "name": "newSequencerOracle", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "getGracePeriod()": "dbd18388", + "getSequencerOracle()": "12168dc2", + "isBorrowAllowed()": "49aa2e81", + "isLiquidationAllowed()": "7a5d20ea", + "setGracePeriod(uint256)": "f2f65960", + "setSequencerOracle(address)": "f0aef31c" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..90cd42acf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const IRETHHyperdriveDeployerCoordinator = { + name: 'IRETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts b/packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts new file mode 100644 index 000000000..e8db129bb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts @@ -0,0 +1,78 @@ +export const IRSETHPoolV2 = { + name: 'IRSETHPoolV2' as const, + abi: [ + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "referralId", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "feeBps", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rsETHOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "wrsETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deposit(string)": "a26e1186", + "feeBps()": "24a9d853", + "getRate()": "679aefce", + "rsETHOracle()": "54d1d5e4", + "wrsETH()": "e129200f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRenzoOracle.ts b/packages/hyperdrive-artifacts/src/IRenzoOracle.ts new file mode 100644 index 000000000..c555f40f0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRenzoOracle.ts @@ -0,0 +1,143 @@ +export const IRenzoOracle = { + name: 'IRenzoOracle' as const, + abi: [ + { + "type": "function", + "name": "calculateMintAmount", + "inputs": [ + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_newValueAdded", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateRedeemAmount", + "inputs": [ + { + "name": "_ezETHBeingBurned", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lookupTokenAmountFromValue", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lookupTokenValue", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_balance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lookupTokenValues", + "inputs": [ + { + "name": "_tokens", + "type": "address[]", + "internalType": "contract IERC20[]" + }, + { + "name": "_balances", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", + "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", + "lookupTokenAmountFromValue(address,uint256)": "37933625", + "lookupTokenValue(address,uint256)": "0052e3fd", + "lookupTokenValues(address[],uint256[])": "ba28a571" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRestakeManager.ts b/packages/hyperdrive-artifacts/src/IRestakeManager.ts new file mode 100644 index 000000000..50e6c9b21 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRestakeManager.ts @@ -0,0 +1,68 @@ +export const IRestakeManager = { + name: 'IRestakeManager' as const, + abi: [ + { + "type": "function", + "name": "calculateTVLs", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256[][]", + "internalType": "uint256[][]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositETH", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "ezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "calculateTVLs()": "ff9969cd", + "depositETH()": "f6326fb3", + "ezETH()": "13a73c78", + "renzoOracle()": "892866a4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRiverV1.ts b/packages/hyperdrive-artifacts/src/IRiverV1.ts new file mode 100644 index 000000000..b156226e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRiverV1.ts @@ -0,0 +1,313 @@ +export const IRiverV1 = { + name: 'IRiverV1' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOfUnderlying", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesFromUnderlyingBalance", + "inputs": [ + { + "name": "_underlyingAssetAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalUnderlyingSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "underlyingBalanceFromShares", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "balanceOfUnderlying(address)": "3af9e669", + "decimals()": "313ce567", + "name()": "06fdde03", + "sharesFromUnderlyingBalance(uint256)": "799a1954", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "totalUnderlyingSupply()": "143a08d4", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "underlyingBalanceFromShares(uint256)": "f79c3f02" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketDepositPool.ts b/packages/hyperdrive-artifacts/src/IRocketDepositPool.ts new file mode 100644 index 000000000..0a8ebc784 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketDepositPool.ts @@ -0,0 +1,174 @@ +export const IRocketDepositPool = { + name: 'IRocketDepositPool' as const, + abi: [ + { + "type": "function", + "name": "assignDeposits", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "getBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getExcessBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNodeBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maybeAssignDeposits", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nodeCreditWithdrawal", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nodeDeposit", + "inputs": [ + { + "name": "_totalAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "recycleDissolvedDeposit", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "recycleExcessCollateral", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "recycleLiquidatedStake", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "withdrawExcessBalance", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "assignDeposits()": "27c8f193", + "deposit()": "d0e30db0", + "getBalance()": "12065fe0", + "getExcessBalance()": "888b042f", + "getMaximumDepositAmount()": "1eddb626", + "getNodeBalance()": "1e35fed8", + "getUserBalance()": "b7013dc1", + "maybeAssignDeposits()": "3b36f592", + "nodeCreditWithdrawal(uint256)": "606b6497", + "nodeDeposit(uint256)": "22b1751d", + "recycleDissolvedDeposit()": "72f5158d", + "recycleExcessCollateral()": "db82047b", + "recycleLiquidatedStake()": "1b7dd4c0", + "withdrawExcessBalance(uint256)": "63a5db9e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts b/packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts new file mode 100644 index 000000000..40b00aa8b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts @@ -0,0 +1,150 @@ +export const IRocketNetworkBalances = { + name: 'IRocketNetworkBalances' as const, + abi: [ + { + "type": "function", + "name": "executeUpdateBalances", + "inputs": [ + { + "name": "_block", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_totalEth", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_stakingEth", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_rethSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBalancesBlock", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getETHUtilizationRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLatestReportableBlock", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getStakingETHBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalETHBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalRETHSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submitBalances", + "inputs": [ + { + "name": "_block", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_total", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_staking", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_rethSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "executeUpdateBalances(uint256,uint256,uint256,uint256)": "56ff3625", + "getBalancesBlock()": "9100c13d", + "getETHUtilizationRate()": "9dba66af", + "getLatestReportableBlock()": "a9bb16ed", + "getStakingETHBalance()": "f1eda634", + "getTotalETHBalance()": "964d042c", + "getTotalRETHSupply()": "c4c8d0ad", + "submitBalances(uint256,uint256,uint256,uint256)": "32db5470" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts b/packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts new file mode 100644 index 000000000..0a66ce742 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts @@ -0,0 +1,106 @@ +export const IRocketPoolDAOProtocolSettingsDeposit = { + name: 'IRocketPoolDAOProtocolSettingsDeposit' as const, + abi: [ + { + "type": "function", + "name": "getAssignDepositsEnabled", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDepositEnabled", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDepositFee", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositAssignments", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositPoolSize", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositSocialisedAssignments", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMinimumDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getAssignDepositsEnabled()": "47fa434a", + "getDepositEnabled()": "6ada7847", + "getDepositFee()": "0de705b5", + "getMaximumDepositAssignments()": "3b474a65", + "getMaximumDepositPoolSize()": "fd6ce89e", + "getMaximumDepositSocialisedAssignments()": "f19b4106", + "getMinimumDeposit()": "035cf142" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketStorage.ts b/packages/hyperdrive-artifacts/src/IRocketStorage.ts new file mode 100644 index 000000000..152ab820a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketStorage.ts @@ -0,0 +1,545 @@ +export const IRocketStorage = { + name: 'IRocketStorage' as const, + abi: [ + { + "type": "function", + "name": "addUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "confirmGuardian", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "confirmWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteAddress", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteBool", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteBytes", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteBytes32", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteInt", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteString", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAddress", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBool", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBytes", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBytes32", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedStatus", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGuardian", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInt", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNodePendingWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNodeWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getString", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAddress", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBool", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBytes", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBytes32", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGuardian", + "inputs": [ + { + "name": "_newAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setInt", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setString", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "_newWithdrawalAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "_confirm", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "subUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addUint(bytes32,uint256)": "adb353dc", + "confirmGuardian()": "1e0ea61e", + "confirmWithdrawalAddress(address)": "bd439126", + "deleteAddress(bytes32)": "0e14a376", + "deleteBool(bytes32)": "2c62ff2d", + "deleteBytes(bytes32)": "616b59f6", + "deleteBytes32(bytes32)": "0b9adc57", + "deleteInt(bytes32)": "8c160095", + "deleteString(bytes32)": "f6bb3cc4", + "deleteUint(bytes32)": "e2b202bf", + "getAddress(bytes32)": "21f8a721", + "getBool(bytes32)": "7ae1cfca", + "getBytes(bytes32)": "c031a180", + "getBytes32(bytes32)": "a6ed563e", + "getDeployedStatus()": "1bed5241", + "getGuardian()": "a75b87d2", + "getInt(bytes32)": "dc97d962", + "getNodePendingWithdrawalAddress(address)": "fd412513", + "getNodeWithdrawalAddress(address)": "5b49ff62", + "getString(bytes32)": "986e791a", + "getUint(bytes32)": "bd02d0f5", + "setAddress(bytes32,address)": "ca446dd9", + "setBool(bytes32,bool)": "abfdcced", + "setBytes(bytes32,bytes)": "2e28d084", + "setBytes32(bytes32,bytes32)": "4e91db08", + "setGuardian(address)": "8a0dac4a", + "setInt(bytes32,int256)": "3e49bed0", + "setString(bytes32,string)": "6e899550", + "setUint(bytes32,uint256)": "e2a4853a", + "setWithdrawalAddress(address,address,bool)": "a543ccea", + "subUint(bytes32,uint256)": "ebb9d8c9" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts b/packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts new file mode 100644 index 000000000..0870f5443 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts @@ -0,0 +1,370 @@ +export const IRocketTokenRETH = { + name: 'IRocketTokenRETH' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "_rethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositExcess", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "depositExcessCollateral", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCollateralRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthValue", + "inputs": [ + { + "name": "_rethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getExchangeRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRethValue", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalCollateral", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(uint256)": "42966c68", + "decimals()": "313ce567", + "depositExcess()": "6c985a88", + "depositExcessCollateral()": "188e0dc6", + "getCollateralRate()": "852185fc", + "getEthValue(uint256)": "8b32fa23", + "getExchangeRate()": "e6aa216c", + "getRethValue(uint256)": "4346f03e", + "getTotalCollateral()": "d6eb5910", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts new file mode 100644 index 000000000..3c12ea279 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IRsETHLineaHyperdrive = { + name: 'IRsETHLineaHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "rsETHPool()": "7df91ba8", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts b/packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts new file mode 100644 index 000000000..9ba7b0346 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts @@ -0,0 +1,161 @@ +export const IScaledBalanceToken = { + name: 'IScaledBalanceToken' as const, + abi: [ + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ISharesManagerV1.ts b/packages/hyperdrive-artifacts/src/ISharesManagerV1.ts new file mode 100644 index 000000000..5d8c52d08 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ISharesManagerV1.ts @@ -0,0 +1,313 @@ +export const ISharesManagerV1 = { + name: 'ISharesManagerV1' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOfUnderlying", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesFromUnderlyingBalance", + "inputs": [ + { + "name": "_underlyingAssetAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalUnderlyingSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "underlyingBalanceFromShares", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "balanceOfUnderlying(address)": "3af9e669", + "decimals()": "313ce567", + "name()": "06fdde03", + "sharesFromUnderlyingBalance(uint256)": "799a1954", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "totalUnderlyingSupply()": "143a08d4", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "underlyingBalanceFromShares(uint256)": "f79c3f02" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..1e7c57ef0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const IStETHHyperdriveDeployerCoordinator = { + name: 'IStETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStableDebtToken.ts b/packages/hyperdrive-artifacts/src/IStableDebtToken.ts new file mode 100644 index 000000000..1451d7295 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStableDebtToken.ts @@ -0,0 +1,424 @@ +export const IStableDebtToken = { + name: 'IStableDebtToken' as const, + abi: [ + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAverageStableRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyData", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalSupplyAndAvgRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalSupplyLastUpdated", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserLastUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserStableRate", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "rate", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "principalBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "avgStableRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newTotalSupply", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "avgStableRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newTotalSupply", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "burn(address,uint256)": "9dc29fac", + "getAverageStableRate()": "90f6fcf2", + "getSupplyData()": "79774338", + "getTotalSupplyAndAvgRate()": "f731e9be", + "getTotalSupplyLastUpdated()": "e7484890", + "getUserLastUpdated(address)": "79ce6b8c", + "getUserStableRate(address)": "e78c9b3b", + "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "principalBalanceOf(address)": "c634dfaa" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStakedToken.ts b/packages/hyperdrive-artifacts/src/IStakedToken.ts new file mode 100644 index 000000000..a02822431 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStakedToken.ts @@ -0,0 +1,325 @@ +export const IStakedToken = { + name: 'IStakedToken' as const, + abi: [ + { + "type": "function", + "name": "REWARD_TOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STAKED_TOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakerRewardsToClaim", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "REWARD_TOKEN()": "99248ea7", + "STAKED_TOKEN()": "312f6b83", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "claimRewards(address,uint256)": "9a99b4f0", + "decimals()": "313ce567", + "name()": "06fdde03", + "stake(address,uint256)": "adc9772e", + "stakerRewardsToClaim(address)": "7e90d7ef", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStakingUSDS.ts b/packages/hyperdrive-artifacts/src/IStakingUSDS.ts new file mode 100644 index 000000000..151affb41 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStakingUSDS.ts @@ -0,0 +1,153 @@ +export const IStakingUSDS = { + name: 'IStakingUSDS' as const, + abi: [ + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "earned", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "exit", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getReward", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rewardsToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referral", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakingToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "balanceOf(address)": "70a08231", + "earned(address)": "008cc262", + "exit()": "e9fad8ee", + "getReward()": "3d18b912", + "rewardsToken()": "d1af0c7d", + "stake(uint256)": "a694fc3a", + "stake(uint256,uint16)": "42ea02c1", + "stakingToken()": "72f702f3", + "totalSupply()": "18160ddd", + "withdraw(uint256)": "2e1a7d4d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts b/packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts new file mode 100644 index 000000000..c5f85396e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts @@ -0,0 +1,2459 @@ +export const IStakingUSDSHyperdrive = { + name: 'IStakingUSDSHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakingUSDS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "stakingUSDS()": "10cded21", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts b/packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts new file mode 100644 index 000000000..d195b1cd5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts @@ -0,0 +1,2445 @@ +export const IStkWellHyperdrive = { + name: 'IStkWellHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ISwapRouter.ts b/packages/hyperdrive-artifacts/src/ISwapRouter.ts new file mode 100644 index 000000000..53f21ac58 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ISwapRouter.ts @@ -0,0 +1,226 @@ +export const ISwapRouter = { + name: 'ISwapRouter' as const, + abi: [ + { + "type": "function", + "name": "exactInput", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "exactInputSingle", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputSingleParams", + "components": [ + { + "name": "tokenIn", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenOut", + "type": "address", + "internalType": "address" + }, + { + "name": "fee", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + } + ], + "outputs": [ + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "exactOutput", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactOutputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountInMaximum", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "exactOutputSingle", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactOutputSingleParams", + "components": [ + { + "name": "tokenIn", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenOut", + "type": "address", + "internalType": "address" + }, + { + "name": "fee", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountInMaximum", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + } + ], + "outputs": [ + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59", + "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "414bf389", + "exactOutput((bytes,address,uint256,uint256,uint256))": "f28c0498", + "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "db3e2198" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IUniV3Zap.ts b/packages/hyperdrive-artifacts/src/IUniV3Zap.ts new file mode 100644 index 000000000..742e2a7af --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IUniV3Zap.ts @@ -0,0 +1,843 @@ +export const IUniV3Zap = { + name: 'IUniV3Zap' as const, + abi: [ + { + "type": "function", + "name": "addLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "closeLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "redeemWithdrawalSharesZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapRouter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ISwapRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "InvalidInputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidOutputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRecipient", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAsset", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSwap", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "ShouldWrapAssets", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", + "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", + "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", + "kind()": "04baa00b", + "name()": "06fdde03", + "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", + "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", + "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", + "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", + "swapRouter()": "c31c9c07", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IVariableDebtToken.ts b/packages/hyperdrive-artifacts/src/IVariableDebtToken.ts new file mode 100644 index 000000000..54d34bd71 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IVariableDebtToken.ts @@ -0,0 +1,338 @@ +export const IVariableDebtToken = { + name: 'IVariableDebtToken' as const, + abi: [ + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "burn(address,uint256,uint256)": "f5298aca", + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IWETH.ts b/packages/hyperdrive-artifacts/src/IWETH.ts new file mode 100644 index 000000000..a5e2db107 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IWETH.ts @@ -0,0 +1,261 @@ +export const IWETH = { + name: 'IWETH' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "wad", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "deposit()": "d0e30db0", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256)": "2e1a7d4d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IWrappedERC20.ts b/packages/hyperdrive-artifacts/src/IWrappedERC20.ts new file mode 100644 index 000000000..f9ddf25bd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IWrappedERC20.ts @@ -0,0 +1,259 @@ +export const IWrappedERC20 = { + name: 'IWrappedERC20' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "wrap", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "wrap(uint256)": "ea598cb0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts b/packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts new file mode 100644 index 000000000..44a7e13e1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts @@ -0,0 +1,41 @@ +export const IXRenzoDeposit = { + name: 'IXRenzoDeposit' as const, + abi: [ + { + "type": "function", + "name": "getMintRate", + "inputs": [], + "outputs": [ + { + "name": "lastPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lastPriceTimestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "xezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getMintRate()": "96f0bd61", + "xezETH()": "152b2c4f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IncentivizedERC20.ts b/packages/hyperdrive-artifacts/src/IncentivizedERC20.ts new file mode 100644 index 000000000..a7e8fbae8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IncentivizedERC20.ts @@ -0,0 +1,331 @@ +export const IncentivizedERC20 = { + name: 'IncentivizedERC20' as const, + abi: [ + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "subtractedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getIncentivesController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IAaveIncentivesController" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "addedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setIncentivesController", + "inputs": [ + { + "name": "controller", + "type": "address", + "internalType": "contract IAaveIncentivesController" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "POOL()": "7535d246", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "getIncentivesController()": "75d26413", + "increaseAllowance(address,uint256)": "39509351", + "name()": "06fdde03", + "setIncentivesController(address)": "e655dbd8", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IsolationModeLogic.ts b/packages/hyperdrive-artifacts/src/IsolationModeLogic.ts new file mode 100644 index 000000000..be1536911 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IsolationModeLogic.ts @@ -0,0 +1,26 @@ +export const IsolationModeLogic = { + name: 'IsolationModeLogic' as const, + abi: [ + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c170b3081f9db79231c9a778cf578b6f91949997cf2eb4b07eb95309c94484e964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/L2Pool.ts b/packages/hyperdrive-artifacts/src/L2Pool.ts new file mode 100644 index 000000000..a18a27c35 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/L2Pool.ts @@ -0,0 +1,2326 @@ +export const L2Pool = { + name: 'L2Pool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "category", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "args1", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "args2", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "protocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "borrow(bytes32)": "d5eed868", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "initialize(address)": "c4d66de8", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "liquidationCall(bytes32,bytes32)": "fd21ecff", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "rebalanceStableBorrowRate(bytes32)": "427da177", + "repay(address,uint256,uint256,address)": "573ade81", + "repay(bytes32)": "563dd613", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithATokens(bytes32)": "dc7c0bff", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "setUserUseReserveAsCollateral(bytes32)": "4d013f03", + "supply(address,uint256,address,uint16)": "617ba037", + "supply(bytes32)": "f7a73840", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapBorrowRateMode(bytes32)": "1fe3c6f3", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec", + "withdraw(bytes32)": "8e19899e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LPMath.ts b/packages/hyperdrive-artifacts/src/LPMath.ts new file mode 100644 index 000000000..e0199dc79 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LPMath.ts @@ -0,0 +1,446 @@ +export const LPMath = { + name: 'LPMath' as const, + abi: [ + { + "type": "function", + "name": "calculateDistributeExcessIdle", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateInitialReserves", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculatePresentValue", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculatePresentValueSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateUpdateLiquiditySafe", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareReservesDelta", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x612046610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80632c03ef68146100645780635a1b419e14610091578063b29e1d1e146100b9578063bf3aa156146100e7578063d0b457ce14610108575b5f80fd5b610077610072366004611e11565b61013d565b604080519283526020830191909152015b60405180910390f35b6100a461009f366004611ead565b610223565b60408051928352901515602083015201610088565b6100cc6100c7366004611ec8565b6102a9565b60408051938452602084019290925290820152606001610088565b6100fa6100f5366004611ead565b61035d565b604051908152602001610088565b61011b610116366004611f07565b610392565b6040805194855260208501939093529183015215156060820152608001610088565b5f805f806101538660c001518760e001516104a2565b9150915080610169575f8093509350505061021c565b5f61017487846104da565b92509050811580610183575080155b15610196575f809450945050505061021c565b5f6101a188836105e1565b9050805f036101b9575f80955095505050505061021c565b876060015181116101d0579450925061021c915050565b5060608701515f6101e38986858b6106b1565b9050805f036101fc575f8096509650505050505061021c565b828110610213575f8096509650505050505061021c565b90955093505050505b9250929050565b5f805f805f61023186610bac565b915091508061024757505f958695509350505050565b6102548660a00151610ec3565b61025d87610ef0565b8361026a895f0151610ec3565b6102749190611f52565b61027e9190611f52565b6102889190611f79565b925050505f81121561029f57505f93849350915050565b9360019350915050565b5f8080806102bb866301e13380610f5d565b90505f6102ec6102cb8984610f78565b6102dd90670de0b6b3a7640000611f98565b670de0b6b3a764000090610f8c565b8b955090506103406102fe8b87610f78565b6103088b84610fa0565b61032e610327610320670de0b6b3a76400008c610f5d565b8690610fb4565b8e90610fa0565b6103389190611f98565b8b9190611019565b925061034d83828c611019565b9350505096509650969350505050565b5f805f61036984610223565b915091508061038b57604051635516328b60e11b815260040160405180910390fd5b5092915050565b5f805f80845f036103ae57508792508691508590506001610496565b5f856103b98b610ec3565b6103c39190611f52565b90506103ce87610ec3565b8112156103e7575f805f80945094509450945050610496565b8094505f891261040b576104046103ff868b8d611019565b610ec3565b935061042e565b6104226103ff61041a8b611fab565b87908d611034565b61042b90611fab565b93505b5f8061043a8c8c6104a2565b9150915080610457575f805f809650965096509650505050610496565b5f61046288886104a2565b9250905081610480575f805f80975097509750975050505050610496565b61048b8b8285611019565b955060019450505050505b95509550955095915050565b5f805f836104af86610ec3565b6104b99190611f79565b90505f8112156104cf575f80925092505061021c565b946001945092505050565b5f805f8460a00151126104f55750506080820151600161021c565b5f8460a0015161050490611fab565b90505f61053e85876101000151885f015160e00151670de0b6b3a764000061052c9190611fc5565b89516060810151608090910151611057565b9350905082158061054d575080155b1561055f575f8093509350505061021c565b5f61056a8383610f8c565b9050670de0b6b3a764000081116105a65780670de0b6b3a764000003945061059f8760c0015186610f7890919063ffffffff16565b94506105b4565b5f809450945050505061021c565b86608001518511156105d357866080015160019450945050505061021c565b506001925050509250929050565b5f806106108460c001518560e00151866101000151875f015160a0015161060788610ec3565b61011690611fab565b87516040810192909252602082019290925291909152905080610636575f9150506106ab565b5f610643855f0151610223565b9250905081610656575f925050506106ab565b8460200151811061066b575f925050506106ab565b5f856060015186604001516106809190611f98565b905061069b828760200151836110199092919063ffffffff16565b6106a59082611fc5565b93505050505b92915050565b5f80856060015186604001516106c79190611f98565b602087015160608801519192505f916106e09184611019565b90508660a001515f036106f6579150610ba49050565b5f808089600488101561070857600497505b5f5b88811015610a535761071c868b611106565b95505f6107438360c001518460e00151856101000151865f015160a001516106078c610ec3565b86516040810192909252602082019290925291909152905080610770575f98505050505050505050610ba4565b5f61077d8e5f0151610223565b9250905081610797575f9950505050505050505050610ba4565b6107a284828b61111a565b156107b857879950505050505050505050610ba4565b5f8460a00151131561091a57835180516020820151604083015160a084015160e0909401515f9461080a949392916107f890670de0b6b3a7640000611fc5565b8a516060810151608090910151611185565b9350905082610825575f9a5050505050505050505050610ba4565b808560a00151106109185761083985611288565b909950925082610855575f9a5050505050505050505050610ba4565b6108798560c001518660e00151876101000151885f015160a001516106078e610ec3565b885160408101929092526020820192909252919091529250826108a8575f9a5050505050505050505050610ba4565b845180516020820151604083015160a084015160e0909401516108d894906107f890670de0b6b3a7640000611fc5565b93509050826108f3575f9a5050505050505050505050610ba4565b8e60a00151811161091057889a5050505050505050505050610ba4565b505050610a4b565b505b5f61092a858f8760a00151611355565b935090508215806109435750670de0b6b3a76400008110155b1561095a575f9a5050505050505050505050610ba4565b80670de0b6b3a76400000390505f6109866103ff87604001518860200151610fa090919063ffffffff16565b6109936103ff858e610f78565b61099d9190611f79565b90508815806109bb57506109b0896116a0565b6109b9826116a0565b105b156109ca578098508997508296505b5f8113156109f7576109e68b6109e08385610f5d565b90610f5d565b6109f0908b611f98565b9950610a46565b5f811215610a3d575f610a0f8c6109e0858186611fab565b90508a811015610a2357808b039a50610a37565b5f9c50505050505050505050505050610ba4565b50610a46565b50505050610a53565b505050505b60010161070a565b505f610a798260c001518360e00151846101000151855f015160a001516106078b610ec3565b85516040810192909252602082019290925291909152905080610aa5575f975050505050505050610ba4565b5f610ab2835f015161035d565b90505f610ad36103ff85604001518660200151610fa090919063ffffffff16565b610ae06103ff848c610f78565b610aea9190611f79565b9050610af5876116a0565b610afe826116a0565b1015610b0b578795508194505b610b32610b26655af3107a4000670de0b6b3a7640000611fc5565b6020860151908b611034565b6040850151610b42908790610f5d565b1080610b825750610b70610b64655af3107a4000670de0b6b3a7640000611f98565b6020860151908b611019565b6040850151610b80908790610f8c565b115b15610b98575f9950505050505050505050610ba4565b50939750505050505050505b949350505050565b5f805f610bcf6103ff856101600151866101400151610f7890919063ffffffff16565b610bef6103ff866101200151876101000151610fa090919063ffffffff16565b610bf99190611f79565b90505f80610c0e865f015187602001516104a2565b9150915080610c2457505f958695509350505050565b5f831315610d6b575f8390505f610c6e885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610c5f9190611fc5565b8d606001518e60800151611185565b9350905082610c8657505f9788975095505050505050565b818110610d21575f610cbf858a60400151858c60e00151670de0b6b3a7640000610cb09190611fc5565b8d606001518e608001516116b1565b9450905083158015610cd457508860c0015183105b15610cea57505f98600198509650505050505050565b83610cff57505f988998509650505050505050565b610d0881610ec3565b610d1190611fab565b9960019950975050505050505050565b5f886020015112610d5757610d3f8860a00151856103ff9190611fc5565b610d4890611fab565b98600198509650505050505050565b60a08801518851610d3f916103ff91611fc5565b5f831215610eb5575f610d7d84611fab565b90505f610db08489604001518a60e00151670de0b6b3a7640000610da19190611fc5565b8b606001518c60800151611057565b9350905082610dc857505f9788975095505050505050565b818110610e4a575f610e01858a60400151858c60e00151670de0b6b3a7640000610df29190611fc5565b8d606001518e60800151611770565b9450905083158015610e1657508860c0015183105b15610e2c57505f98600198509650505050505050565b83610e4157505f988998509650505050505050565b610d1181610ec3565b5f610e7b858a604001518b60e00151670de0b6b3a7640000610e6c9190611fc5565b8c606001518d60800151611842565b9450905083610e9457505f988998509650505050505050565b610d11610eab8a6060015184866109e09190611fc5565b6103ff9083611f98565b505f95600195509350505050565b5f6001600160ff1b03821115610eec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f610f226103ff836101200151670de0b6b3a7640000610f109190611fc5565b60608501516101008601519190611034565b610f536103ff846101600151670de0b6b3a7640000610f419190611fc5565b60608601516101408701519190611019565b6106ab9190611f79565b5f610f7183670de0b6b3a764000084611019565b9392505050565b5f610f718383670de0b6b3a7640000611019565b5f610f7183670de0b6b3a764000084611034565b5f610f718383670de0b6b3a7640000611034565b5f815f03610fcb5750670de0b6b3a76400006106ab565b825f03610fd957505f6106ab565b5f610fe383610ec3565b90505f610ff7610ff286610ec3565b6118f4565b905081810261100e670de0b6b3a764000082611fd8565b90506106a581611b22565b5f825f19048411830215820261102d575f80fd5b5091020490565b5f825f190484118302158202611048575f80fd5b50910281810615159190040190565b5f805f6110678888888888611cbe565b90505f611091670de0b6b3a76400006110808888610f5d565b61108a9190611f98565b8390610f8c565b9050670de0b6b3a764000081106110c5576110be6110b7670de0b6b3a764000089610f8c565b8290610fb4565b90506110dd565b6110da6110b7670de0b6b3a764000089610f5d565b90505b808810156110f2575f809350935050506110fc565b8703925060019150505b9550959350505050565b5f8183116111145782610f71565b50919050565b60208301515f9061112b9084610f8c565b604085015161113b908490610f5d565b10158015610ba45750602084015161116b9084611164633b9aca00670de0b6b3a7640000611f98565b9190611019565b604085015161117b908490610f8c565b1115949350505050565b5f805f8812156111a55761119888611fab565b6111a29087611f98565b95505b5f806111b18b8b6104a2565b91509150806111c7575f8093509350505061127c565b5f6111d5838b8a8a8a611cec565b90505f6111f76111ef8a6111e98a8e610fa0565b90610fb4565b899089611034565b905080821015611210575f80955095505050505061127c565b808203670de0b6b3a7640000811061123e576112376110b7670de0b6b3a76400008c610f5d565b9050611256565b6112536110b7670de0b6b3a76400008c610f8c565b90505b8b81101561126e575f8096509650505050505061127c565b8b9003955060019450505050505b97509795505050505050565b5f805f8360e001511361129f57505f928392509050565b5f6112ac845f0151610ef0565b90505f6112d78560400151866060015187604001516112cb9190611f98565b60208801519190611034565b90505f82126112fc57808210156112f057819003611312565b505f9485945092505050565b61130582611fab565b61130f9082611f98565b90505b60e085015160c0860151611327918390611034565b9050808560c00151101561134157505f9485945092505050565b808560c00151036001935093505050915091565b5f805f80841261137757855160400151611370908590611f98565b90506113b0565b5f61138185611fab565b8751604001519091508110156113a15786516040015181900391506113ae565b5f80935093505050611698565b505b855180516020909101515f9182916113c891906104a2565b91509150806113df575f8094509450505050611698565b875160e08101516040909101515f9161141391611407916114009190610fb4565b8a90610f78565b6101008b015190610f8c565b895160e081015160809091015161143e91611432916111e99088610f78565b8b516060015190610f8c565b6114489190611f98565b90505f61147e61147261146b8c5f015160e0015188610fb490919063ffffffff16565b8b90610fa0565b6101008c015190610f5d565b905080821015611498575f80965096505050505050611698565b80820391505f6114d7858c5f0151604001518d5f015160e00151670de0b6b3a76400006114c59190611fc5565b8e516060810151608090910151611cbe565b90505f6114ff8c5f015160e00151670de0b6b3a76400006114f89190611fc5565b8890610fb4565b90508082101561151b575f809850985050505050505050611698565b8b51608081015160609091015191830391611537918391611034565b9050670de0b6b3a7640000811061157b578b5160e00151611574906110b79061156890670de0b6b3a7640000611fc5565b8e5160e0015190610f8c565b90506115aa565b8b5160e001516115a7906110b79061159b90670de0b6b3a7640000611fc5565b8e5160e0015190610f5d565b90505b8b51606001516115bd9085908390611034565b935083670de0b6b3a764000011156115e15783670de0b6b3a76400000393506115f4565b5f60019850985050505050505050611698565b5f8c60e00151126116555760c08c015160e08d015161161291610f8c565b9250670de0b6b3a7640000831115611636575f809850985050505050505050611698565b670de0b6b3a7640000929092039161164e8484610f78565b935061168a565b61168761166e8d60c001518e60e001516109e090611fab565b61168090670de0b6b3a7640000611f98565b8590610f78565b93505b509196506001955050505050505b935093915050565b5f80821215610eec57815f036106ab565b5f805f6116c18989888888611cbe565b90506116d1866111e9898b611f98565b9750878110156116e7575f809250925050611765565b8781036116f5818688611034565b9050670de0b6b3a764000081106117225761171b6110b7670de0b6b3a764000089610f8c565b905061173a565b6117376110b7670de0b6b3a764000089610f5d565b90505b6117448186610f8c565b9050808a101561175b575f80935093505050611765565b8903925060019150505b965096945050505050565b5f805f6117808989888888611cbe565b905086881015611796575f809250925050611765565b96869003966117a58887610fb4565b9750878110156117bb575f809250925050611765565b8781036117c9818688611034565b9050670de0b6b3a764000081106117f6576117ef6110b7670de0b6b3a764000089610f8c565b905061180e565b61180b6110b7670de0b6b3a764000089610f5d565b90505b6118188186610f8c565b90508981101561182f575f80935093505050611765565b9890980398600198509650505050505050565b5f805f6118528888888888611cec565b90505f61187c670de0b6b3a764000061186b8888610f8c565b6118759190611f98565b8390610f5d565b9050670de0b6b3a764000081106118a9576118a26110b7670de0b6b3a764000089610f5d565b90506118c1565b6118be6110b7670de0b6b3a764000089610f8c565b90505b6118cb8186610f5d565b9050888110156118e2575f809350935050506110fc565b97909703976001975095505050505050565b5f8082136119155760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906119a19084901c610ec3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611b3b57505f919050565b680755bf798b4a1bf1e58212611b64576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611cb474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610ec3565b9695505050505050565b5f611cc98585610fb4565b611ce2611cda866111e9868b610fa0565b859085611034565b611cb49190611f98565b5f611cf78585610fb4565b611ce2611d08866111e9868b610f78565b859085611019565b604051610180810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b5f6101808284031215611d87575f80fd5b611d8f611d10565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f808284036102a0811215611e24575f80fd5b61028080821215611e33575f80fd5b611e3b611d46565b9150611e478686611d76565b825261018085013560208301526101a085013560408301526101c085013560608301526101e0850135608083015261020085013560a083015261022085013560c083015261024085013560e0830152610260850135610100830152909593013593505050565b5f6101808284031215611ebe575f80fd5b610f718383611d76565b5f805f805f8060c08789031215611edd575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a08688031215611f1b575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715611f7157611f71611f3e565b505092915050565b8181035f83128015838313168383128216171561038b5761038b611f3e565b808201808211156106ab576106ab611f3e565b5f600160ff1b8201611fbf57611fbf611f3e565b505f0390565b818103818111156106ab576106ab611f3e565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561200b5761200b611f3e565b50059056fea26469706673582212207d30891a36a0c36041d9662f91afa37ca8b7d83beba8fda2cbd821e451bebe4564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateDistributeExcessIdle(LPMath.DistributeExcessIdleParams,uint256)": "2c03ef68", + "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", + "calculatePresentValue(LPMath.PresentValueParams)": "bf3aa156", + "calculatePresentValueSafe(LPMath.PresentValueParams)": "5a1b419e", + "calculateUpdateLiquiditySafe(uint256,int256,uint256,uint256,int256)": "d0b457ce" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Lib.ts b/packages/hyperdrive-artifacts/src/Lib.ts new file mode 100644 index 000000000..e2f378b6b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Lib.ts @@ -0,0 +1,108 @@ +export const Lib = { + name: 'Lib' as const, + abi: [ + { + "type": "function", + "name": "eq", + "inputs": [ + { + "name": "b1", + "type": "string", + "internalType": "string" + }, + { + "name": "b2", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "eq", + "inputs": [ + { + "name": "b1", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "b2", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "eq", + "inputs": [ + { + "name": "b1", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "b2", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "neq", + "inputs": [ + { + "name": "b1", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "b2", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x61045d610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c806321a4964214610059578063a63c847814610080578063cdb1684014610059578063d37a20ba14610093575b5f80fd5b61006c610067366004610265565b6100a6565b604051901515815260200160405180910390f35b61006c61008e366004610356565b61010a565b61006c6100a1366004610265565b61014f565b5f815183511480156101035750816040516020016100c491906103ce565b60405160208183030381529060405280519060200120836040516020016100eb91906103ce565b60405160208183030381529060405280519060200120145b9392505050565b5f8151835114801561010357508160405160200161012891906103e9565b60405160208183030381529060405280519060200120836040516020016100eb91906103e9565b5f8151835114158061010357508160405160200161016d91906103ce565b604051602081830303815290604052805190602001208360405160200161019491906103ce565b604051602081830303815290604052805190602001201415905092915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156101f1576101f16101b4565b604052919050565b5f82601f830112610208575f80fd5b813567ffffffffffffffff811115610222576102226101b4565b610235601f8201601f19166020016101c8565b818152846020838601011115610249575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215610276575f80fd5b823567ffffffffffffffff8082111561028d575f80fd5b610299868387016101f9565b935060208501359150808211156102ae575f80fd5b506102bb858286016101f9565b9150509250929050565b5f82601f8301126102d4575f80fd5b8135602067ffffffffffffffff8211156102f0576102f06101b4565b8160051b6102ff8282016101c8565b9283528481018201928281019087851115610318575f80fd5b83870192505b8483101561034b5782356001600160a01b038116811461033c575f80fd5b8252918301919083019061031e565b979650505050505050565b5f8060408385031215610367575f80fd5b823567ffffffffffffffff8082111561037e575f80fd5b61038a868387016102c5565b9350602085013591508082111561039f575f80fd5b506102bb858286016102c5565b5f5b838110156103c65781810151838201526020016103ae565b50505f910152565b5f82516103df8184602087016103ac565b9190910192915050565b81515f9082906020808601845b8381101561041b5781516001600160a01b0316855293820193908201906001016103f6565b5092969550505050505056fea264697066735822122069b657e25d7cae19247d26135a6929fd1f24a9f183919c107de600699be4d97864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "eq(address[],address[])": "a63c8478", + "eq(bytes,bytes)": "cdb16840", + "eq(string,string)": "21a49642", + "neq(bytes,bytes)": "d37a20ba" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LiquidationLogic.ts b/packages/hyperdrive-artifacts/src/LiquidationLogic.ts new file mode 100644 index 000000000..a373dc729 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LiquidationLogic.ts @@ -0,0 +1,186 @@ +export const LiquidationLogic = { + name: 'LiquidationLogic' as const, + abi: [ + { + "type": "function", + "name": "CLOSE_FACTOR_HF_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_LIQUIDATION_CLOSE_FACTOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x613499610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c806383c1087d1461004e578063a18964a51461006f578063d246754414610090575b5f80fd5b818015610059575f80fd5b5061006d610068366004613018565b610099565b005b61007e670d2f13f7789f000081565b60405190815260200160405180910390f35b61007e61271081565b6100a1612e80565b6040808301516001600160a01b039081165f908152602089815283822060608701518416835284832060808801519094168352908890529290206100e4826106c9565b61016085018190526100f7908390610894565b6101618989886040518060a00160405280866040518060200160405290815f8201548152505081526020018a5f015181526020018a608001516001600160a01b031681526020018a60c001516001600160a01b031681526020018a60e0015160ff168152506108ec565b5060c08901819052610160890151610180955093508992509050610dae565b8660200187604001886060018381525083815250838152505050506101e281848460405180608001604052808961016001518152602001896040015181526020018960c0015181526020018a61010001516001600160a01b0316815250610e2d565b6101ed868487611195565b60a08801526001600160a01b03908116610120880152908116610100870152908116610140860181905260808701516040516370a0823160e01b815292166004830152906370a0823190602401602060405180830381865afa158015610255573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027991906130fe565b808552610160850151610100860151610120870151606088015160a089015160c08b01516102ae968a96959493929091611292565b60e08701526060860181905260808601919091526040850151036102e85760038201546102e8908290600160a81b900461ffff165f611592565b835160e085015160808601516102fe9190613129565b0361036857600383015461031f908290600160a81b900461ffff165f6115f2565b84608001516001600160a01b031685604001516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b6103728585611646565b6101608401516060808701519086015161039092859290915f611850565b6103a68989838761016001518860600151611b6b565b8460a00151156103c3576103be898989868989611cf3565b6103ce565b6103ce838686611e7b565b60e08401511561057f575f6103e284611f26565b90505f6103fc828760e00151611f8f90919063ffffffff16565b6101408701516080890151604051630ed1279f60e11b81526001600160a01b0391821660048201529293505f92911690631da24f3e90602401602060405180830381865afa158015610450573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047491906130fe565b90508082111561048e576104888184611fcc565b60e08801525b8661014001516001600160a01b031663f866c31989608001518961014001516001600160a01b031663ae1673356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050c919061313c565b8a60e001516040518463ffffffff1660e01b815260040161054e939291906001600160a01b039384168152919092166020820152604081019190915260600190565b5f604051808303815f87803b158015610565575f80fd5b505af1158015610577573d5f803e3d5ffd5b505050505050505b6105b1338561016001516101e00151866060015188606001516001600160a01b031661200e909392919063ffffffff16565b6101608401516101e00151608086015160608601516040516337ecbb3b60e11b81523360048201526001600160a01b0392831660248201526044810191909152911690636fd97676906064015f604051808303815f87803b158015610614575f80fd5b505af1158015610626573d5f803e3d5ffd5b5050505084608001516001600160a01b031685606001516001600160a01b031686604001516001600160a01b03167fe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e00528687606001518860800151338b60a001516040516106b6949392919093845260208401929092526001600160a01b031660408301521515606082015260800190565b60405180910390a4505050505050505050565b6106d1612ef6565b6106d9612ef6565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156107c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ec91906130fe565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa15801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190613157565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036108b4575050565b6108be82826120ad565b6108c8828261218b565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f805f805f806108fe875f0151511590565b1561091a57505f94508493508392508291505f19905081610da1565b6109a96040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156109ed57608088015160ff165f90815260208a90526040902060608901516109da91906122eb565b6101808401526101c08301526101a08201525b87602001518160c001511015610cc65760c08101518851610a0d91612394565b610a215760c08101805160010190526109ed565b60c08101515f90815260208b905260409020546001600160a01b03166102008201819052610a595760c08101805160010190526109ed565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a9083015261018082015115801590610ae15750816101e00151896080015160ff16145b610b5d57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906130fe565b610b64565b8161018001515b825260a082015115801590610b84575060c08201518951610b84916123e6565b15610c7357610ba0896040015182845f01518560200151612434565b6040830181905261010083018051610bb9908390613129565b90525060808901516101e0830151610bd49160ff16906124e5565b1515610240830152608082015115610c2a57816102400151610bfa578160800151610c01565b816101a001515b8260400151610c10919061319e565b8261014001818151610c229190613129565b905250610c33565b60016102208301525b816102400151610c47578160a00151610c4e565b816101c001515b8260400151610c5d919061319e565b8261016001818151610c6f9190613129565b9052505b60c08201518951610c83916124f5565b15610cb557610c9f896040015182845f01518560200151612541565b8261012001818151610cb19190613129565b9052505b5060c08101805160010190526109ed565b8061010001515f03610cd8575f610cf3565b80610100015181610140015181610cf157610cf16131b5565b045b6101408201526101008101515f03610d0b575f610d26565b80610100015181610160015181610d2457610d246131b5565b045b61016082015261012081015115610d6857610d63816101200151610d5d83610160015184610100015161267090919063ffffffff16565b90612694565b610d6b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f805f805f610dc18760800151896126c9565b90925090505f610dd18284613129565b90505f670d2f13f7789f00008811610deb57612710610def565b6113885b90505f610dfc8383612670565b90505f818b6020015111610e14578a60200151610e16565b815b949850929650929450505050505b93509350939050565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152604080516020810190915284548152610e6f906127b5565b151560208601525050501515815281516101c00151610e8d906127b5565b151560608601525050501515604082015280518015610ead575080604001515b60405180604001604052806002815260200161323760f01b81525090610eef5760405162461bcd60e51b8152600401610ee691906131c9565b60405180910390fd5b508060200151158015610f0457508060600151155b60405180604001604052806002815260200161323960f01b81525090610f3d5760405162461bcd60e51b8152600401610ee691906131c9565b5060608201516001600160a01b03161580610f635750670d2f13f7789f00008260400151105b80610fcd575081606001516001600160a01b0316637a5d20ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcd9190613215565b60405180604001604052806002815260200161353960f01b815250906110065760405162461bcd60e51b8152600401610ee691906131c9565b50600384015464ffffffffff428116600160b81b9092041610801561103f5750600383015464ffffffffff428116600160b81b90920416105b60405180604001604052806002815260200161393760f01b815250906110785760405162461bcd60e51b8152600401610ee691906131c9565b50670de0b6b3a764000082604001511060405180604001604052806002815260200161343560f01b815250906110c15760405162461bcd60e51b8152600401610ee691906131c9565b50604080516020810190915284549081905260101c61ffff161580159061110b5750600384015460408051602081019091528654815261110b91600160a81b900461ffff166123e6565b1515608082018190526040805180820190915260028152611a1b60f11b60208201529061114b5760405162461bcd60e51b8152600401610ee691906131c9565b5081602001515f141560405180604001604052806002815260200161343760f01b8152509061118d5760405162461bcd60e51b8152600401610ee691906131c9565b505050505050565b6004820154604080516020808201835285549182905291840151606085015160e08601515f958695869586956001600160a01b0390931694911c61ffff169260ff16156112815760e08901805160ff9081165f90815260208e815260409182902054935182519182019092528d549081905266010000000000009093046001600160a01b031692611230929182169160a89190911c166124e5565b1561126c5760e08a015160ff165f90815260208d90526040902054640100000000900461ffff1693506001600160a01b0381161561126c578092505b6001600160a01b0381161561127f578091505b505b929a90995091975095509350505050565b5f805f6112f3604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405163b3596f0760e01b81526001600160a01b038b8116600483015286169063b3596f0790602401602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906130fe565b815260405163b3596f0760e01b81526001600160a01b038a8116600483015286169063b3596f0790602401602060405180830381865afa1580156113a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c591906130fe565b6020828101919091526040805191820190528c549081905260301c60ff1660c08201526101c08b01515160301c60ff1660a0820181905260c0820151600a90810a60e08401520a61010082015260408051602081019091528c549081905260981c61ffff166101608201526101008101518151611442919061319e565b8160e00151898360200151611457919061319e565b611461919061319e565b61146b9190613230565b6060820181905261147c9087612670565b604082018190528710156114e957610120810187905260e081015160208201516114de9188916114ac919061319e565b61010084015161012085015185516114c4919061319e565b6114ce919061319e565b6114d89190613230565b906127fd565b6101408201526114fd565b604081015161012082015261014081018890525b6101608101511561156f5761012081015161151890876127fd565b816101200151611528919061324f565b6080820181905261016082015161153f9190612670565b6101808201819052610120820151611557919061324f565b81610140015182610180015193509350935050611584565b8061012001518161014001515f935093509350505b985098509895505050505050565b6040805180820190915260028152610dcd60f21b6020820152608083106115cc5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b1b81156115e4578354811784556115ec565b835481191684555b50505050565b6040805180820190915260028152610dcd60f21b60208201526080831061162c5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b81011b81156115e4578354811784556115ec565b80606001518160200151106116f5576101608101516102208101516080840151606084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af11580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e791906130fe565b610160820151602001525050565b60208101511561179c576101608101516102208101516080840151602084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af115801561176d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179191906130fe565b610160820151602001525b80610160015161020001516001600160a01b0316639dc29fac8360800151836020015184606001516117ce919061324f565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303815f875af1158015611815573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118399190613262565b61016083015160a081019190915260c001525b5050565b61187760405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161188b91611fcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161195291600401613284565b606060405180830381865afa15801561196d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119919190613306565b604084015260208301528082526119a790612826565b6001870180546001600160801b03928316600160801b02921691909117905560208101516119d490612826565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151611a0490612826565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152611a429051600160fc1b16151590565b15611af7578215611a9f57611a5683612826565b600987018054601090611a7a908490600160801b90046001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115611af757611aae82612826565b600987018054601090611ad2908490600160801b90046001600160801b0316613358565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805160208101909152835481525f908190611b89908888612892565b50915091508115611cea576001600160a01b0381165f908152602088905260408120600901546101c0860151516001600160801b039091169190611bf49060029060301c60ff16611bda919061324f565b611be590600a613458565b611bef9087613230565b612826565b9050806001600160801b0316826001600160801b031611611c6c576001600160a01b0383165f81815260208b8152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2611ce7565b5f611c778284613358565b6001600160a01b0385165f81815260208d815260409182902060090180546001600160801b0319166001600160801b03959095169485179055905183815292935090917faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2505b50505b50505050505050565b6101408101516040516370a0823160e01b81523360048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6091906130fe565b6101408301516080808601519085015160405163f866c31960e01b81526001600160a01b0392831660048201523360248201526044810191909152929350169063f866c319906064015f604051808303815f87803b158015611dc0575f80fd5b505af1158015611dd2573d5f803e3d5ffd5b50505050805f03611cea57335f90815260208681526040918290208251918201909252855481526004860154611e16918a918a9185916001600160a01b0316612935565b15611e71576003850154611e38908290600160a81b900461ffff1660016115f2565b604080850151905133916001600160a01b0316907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a35b5050505050505050565b5f611e85846106c9565b9050611e918482610894565b60408301516080830151611eab9186918491905f90611850565b61014082015160808085015190840151610100840151604051636b81068560e11b81526001600160a01b0393841660048201523360248201526044810192909252606482015291169063d7020d0a906084015f604051808303815f87803b158015611f14575f80fd5b505af1158015611e71573d5f803e3d5ffd5b60038101545f90600160801b900464ffffffffff16428103611f54575050600101546001600160801b031690565b6001830154611f82906001600160801b0380821691611f7c91600160801b9091041684612b1f565b90611fcc565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611fb1575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b5f81156b019d971e4fe8401e740000001983900484111517611fec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1612050573d5f803e3d5ffd5b5061205a85612b5b565b6120a65760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610ee6565b5050505050565b6101608101511561211b575f6120cd826101600151836102400151612b1f565b90506120e68260e0015182611fcc90919063ffffffff16565b61010083018190526120f790612826565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b80511561184c575f612137826101800151836102400151612bfc565b905061215182610120015182611fcc90919063ffffffff16565b610140830181905261216290612826565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b6121be6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036121cf57505050565b61012082015182516121e091611fcc565b602082015261014082015182516121f691611fcc565b6040820152606082015161026083015161024084015161221e92919064ffffffffff16612c04565b60608201819052604083015161223391611fcc565b80825260208201516080840151604084015161224f9190613129565b612259919061324f565b612263919061324f565b608082018190526101a083015161227a9190612670565b60a08201819052156122e6576122a5611bef8361010001518360a00151611f8f90919063ffffffff16565b6008840180545f906122c19084906001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b81545f90819081908190660100000000000090046001600160a01b031680156123795760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015612352573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237691906130fe565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106123d05760405162461bcd60e51b8152600401610ee691906131c9565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106124225760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b82011c16151590565b5f8061243f85611f26565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926124bc928692911690631da24f3e90602401602060405180830381865afa158015612498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906130fe565b6124c6919061319e565b90508381816124d7576124d76131b5565b04925050505b949350505050565b5f8215801590611f825750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106125315760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906130fe565b905080156125d0576125cd6125c686612d29565b8290611fcc565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa15801561261a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061263e91906130fe565b6126489082613129565b9050612654818561319e565b9050828181612665576126656131b5565b049695505050505050565b5f81156113881983900484111517612686575f80fd5b506127109102611388010490565b5f8115670de0b6b3a7640000600284041904841117156126b2575f80fd5b50670de0b6b3a76400009190910260028204010490565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f9283929116906370a0823190602401602060405180830381865afa158015612717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273b91906130fe565b6102208401516040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa158015612786573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127aa91906130fe565b915091509250929050565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b5f811561271060028404190484111715612815575f80fd5b506127109190910260028204010490565b5f6001600160801b0382111561288e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610ee6565b5090565b5f805f61289e86612d7f565b15612926575f6128ce877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa612dc2565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff169050801561292257600195509093509150610e249050565b5050505b505f9586955085945092505050565b81515f9060d41c64ffffffffff1615612b07575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015612985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a9919061313c565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a08919061313c565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6a919061313c565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015612ad4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af89190613215565b612b05575f915050612b16565b505b612b1386868686612de6565b90505b95945050505050565b5f80612b3264ffffffffff84164261324f565b612b3c908561319e565b6301e13380900490506124dd816b033b2e3c9fd0803ce8000000613129565b5f612b7d565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015612bbc5760208114612bed57612bb77f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f612b61565b611f89565b823b612be457612be47311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014612b61565b60019150611f89565b3d5f803e50505f511515919050565b5f611f828383425b5f80612c1764ffffffffff85168461324f565b9050805f03612c35576b033b2e3c9fd0803ce8000000915050611f82565b5f1981015f808060028511612c4a575f612c4f565b600285035b925066038882915c4000612c638a80611fcc565b81612c7057612c706131b5565b0491506301e13380612c82838b611fcc565b81612c8f57612c8f6131b5565b0490505f82612c9e868861319e565b612ca8919061319e565b6002900490505f8285612cbb888a61319e565b612cc5919061319e565b612ccf919061319e565b60069004905080826301e13380612ce68a8f61319e565b612cf09190613230565b612d06906b033b2e3c9fd0803ce8000000613129565b612d109190613129565b612d1a9190613129565b9b9a5050505050505050505050565b60038101545f90600160801b900464ffffffffff16428103612d57575050600201546001600160801b031690565b6002830154611f82906001600160801b0380821691611f7c91600160801b9091041684612bfc565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168015801590611f825750612dba60018261324f565b161592915050565b81515f9082165f198101198116825b60029190911c908115612b1657600101612dd1565b5f612df3825161ffff1690565b5f03612e0057505f6124dd565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16612e3f575060016124dd565b6040805160208101909152835481525f90612e5b908787612892565b5050905080158015612e765750825160d41c64ffffffffff16155b9695505050505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ef1612ef6565b905290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612f6b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b604051610120810167ffffffffffffffff81118282101715612fc357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114612fdd575f80fd5b50565b8035612feb81612fc9565b919050565b8015158114612fdd575f80fd5b8035612feb81612ff0565b803560ff81168114612feb575f80fd5b5f805f805f8587036101a081121561302e575f80fd5b8635955060208701359450604087013593506060870135925061012080607f198301121561305a575f80fd5b613062612f93565b91506080880135825260a0880135602083015261308160c08901612fe0565b604083015261309260e08901612fe0565b60608301526101006130a5818a01612fe0565b60808401526130b5828a01612ffd565b60a08401526130c76101408a01612fe0565b60c08401526130d96101608a01613008565b60e08401526130eb6101808a01612fe0565b9083015250949793965091945092919050565b5f6020828403121561310e575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156123e0576123e0613115565b5f6020828403121561314c575f80fd5b8151611f8281612fc9565b5f805f806080858703121561316a575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114613193575f80fd5b939692955090935050565b80820281158282048414176123e0576123e0613115565b634e487b7160e01b5f52601260045260245ffd5b5f602080835283518060208501525f5b818110156131f5578581018301518582016040015282016131d9565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215613225575f80fd5b8151611f8281612ff0565b5f8261324a57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156123e0576123e0613115565b5f8060408385031215613273575f80fd5b505080516020909101519092909150565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516132e660e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215613318575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b0381811683821601908082111561335157613351613115565b5092915050565b6001600160801b0382811682821603908082111561335157613351613115565b600181815b808511156133b257815f190482111561339857613398613115565b808516156133a557918102915b93841c939080029061337d565b509250929050565b5f826133c8575060016123e0565b816133d457505f6123e0565b81600181146133ea57600281146133f457613410565b60019150506123e0565b60ff84111561340557613405613115565b50506001821b6123e0565b5060208310610133831016604e8410600b8410161715613433575081810a6123e0565b61343d8383613378565b805f190482111561345057613450613115565b029392505050565b5f611f8283836133ba56fea26469706673582212206146e953a98fe41ffefe6cf16f278f24ca100cff895ccf96c8a512a58bc5d87164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "CLOSE_FACTOR_HF_THRESHOLD()": "a18964a5", + "MAX_LIQUIDATION_CLOSE_FACTOR()": "d2467544", + "executeLiquidationCall(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(address => DataTypes.UserConfigurationMap) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.ExecuteLiquidationCallParams)": "83c1087d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LogExpMath.ts b/packages/hyperdrive-artifacts/src/LogExpMath.ts new file mode 100644 index 000000000..398e00e9b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LogExpMath.ts @@ -0,0 +1,6 @@ +export const LogExpMath = { + name: 'LogExpMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a7ae31eba8cbbe474fc4edb444ce6466d8851b8894c8fabbef6c85fec087fd8b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHBase.ts b/packages/hyperdrive-artifacts/src/LsETHBase.ts new file mode 100644 index 000000000..56e1ddd02 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHBase.ts @@ -0,0 +1,657 @@ +export const LsETHBase = { + name: 'LsETHBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHConversions.ts b/packages/hyperdrive-artifacts/src/LsETHConversions.ts new file mode 100644 index 000000000..8af0d6527 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHConversions.ts @@ -0,0 +1,6 @@ +export const LsETHConversions = { + name: 'LsETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209d5db7ec6980c2d229484aeb5fcc070c9ed0f9de164c153a6930cff2a67f266164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts new file mode 100644 index 000000000..f18509489 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts @@ -0,0 +1,1666 @@ +export const LsETHHyperdrive = { + name: 'LsETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..102dd49c7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const LsETHHyperdriveCoreDeployer = { + name: 'LsETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611d758061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611721806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033a2646970667358221220f7be1875d7e656592ea6a3b3ace152d4e855469045823d2b4f1054c041326c4164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..055ab957c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,818 @@ +export const LsETHHyperdriveDeployerCoordinator = { + name: 'LsETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_river", + "type": "address", + "internalType": "contract IRiverV1" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002864380380620028648339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124176200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124175ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602281526020016123c06022913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a1954906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe4c73455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122029f18a60d511243849abcb02a0025cd8a3816cf62af1871c536db183bf219d1c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget0.ts b/packages/hyperdrive-artifacts/src/LsETHTarget0.ts new file mode 100644 index 000000000..d4cfb1007 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget0.ts @@ -0,0 +1,1932 @@ +export const LsETHTarget0 = { + name: 'LsETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts new file mode 100644 index 000000000..5178682ba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget0Deployer = { + name: 'LsETHTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506141198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c41806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033a2646970667358221220f343c3e7e148a89c09d031cbd59095ac3b96e49cd08ff0ca686758db49ba03d164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget1.ts b/packages/hyperdrive-artifacts/src/LsETHTarget1.ts new file mode 100644 index 000000000..b9a7c8e6e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget1.ts @@ -0,0 +1,990 @@ +export const LsETHTarget1 = { + name: 'LsETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts new file mode 100644 index 000000000..2b94e0446 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget1Deployer = { + name: 'LsETHTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143de8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f06806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033a264697066735822122088b745565ab42bc82166e5baea8efdaa396b7dfcf028a7f8e9575a1b1ba3ade364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget2.ts b/packages/hyperdrive-artifacts/src/LsETHTarget2.ts new file mode 100644 index 000000000..4bb40913d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget2.ts @@ -0,0 +1,1015 @@ +export const LsETHTarget2 = { + name: 'LsETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts new file mode 100644 index 000000000..fb17386ca --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget2Deployer = { + name: 'LsETHTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506144c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ff1806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033a26469706673582212207d73663b82e38f835fb8794382fc090b25d044cc74c8fe28eed3f0b3ec8c31e564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget3.ts b/packages/hyperdrive-artifacts/src/LsETHTarget3.ts new file mode 100644 index 000000000..6628b2412 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget3.ts @@ -0,0 +1,1035 @@ +export const LsETHTarget3 = { + name: 'LsETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts new file mode 100644 index 000000000..bedd84501 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget3Deployer = { + name: 'LsETHTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506144358061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f5d806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033a264697066735822122006df82a14f352728812e93e6a8aeeea346a0378245d399a9901f3c0b3436fadd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget4.ts b/packages/hyperdrive-artifacts/src/LsETHTarget4.ts new file mode 100644 index 000000000..ff0b090f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget4.ts @@ -0,0 +1,1009 @@ +export const LsETHTarget4 = { + name: 'LsETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts new file mode 100644 index 000000000..01c3e1e9d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget4Deployer = { + name: 'LsETHTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506138198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613341806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033a264697066735822122032337d777fe41b5e1cc5afa2bd4c2f65dc91b81f04d5c9aa173e3c8000a2919664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MarketParamsLib.ts b/packages/hyperdrive-artifacts/src/MarketParamsLib.ts new file mode 100644 index 000000000..622754b2a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MarketParamsLib.ts @@ -0,0 +1,6 @@ +export const MarketParamsLib = { + name: 'MarketParamsLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122031444d7f5f1f63ef5c0308d0289cefdf8702fc71a78dac4dac0fda1a01a5652064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MathLib.ts b/packages/hyperdrive-artifacts/src/MathLib.ts new file mode 100644 index 000000000..4569fd42a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MathLib.ts @@ -0,0 +1,6 @@ +export const MathLib = { + name: 'MathLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c912a4a5d188887fc5062ff216a835e09a18a3120d2553727a4195c13a6f99bd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MathUtils.ts b/packages/hyperdrive-artifacts/src/MathUtils.ts new file mode 100644 index 000000000..baa19fc58 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MathUtils.ts @@ -0,0 +1,6 @@ +export const MathUtils = { + name: 'MathUtils' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ba89e29cd8b3564a1696094e98965aba260220cb5dd61b2540ce51ca1b55258264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockAssetId.ts b/packages/hyperdrive-artifacts/src/MockAssetId.ts new file mode 100644 index 000000000..bb4516a49 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockAssetId.ts @@ -0,0 +1,103 @@ +export const MockAssetId = { + name: 'MockAssetId' as const, + abi: [ + { + "type": "function", + "name": "assetIdToName", + "inputs": [ + { + "name": "_id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assetIdToSymbol", + "inputs": [ + { + "name": "_id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "decodeAssetId", + "inputs": [ + { + "name": "_id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "enum AssetId.AssetIdPrefix" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "encodeAssetId", + "inputs": [ + { + "name": "_prefix", + "type": "uint8", + "internalType": "enum AssetId.AssetIdPrefix" + }, + { + "name": "_timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506106978061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633c8c28ad1461004e5780636322c751146100775780638a227c39146100a7578063957462ac146100c8575b5f80fd5b61006161005c366004610418565b6100db565b60405161006e9190610451565b60405180910390f35b610099610085366004610418565b60f881901c916001600160f81b0390911690565b60405161006e929190610497565b6100ba6100b53660046104c1565b6100ee565b60405190815260200161006e565b6100616100d6366004610418565b610104565b60605f6100e783610110565b9392505050565b5f806100fa8484610236565b9150505b92915050565b60605f6100e78361026a565b606060f882901c6001600160f81b0383165f61012b82610366565b90505f83600381111561014057610140610483565b03610172576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061022e565b600183600381111561018657610186610483565b036101b2578060405160200161019c91906104ee565b604051602081830303815290604052935061022e565b60028360038111156101c6576101c6610483565b036101dc578060405160200161019c9190610526565b60038360038111156101f0576101f0610483565b0361022e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b5f6001600160f81b0382111561025f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b606060f882901c6001600160f81b0383165f61028582610366565b90505f83600381111561029a5761029a610483565b036102cc576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061022e565b60018360038111156102e0576102e0610483565b036102f6578060405160200161019c919061055f565b600283600381111561030a5761030a610483565b03610320578060405160200161019c9190610596565b600383600381111561033457610334610483565b0361022e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561040a5761039f600a866105d5565b6103aa9060306105fc565b60f81b8260016103ba848761060f565b6103c4919061060f565b815181106103d4576103d4610622565b60200101906001600160f81b03191690815f1a905350806103f481610636565b91506104039050600a8661064e565b945061038e565b918290030190815292915050565b5f60208284031215610428575f80fd5b5035919050565b5f5b83811015610449578181015183820152602001610431565b50505f910152565b602081525f825180602084015261046f81604085016020870161042f565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52602160045260245ffd5b60408101600484106104b757634e487b7160e01b5f52602160045260245ffd5b9281526020015290565b5f80604083850312156104d2575f80fd5b8235600481106104e0575f80fd5b946020939093013593505050565b700243cb832b9323934bb32902637b7339d1607d1b81525f825161051981601185016020870161042f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161055281601285016020870161042f565b9190910160120192915050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161058981601085016020870161042f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161051981601185016020870161042f565b634e487b7160e01b5f52601260045260245ffd5b5f826105e3576105e36105c1565b500690565b634e487b7160e01b5f52601160045260245ffd5b808201808211156100fe576100fe6105e8565b818103818111156100fe576100fe6105e8565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610647576106476105e8565b5060010190565b5f8261065c5761065c6105c1565b50049056fea26469706673582212205327d1e54afe35ed1ee04f2e4a2093f1fd8b6ffa6ec72da32b2058d26cdba1e264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "assetIdToName(uint256)": "3c8c28ad", + "assetIdToSymbol(uint256)": "957462ac", + "decodeAssetId(uint256)": "6322c751", + "encodeAssetId(uint8,uint256)": "8a227c39" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC20.ts b/packages/hyperdrive-artifacts/src/MockERC20.ts new file mode 100644 index 000000000..ca12d1ea8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC20.ts @@ -0,0 +1,341 @@ +export const MockERC20 = { + name: 'MockERC20' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + }, + { + "name": "decimals_", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50610e2a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f80fd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f80fd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f80fd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109c0565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a95565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610b04565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b3d565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b3d565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109c0565b6104f0565b6101236101d7366004610b56565b610584565b6101296101ea366004610bbb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bec565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bec565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c70565b5060016103758382610c70565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bec565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d44565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d5c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dce565b9392505050565b5f806109038385610de1565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b5f602080835283518060208501525f5b8181101561098557858101830151858201604001528201610969565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109bb575f80fd5b919050565b5f80604083850312156109d1575f80fd5b6109da836109a5565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610a0b575f80fd5b813567ffffffffffffffff80821115610a2657610a266109e8565b604051601f8301601f19908116603f01168101908282118183101715610a4e57610a4e6109e8565b81604052838152866020858801011115610a66575f80fd5b836020870160208301375f602085830101528094505050505092915050565b803560ff811681146109bb575f80fd5b5f805f60608486031215610aa7575f80fd5b833567ffffffffffffffff80821115610abe575f80fd5b610aca878388016109fc565b94506020860135915080821115610adf575f80fd5b50610aec868287016109fc565b925050610afb60408501610a85565b90509250925092565b5f805f60608486031215610b16575f80fd5b610b1f846109a5565b9250610b2d602085016109a5565b9150604084013590509250925092565b5f60208284031215610b4d575f80fd5b6108f0826109a5565b5f805f805f805f60e0888a031215610b6c575f80fd5b610b75886109a5565b9650610b83602089016109a5565b95506040880135945060608801359350610b9f60808901610a85565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215610bcc575f80fd5b610bd5836109a5565b9150610be3602084016109a5565b90509250929050565b600181811c90821680610c0057607f821691505b602082108103610c1e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c6b57805f5260205f20601f840160051c81016020851015610c495750805b601f840160051c820191505b81811015610c68575f8155600101610c55565b50505b505050565b815167ffffffffffffffff811115610c8a57610c8a6109e8565b610c9e81610c988454610bec565b84610c24565b602080601f831160018114610cd1575f8415610cba5750858301515b5f19600386901b1c1916600185901b178555610d28565b5f85815260208120601f198616915b82811015610cff57888601518255948401946001909101908401610ce0565b5085821015610d1c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d5557610d55610d30565b5060010190565b5f808354610d6981610bec565b60018281168015610d815760018114610d9657610dc2565b60ff1984168752821515830287019450610dc2565b875f526020805f205f5b85811015610db95781548a820152908401908201610da0565b50505082870194505b50929695505050505050565b8181038181111561030957610309610d30565b8082018082111561030957610309610d3056fea2646970667358221220295056d0f2f98f7eb1cdc696155c64cd99bd469bddf81f68980e7d4003d74a1664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "initialize(string,string,uint8)": "1624f6c6", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC4626.ts b/packages/hyperdrive-artifacts/src/MockERC4626.ts new file mode 100644 index 000000000..c63cec17e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC4626.ts @@ -0,0 +1,1387 @@ +export const MockERC4626 = { + name: 'MockERC4626' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_asset", + "type": "address", + "internalType": "contract ERC20Mintable" + }, + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_symbol", + "type": "string", + "internalType": "string" + }, + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "_assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x61012060405234801562000011575f80fd5b5060405162002f1138038062002f11833981016040819052620000349162000307565b823081818a8a8a8181846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000a09190620003c2565b5f620000ad848262000475565b506001620000bc838262000475565b5060ff81166080524660a052620000d262000194565b60c0525050506001600160a01b0392831660e0525050600680548483166001600160a01b0319918216811790925560078054938516939091169290921790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a3505050600c9490945542600d5590151561010052600e5550620005bb9350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001c6919062000541565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038116811462000243575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200026a575f80fd5b81516001600160401b038082111562000287576200028762000246565b604051601f8301601f19908116603f01168101908282118183101715620002b257620002b262000246565b8160405283815260209250866020858801011115620002cf575f80fd5b5f91505b83821015620002f25785820183015181830184015290820190620002d3565b5f602085830101528094505050505092915050565b5f805f805f805f60e0888a0312156200031e575f80fd5b87516200032b816200022e565b60208901519097506001600160401b038082111562000348575f80fd5b620003568b838c016200025a565b975060408a01519150808211156200036c575f80fd5b506200037b8a828b016200025a565b95505060608801519350608088015162000395816200022e565b60a08901519093508015158114620003ab575f80fd5b8092505060c0880151905092959891949750929550565b5f60208284031215620003d3575f80fd5b815160ff81168114620003e4575f80fd5b9392505050565b600181811c908216806200040057607f821691505b6020821081036200041f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200047057805f5260205f20601f840160051c810160208510156200044c5750805b601f840160051c820191505b818110156200046d575f815560010162000458565b50505b505050565b81516001600160401b0381111562000491576200049162000246565b620004a981620004a28454620003eb565b8462000425565b602080601f831160018114620004df575f8415620004c75750858301515b5f19600386901b1c1916600185901b17855562000539565b5f85815260208120601f198616915b828110156200050f57888601518255948401946001909101908401620004ee565b50858210156200052d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8083546200055081620003eb565b600182811680156200056b57600181146200058157620005af565b60ff1984168752821515830287019450620005af565b875f526020805f205f5b85811015620005a65781548a8201529084019082016200058b565b50505082870194505b50929695505050505050565b60805160a05160c05160e051610100516128936200067e5f395f81816105c30152818161091601528181610a5701528181610ced01528181610da601528181610ef601528181611375015261145901525f81816104c40152818161089401528181610e6501528181610f4d015281816112d8015281816113cc0152818161151801528181611ac001528181611c4301528181611e4e01528181611ee501528181612033015261217001525f610d8201525f610d5201525f61047001526128935ff3fe608060405234801561000f575f80fd5b506004361061034d575f3560e01c80637a8c63b5116101c9578063ba087652116100fe578063d905777e1161009e578063ea7ca27611610079578063ea7ca276146107fa578063ed0d0efb14610830578063ef8b30f71461084f578063f2fde38b14610862575f80fd5b8063d905777e14610773578063dd62ed3e1461079b578063e688747b146107c5575f80fd5b8063c63d75b6116100d9578063c63d75b6146104fe578063c6e6f5921461073a578063ce96cb771461074d578063d505accf14610760575f80fd5b8063ba087652146106ec578063bf7e214f146106ff578063c53a398514610712575f80fd5b80639dc29fac11610169578063aed3077711610144578063aed3077714610691578063b3d7f6b9146106b3578063b460af94146106c6578063b7009613146106d9575f80fd5b80639dc29fac14610658578063a0712d681461066b578063a9059cbb1461067e575f80fd5b80638da5cb5b116101a45780638da5cb5b14610617578063946058571461062a57806394bf804d1461063d57806395d89b4114610650575f80fd5b80637a8c63b5146105be5780637a9e5e4b146105e55780637ecebe00146105f8575f80fd5b8063313ce5671161029f5780634b5159da1161023f57806367aff4841161021a57806367aff484146105665780636e553f651461057957806370a082311461058c578063728b952b146105ab575f80fd5b80634b5159da146105385780634cdad5061461054b578063679aefce1461055e575f80fd5b806338d52e0f1161027a57806338d52e0f146104bf578063402d267d146104fe57806340c10f191461051257806342966c6814610525575f80fd5b8063313ce5671461046b57806334fcf437146104a45780633644e515146104b7575f80fd5b8063095ea7b31161030a5780630ea9b75b116102e55780630ea9b75b1461043357806318160ddd14610446578063239c70ae1461044f57806323b872dd14610458575f80fd5b8063095ea7b3146103db5780630a28a477146103fe5780630bade8a414610411575f80fd5b806301e1d1141461035157806305f05a941461036c57806306a36aee1461038157806306fdde03146103a057806307a2d13a146103b5578063088a4ed0146103c8575b5f80fd5b610359610875565b6040519081526020015b60405180910390f35b61037f61037a3660046122fb565b610914565b005b61035961038f366004612332565b60096020525f908152604090205481565b6103a861099e565b604051610363919061234d565b6103596103c3366004612399565b610a29565b61037f6103d6366004612399565b610a55565b6103ee6103e93660046123b0565b610ab1565b6040519015158152602001610363565b61035961040c366004612399565b610b1d565b6103ee61041f3660046123f6565b600a6020525f908152604090205460ff1681565b61037f61044136600461241f565b610b3c565b61035960025481565b610359600e5481565b6103ee610466366004612463565b610c11565b6104927f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610363565b61037f6104b2366004612399565b610ceb565b610359610d4f565b6104e67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610363565b61035961050c366004612332565b505f1990565b61037f6105203660046123b0565b610da4565b61037f610533366004612399565b610ef4565b61037f6105463660046124a1565b610fdb565b610359610559366004612399565b61106b565b600c54610359565b61037f6105743660046124bb565b611075565b6103596105873660046124e6565b61113a565b61035961059a366004612332565b60036020525f908152604090205481565b61037f6105b9366004612509565b61114d565b6103ee7f000000000000000000000000000000000000000000000000000000000000000081565b61037f6105f3366004612332565b6111d4565b610359610606366004612332565b60056020525f908152604090205481565b6006546104e6906001600160a01b031681565b610359610638366004612399565b6112b9565b61035961064b3660046124e6565b611353565b6103a8611366565b61037f6106663660046123b0565b611373565b61037f610679366004612399565b611457565b6103ee61068c3660046123b0565b6115a3565b6103ee61069f366004612332565b600f6020525f908152604090205460ff1681565b6103596106c1366004612399565b611606565b6103596106d4366004612535565b611624565b6103ee6106e7366004612569565b611640565b6103596106fa366004612535565b611739565b6007546104e6906001600160a01b031681565b6104e6610720366004612332565b60086020525f90815260409020546001600160a01b031681565b610359610748366004612399565b61174d565b61035961075b366004612332565b61176c565b61037f61076e3660046125ad565b61178d565b610359610781366004612332565b6001600160a01b03165f9081526003602052604090205490565b6103596107a9366004612509565b600460209081525f928352604080842090915290825290205481565b6103ee6107d3366004612616565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6103ee610808366004612647565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61035961083e3660046123f6565b600b6020525f908152604090205481565b61035961085d366004612399565b6119cb565b61037f610870366004612332565b6119d5565b5f61087f42611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190612671565b61090f919061269c565b905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109745761094f335f356001600160e01b031916611b37565b6109745760405162461bcd60e51b815260040161096b906126af565b60405180910390fd5b6001600160a01b03919091165f908152600f60205260409020805460ff1916911515919091179055565b5f80546109aa906126e6565b80601f01602080910402602001604051908101604052809291908181526020018280546109d6906126e6565b8015610a215780601f106109f857610100808354040283529160200191610a21565b820191905f5260205f20905b815481529060010190602001808311610a0457829003601f168201915b505050505081565b6002545f908015610a4c57610a47610a3f610875565b849083611bdd565b610a4e565b825b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610aac57610a90335f356001600160e01b031916611b37565b610aac5760405162461bcd60e51b815260040161096b906126af565b600e55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b0b9086815260200190565b60405180910390a35060015b92915050565b6002545f908015610a4c57610a4781610b34610875565b859190611bf8565b610b51335f356001600160e01b031916611b37565b610b6d5760405162461bcd60e51b815260040161096b9061271e565b8015610b9c576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610bc2565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610c04911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610c6a57610c468382612744565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610c91908490612744565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f8051602061283e83398151915290610cd89087815260200190565b60405180910390a3506001949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015610d4257610d26335f356001600160e01b031916611b37565b610d425760405162461bcd60e51b815260040161096b906126af565b610d4a611c1b565b600c55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610d7f5761090f611caa565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610dfb57610ddf335f356001600160e01b031916611b37565b610dfb5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff16610e6357600e54811115610e635760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d68610e9b83610a29565b6040518263ffffffff1660e01b8152600401610eb991815260200190565b5f604051808303815f87803b158015610ed0575f80fd5b505af1158015610ee2573d5f803e3d5ffd5b50505050610ef08282611d42565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610f4b57610f2f335f356001600160e01b031916611b37565b610f4b5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c68610f8383610a29565b6040518263ffffffff1660e01b8152600401610fa191815260200190565b5f604051808303815f87803b158015610fb8575f80fd5b505af1158015610fca573d5f803e3d5ffd5b50505050610fd83382611d99565b50565b610ff0335f356001600160e01b031916611b37565b61100c5760405162461bcd60e51b815260040161096b9061271e565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b5f610b1782610a29565b61108a335f356001600160e01b031916611b37565b6110a65760405162461bcd60e51b815260040161096b9061271e565b80156110d4576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556110f9565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610c04911515815260200190565b5f611143611c1b565b610a4e8383611df8565b611162335f356001600160e01b031916611b37565b61117e5760405162461bcd60e51b815260040161096b9061271e565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480611266575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061122790339030906001600160e01b03195f351690600401612757565b602060405180830381865afa158015611242573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112669190612784565b61126e575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f6112c382611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611325573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190612671565b610b17919061269c565b5f61135c611c1b565b610a4e8383611ecc565b600180546109aa906126e6565b7f0000000000000000000000000000000000000000000000000000000000000000156113ca576113ae335f356001600160e01b031916611b37565b6113ca5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c6861140283610a29565b6040518263ffffffff1660e01b815260040161142091815260200190565b5f604051808303815f87803b158015611437575f80fd5b505af1158015611449573d5f803e3d5ffd5b50505050610ef08282611d99565b7f0000000000000000000000000000000000000000000000000000000000000000156114ae57611492335f356001600160e01b031916611b37565b6114ae5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff1661151657600e548111156115165760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d6861154e83610a29565b6040518263ffffffff1660e01b815260040161156c91815260200190565b5f604051808303815f87803b158015611583575f80fd5b505af1158015611595573d5f803e3d5ffd5b50505050610fd83382611d42565b335f908152600360205260408120805483919083906115c3908490612744565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f8051602061283e83398151915290610b0b9086815260200190565b6002545f908015610a4c57610a4761161c610875565b849083611bf8565b5f61162d611c1b565b611638848484611f5a565b949350505050565b6001600160a01b038083165f9081526008602052604081205490911680156116d95760405163b700961360e01b81526001600160a01b0382169063b70096139061169290889088908890600401612757565b602060405180830381865afa1580156116ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d19190612784565b915050610a4e565b6001600160e01b031983165f908152600a602052604090205460ff168061173057506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f611742611c1b565b61163884848461205a565b6002545f908015610a4c57610a4781611764610875565b859190611bdd565b6001600160a01b0381165f90815260036020526040812054610b1790610a29565b428410156117dd5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161096b565b5f60016117e8610d4f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156118f0573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119265750876001600160a01b0316816001600160a01b0316145b6119635760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161096b565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f610b178261174d565b6119ea335f356001600160e01b031916611b37565b611a065760405162461bcd60e51b815260040161096b9061271e565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b5f600c545f03611a6257505f919050565b600d54821015611a7357505f919050565b5f611a906301e13380600d5485611a8a9190612744565b90612197565b90505f611638611aab83600c546121ab90919063ffffffff16565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b319190612671565b906121ab565b6007545f906001600160a01b03168015801590611bbe575060405163b700961360e01b81526001600160a01b0382169063b700961390611b7f90879030908890600401612757565b602060405180830381865afa158015611b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbe9190612784565b8061163857506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bf1575f80fd5b5091020490565b5f825f190484118302158202611c0c575f80fd5b50910281810615159190040190565b5f611c2542611a51565b90508015611ca35760405163140e25ad60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a0712d68906024015f604051808303815f87803b158015611c8c575f80fd5b505af1158015611c9e573d5f803e3d5ffd5b505050505b5042600d55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611cda919061279f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f828254611d53919061269c565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f8051602061283e83398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611dc0908490612744565b90915550506002805482900390556040518181525f906001600160a01b038416905f8051602061283e83398151915290602001611d8d565b5f611e02836119cb565b9050805f03611e415760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f53484152455360a81b604482015260640161096b565b611e766001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866121bf565b611e808282611d42565b60408051848152602081018390526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a3610b17565b5f611ed683611606565b9050611f0d6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846121bf565b611f178284611d42565b60408051828152602081018590526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79101611ebf565b5f611f6484610b1d565b9050336001600160a01b03831614611fd1576001600160a01b0382165f9081526004602090815260408083203384529091529020545f198114611fcf57611fab8282612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b611fdb8282611d99565b60408051858152602081018390526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612257565b5f336001600160a01b038316146120c6576001600160a01b0382165f9081526004602090815260408083203384529091529020545f1981146120c4576120a08582612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b6120cf8461106b565b9050805f0361210e5760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f41535345545360a81b604482015260640161096b565b6121188285611d99565b60408051828152602081018690526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483612257565b5f610a4e83670de0b6b3a764000084611bdd565b5f610a4e8383670de0b6b3a7640000611bdd565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f5114161716915050806122505760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b604482015260640161096b565b5050505050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806122d45760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640161096b565b50505050565b6001600160a01b0381168114610fd8575f80fd5b8015158114610fd8575f80fd5b5f806040838503121561230c575f80fd5b8235612317816122da565b91506020830135612327816122ee565b809150509250929050565b5f60208284031215612342575f80fd5b8135610a4e816122da565b5f602080835283518060208501525f5b818110156123795785810183015185820160400152820161235d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156123a9575f80fd5b5035919050565b5f80604083850312156123c1575f80fd5b82356123cc816122da565b946020939093013593505050565b80356001600160e01b0319811681146123f1575f80fd5b919050565b5f60208284031215612406575f80fd5b610a4e826123da565b803560ff811681146123f1575f80fd5b5f805f60608486031215612431575f80fd5b61243a8461240f565b9250612448602085016123da565b91506040840135612458816122ee565b809150509250925092565b5f805f60608486031215612475575f80fd5b8335612480816122da565b92506020840135612490816122da565b929592945050506040919091013590565b5f80604083850312156124b2575f80fd5b612317836123da565b5f805f606084860312156124cd575f80fd5b83356124d8816122da565b92506124486020850161240f565b5f80604083850312156124f7575f80fd5b823591506020830135612327816122da565b5f806040838503121561251a575f80fd5b8235612525816122da565b91506020830135612327816122da565b5f805f60608486031215612547575f80fd5b833592506020840135612559816122da565b91506040840135612458816122da565b5f805f6060848603121561257b575f80fd5b8335612586816122da565b92506020840135612596816122da565b91506125a4604085016123da565b90509250925092565b5f805f805f805f60e0888a0312156125c3575f80fd5b87356125ce816122da565b965060208801356125de816122da565b955060408801359450606088013593506125fa6080890161240f565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612627575f80fd5b6126308361240f565b915061263e602084016123da565b90509250929050565b5f8060408385031215612658575f80fd5b8235612663816122da565b915061263e6020840161240f565b5f60208284031215612681575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610b1757610b17612688565b6020808252601b908201527f4d6f636b455243343632363a206e6f7420617574686f72697a65640000000000604082015260600190565b600181811c908216806126fa57607f821691505b60208210810361271857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b81810381811115610b1757610b17612688565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215612794575f80fd5b8151610a4e816122ee565b5f8083545f60018260011c915060018316806127bc57607f831692505b602080841082036127db57634e487b7160e01b5f52602260045260245ffd5b8180156127ef57600181146128045761282f565b60ff198616895284151585028901965061282f565b5f8a8152602090205f5b868110156128275781548b82015290850190830161280e565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b220b2d5d9ce4fd8847df228ec894fd939f3199032d19ba586c75609726f1c8364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getRate()": "679aefce", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxMintAmount()": "239c70ae", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalAssets(uint256)": "94605857", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "withdraw(uint256,address,address)": "b460af94" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts b/packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts new file mode 100644 index 000000000..a7d449f90 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts @@ -0,0 +1,1822 @@ +export const MockERC4626Hyperdrive = { + name: 'MockERC4626Hyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "sharesMinted", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pricePerVaultShare", + "inputs": [], + "outputs": [ + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_sharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "amountWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620025c9380380620025c98339810160408190526200003491620006be565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890889088908890889088908890889088906200010a898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b5162000150955090911692509050600162000166565b5050505050505050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001c090859083906200023116565b6200022b57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021f918691620002db16565b6200022b8482620002db565b50505050565b5f805f846001600160a01b0316846040516200024e919062000934565b5f604051808303815f865af19150503d805f811462000289576040519150601f19603f3d011682016040523d82523d5f602084013e6200028e565b606091505b5091509150818015620002bc575080511580620002bc575080806020019051810190620002bc919062000951565b8015620002d257505f856001600160a01b03163b115b95945050505050565b5f620002f16001600160a01b038416836200034c565b905080515f141580156200031857508080602001905181019062000316919062000951565b155b156200034757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035b83835f62000362565b9392505050565b606081471015620003895760405163cd78605960e01b81523060048201526024016200033e565b5f80856001600160a01b03168486604051620003a6919062000934565b5f6040518083038185875af1925050503d805f8114620003e2576040519150601f19603f3d011682016040523d82523d5f602084013e620003e7565b606091505b509092509050620003fa86838362000404565b9695505050505050565b6060826200041d57620004178262000468565b6200035b565b81511580156200043557506001600160a01b0384163b155b156200046057604051639996b31560e01b81526001600160a01b03851660048201526024016200033e565b50806200035b565b805115620004795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004cc57620004cc62000492565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004fd57620004fd62000492565b604052919050565b5f5b838110156200052157818101518382015260200162000507565b50505f910152565b80516001600160a01b038116811462000540575f80fd5b919050565b5f6080828403121562000556575f80fd5b604051608081016001600160401b03811182821017156200057b576200057b62000492565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005be575f80fd5b620005c8620004a6565b9050620005d58262000529565b8152620005e56020830162000529565b6020820152620005f86040830162000529565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200066381840162000529565b908201526101806200067783820162000529565b908201526101a06200068b83820162000529565b908201526101c06200069f83820162000529565b908201526101e0620006b48484830162000545565b9082015292915050565b5f805f805f805f80610340898b031215620006d7575f80fd5b88516001600160401b0380821115620006ee575f80fd5b818b0191508b601f83011262000702575f80fd5b81518181111562000717576200071762000492565b6200072c601f8201601f1916602001620004d2565b91508082528c602082850101111562000743575f80fd5b6200075681602084016020860162000505565b5098506200076a90508a60208b01620005ac565b96506200077b6102808a0162000529565b95506200078c6102a08a0162000529565b94506200079d6102c08a0162000529565b9350620007ae6102e08a0162000529565b9250620007bf6103008a0162000529565b9150620007d06103208a0162000529565b90509295985092959890939650565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200034757805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000492565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200094781846020870162000505565b9190910192915050565b5f6020828403121562000962575f80fd5b815180151581146200035b575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611afb62000ace5f395f8181610646015281816106b001526107a701525f81816105ad015281816107d6015261083301525f818161056701526109f701525f8181610613015261074501525f81816101eb015281816103a301528181610681015281816106e20152818161071401528181610778015281816108090152818161087b015281816109b00152610a3801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f8181610cbc01528181610d3501528181610dc001528181610e0b01528181610eeb01528181611016015261104301525f8181610c8f01528181610cf001528181610e530152610f820152611afb5ff3fe6080604052600436106101d7575f3560e01c80639032c72611610101578063d899e11211610094578063e44808bc11610063578063e44808bc146105e3578063eac3e79914610602578063f3f7070714610635578063f698da2514610668576101d7565b8063d899e1121461059c578063daaa35fe146105cf578063dbbe807014610589578063ded06231146103dd576101d7565b8063a6e8a859116100d0578063a6e8a85914610556578063ab033ea9146102e0578063cba2e58d14610589578063cbc134341461031b576101d7565b80639032c726146104f95780639cd241af14610518578063a22cb465146104a8578063a314453114610537576101d7565b806330adf81f116101795780634ed2d6ac116101485780634ed2d6ac1461048e5780637180c8ca146104a857806377d05ff4146104c7578063829555d4146104da576101d7565b806330adf81f1461040a5780633e691db91461043d578063414f826d1461045c5780634c2ac1d91461047b576101d7565b806317fad7fc116101b557806317fad7fc146103545780631c0f12b61461037357806321b57d531461039257806329b23fc1146103dd576101d7565b806301681a62146102e057806302329a2914610301578063074a6de91461031b575b3480156101e2575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161022392919061144f565b5f60405180830381855af49150503d805f811461025b576040519150601f19603f3d011682016040523d82523d5f602084013e610260565b606091505b5091509150811561028457604051638bb0a34b60e01b815260040160405180910390fd5b5f61028e8261145e565b90506001600160e01b03198116636e64089360e11b146102b057815160208301fd5b8151600319810160048401908152926102d1918101602001906024016114cb565b80519650602001945050505050f35b3480156102eb575f80fd5b506102ff6102fa366004611587565b61067c565b005b34801561030c575f80fd5b506102ff6102fa3660046115af565b348015610326575f80fd5b5061033a6103353660046115da565b6106a9565b604080519283526020830191909152015b60405180910390f35b34801561035f575f80fd5b506102ff61036e366004611667565b6106dd565b34801561037e575f80fd5b506102ff61038d3660046116f6565b61070f565b34801561039d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034b565b3480156103e8575f80fd5b506103fc6103f736600461173b565b61073f565b60405190815260200161034b565b348015610415575f80fd5b506103fc7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610448575f80fd5b506103fc610457366004611791565b610772565b348015610467575f80fd5b506102ff6104763660046117cb565b6107a2565b6103fc6104893660046117eb565b6107d0565b348015610499575f80fd5b506102ff61038d36600461184a565b3480156104b3575f80fd5b506102ff6104c2366004611891565b610804565b6103fc6104d53660046115da565b61082d565b3480156104e5575f80fd5b5061033a6104f43660046118c8565b61085f565b348015610504575f80fd5b506102ff61051336600461190c565b610877565b348015610523575f80fd5b506102ff610532366004611986565b6109ab565b348015610542575f80fd5b506103fc6105513660046115da565b6109da565b348015610561575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b61033a61059736600461173b565b6109f0565b3480156105a7575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156105da575f80fd5b506103fc610a25565b3480156105ee575f80fd5b506102ff6105fd3660046119bb565b610a33565b34801561060d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610640575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610673575f80fd5b506103fc610a64565b6106a57f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050565b5f806106d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50935093915050565b6107067f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050505050565b6107387f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050505050565b5f6107697f0000000000000000000000000000000000000000000000000000000000000000610af2565b50949350505050565b5f61079c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b50919050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050565b5f6107fa7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5095945050505050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5f6108577f0000000000000000000000000000000000000000000000000000000000000000610af2565b509392505050565b5f8061086b8484610b10565b915091505b9250929050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108ab610a64565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109549190611a16565b5f60405180830381855af49150503d805f811461098c576040519150601f19603f3d011682016040523d82523d5f602084013e610991565b606091505b5091509150816109a357805160208201fd5b805160208201f35b6109d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050565b5f6109e6848484610be0565b90505b9392505050565b5f80610a1b7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5094509492505050565b5f610a2e610c6e565b905090565b610a5c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095492919061144f565b815f80610b2360408501602086016115af565b15610b4857610b3e85610b396040870187611a31565b610c80565b9093509050610b60565b5034610b6085610b5b6040870187611a31565b610db3565b610b68610c6e565b91508015610bd8576040515f90339083908381818185875af1925050503d805f8114610baf576040519150601f19603f3d011682016040523d82523d5f602084013e610bb4565b606091505b5050905080610bd6576040516312171d8360e31b815260040160405180910390fd5b505b509250929050565b5f80610bec8585610de8565b9050610bf781610e05565b9450845f03610c09575f9150506109e9565b849150610c1c60408401602085016115af565b15610c4b57610c4485610c326020860186611587565b610c3f6040870187611a31565b610e30565b9150610857565b61085785610c5c6020860186611587565b610c696040870187611a31565b611009565b5f610a2e670de0b6b3a764000061103d565b5f80610cb76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611068565b610d177f0000000000000000000000000000000000000000000000000000000000000000610ce6876001611a74565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110cf565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015610d83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da79190611a93565b965f9650945050505050565b6107cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611068565b5f610dfc8383670de0b6b3a764000061115e565b90505b92915050565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611179565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc9190611a93565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190611a93565b9150610f638282611a74565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610fc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190611a93565b146107695760405163350b944160e11b815260040160405180910390fd5b6109d46001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866111e3565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611214565b6040516001600160a01b0384811660248301528381166044830152606482018390526109d49186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611243565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261112084826112a9565b6109d4576040516001600160a01b0384811660248301525f604483015261115491869182169063095ea7b39060640161109d565b6109d48482611243565b5f825f190484118302158202611172575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024015b602060405180830381865afa1580156111bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfc9190611a93565b6040516001600160a01b038381166024830152604482018390526107cb91859182169063a9059cbb9060640161109d565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024016111a4565b5f6112576001600160a01b0384168361134a565b905080515f1415801561127b5750808060200190518101906112799190611aaa565b155b156107cb57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516112c49190611a16565b5f604051808303815f865af19150503d805f81146112fd576040519150601f19603f3d011682016040523d82523d5f602084013e611302565b606091505b509150915081801561132c57508051158061132c57508080602001905181019061132c9190611aaa565b801561134157505f856001600160a01b03163b115b95945050505050565b6060610dfc83835f845f80856001600160a01b0316848660405161136e9190611a16565b5f6040518083038185875af1925050503d805f81146113a8576040519150601f19603f3d011682016040523d82523d5f602084013e6113ad565b606091505b50915091506113bd8683836113c7565b9695505050505050565b6060826113dc576113d782611423565b6109e9565b81511580156113f357506001600160a01b0384163b155b1561141c57604051639996b31560e01b81526001600160a01b03851660048201526024016112a0565b50806109e9565b8051156114335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b818382375f9101908152919050565b805160208201516001600160e01b0319808216929190600483101561148d5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156114c35781810151838201526020016114ab565b50505f910152565b5f602082840312156114db575f80fd5b815167ffffffffffffffff808211156114f2575f80fd5b818401915084601f830112611505575f80fd5b81518181111561151757611517611495565b604051601f8201601f19908116603f0116810190838211818310171561153f5761153f611495565b81604052828152876020848701011115611557575f80fd5b6115688360208301602088016114a9565b979650505050505050565b6001600160a01b038116811461144c575f80fd5b5f60208284031215611597575f80fd5b81356109e981611573565b801515811461144c575f80fd5b5f602082840312156115bf575f80fd5b81356109e9816115a2565b5f6060828403121561079c575f80fd5b5f805f606084860312156115ec575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115611610575f80fd5b61161c868287016115ca565b9150509250925092565b5f8083601f840112611636575f80fd5b50813567ffffffffffffffff81111561164d575f80fd5b6020830191508360208260051b8501011115610870575f80fd5b5f805f805f806080878903121561167c575f80fd5b863561168781611573565b9550602087013561169781611573565b9450604087013567ffffffffffffffff808211156116b3575f80fd5b6116bf8a838b01611626565b909650945060608901359150808211156116d7575f80fd5b506116e489828a01611626565b979a9699509497509295939492505050565b5f805f8060808587031215611709575f80fd5b84359350602085013561171b81611573565b9250604085013561172b81611573565b9396929550929360600135925050565b5f805f806080858703121561174e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115611779575f80fd5b611785878288016115ca565b91505092959194509250565b5f602082840312156117a1575f80fd5b813567ffffffffffffffff8111156117b7575f80fd5b6117c3848285016115ca565b949350505050565b5f80604083850312156117dc575f80fd5b50508035926020909101359150565b5f805f805f60a086880312156117ff575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115611831575f80fd5b61183d888289016115ca565b9150509295509295909350565b5f805f806080858703121561185d575f80fd5b84359350602085013561186f81611573565b925060408501359150606085013561188681611573565b939692955090935050565b5f80604083850312156118a2575f80fd5b82356118ad81611573565b915060208301356118bd816115a2565b809150509250929050565b5f80604083850312156118d9575f80fd5b82359150602083013567ffffffffffffffff8111156118f6575f80fd5b611902858286016115ca565b9150509250929050565b5f805f805f805f60e0888a031215611922575f80fd5b873561192d81611573565b9650602088013561193d81611573565b9550604088013561194d816115a2565b945060608801359350608088013560ff81168114611969575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611998575f80fd5b8335925060208401356119aa81611573565b929592945050506040919091013590565b5f805f805f60a086880312156119cf575f80fd5b8535945060208601356119e181611573565b935060408601356119f181611573565b9250606086013591506080860135611a0881611573565b809150509295509295909350565b5f8251611a278184602087016114a9565b9190910192915050565b5f808335601e19843603018112611a46575f80fd5b83018035915067ffffffffffffffff821115611a60575f80fd5b602001915036819003821315610870575f80fd5b80820180821115610dff57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215611aa3575f80fd5b5051919050565b5f60208284031215611aba575f80fd5b81516109e9816115a256fea26469706673582212207c231f2cb3620baef7f333a17ff482b4f7b89048663d79acd00d77967563590964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "deposit(uint256,(address,bool,bytes))": "829555d4", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "pricePerVaultShare()": "daaa35fe", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "withdraw(uint256,uint256,(address,bool,bytes))": "a3144531" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC721.ts b/packages/hyperdrive-artifacts/src/MockERC721.ts new file mode 100644 index 000000000..6f02b5cdb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC721.ts @@ -0,0 +1,370 @@ +export const MockERC721 = { + name: 'MockERC721' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50610f1d8061001d5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f80fd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f80fd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b50610125610322565b6040516101089190610a6d565b34801561013d575f80fd5b5061016661014c366004610a7f565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610aac565b6103b1565b005b6101916101a1366004610ad4565b610495565b6101916101b4366004610ad4565b610688565b3480156101c4575f80fd5b506101916101d3366004610bb2565b610773565b3480156101e3575f80fd5b506101666101f2366004610a7f565b6107e6565b348015610202575f80fd5b50610216610211366004610c12565b61083c565b604051908152602001610108565b34801561022f575f80fd5b5061012561089d565b348015610243575f80fd5b50610191610252366004610c2b565b6108ac565b610191610265366004610c64565b610917565b348015610275575f80fd5b50610125610284366004610a7f565b50606090565b348015610295575f80fd5b506100fc6102a4366004610cdb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d0c565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d0c565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d58565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d6d565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d85565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610deb565b5060016107d48282610deb565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d0c565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610eab565b6020604051808303815f875af115801561097b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d85565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f80fd5b50565b5f60208284031215610a18575f80fd5b8135610a23816109f0565b9392505050565b5f81518084525f5b81811015610a4e57602081850181015186830182015201610a32565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a8f575f80fd5b5035919050565b80356001600160a01b0381168114610837575f80fd5b5f8060408385031215610abd575f80fd5b610ac683610a96565b946020939093013593505050565b5f805f60608486031215610ae6575f80fd5b610aef84610a96565b9250610afd60208501610a96565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115610b3b57610b3b610b0d565b604051601f8501601f19908116603f01168101908282118183101715610b6357610b63610b0d565b81604052809350858152868686011115610b7b575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112610ba3575f80fd5b610a2383833560208501610b21565b5f8060408385031215610bc3575f80fd5b823567ffffffffffffffff80821115610bda575f80fd5b610be686838701610b94565b93506020850135915080821115610bfb575f80fd5b50610c0885828601610b94565b9150509250929050565b5f60208284031215610c22575f80fd5b610a2382610a96565b5f8060408385031215610c3c575f80fd5b610c4583610a96565b915060208301358015158114610c59575f80fd5b809150509250929050565b5f805f8060808587031215610c77575f80fd5b610c8085610a96565b9350610c8e60208601610a96565b925060408501359150606085013567ffffffffffffffff811115610cb0575f80fd5b8501601f81018713610cc0575f80fd5b610ccf87823560208401610b21565b91505092959194509250565b5f8060408385031215610cec575f80fd5b610cf583610a96565b9150610d0360208401610a96565b90509250929050565b600181811c90821680610d2057607f821691505b602082108103610d3e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d6657610d66610d44565b505f190190565b5f60018201610d7e57610d7e610d44565b5060010190565b5f60208284031215610d95575f80fd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dc55750805b601f840160051c820191505b81811015610de4575f8155600101610dd1565b5050505050565b815167ffffffffffffffff811115610e0557610e05610b0d565b610e1981610e138454610d0c565b84610da0565b602080601f831160018114610e4c575f8415610e355750858301515b5f19600386901b1c1916600185901b178555610ea3565b5f85815260208120601f198616915b82811015610e7a57888601518255948401946001909101908401610e5b565b5085821015610e9757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610edd90830184610a2a565b969550505050505056fea264697066735822122015ab2d91ba179a98a4548c58a6a84336822568110fb4d83426b6684c7e80d96d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "initialize(string,string)": "4cd88b76", + "isApprovedForAll(address,address)": "e985e9c5", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockEzEthPool.ts b/packages/hyperdrive-artifacts/src/MockEzEthPool.ts new file mode 100644 index 000000000..176b7f65d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockEzEthPool.ts @@ -0,0 +1,1351 @@ +export const MockEzEthPool = { + name: 'MockEzEthPool' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "calculateMintAmount", + "inputs": [ + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_newValueAdded", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateRedeemAmount", + "inputs": [ + { + "name": "_ezETHBeingBurned", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateTVLs", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256[][]", + "internalType": "uint256[][]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositETH", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBufferedEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPooledEthByShares", + "inputs": [ + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSharesByPooledEth", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lookupTokenAmountFromValue", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lookupTokenValue", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lookupTokenValues", + "inputs": [ + { + "name": "", + "type": "address[]", + "internalType": "contract IERC20[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "InvalidTokenAmount", + "inputs": [] + } +] as const, + bytecode: '0x61010060405234801562000011575f80fd5b5060405162002ab338038062002ab383398101604081905262000034916200020b565b6040518060400160405280600b81526020016a0a4cadcf4de40caf48aa8960ab1b815250604051806040016040528060058152602001640caf48aa8960db1b815250601285858582308181898989825f908162000092919062000302565b506001620000a1838262000302565b5060ff81166080524660a052620000b762000171565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f5550620004489050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a39190620003ce565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f80608085870312156200021f575f80fd5b845160208601519094506001600160a01b03811681146200023e575f80fd5b6040860151909350801515811462000254575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028d57607f821691505b602082108103620002ac57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002fd57805f5260205f20601f840160051c81016020851015620002d95750805b601f840160051c820191505b81811015620002fa575f8155600101620002e5565b50505b505050565b81516001600160401b038111156200031e576200031e62000264565b62000336816200032f845462000278565b84620002b2565b602080601f8311600181146200036c575f8415620003545750858301515b5f19600386901b1c1916600185901b178555620003c6565b5f85815260208120601f198616915b828110156200039c578886015182559484019460019091019084016200037b565b5085821015620003ba57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003dd8162000278565b60018281168015620003f857600181146200040e576200043c565b60ff19841687528215158302870194506200043c565b875f526020805f205f5b85811015620004335781548a82015290840190820162000418565b50505082870194505b50929695505050505050565b60805160a05160c05160e051612606620004ad5f395f818161072d01528181610b2e01528181610c3a01528181610ed001528181610fa4015281816110410152818161148f01526114f001525f610f6a01525f610f3501525f61054d01526126065ff3fe608060405260043610610370575f3560e01c80637a28fb88116101c8578063b7009613116100fd578063dd62ed3e1161009d578063f2fde38b1161006d578063f2fde38b14610a6a578063f5eb42dc14610a89578063f6326fb314610aa8578063ff9969cd14610ab0575f80fd5b8063dd62ed3e14610986578063e688747b146109bc578063ea7ca276146109fd578063ed0d0efb14610a3f575f80fd5b8063c53a3985116100d8578063c53a398514610900578063c5c83cb014610934578063d5002f2e14610953578063d505accf14610967575f80fd5b8063b7009613146108a8578063ba28a571146108c7578063bf7e214f146108e1575f80fd5b80638fcb4e5b11610168578063a0712d6811610143578063a0712d6814610829578063a1903eab14610848578063a9059cbb1461085b578063aed307771461087a575f80fd5b80638fcb4e5b146107d757806395d89b41146107f65780639dc29fac1461080a575f80fd5b80637ecebe00116101a35780637ecebe001461076e578063892866a4146104ae5780638da5cb5b146107995780638f686e6a146107b8575f80fd5b80637a28fb88146106fd5780637a8c63b51461071c5780637a9e5e4b1461074f575f80fd5b806334fcf437116102a957806347b714e01161024957806369415b861161021957806369415b861461067f5780636d7804591461069457806370a08231146106b3578063728b952b146106de575f80fd5b806347b714e01461061b5780634b5159da1461062d578063679aefce1461064c57806367aff48414610660575f80fd5b806337cfdaca1161028457806337cfdaca146105b45780633a98ef39146105c857806340c10f19146105dd57806342966c68146105fc575f80fd5b806334fcf437146105815780633644e515146105a05780633793362514610374575f80fd5b80630ea9b75b1161031457806319208451116102ef57806319208451146104e9578063239c70ae1461050857806323b872dd1461051d578063313ce5671461053c575f80fd5b80630ea9b75b1461048f57806313a73c78146104ae57806318160ddd146104d4575f80fd5b806306fdde031161034f57806306fdde03146103f2578063088a4ed014610413578063095ea7b3146104325780630bade8a414610461575f80fd5b806252e3fd1461037457806305f05a94146103a657806306a36aee146103c7575b5f80fd5b34801561037f575f80fd5b5061039361038e366004611de7565b610ad3565b6040519081526020015b60405180910390f35b3480156103b1575f80fd5b506103c56103c0366004611e1e565b610b2c565b005b3480156103d2575f80fd5b506103936103e1366004611e55565b60096020525f908152604090205481565b3480156103fd575f80fd5b50610406610bad565b60405161039d9190611e70565b34801561041e575f80fd5b506103c561042d366004611ebc565b610c38565b34801561043d575f80fd5b5061045161044c366004611de7565b610c94565b604051901515815260200161039d565b34801561046c575f80fd5b5061045161047b366004611eef565b600a6020525f908152604090205460ff1681565b34801561049a575f80fd5b506103c56104a9366004611f18565b610d00565b3480156104b9575f80fd5b50305b6040516001600160a01b03909116815260200161039d565b3480156104df575f80fd5b5061039360025481565b3480156104f4575f80fd5b50610393610503366004611ebc565b610dd5565b348015610513575f80fd5b50610393600c5481565b348015610528575f80fd5b50610451610537366004611f5c565b610df2565b348015610547575f80fd5b5061056f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161039d565b34801561058c575f80fd5b506103c561059b366004611ebc565b610ece565b3480156105ab575f80fd5b50610393610f32565b3480156105bf575f80fd5b50610393610f8c565b3480156105d3575f80fd5b5061039360115481565b3480156105e8575f80fd5b506103c56105f7366004611de7565b610fa2565b348015610607575f80fd5b506103c5610616366004611ebc565b61103f565b348015610626575f80fd5b505f610393565b348015610638575f80fd5b506103c5610647366004611f9a565b6110a3565b348015610657575f80fd5b50600e54610393565b34801561066b575f80fd5b506103c561067a366004611fb4565b611133565b34801561068a575f80fd5b5061039360105481565b34801561069f575f80fd5b506103936106ae366004611f5c565b6111f8565b3480156106be575f80fd5b506103936106cd366004611e55565b60036020525f908152604090205481565b3480156106e9575f80fd5b506103c56106f8366004611fdf565b61122e565b348015610708575f80fd5b50610393610717366004611ebc565b6112b5565b348015610727575f80fd5b506104517f000000000000000000000000000000000000000000000000000000000000000081565b34801561075a575f80fd5b506103c5610769366004611e55565b6112c9565b348015610779575f80fd5b50610393610788366004611e55565b60056020525f908152604090205481565b3480156107a4575f80fd5b506006546104bc906001600160a01b031681565b3480156107c3575f80fd5b506103936107d236600461200b565b6113ae565b3480156107e2575f80fd5b506103936107f1366004611de7565b611457565b348015610801575f80fd5b50610406611480565b348015610815575f80fd5b506103c5610824366004611de7565b61148d565b348015610834575f80fd5b506103c5610843366004611ebc565b6114ee565b610393610856366004611e55565b611587565b348015610866575f80fd5b50610451610875366004611de7565b61160e565b348015610885575f80fd5b50610451610894366004611e55565b600d6020525f908152604090205460ff1681565b3480156108b3575f80fd5b506104516108c2366004612034565b611671565b3480156108d2575f80fd5b5061039361038e36600461214c565b3480156108ec575f80fd5b506007546104bc906001600160a01b031681565b34801561090b575f80fd5b506104bc61091a366004611e55565b60086020525f90815260409020546001600160a01b031681565b34801561093f575f80fd5b5061039361094e36600461200b565b61176a565b34801561095e575f80fd5b50601154610393565b348015610972575f80fd5b506103c5610981366004612208565b6117ab565b348015610991575f80fd5b506103936109a0366004611fdf565b600460209081525f928352604080842090915290825290205481565b3480156109c7575f80fd5b506104516109d6366004612271565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610a08575f80fd5b50610451610a173660046122a2565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610a4a575f80fd5b50610393610a59366004611eef565b600b6020525f908152604090205481565b348015610a75575f80fd5b506103c5610a84366004611e55565b6119e9565b348015610a94575f80fd5b50610393610aa3366004611e55565b611a65565b6103c5611a99565b348015610abb575f80fd5b50610ac4611ae1565b60405161039d93929190612306565b60405162461bcd60e51b815260206004820152602160248201527f6c6f6f6b7570546f6b656e56616c75653a204e6f7420496d706c656d656e74656044820152601960fa1b60648201525f906084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b8357610b67335f356001600160e01b031916611b0e565b610b835760405162461bcd60e51b8152600401610b2390612383565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f8054610bb9906123ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610be5906123ba565b8015610c305780601f10610c0757610100808354040283529160200191610c30565b820191905f5260205f20905b815481529060010190602001808311610c1357829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610c8f57610c73335f356001600160e01b031916611b0e565b610c8f5760405162461bcd60e51b8152600401610b2390612383565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cee9086815260200190565b60405180910390a35060015b92915050565b610d15335f356001600160e01b031916611b0e565b610d315760405162461bcd60e51b8152600401610b23906123f2565b8015610d60576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610d86565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610dc8911515815260200190565b60405180910390a3505050565b5f610cfa610de260115490565b610dea610f8c565b849190611bb4565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610e4b57610e27838261242c565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610e7290849061242c565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206125b183398151915290610eb99087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610f2557610f09335f356001600160e01b031916611b0e565b610f255760405162461bcd60e51b8152600401610b2390612383565b610f2d611bcf565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610f6757610f62611bfe565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610f95611c96565b601054610f62919061243f565b7f000000000000000000000000000000000000000000000000000000000000000015610ff957610fdd335f356001600160e01b031916611b0e565b610ff95760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661103157600c548111156110315760405162461bcd60e51b8152600401610b2390612452565b61103b8282611cf5565b5050565b7f0000000000000000000000000000000000000000000000000000000000000000156110965761107a335f356001600160e01b031916611b0e565b6110965760405162461bcd60e51b8152600401610b2390612383565b6110a03382611d4c565b50565b6110b8335f356001600160e01b031916611b0e565b6110d45760405162461bcd60e51b8152600401610b23906123f2565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b611148335f356001600160e01b031916611b0e565b6111645760405162461bcd60e51b8152600401610b23906123f2565b8015611192576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556111b7565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610dc8911515815260200190565b5f611201611bcf565b5f61121861120d610f8c565b601154859190611bb4565b9050611225858583610df2565b50949350505050565b611243335f356001600160e01b031916611b0e565b61125f5760405162461bcd60e51b8152600401610b23906123f2565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f610cfa6112c1610f8c565b601154610dea565b6006546001600160a01b031633148061135b575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061131c90339030906001600160e01b03195f351690600401612494565b602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906124c1565b611363575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f8315806113ba575081155b156113c6575081610ec7565b5f6113d1848661243f565b6113e385670de0b6b3a76400006124dc565b6113ed91906124f3565b90505f61140282670de0b6b3a764000061242c565b611414670de0b6b3a7640000866124dc565b61141e91906124f3565b90505f61142b858361242c565b9050805f0361144d57604051632160733960e01b815260040160405180910390fd5b9695505050505050565b5f611460611bcf565b5f61146c61120d610f8c565b9050611478848261160e565b509392505050565b60018054610bb9906123ba565b7f0000000000000000000000000000000000000000000000000000000000000000156114e4576114c8335f356001600160e01b031916611b0e565b6114e45760405162461bcd60e51b8152600401610b2390612383565b61103b8282611d4c565b7f00000000000000000000000000000000000000000000000000000000000000001561154557611529335f356001600160e01b031916611b0e565b6115455760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661157d57600c5481111561157d5760405162461bcd60e51b8152600401610b2390612452565b6110a03382611cf5565b5f611590611bcf565b6011545f036115b65734601181905560108190556115af903390611cf5565b5034919050565b5f6115d36115c360115490565b6115cb610f8c565b349190611bb4565b90503460105f8282546115e6919061243f565b925050819055508060115f8282546115fe919061243f565b90915550610cfa90503334611cf5565b335f9081526003602052604081208054839190839061162e90849061242c565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206125b183398151915290610cee9086815260200190565b6001600160a01b038083165f90815260086020526040812054909116801561170a5760405163b700961360e01b81526001600160a01b0382169063b7009613906116c390889088908890600401612494565b602060405180830381865afa1580156116de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170291906124c1565b915050610ec7565b6001600160e01b031983165f908152600a602052604090205460ff168061176157506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f808361177786856124dc565b61178191906124f3565b9050805f036117a357604051632160733960e01b815260040160405180910390fd5b949350505050565b428410156117fb5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610b23565b5f6001611806610f32565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561190e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119445750876001600160a01b0316816001600160a01b0316145b6119815760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b23565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6119fe335f356001600160e01b031916611b0e565b611a1a5760405162461bcd60e51b8152600401610b23906123f2565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6001600160a01b0381165f90815260036020526040812054610ec7611a8960115490565b611a91610f8c565b839190611bb4565b60405162461bcd60e51b815260206004820152601b60248201527f6465706f7369744554483a204e6f7420496d706c656d656e74656400000000006044820152606401610b23565b6060805f6060805f611b01611af4610f8c565b6011546002549190611bb4565b9296919550919350915050565b6007545f906001600160a01b03168015801590611b95575060405163b700961360e01b81526001600160a01b0382169063b700961390611b5690879030908890600401612494565b602060405180830381865afa158015611b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9591906124c1565b806117a357506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bc8575f80fd5b5091020490565b5f611bd8611c96565b90508015611bf7578060105f828254611bf1919061243f565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611c2e9190612512565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f03611ca557505f90565b600f54421015611cb457505f90565b5f611cd16301e13380600f5442611ccb919061242c565b90611dab565b90505f610ec7611cec83600e54611dbf90919063ffffffff16565b60105490611dbf565b8060025f828254611d06919061243f565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206125b183398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611d7390849061242c565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206125b183398151915290602001611d40565b5f610ec783670de0b6b3a764000084611bb4565b5f610ec78383670de0b6b3a7640000611bb4565b6001600160a01b03811681146110a0575f80fd5b5f8060408385031215611df8575f80fd5b8235611e0381611dd3565b946020939093013593505050565b80151581146110a0575f80fd5b5f8060408385031215611e2f575f80fd5b8235611e3a81611dd3565b91506020830135611e4a81611e11565b809150509250929050565b5f60208284031215611e65575f80fd5b8135610ec781611dd3565b5f602080835283518060208501525f5b81811015611e9c57858101830151858201604001528201611e80565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ecc575f80fd5b5035919050565b80356001600160e01b031981168114611eea575f80fd5b919050565b5f60208284031215611eff575f80fd5b610ec782611ed3565b803560ff81168114611eea575f80fd5b5f805f60608486031215611f2a575f80fd5b611f3384611f08565b9250611f4160208501611ed3565b91506040840135611f5181611e11565b809150509250925092565b5f805f60608486031215611f6e575f80fd5b8335611f7981611dd3565b92506020840135611f8981611dd3565b929592945050506040919091013590565b5f8060408385031215611fab575f80fd5b611e3a83611ed3565b5f805f60608486031215611fc6575f80fd5b8335611fd181611dd3565b9250611f4160208501611f08565b5f8060408385031215611ff0575f80fd5b8235611ffb81611dd3565b91506020830135611e4a81611dd3565b5f805f6060848603121561201d575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215612046575f80fd5b833561205181611dd3565b9250602084013561206181611dd3565b915061206f60408501611ed3565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120b5576120b5612078565b604052919050565b5f67ffffffffffffffff8211156120d6576120d6612078565b5060051b60200190565b5f82601f8301126120ef575f80fd5b813560206121046120ff836120bd565b61208c565b8083825260208201915060208460051b870101935086841115612125575f80fd5b602086015b84811015612141578035835291830191830161212a565b509695505050505050565b5f806040838503121561215d575f80fd5b823567ffffffffffffffff80821115612174575f80fd5b818501915085601f830112612187575f80fd5b813560206121976120ff836120bd565b82815260059290921b840181019181810190898411156121b5575f80fd5b948201945b838610156121dc5785356121cd81611dd3565b825294820194908201906121ba565b965050860135925050808211156121f1575f80fd5b506121fe858286016120e0565b9150509250929050565b5f805f805f805f60e0888a03121561221e575f80fd5b873561222981611dd3565b9650602088013561223981611dd3565b9550604088013594506060880135935061225560808901611f08565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612282575f80fd5b61228b83611f08565b915061229960208401611ed3565b90509250929050565b5f80604083850312156122b3575f80fd5b82356122be81611dd3565b915061229960208401611f08565b5f815180845260208085019450602084015f5b838110156122fb578151875295820195908201906001016122df565b509495945050505050565b5f606082016060835280865180835260808501915060808160051b860101925060208089015f5b8381101561235b57607f198887030185526123498683516122cc565b9550938201939082019060010161232d565b5050505050828103602084015261237281866122cc565b915050826040830152949350505050565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c908216806123ce57607f821691505b6020821081036123ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610cfa57610cfa612418565b80820180821115610cfa57610cfa612418565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f602082840312156124d1575f80fd5b8151610ec781611e11565b8082028115828204841417610cfa57610cfa612418565b5f8261250d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8083545f60018260011c9150600183168061252f57607f831692505b6020808410820361254e57634e487b7160e01b5f52602260045260245ffd5b8180156125625760018114612577576125a2565b60ff19861689528415158502890196506125a2565b5f8a8152602090205f5b8681101561259a5781548b820152908501908301612581565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207154da725d6f461fbef0efcf8b3dc2c552d02fa4a8150398fbbd6cacba65289864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", + "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", + "calculateTVLs()": "ff9969cd", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "depositETH()": "f6326fb3", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "ezETH()": "13a73c78", + "getBufferedEther()": "47b714e0", + "getPooledEthByShares(uint256)": "7a28fb88", + "getRate()": "679aefce", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getSharesByPooledEth(uint256)": "19208451", + "getTargetCustomAuthority(address)": "c53a3985", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "lookupTokenAmountFromValue(address,uint256)": "37933625", + "lookupTokenValue(address,uint256)": "0052e3fd", + "lookupTokenValues(address[],uint256[])": "ba28a571", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "renzoOracle()": "892866a4", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "sharesOf(address)": "f5eb42dc", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalPooledEther()": "69415b86", + "totalShares()": "3a98ef39", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockFixedPointMath.ts b/packages/hyperdrive-artifacts/src/MockFixedPointMath.ts new file mode 100644 index 000000000..40f22fda1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockFixedPointMath.ts @@ -0,0 +1,288 @@ +export const MockFixedPointMath = { + name: 'MockFixedPointMath' as const, + abi: [ + { + "type": "function", + "name": "divDown", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "divUp", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "exp", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "r", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "ln", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulDivDown", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "d", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "z", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulDivUp", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "d", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "z", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulDown", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulUp", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pow", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "updateWeightedAverage", + "inputs": [ + { + "name": "_average", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_totalWeight", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_delta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_deltaWeight", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isAdding", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "average", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506108fe8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80639ba5f52e116100635780639ba5f52e14610110578063b67bee0414610123578063cbe8623f14610136578063e46751e314610149578063f3e4f87c1461015c575f80fd5b80630c9b98811461009f57806312bd6ac0146100c45780632e4c697f146100d757806381e5f7c9146100ea5780638e6f2353146100fd575b5f80fd5b6100b26100ad3660046107a9565b61016f565b60405190815260200160405180910390f35b6100b26100d23660046107c9565b610185565b6100b26100e53660046107a9565b61019b565b6100b26100f83660046107f2565b6101a7565b6100b261010b36600461083f565b6101c1565b6100b261011e3660046107a9565b6101d3565b6100b26101313660046107c9565b6101df565b6100b26101443660046107a9565b6101ec565b6100b261015736600461083f565b6101f8565b6100b261016a3660046107a9565b610203565b5f8061017b848461020f565b9150505b92915050565b5f80610192858585610223565b95945050505050565b5f8061017b8484610246565b5f806101b687878787876102b5565b979650505050505050565b5f806101cc83610355565b9392505050565b5f8061017b8484610583565b5f80610192858585610593565b5f8061017b84846105ae565b5f806101cc836105c2565b5f8061017b8484610754565b5f6101cc8383670de0b6b3a7640000610593565b5f825f190484118302158202610237575f80fd5b50910281810615159190040190565b5f815f0361025d5750670de0b6b3a764000061017f565b825f0361026b57505f61017f565b5f61027583610768565b90505f61028961028486610768565b610355565b90508181026102a0670de0b6b3a76400008261086a565b90506102ab816105c2565b9695505050505050565b5f825f036102c4575084610192565b811561031c576102fb6102d784876108a2565b6102e1858761020f565b6102eb888a61020f565b6102f591906108a2565b90610583565b90505f6103088588610795565b905080821015610316578091505b50610192565b82850361032a57505f610192565b6102ab61033784876108b5565b6103418587610754565b61034b888a61020f565b6102f591906108b5565b5f8082136103765760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906104029084901c610768565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6101cc83670de0b6b3a7640000845b5f825f1904841183021582026105a7575f80fd5b5091020490565b5f6101cc83670de0b6b3a764000084610223565b5f680248ce36a70cb26b3e1982136105db57505f919050565b680755bf798b4a1bf1e58212610604576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ab74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610768565b5f6101cc8383670de0b6b3a7640000610223565b5f6001600160ff1b038211156107915760405163396ea70160e11b815260040160405180910390fd5b5090565b5f8183116107a357826101cc565b50919050565b5f80604083850312156107ba575f80fd5b50508035926020909101359150565b5f805f606084860312156107db575f80fd5b505081359360208301359350604090920135919050565b5f805f805f60a08688031215610806575f80fd5b8535945060208601359350604086013592506060860135915060808601358015158114610831575f80fd5b809150509295509295909350565b5f6020828403121561084f575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f8261088457634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561089d5761089d610856565b500590565b8082018082111561017f5761017f610856565b8181038181111561017f5761017f61085656fea2646970667358221220e9a9948213c0830a3cbced12e8a4599d9bf7589c0963e04bcdafe6babf23056064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "divDown(uint256,uint256)": "9ba5f52e", + "divUp(uint256,uint256)": "cbe8623f", + "exp(int256)": "e46751e3", + "ln(int256)": "8e6f2353", + "mulDivDown(uint256,uint256,uint256)": "b67bee04", + "mulDivUp(uint256,uint256,uint256)": "12bd6ac0", + "mulDown(uint256,uint256)": "0c9b9881", + "mulUp(uint256,uint256)": "f3e4f87c", + "pow(uint256,uint256)": "2e4c697f", + "updateWeightedAverage(uint256,uint256,uint256,uint256,bool)": "81e5f7c9" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdrive.ts b/packages/hyperdrive-artifacts/src/MockHyperdrive.ts new file mode 100644 index 000000000..1555dc20a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdrive.ts @@ -0,0 +1,2156 @@ +export const MockHyperdrive = { + name: 'MockHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "__external_transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "__setBalanceOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_who", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "accrue", + "inputs": [ + { + "name": "time", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "apr", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "calculateFeesGivenBonds", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_normalizedTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_spotPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "totalCurveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalFlatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceCurveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalGovernanceFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateFeesGivenShares", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_spotPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceCurveFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateIdleShareReserves", + "inputs": [ + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateOpenLong", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReservesDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalGovernanceFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "spotPrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateTimeRemaining", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "timeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateTimeRemainingScaled", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "timeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "latestCheckpoint", + "inputs": [], + "outputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLongExposure", + "inputs": [ + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMarketState", + "inputs": [ + { + "name": "_marketState_", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserves", + "inputs": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTotalShares", + "inputs": [ + { + "name": "_totalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLiquidity", + "inputs": [ + { + "name": "_shareReservesDelta", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b506040516201732c3803806201732c833981016040819052620000349162000369565b6040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b815250828284846040516200006d9062000260565b6200007a929190620004a3565b604051809103905ff08015801562000094573d5f803e3d5ffd5b508585604051620000a5906200026e565b620000b2929190620004a3565b604051809103905ff080158015620000cc573d5f803e3d5ffd5b508686604051620000dd906200027c565b620000ea929190620004a3565b604051809103905ff08015801562000104573d5f803e3d5ffd5b50878760405162000115906200028a565b62000122929190620004a3565b604051809103905ff0801580156200013c573d5f803e3d5ffd5b5088886040516200014d9062000298565b6200015a929190620004a3565b604051809103905ff08015801562000174573d5f803e3d5ffd5b5060015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a0151821661024052890151610260528716610220526200022b898262000661565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0521661030052506200072d9350505050565b6140d7806200355c83390190565b614103806200763383390190565b614390806200b73683390190565b614328806200fac683390190565b61353e8062013dee83390190565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002e057620002e0620002a6565b60405290565b80516001600160a01b0381168114620002fd575f80fd5b919050565b5f6080828403121562000313575f80fd5b604051608081016001600160401b0381118282101715620003385762000338620002a6565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f808284036102808112156200037d575f80fd5b610260808212156200038d575f80fd5b62000397620002ba565b9150620003a485620002e6565b8252620003b460208601620002e6565b6020830152620003c760408601620002e6565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000432818701620002e6565b9083015261018062000446868201620002e6565b908301526101a06200045a868201620002e6565b908301526101c06200046e868201620002e6565b908301526101e0620004838787830162000302565b818401525081935062000498818601620002e6565b925050509250929050565b82516001600160a01b0316815261028081016020840151620004d060208401826001600160a01b03169052565b506040840151620004ec60408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e0830152610100808501518184015250610120808501518184015250610140808501518184015250610160808501516200055f828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e09485015180519584019590955260208501516102008401526040850151610220840152606090940151610240830152919092166102609092019190915290565b600181811c90821680620005ec57607f821691505b6020821081036200060b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200065c57805f5260205f20601f840160051c81016020851015620006385750805b601f840160051c820191505b8181101562000659575f815560010162000644565b50505b505050565b81516001600160401b038111156200067d576200067d620002a6565b62000695816200068e8454620005d7565b8462000611565b602080601f831160018114620006cb575f8415620006b35750858301515b5f19600386901b1c1916600185901b17855562000725565b5f85815260208120601f198616915b82811015620006fb57888601518255948401946001909101908401620006da565b50858210156200071957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051612c9b620008c15f395f818161090301528181610a490152610b6201525f818161087e01528181610b910152610dae01525f818161078b0152610fa601525f81816108d00152610b0001525f81816102900152818161044801528181610a1a01528181610a7b01528181610aad01528181610b3301528181610d6901528181610df501528181610f560152610fd901525f50505f50505f50505f50505f50505f81816118b2015281816118ee0152611bf101525f818161163201528181611674015261176601525f50505f818161110f0152818161118701526114bf01525f818161115b01526116e701525f81816110d50152818161147b01526116c601525f818161161001528181611695015261178701525f8181611443015261197501525f6115c001525f50505f8181610bef01528181610c860152610cf40152612c9b5ff3fe60806040526004361061027c575f3560e01c8063907c0f921161014e578063ca6d38f7116100c0578063ded0623111610079578063ded06231146104c1578063e44808bc146108a0578063eac3e799146108bf578063f3f70707146108f2578063f45cf2e014610925578063f698da2514610a015761027c565b8063ca6d38f714610827578063cba2e58d14610846578063cbc13434146103c0578063d5002f2e14610859578063d899e1121461086d578063dbbe8070146108465761027c565b8063a22cb46511610112578063a22cb4651461061c578063a6e8a8591461077a578063a77384c1146107ad578063ab033ea914610385578063b1b4b170146107cc578063b4f8da39146107eb5761027c565b8063907c0f92146106ca57806394a97cdb146106de5780639bd334981461071d5780639cd241af1461073c5780639eea5f661461075b5761027c565b80634c2ac1d9116101f25780637180c8ca116101ab5780637180c8ca1461061c57806371f88b7c1461063b57806377d05ff41461065a5780638120a3e21461066d578063836a10401461068c5780639032c726146106ab5761027c565b80634c2ac1d91461055f5780634ed2d6ac1461057257806358af4a0a1461058c57806368096239146105ab57806368c2ecb8146105ca578063702db0eb146105e95761027c565b806321b57d531161024457806321b57d531461043757806322d5506b1461048257806329b23fc1146104c157806330adf81f146104ee5780633e691db914610521578063414f826d146105405761027c565b806301681a621461038557806302329a29146103a6578063074a6de9146103c057806317fad7fc146103f95780631c0f12b614610418575b348015610287575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031685856040516102c8929190612399565b5f60405180830381855af49150503d805f8114610300576040519150601f19603f3d011682016040523d82523d5f602084013e610305565b606091505b5091509150811561032957604051638bb0a34b60e01b815260040160405180910390fd5b5f610333826123a8565b90506001600160e01b03198116636e64089360e11b1461035557815160208301fd5b8151600319810160048401908152926103769181016020019060240161243f565b80519650602001945050505050f35b348015610390575f80fd5b506103a461039f3660046124f0565b610a15565b005b3480156103b1575f80fd5b506103a461039f366004612528565b3480156103cb575f80fd5b506103df6103da366004612553565b610a42565b604080519283526020830191909152015b60405180910390f35b348015610404575f80fd5b506103a46104133660046125e0565b610a76565b348015610423575f80fd5b506103a461043236600461266f565b610aa8565b348015610442575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103f0565b34801561048d575f80fd5b506104a161049c3660046126b4565b610ad8565b6040805194855260208501939093529183015260608201526080016103f0565b3480156104cc575f80fd5b506104e06104db3660046126e3565b610afa565b6040519081526020016103f0565b3480156104f9575f80fd5b506104e07f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b34801561052c575f80fd5b506104e061053b366004612739565b610b2d565b34801561054b575f80fd5b506103a461055a36600461276b565b610b5d565b6104e061056d36600461278b565b610b8b565b34801561057d575f80fd5b506103a46104323660046127ea565b348015610597575f80fd5b506103a46105a6366004612831565b610bbf565b3480156105b6575f80fd5b506103a46105c536600461276b565b610bcc565b3480156105d5575f80fd5b506104e06105e436600461288c565b610d54565b3480156105f4575f80fd5b506103a46106033660046128b9565b6001600160801b03908116600160801b02911617600255565b348015610627575f80fd5b506103a46106363660046128ea565b610d64565b348015610646575f80fd5b506103df610655366004612921565b610d8d565b6104e0610668366004612553565b610da8565b348015610678575f80fd5b506103a461068736600461288c565b610dda565b348015610697575f80fd5b506103a46106a636600461294a565b610de6565b3480156106b6575f80fd5b506103a46106c536600461297f565b610df1565b3480156106d5575f80fd5b506104e0610f25565b3480156106e9575f80fd5b506103a46106f836600461294a565b5f928352600a602090815260408085206001600160a01b039094168552929052912055565b348015610728575f80fd5b506104a161073736600461276b565b610f33565b348015610747575f80fd5b506103a461075636600461294a565b610f51565b348015610766575f80fd5b506103a461077536600461294a565b610f80565b348015610785575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b8575f80fd5b506103a46107c736600461288c565b600f55565b3480156107d7575f80fd5b506104e06107e636600461288c565b610f8b565b3480156107f6575f80fd5b506103a46108053660046129f9565b600380546001600160801b0319166001600160801b0392909216919091179055565b348015610832575f80fd5b506104e061084136600461288c565b610f95565b6103df6108543660046126e3565b610f9f565b348015610864575f80fd5b50600f546104e0565b348015610878575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108ab575f80fd5b506103a46108ba366004612831565b610fd4565b3480156108ca575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108fd575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610930575f80fd5b506103a461093f366004612a39565b805160208201516001600160801b03918216600160801b91831682021760025560408301516060840151908316908316820217600355608083015160a084015190831690831682021760045560c083015160e084015190831690831682021760055561010080840151600680546101208701516101408801516101609098015161ffff1990921693151561ff001916939093179215159093029190911761ffff16620100006001600160701b0390961695909502841694909417921602179055565b348015610a0c575f80fd5b506104e0611005565b610a3e7f0000000000000000000000000000000000000000000000000000000000000000611093565b5050565b5f80610a6d7f0000000000000000000000000000000000000000000000000000000000000000611093565b50935093915050565b610a9f7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050505050565b610ad17f0000000000000000000000000000000000000000000000000000000000000000611093565b5050505050565b5f805f80610ae8888888886110b1565b929b919a509850909650945050505050565b5f610b247f0000000000000000000000000000000000000000000000000000000000000000611093565b50949350505050565b5f610b577f0000000000000000000000000000000000000000000000000000000000000000611093565b50919050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b505050565b5f610bb57f0000000000000000000000000000000000000000000000000000000000000000611093565b5095945050505050565b610ad185858585856111c3565b6040516370a0823160e01b81523060048201525f90610c5f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c589190612b23565b838561137e565b9150505f811315610ce2576040516340c10f1960e01b8152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f19906044015b5f604051808303815f87803b158015610cd0575f80fd5b505af1158015610a9f573d5f803e3d5ffd5b5f811215610b86576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639dc29fac30610d2384612b4e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401610cb9565b5f610d5e82611418565b92915050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b5f80610d9a85858561146e565b90925090505b935093915050565b5f610dd27f0000000000000000000000000000000000000000000000000000000000000000611093565b509392505050565b610de3816114ed565b50565b610b86838383611513565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e25611005565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610ece9190612b68565b5f60405180830381855af49150503d805f8114610f06576040519150601f19603f3d011682016040523d82523d5f602084013e610f0b565b606091505b509150915081610f1d57805160208201fd5b805160208201f35b5f610f2e6115b9565b905090565b5f805f80610f4186866115e4565b9299919850965090945092505050565b610f7a7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050565b610b868383836117c3565b5f610d5e82611891565b5f610d5e8261192c565b5f80610fca7f0000000000000000000000000000000000000000000000000000000000000000611093565b5094509492505050565b610ffd7f0000000000000000000000000000000000000000000000000000000000000000611093565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f36604051610ece929190612399565b5f80808061110787866111008b6110fa6110d38c670de0b6b3a7640000612b83565b7f0000000000000000000000000000000000000000000000000000000000000000906119a0565b906119a0565b91906119b0565b9350611133847f00000000000000000000000000000000000000000000000000000000000000006119d3565b91505f61115361114b89670de0b6b3a7640000612b83565b8a90886119b0565b905061117f817f00000000000000000000000000000000000000000000000000000000000000006119a0565b93506111ab847f00000000000000000000000000000000000000000000000000000000000000006119d3565b6111b59084612b96565b915050945094509450949050565b6001600160a01b03841615806111e057506001600160a01b038316155b156111fe5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b0316146112be576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff166112be575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f1981146112bc575f868152600d602090815260408083206001600160a01b03808a1685529083528184209086168452909152812080548592906112b6908490612b83565b90915550505b505b5f858152600a602090815260408083206001600160a01b0388168452909152812080548492906112ef908490612b83565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611325908490612b96565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f808061138f846301e133806119e7565b90505f6113b2825f88126113a357876113ac565b6113ac88612b4e565b906119d3565b90505f8613156113e4576113cf6113c8826119fb565b88906119d3565b93506113db8785612b83565b92505050610da0565b5f86121561140b576113ff6113f8826119fb565b88906119e7565b93506113db8785612ba9565b5094955f95509350505050565b5f806114226115b9565b9050808311611431575f61143b565b61143b8184612b83565b9150611467827f00000000000000000000000000000000000000000000000000000000000000006119e7565b9392505050565b5f806114b7856110fa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006114ad818c611b97565b6110fa9190612b83565b91506114e3827f00000000000000000000000000000000000000000000000000000000000000006119d3565b9050935093915050565b6114f681611bab565b610de357604051635044b7f560e01b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611544908490612b96565b90915550505f838152600b602052604081208054839290611566908490612b96565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f610f2e427f0000000000000000000000000000000000000000000000000000000000000000611d3f565b5f805f805f6115f1611d54565b600254909150611656908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000611d74565b6002549094506116b9908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b9150611710878561170b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611dbe565b611e30565b1561171d5761171d611e71565b61172987858885611e8a565b91965094509250670de0b6b3a76400006117ab6117468784612b96565b600254611764908890600160801b90046001600160801b0316612b83565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b11156117b9576117b9611e71565b5092959194509250565b5f838152600a602090815260408083206001600160a01b038616845290915290205481111561180557604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290611847908490612b83565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291016115ac565b6003545f9081906118ab906001600160801b031684611b97565b90506118d77f000000000000000000000000000000000000000000000000000000000000000082612b96565b6002546001600160801b03161115610b57576002547f0000000000000000000000000000000000000000000000000000000000000000906119229083906001600160801b0316612b83565b6114679190612b83565b5f80670de0b6b3a764000061193f6115b9565b6119499190612bc8565b9050808311611958575f611962565b6119628184612b83565b9150611467611999670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612bc8565b83906119e7565b5f6114678383670de0b6b3a76400005b5f825f1904841183021582026119c4575f80fd5b50910281810615159190040190565b5f6114678383670de0b6b3a7640000611ed2565b5f61146783670de0b6b3a764000084611ed2565b5f680248ce36a70cb26b3e198213611a1457505f919050565b680755bf798b4a1bf1e58212611a3d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611b8d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611eed565b9695505050505050565b5f61146783670de0b6b3a7640000846119b0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611c61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c859190612bf3565b935093509350935080611ca057505f98975050505050505050565b868414611cd157611cb084611f1a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611d0257611ce183611f43565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611d3057611d1282611f1a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b5f611d4a8284612c26565b6114679084612b83565b6002546004545f91610f2e916001600160801b0390911690600f0b611f90565b5f611d94878787611d8d88670de0b6b3a7640000612b83565b8787611fb5565b979650505050505050565b5f611db582611daf858888611ed2565b90611fe2565b95945050505050565b5f611e28611dfe611dd784670de0b6b3a7640000612b83565b6110fa670de0b6b3a7640000611ded818a611b97565b611df79190612b83565b87906119a0565b611e1090670de0b6b3a7640000612b96565b611e2284670de0b6b3a7640000612b83565b906119e7565b949350505050565b5f80611e6685611e3e611d54565b611e489190612b96565b600254611764908790600160801b90046001600160801b0316612b83565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f611e9a89878961146e565b9092509050611ea98289612b83565b97505f611eb782888a611ed2565b9050611ec3818b612b83565b9a989950979650505050505050565b5f825f190484118302158202611ee6575f80fd5b5091020490565b5f6001600160ff1b03821115611f165760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6001600160801b03821115611f1657604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280611f7257506f7fffffffffffffffffffffffffffffff82135b15611f165760405163a5353be560e01b815260040160405180910390fd5b5f80611f9c8484612047565b909250905080611fae57611fae611e71565b5092915050565b5f80611fc5888888888888612082565b909250905080611fd757611fd7611e71565b509695505050505050565b5f815f03611ff95750670de0b6b3a7640000610d5e565b825f0361200757505f610d5e565b5f61201183611eed565b90505f61202561202086611eed565b612146565b905081810261203c670de0b6b3a764000082612c39565b9050611b8d816119fb565b5f805f8361205486611eed565b61205e9190612ba9565b90505f811215612074575f80925092505061207b565b9150600190505b9250929050565b5f805f612092898988888861236b565b90506120ac86611daf6120a58a8d612b96565b87906119d3565b98506120b9858a86611ed2565b9850888110156120cf575f80925092505061213b565b888103670de0b6b3a76400008110612104576120fd6120f6670de0b6b3a764000089611b97565b8290611fe2565b905061211c565b6121196120f6670de0b6b3a7640000896119e7565b90505b80891015612131575f8093509350505061213b565b8803925060019150505b965096945050505050565b5f8082136121675760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906121ea9084901c611eed565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6123768585611fe2565b61238f61238786611daf868b6119a0565b8590856119b0565b611b8d9190612b96565b818382375f9101908152919050565b805160208201516001600160e01b031980821692919060048310156123d75780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b604051610180810167ffffffffffffffff81118282101715612417576124176123df565b60405290565b5f5b8381101561243757818101518382015260200161241f565b50505f910152565b5f6020828403121561244f575f80fd5b815167ffffffffffffffff80821115612466575f80fd5b818401915084601f830112612479575f80fd5b81518181111561248b5761248b6123df565b604051601f8201601f19908116603f011681019083821181831017156124b3576124b36123df565b816040528281528760208487010111156124cb575f80fd5b611d9483602083016020880161241d565b6001600160a01b0381168114610de3575f80fd5b5f60208284031215612500575f80fd5b8135611467816124dc565b8015158114610de3575f80fd5b80356125238161250b565b919050565b5f60208284031215612538575f80fd5b81356114678161250b565b5f60608284031215610b57575f80fd5b5f805f60608486031215612565575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612589575f80fd5b61259586828701612543565b9150509250925092565b5f8083601f8401126125af575f80fd5b50813567ffffffffffffffff8111156125c6575f80fd5b6020830191508360208260051b850101111561207b575f80fd5b5f805f805f80608087890312156125f5575f80fd5b8635612600816124dc565b95506020870135612610816124dc565b9450604087013567ffffffffffffffff8082111561262c575f80fd5b6126388a838b0161259f565b90965094506060890135915080821115612650575f80fd5b5061265d89828a0161259f565b979a9699509497509295939492505050565b5f805f8060808587031215612682575f80fd5b843593506020850135612694816124dc565b925060408501356126a4816124dc565b9396929550929360600135925050565b5f805f80608085870312156126c7575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f80608085870312156126f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115612721575f80fd5b61272d87828801612543565b91505092959194509250565b5f60208284031215612749575f80fd5b813567ffffffffffffffff81111561275f575f80fd5b611e2884828501612543565b5f806040838503121561277c575f80fd5b50508035926020909101359150565b5f805f805f60a0868803121561279f575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156127d1575f80fd5b6127dd88828901612543565b9150509295509295909350565b5f805f80608085870312156127fd575f80fd5b84359350602085013561280f816124dc565b9250604085013591506060850135612826816124dc565b939692955090935050565b5f805f805f60a08688031215612845575f80fd5b853594506020860135612857816124dc565b93506040860135612867816124dc565b925060608601359150608086013561287e816124dc565b809150509295509295909350565b5f6020828403121561289c575f80fd5b5035919050565b80356001600160801b0381168114612523575f80fd5b5f80604083850312156128ca575f80fd5b6128d3836128a3565b91506128e1602084016128a3565b90509250929050565b5f80604083850312156128fb575f80fd5b8235612906816124dc565b915060208301356129168161250b565b809150509250929050565b5f805f60608486031215612933575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561295c575f80fd5b83359250602084013561296e816124dc565b929592945050506040919091013590565b5f805f805f805f60e0888a031215612995575f80fd5b87356129a0816124dc565b965060208801356129b0816124dc565b955060408801356129c08161250b565b945060608801359350608088013560ff811681146129dc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215612a09575f80fd5b611467826128a3565b8035600f81900b8114612523575f80fd5b80356001600160701b0381168114612523575f80fd5b5f6101808284031215612a4a575f80fd5b612a526123f3565b612a5b836128a3565b8152612a69602084016128a3565b6020820152612a7a604084016128a3565b6040820152612a8b606084016128a3565b6060820152612a9c60808401612a12565b6080820152612aad60a084016128a3565b60a0820152612abe60c084016128a3565b60c0820152612acf60e084016128a3565b60e0820152610100612ae2818501612518565b90820152610120612af4848201612518565b90820152610140612b06848201612a23565b90820152610160612b188482016128a3565b908201529392505050565b5f60208284031215612b33575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201612b6257612b62612b3a565b505f0390565b5f8251612b7981846020870161241d565b9190910192915050565b81810381811115610d5e57610d5e612b3a565b80820180821115610d5e57610d5e612b3a565b8181035f831280158383131683831282161715611fae57611fae612b3a565b8082028115828204841417610d5e57610d5e612b3a565b634e487b7160e01b5f52601260045260245ffd5b5f805f8060808587031215612c06575f80fd5b84519350602085015192506040850151915060608501516128268161250b565b5f82612c3457612c34612bdf565b500690565b5f82612c4757612c47612bdf565b600160ff1b82145f1984141615612c6057612c60612b3a565b50059056fea26469706673582212200c2ceb5350630b57ee6744a11efdf3865d3d67a62c0e0390d4cd7f3e3594547264736f6c6343000816003361028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c6343000816003361028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", + "__setBalanceOf(uint256,address,uint256)": "94a97cdb", + "accrue(uint256,int256)": "68096239", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "burn(uint256,address,uint256)": "9eea5f66", + "calculateFeesGivenBonds(uint256,uint256,uint256,uint256)": "22d5506b", + "calculateFeesGivenShares(uint256,uint256,uint256)": "71f88b7c", + "calculateIdleShareReserves(uint256)": "b1b4b170", + "calculateOpenLong(uint256,uint256)": "9bd33498", + "calculateTimeRemaining(uint256)": "68c2ecb8", + "calculateTimeRemainingScaled(uint256)": "ca6d38f7", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "getTotalShares()": "d5002f2e", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "latestCheckpoint()": "907c0f92", + "mint(uint256,address,uint256)": "836a1040", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setLongExposure(uint128)": "b4f8da39", + "setMarketState((uint128,uint128,uint128,uint128,int128,uint128,uint128,uint128,bool,bool,uint112,uint128))": "f45cf2e0", + "setPauser(address,bool)": "7180c8ca", + "setReserves(uint128,uint128)": "702db0eb", + "setTotalShares(uint256)": "a77384c1", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "updateLiquidity(int256)": "8120a3e2" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts new file mode 100644 index 000000000..4cbbd7040 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts @@ -0,0 +1,165 @@ +export const MockHyperdriveAdminController = { + name: 'MockHyperdriveAdminController' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + }, + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "__defaultPausers", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateCheckpointRewarder", + "inputs": [ + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFeeCollector", + "inputs": [ + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateHyperdriveGovernance", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSweepCollector", + "inputs": [ + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5060405161052c38038061052c83398101604081905261002e9161013b565b5f80546001600160a01b038088166001600160a01b03199283161790925560018054878416908316179055600280548684169083161790556003805492851692909116919091179055805161008a906004906020840190610095565b50505050505061023e565b828054828255905f5260205f209081019282156100e8579160200282015b828111156100e857825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906100b3565b506100f49291506100f8565b5090565b5b808211156100f4575f81556001016100f9565b80516001600160a01b0381168114610122575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f805f60a0868803121561014f575f80fd5b6101588661010c565b9450602061016781880161010c565b94506101756040880161010c565b93506101836060880161010c565b60808801519093506001600160401b038082111561019f575f80fd5b818901915089601f8301126101b2575f80fd5b8151818111156101c4576101c4610127565b8060051b604051601f19603f830116810181811085821117156101e9576101e9610127565b60405291825284820192508381018501918c831115610206575f80fd5b938501935b8285101561022b5761021c8561010c565b8452938501939285019261020b565b8096505050505050509295509295909350565b6102e18061024b5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063c415b95c11610063578063c415b95c1461013b578063d2c35ce81461014e578063dd2b8fbb1461017e578063e3331555146101ad578063f2596458146101bf575f80fd5b806310780f73146100945780633e2d2014146100c45780638627a4f0146100f6578063a64c90bf14610126575b5f80fd5b6002546100a7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f46100d2366004610232565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b005b6100f4610104366004610232565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61012e6101d2565b6040516100bb919061025f565b6001546100a7906001600160a01b031681565b6100f461015c366004610232565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6100f461018c366004610232565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546100a7906001600160a01b031681565b6003546100a7906001600160a01b031681565b6060600480548060200260200160405190810160405280929190818152602001828054801561022857602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161020a575b5050505050905090565b5f60208284031215610242575f80fd5b81356001600160a01b0381168114610258575f80fd5b9392505050565b602080825282518282018190525f9190848201906040850190845b8181101561029f5783516001600160a01b03168352928401929184019160010161027a565b5090969550505050505056fea2646970667358221220ecebc112f559d4259664259f658bf0e8ed76476292be39978b092c6551ce150a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "feeCollector()": "c415b95c", + "hyperdriveGovernance()": "e3331555", + "sweepCollector()": "10780f73", + "updateCheckpointRewarder(address)": "3e2d2014", + "updateFeeCollector(address)": "d2c35ce8", + "updateHyperdriveGovernance(address)": "dd2b8fbb", + "updateSweepCollector(address)": "8627a4f0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts new file mode 100644 index 000000000..1bcf6fd93 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts @@ -0,0 +1,657 @@ +export const MockHyperdriveBase = { + name: 'MockHyperdriveBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts new file mode 100644 index 000000000..c8e78a059 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts @@ -0,0 +1,809 @@ +export const MockHyperdriveMath = { + name: 'MockHyperdriveMath' as const, + abi: [ + { + "type": "function", + "name": "calculateAbsoluteMaxLong", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct HyperdriveUtils.MaxTradeParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLPFee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_spotPrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateCloseLong", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_normalizedTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateCloseShort", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountOut", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_normalizedTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateEffectiveShareReserves", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAdjustment", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxLong", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct HyperdriveUtils.MaxTradeParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLPFee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_checkpointExposure", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxShort", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct HyperdriveUtils.MaxTradeParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLPFee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_checkpointExposure", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateNegativeInterestOnClose", + "inputs": [ + { + "name": "_shareProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareCurveDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_totalGovernanceFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_openVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_closeVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isLong", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "int256", + "internalType": "int256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateOpenLong", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateOpenShort", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateShortProceedsDown", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_openVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_closeVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_flatFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateShortProceedsUp", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_openVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_closeVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_flatFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSpotAPR", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSpotPrice", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateTimeStretch", + "inputs": [ + { + "name": "apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506122b88061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c806394169d4911610088578063bc1e106511610063578063bc1e106514610212578063dbab851214610225578063e7acd3ad14610238578063f87845f21461024b575f80fd5b806394169d49146101be5780639e489b99146101ec578063a280a282146101ff575f80fd5b80635e6d9d36116100c35780635e6d9d361461014a5780636ceebe1d1461015d5780637ef99f8714610170578063902b1099146101ab575f80fd5b80632471caed146100e95780632810a0361461010f5780633f77b61714610122575b5f80fd5b6100fc6100f7366004611f50565b61025e565b6040519081526020015b60405180910390f35b6100fc61011d366004611f7f565b610276565b610135610130366004612087565b610290565b60408051928352602083019190915201610106565b6100fc6101583660046120bb565b6102af565b6100fc61016b3660046120bb565b6102cb565b61018361017e3660046120fa565b6102db565b604080519586526020860194909452928401919091526060830152608082015260a001610106565b6100fc6101b93660046120bb565b610357565b6101d16101cc366004612159565b610367565b60408051938452602084019290925290820152606001610106565b6100fc6101fa366004612087565b610394565b61013561020d366004612087565b6103aa565b6100fc6102203660046121a0565b6103b9565b6100fc6102333660046121a0565b6103cf565b6100fc6102463660046120bb565b6103db565b6101d1610259366004612159565b6103eb565b5f8061026c86868686610400565b9695505050505050565b5f80610285878787878761041f565b979650505050505050565b5f805f8061029f878787610439565b909450925050505b935093915050565b5f806102bf88888888888861063c565b98975050505050505050565b5f806102bf88888888888861065c565b5f805f805f61030d6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b61031c8d8d8d8d8d8d8d61067c565b608086018190526060860182905260408601839052602086018490529484905292985090965094509250905097509750975097509792505050565b5f806102bf888888888888610718565b5f805f805f8061037c8d8d8d8d8d8d8d610761565b919750955093505050505b9750975097945050505050565b5f6103a08484846107cf565b90505b9392505050565b5f805f8061029f878787610971565b5f806103c58484610bc9565b9150505b92915050565b5f806103c58484610bee565b5f806102bf888888888888610c84565b5f805f805f8061037c8d8d8d8d8d8d8d610ca2565b5f61041682610410858888610cf5565b90610d10565b95945050505050565b5f8061042d87878786610400565b90506102858185610d70565b5f805f61044d865f01518760200151610bc9565b90505f6104688288604001518960e001518a60a00151610400565b90505f80610477898585610971565b90925090505f61048a8a8a858588610d95565b91505080156104a1575090945092506102a7915050565b506104ae89838a86610ec7565b95506104bc89878686610f64565b94505f806104cd8b8b8a8a89610d95565b915091508061053d5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d61784c6f6044820152703733b01034b99034b739b7b63b32b73a1760791b60648201526084015b60405180910390fd5b5f5b8981101561062d578489106105b25760405162461bcd60e51b815260206004820152603360248201527f52656163686564206162736f6c757465206d617820626f6e6420616d6f756e746044820152721034b7103033b2ba2fb6b0bc2fb637b733b01760691b6064820152608401610534565b5f6105bf8d8b8a8a610fb6565b93509050826105ce575061062d565b5f6105d9858361104d565b6105e3908c6121d4565b90505f6105f28f838c8c610f64565b90506106018f8f84848d610d95565b9096509450841561061757819b50809a5061061f565b50505061062d565b50505080600101905061053f565b50505050505050935093915050565b5f61028587878761065588670de0b6b3a76400006121e7565b8787611061565b5f61028587878761067588670de0b6b3a76400006121e7565b8787611083565b5f805f805f80888810156106e857861561069e5761069b8d898b610cf5565b9c505b6106a98c898b610cf5565b9b506106b48b611093565b6106bd8d611093565b6106c791906121fa565b90506106d48b898b610cf5565b9a506106e18a898b610cf5565b9950610707565b6106f18b611093565b6106fa8d611093565b61070491906121fa565b90505b9b9c9a9b999a975050505050505050565b5f8061072f846107298a888a6110c0565b906110e3565b905061073c8884866110c0565b61074690826121d4565b9050868111156107565786810391505b509695505050505050565b5f808061078161077988670de0b6b3a76400006121e7565b899087610cf5565b905086156103875761079388886110f7565b91506107b48a8a846107ad8a670de0b6b3a76400006121e7565b8989611083565b92506107c083826121d4565b90509750975097945050505050565b604080516060810182525f808252602082018190529181018290525f6107fc865f01518760200151610bc9565b90505f6108178288604001518960e001518a60a00151610400565b90505f610824888461110b565b9050610833888285858b61122c565b158015604087015290855261084d5793506103a392505050565b5f61085989848a611380565b9050610868898286868c61122c565b1515604087018190529086526108da5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d617853686044820152701bdc9d18081a5cc81a5b9cdbdb1d995b9d607a1b6064820152608401610534565b5f5b87811015610964576108f08a838688611453565b1580156040890152602088019190915261096457602086015186515f91610917919061104d565b61092190846121d4565b9050838111156109315750610964565b61093e8b8288888e61122c565b15801560408a01529088526109555780925061095b565b50610964565b506001016108dc565b5098975050505050505050565b5f805f806109a58688604001518960a00151670de0b6b3a764000061099691906121e7565b8a60c001518b60e001516114d6565b90506109f5876101400151670de0b6b3a76400006109c391906121e7565b6109ef670de0b6b3a76400006109d9818a6110e3565b6109e391906121e7565b6101208b015190611504565b90611504565b9150610a25876101400151670de0b6b3a7640000610a1391906121e7565b61072984670de0b6b3a76400006121d4565b60a0880151909250610a5490610a4d90610a4781670de0b6b3a76400006121e7565b9061104d565b8390610d10565b9150610a718760e001518860c001516110e390919063ffffffff16565b610a7b90836121d4565b9150610a87818361104d565b9150610ab6610a4d8860a00151670de0b6b3a7640000610aa791906121e7565b670de0b6b3a76400009061104d565b9150505f610ad18760e001518361104d90919063ffffffff16565b90505f80610b23896101400151670de0b6b3a7640000610af191906121e7565b610b1d670de0b6b3a7640000610b07818c61104d565b610b1191906121e7565b6101208d0151906110f7565b906110f7565b9050610b7984610b1d610b4b8c60a00151670de0b6b3a76400006110e390919063ffffffff16565b6104108d6101400151670de0b6b3a7640000610b6791906121e7565b610a4787670de0b6b3a76400006121d4565b915050610b908860c001518884610b1d91906121e7565b9450610ba285878a6101200151611518565b818960400151610bb291906121e7565b610bbc91906121e7565b9350505050935093915050565b5f80610bd58484611544565b909250905080610be757610be761157f565b5092915050565b5f80610c1e610c0f610c01866064612219565b66a5bbed86c5a000906110f7565b6748cd4072281e00009061104d565b9050610c32670de0b6b3a76400008261104d565b90506103c581610b1d610c5d610c58610c5389670de0b6b3a76400006121d4565b611093565b611598565b610a47610c58610c728a8a6301e13380610cf5565b610c5390670de0b6b3a76400006121d4565b5f80610c9584610a478a888a610cf5565b905061073c888486610cf5565b5f8080610cc2610cba88670de0b6b3a76400006121e7565b8990876110c0565b9050861561038757610cd48888611504565b91506107b48a8a84610cee8a670de0b6b3a76400006121e7565b89896117c6565b5f825f190484118302158202610d09575f80fd5b5091020490565b5f815f03610d275750670de0b6b3a76400006103c9565b825f03610d3557505f6103c9565b5f610d3f83611093565b90505f610d4e610c5886611093565b9050818102610d65670de0b6b3a764000082612230565b905061026c816117d6565b5f6103a3610d8384846301e133806110c0565b610a4785670de0b6b3a76400006121e7565b5f805f610dae86858a61012001518b6101600151611968565b90505f610dc88960c001518361104d90919063ffffffff16565b60c08a0151610dd890899061104d565b8a51610de491906121d4565b610dee91906121e7565b90505f868a60800151610e0191906121d4565b90505f610e0e8a8261197c565b610e1790612268565b90508a6101000151610e368c60c001518461104d90919063ffffffff16565b610e4091906121d4565b60c08c0151610e5090839061104d565b610e5a90856121d4565b10610eb2576101008b015160c08c0151610e7590849061104d565b60c08d0151610e8590849061104d565b610e8f90866121d4565b610e9991906121e7565b610ea391906121e7565b60019550955050505050610ebd565b5f8095509550505050505b9550959350505050565b5f80610ed586858586611990565b90505f610f1b670b1a2bc2ec500000610b1d610f118a60a00151670de0b6b3a7640000610f0291906121e7565b670de0b6b3a7640000906110e3565b610410868b61104d565b90505f610f30670de0b6b3a7640000836110f7565b610f4c610f4584670de0b6b3a76400006121e7565b87906110f7565b610f5691906121d4565b90506102bf88878784611990565b5f80610f9a848760400151610f868960c001518961104d90919063ffffffff16565b8960a001518a60c001518b60e0015161063c565b9050610fac8584886101200151611518565b61026c90826121e7565b5f80610fc486868686611a91565b909250905080610fd6575f9150611044565b611000610feb84670de0b6b3a76400006121e7565b610120880151610160890151610b1d916110f7565b61100a90836121d4565b915061101e670de0b6b3a7640000836121e7565b9150611041670de0b6b3a76400008760c0015184610cf59092919063ffffffff16565b91505b94509492505050565b5f6103a383670de0b6b3a764000084610cf5565b5f80611071888888888888611bdb565b9092509050806107565761075661157f565b5f80611071888888888888611c91565b5f6001600160ff1b038211156110bc5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f1904841183021582026110d4575f80fd5b50910281810615159190040190565b5f6103a383670de0b6b3a7640000846110c0565b5f6103a38383670de0b6b3a7640000610cf5565b5f806111245f8560200151611d4d90919063ffffffff16565b84610100015161113491906121d4565b90505f6111678486604001518760a00151670de0b6b3a764000061115891906121e7565b8860c001518960e001516114d6565b90505f6111b56111a48760a00151670de0b6b3a764000061118891906121e7565b610410611199878b60200151610bc9565b60e08b015190611504565b60e088015160c089015191906110c0565b6111bf90836121e7565b9050670de0b6b3a764000081106111fc576111f56111ee8760a00151670de0b6b3a7640000610aa791906121e7565b8290610d10565b905061121d565b61121a6111ee8760a00151670de0b6b3a7640000610f0291906121e7565b90505b604086015161026c90826121e7565b5f805f80611261878a604001518a8c60a00151670de0b6b3a764000061125291906121e7565b8d60c001518e60e00151611c91565b9150915080611277575f80935093505050610ebd565b5f6112b08a60c001516112968b8a8e61012001518f6101600151611d62565b6112a68c8b8f6101200151611d6e565b61072991906121e7565b9050808310156112c8575f8094509450505050610ebd565b5f6112d382856121e7565b9050808b5f015110156112ef575f809550955050505050610ebd565b8a515f906112fe9083906121e7565b90505f61132b8d60c0015161131c5f8c611d4d90919063ffffffff16565b8f60800151610a4791906121e7565b90508c61010001518161133e91906121d4565b821061136f576101008d015161135482846121e7565b61135e91906121e7565b600197509750505050505050610ebd565b5f8097509750505050505050610ebd565b5f808390505f6113e88661010001516113aa8860c00151896080015161104d90919063ffffffff16565b60c08901516113bd90610a47895f611d4d565b89516113c991906121d4565b6113d391906121e7565b6113dd91906121e7565b60c0880151906110f7565b905061026c61141761140287670de0b6b3a76400006121e7565b6101208901516101608a0151610b1d916110f7565b61143861142c88670de0b6b3a76400006121e7565b6101208a0151906110f7565b61144290856121e7565b61144c91906121d4565b829061104d565b5f805f611461878786611d88565b90505f6114a98860c00151610a478a6101600151670de0b6b3a764000061148891906121e7565b610b1d61149d8b670de0b6b3a76400006121e7565b6101208e0151906110f7565b90508082106114c9576114bc81836121e7565b6001935093505050611044565b5f80935093505050611044565b5f6114e18585610d10565b6114fa6114f286610410868b6110f7565b859085610cf5565b61026c91906121d4565b5f6103a38383670de0b6b3a76400006110c0565b5f6103a0846109ef670de0b6b3a764000061153381886110e3565b61153d91906121e7565b8590611504565b5f805f8361155186611093565b61155b91906121fa565b90505f811215611571575f809250925050611578565b9150600190505b9250929050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f8082136115b95760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906116459084901c611093565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f80611071888888888888611e5a565b5f680248ce36a70cb26b3e1982136117ef57505f919050565b680755bf798b4a1bf1e58212611818576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061026c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611093565b5f61041684610b1d84610b1d898989611518565b5f81831361198a57826103a3565b50919050565b5f8061199c858261197c565b6119a590612268565b90505f611a118760c00151671bc16d674ec800008961010001516119da8b60c001518c6080015161104d90919063ffffffff16565b60c08c01516119ea90889061104d565b8c516119f691906121d4565b611a0091906121e7565b611a0a91906121e7565b9190610cf5565b9050610285611a36670de0b6b3a7640000611a2c818961104d565b61142c91906121e7565b670de0b6b3a7640000611a61611a4c89836121e7565b6101208c01516101608d0151610b1d916110f7565b611a73670de0b6b3a76400008961104d565b611a7d91906121d4565b611a8791906121e7565b61144c91906121e7565b5f805f611aab8760c001518761104d90919063ffffffff16565b90505f611ac6611abb83886121d4565b60e08a0151906110f7565b90505f611af9878a604001518b60a00151670de0b6b3a7640000611aea91906121e7565b8c60c001518d60e001516114d6565b9050611b15610aa78a60a0015184610d1090919063ffffffff16565b94505f611b43611b328b60a0015185610d1090919063ffffffff16565b60e08c015160c08d01519190610cf5565b905080821015611b5c575f809550955050505050611044565b611b92610f45611b888c60a00151670de0b6b3a7640000611b7d91906121e7565b60a08e0151906110e3565b61041084866121e7565b9550611bc0670de0b6b3a7640000611baa818a61104d565b611bb491906121e7565b6101208c0151906110f7565b611bca90876121e7565b9a60019a5098505050505050505050565b5f805f611beb8989888888611f2c565b9050611bfe86610410610f458a8d6121d4565b9850611c0b858a86610cf5565b985088811015611c21575f809250925050611c86565b888103670de0b6b3a76400008110611c4f57611c486111ee670de0b6b3a7640000896110e3565b9050611c67565b611c646111ee670de0b6b3a76400008961104d565b90505b80891015611c7c575f80935093505050611c86565b8803925060019150505b965096945050505050565b5f805f611ca18989888888611f2c565b9050611cb186610410898b6121d4565b975087811015611cc7575f809250925050611c86565b878103611cd58186886110c0565b9050670de0b6b3a76400008110611d0257611cfb6111ee670de0b6b3a7640000896110e3565b9050611d1a565b611d176111ee670de0b6b3a76400008961104d565b90505b611d2481866110e3565b9050808a1015611d3b575f80935093505050611c86565b90980398600198509650505050505050565b5f818313611d5b57816103a3565b5090919050565b5f61041682610b1d8787875b5f6103a0846109ef61153d86670de0b6b3a76400006121e7565b5f80611dab8386604001518760a00151670de0b6b3a764000061115891906121e7565b90505f611dd7610aa7611dcc8860a00151888a6040015161041091906121d4565b60c089015190611504565b90505f611e4e611e038860a00151670de0b6b3a7640000611df891906121e7565b60a08a0151906110e3565b610410611e318a60a00151670de0b6b3a7640000611e2191906121e7565b8a8c6040015161041091906121d4565b611e3b90876121e7565b60c08b015160e08c0151610b1d9161104d565b905061028582826110f7565b5f805f611e6a8989888888611f2c565b905086881015611e80575f809250925050611c86565b9686900396611e8f8887610d10565b975087811015611ea5575f809250925050611c86565b878103611eb38186886110c0565b9050670de0b6b3a76400008110611ee057611ed96111ee670de0b6b3a7640000896110e3565b9050611ef8565b611ef56111ee670de0b6b3a76400008961104d565b90505b611f0281866110e3565b905089811015611f19575f80935093505050611c86565b9890980398600198509650505050505050565b5f611f378585610d10565b6114fa611f4886610410868b611504565b8590856110c0565b5f805f8060808587031215611f63575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f805f60a08688031215611f93575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b604051610180810167ffffffffffffffff81118282101715611fe657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6101808284031215611ffd575f80fd5b612005611fb6565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f805f6101c0848603121561209a575f80fd5b6120a48585611fec565b9561018085013595506101a0909401359392505050565b5f805f805f8060c087890312156120d0575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215612110575f80fd5b873596506020880135955060408801359450606088013593506080880135925060a0880135915060c08801358015158114612149575f80fd5b8091505092959891949750929550565b5f805f805f805f60e0888a03121561216f575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f80604083850312156121b1575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103c9576103c96121c0565b818103818111156103c9576103c96121c0565b8181035f831280158383131683831282161715610be757610be76121c0565b80820281158282048414176103c9576103c96121c0565b5f8261224a57634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615612263576122636121c0565b500590565b5f600160ff1b820161227c5761227c6121c0565b505f039056fea26469706673582212208bfc08777a9a04f3b337ab46ccfb98f61996d6b8ac9d9faf7e0ce777cce7cc6364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateAbsoluteMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256)": "a280a282", + "calculateCloseLong(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "94169d49", + "calculateCloseShort(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "f87845f2", + "calculateEffectiveShareReserves(uint256,int256)": "bc1e1065", + "calculateMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "3f77b617", + "calculateMaxShort((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "9e489b99", + "calculateNegativeInterestOnClose(uint256,uint256,uint256,uint256,uint256,uint256,bool)": "7ef99f87", + "calculateOpenLong(uint256,uint256,uint256,uint256,uint256,uint256)": "5e6d9d36", + "calculateOpenShort(uint256,uint256,uint256,uint256,uint256,uint256)": "6ceebe1d", + "calculateShortProceedsDown(uint256,uint256,uint256,uint256,uint256,uint256)": "e7acd3ad", + "calculateShortProceedsUp(uint256,uint256,uint256,uint256,uint256,uint256)": "902b1099", + "calculateSpotAPR(uint256,uint256,uint256,uint256,uint256)": "2810a036", + "calculateSpotPrice(uint256,uint256,uint256,uint256)": "2471caed", + "calculateTimeStretch(uint256,uint256)": "dbab8512" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts new file mode 100644 index 000000000..222007443 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts @@ -0,0 +1,1946 @@ +export const MockHyperdriveTarget0 = { + name: 'MockHyperdriveTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGovernanceFeesAccrued", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getGovernanceFeesAccrued()": "8e67f87e", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts new file mode 100644 index 000000000..d28ab8ddf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts @@ -0,0 +1,952 @@ +export const MockHyperdriveTarget1 = { + name: 'MockHyperdriveTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts new file mode 100644 index 000000000..250bba287 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts @@ -0,0 +1,972 @@ +export const MockHyperdriveTarget2 = { + name: 'MockHyperdriveTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts new file mode 100644 index 000000000..6b34c1f1e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts @@ -0,0 +1,992 @@ +export const MockHyperdriveTarget3 = { + name: 'MockHyperdriveTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts new file mode 100644 index 000000000..b23d68346 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts @@ -0,0 +1,971 @@ +export const MockHyperdriveTarget4 = { + name: 'MockHyperdriveTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockL2Pool.ts b/packages/hyperdrive-artifacts/src/MockL2Pool.ts new file mode 100644 index 000000000..ea5c2b62d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockL2Pool.ts @@ -0,0 +1,2337 @@ +export const MockL2Pool = { + name: 'MockL2Pool' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "addressesProvider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "category", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "args1", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "args2", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "protocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60a06040525f805534801562000013575f80fd5b5060405162005c4e38038062005c4e833981016040819052620000369162000048565b6001600160a01b031660805262000077565b5f6020828403121562000059575f80fd5b81516001600160a01b038116811462000070575f80fd5b9392505050565b608051615b63620000eb5f395f818161043c01528181610d2f01528181610deb015281816112090152818161196d01528181611c24015281816122840152818161232c0152818161255d015281816128ac01528181612dbb015281816132bb015281816134a50152613b8d0152615b635ff3fe608060405234801561000f575f80fd5b506004361061040b575f3560e01c8063870e774411610221578063d1946dbc1161012a578063e82fec2f116100b4578063f32b9a7311610084578063f32b9a7314610c48578063f51e435b14610c62578063f7a7384014610c75578063f8119d5114610c88578063fd21ecff14610c97575f80fd5b8063e82fec2f14610bf9578063e8eda9df146106c8578063eddf1b7914610c0a578063ee3e210b14610c35575f80fd5b8063d5eed868116100fa578063d5eed86814610b93578063d65dc7a114610ba6578063dc7c0bff14610bb9578063df374c3614610bcc578063e43e88a114610be6575f80fd5b8063d1946dbc14610b3e578063d335015514610b53578063d579ea7d14610b6d578063d5ed393314610b80575f80fd5b8063ab9c4b5d116101ab578063c44b11f71161017b578063c44b11f714610ab3578063c4d66de814610af4578063cd11238214610b05578063cea9d26f14610b18578063d15e005314610b2b575f80fd5b8063ab9c4b5d14610a3a578063b1a99e2614610a4d578063bcb6e52214610a60578063bf92857c14610a73575f80fd5b806394ba89a2116101f157806394ba89a2146109db57806398c7da4e146109ee5780639cd1999614610a01578063a415bcad14610a14578063ab2b51f614610a27575f80fd5b8063870e7744146109815780638e19899e1461099b578063911a3413146109ae57806394b576de146109c8575f80fd5b80634417a58311610323578063680dd47c116102ad5780636c6f6ae11161027d5780636c6f6ae11461073f5780636fb07f961461075f57806372218d041461079a5780637a708e92146107ad5780638381995f146107c0575f80fd5b8063680dd47c146106ee57806369328dec1461070157806369a933a5146107145780636a99c03614610727575f80fd5b8063573ade81116102f3578063573ade81146106535780635a3b74b9146106665780635c9a8b1814610679578063617ba037146106c857806363c9b860146106db575f80fd5b80634417a583146105b15780634d013f03146106015780635275179714610614578063563dd61314610640575f80fd5b806328530a47116103a4578063348fde0f11610374578063348fde0f1461053e57806335ea6a7514610558578063386497fd14610578578063427da1771461058b57806342b0b77c1461059e575f80fd5b806328530a47146104eb5780632be29fa7146104fe5780632dad97d4146105185780633036b4391461052b575f80fd5b80631d2118f9116103df5780631d2118f9146104a05780631fe3c6f3146104b35780632520d5ee146104c6578063272d9072146104d9575f80fd5b8062a718a91461040f57806302c205f0146104245780630542975c14610437578063074b2e431461047b575b5f80fd5b61042261041d3660046143cd565b610caa565b005b610422610432366004614452565b610eb5565b61045e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b603a546001600160801b03165b6040516001600160801b039091168152602001610472565b6104226104ae3660046144cc565b610fc6565b6104226104c1366004614503565b6110e9565b6104226104d43660046144cc565b611109565b6039545b604051908152602001610472565b6104226104f936600461451a565b61119d565b73__$5f76d850ac254f0697945c46b13dedf9fb$__61045e565b6104dd610526366004614533565b611333565b610422610539366004614503565b611433565b73__$8adee7547342d537bcdcaeb7c748cfa5c0$__61045e565b61056b610566366004614565565b611440565b6040516104729190614580565b6104dd610586366004614565565b61164c565b610422610599366004614503565b611672565b6104226105ac3660046146fc565b6116a1565b6105f26105bf366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260358352819020815192830190915254815290565b60405190518152602001610472565b61042261060f366004614503565b6117bf565b61045e610622366004614778565b61ffff165f908152603660205260409020546001600160a01b031690565b6104dd61064e366004614503565b6117ed565b6104dd610661366004614791565b611817565b6104226106743660046147d8565b611915565b6106b2610687366004614565565b6001600160a01b03165f90815260346020526040902060030154600160b81b900464ffffffffff1690565b60405164ffffffffff9091168152602001610472565b6104226106d6366004614804565b611a69565b6104226106e9366004614565565b611b15565b6104226106fc366004614852565b611b6b565b6104dd61070f36600461487b565b611b95565b610422610722366004614804565b611d48565b603a54600160801b90046001600160801b0316610488565b61075261074d36600461451a565b611dce565b60405161047291906148fd565b61048861076d366004614565565b6001600160a01b03165f90815260346020526040902060090154600160801b90046001600160801b031690565b603b54600160401b900461ffff166104dd565b6104226107bb366004614951565b611ef7565b6109746107ce366004614565565b60408051610240810182525f6102208201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810191909152506001600160a01b039081165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015290565b60405161047291906149b0565b73__$283efb0a967bb30ce182c750a4aff98297$__61045e565b6104dd6109a9366004614503565b61203b565b73__$589bdd19231b917beb0692fb1391cc382d$__61045e565b6104dd6109d6366004614852565b612060565b6104226109e9366004614b0a565b612098565b6104226109fc366004614565565b612110565b610422610a0f366004614b74565b612148565b610422610a22366004614bb2565b612184565b610422610a35366004614565565b6123c3565b610422610a48366004614bed565b6123f8565b610422610a5b366004614ced565b612702565b610422610a6e366004614d2f565b6127ff565b610a86610a81366004614565565b612820565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610472565b6105f2610ac1366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260348352819020815192830190915254815290565b610422610b02366004614565565b50565b610422610b133660046144cc565b6129f9565b610422610b26366004614d60565b612a5b565b6104dd610b39366004614565565b612ade565b610b46612afe565b6040516104729190614d9e565b73__$eb5517a650f544fa14961d696410147857$__61045e565b610422610b7b366004614e56565b612bf2565b610422610b8e366004614f67565b612cd6565b610422610ba1366004614503565b612eba565b6104dd610bb4366004614533565b612f18565b6104dd610bc7366004614503565b612f90565b73__$3176f8b4007c03a59557e1c69343378539$__61045e565b610422610bf4366004614565565b612fb0565b603b546001600160401b03166104dd565b6104dd610c18366004614565565b6001600160a01b03165f9081526038602052604090205460ff1690565b6104dd610c43366004614fc8565b612fff565b73__$65f2e84d14e08abb971fea4350599006ac$__61045e565b610422610c70366004615009565b613159565b610422610c83366004614503565b613267565b60405160808152602001610472565b610422610ca5366004615047565b613287565b73__$589bdd19231b917beb0692fb1391cc382d$__6383c1087d6034603660356037604051806101200160405280603b60089054906101000a900461ffff1661ffff1681526020018981526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a6001600160a01b0316815260200188151581526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dad9190615067565b6001600160a01b0390811682528b81165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015610e32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e569190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e82959493929190615082565b5f6040518083038186803b158015610e98575f80fd5b505af4158015610eaa573d5f803e3d5ffd5b505050505050505050565b60405163d505accf60e01b81526001600160a01b0389169063d505accf90610eed90339030908c908a908a908a908a9060040161513a565b5f604051808303815f87803b158015610f04575f80fd5b505af1925050508015610f15575060015b506001600160a01b038087165f818152603560209081526040918290208251608081018452948d1685529084018b90528382019290925261ffff8816606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192610f90926034926036929160040161517b565b5f6040518083038186803b158015610fa6575f80fd5b505af4158015610fb8573d5f803e3d5ffd5b505050505050505050505050565b610fce6132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166110175760405162461bcd60e51b815260040161100e91906151cc565b60405180910390fd5b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061107f57505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906110b85760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b039182165f90815260346020526040902060070180546001600160a01b03191691909216179055565b5f806110f660368461337c565b915091506111048282612098565b505050565b6001600160a01b038083165f90815260346020908152604080832093851683526035909152908190209051631210e32760e11b815273__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9261116d9287908790600190600401615212565b5f6040518083038186803b158015611183575f80fd5b505af4158015611195573d5f803e3d5ffd5b505050505050565b73__$65f2e84d14e08abb971fea4350599006ac$__635d5dc313603460366037603860355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060600160405280603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611263573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112879190615067565b6001600160a01b031681526020018960ff168152506040518763ffffffff1660e01b81526004016113049695949392919095865260208087019590955260408087019490945260608601929092526080850152805160a0850152918201516001600160a01b031660c0840152015160ff1660e08201526101000190565b5f6040518083038186803b15801561131a575f80fd5b505af415801561132c573d5f803e3d5ffd5b5050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808a6001600160a01b031681526020018981526020018860028111156113a7576113a76151de565b60028111156113b8576113b86151de565b81523360208201526001604091820152516001600160e01b031960e087901b1681526113ea949392919060040161524e565b602060405180830381865af4158015611405573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142991906152b4565b90505b9392505050565b61143b6132af565b603955565b61144861427d565b6001600160a01b038083165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015261156361427d565b815181526020808301516001600160801b039081169183019190915260408084015182169083015260608084015182169083015260808084015182169083015260a08084015182169083015260c08084015164ffffffffff169083015260e08084015161ffff1690830152610120808401516001600160a01b03908116610100850152610140808601518216928501929092526101608086015182169285019290925261018080860151909116918401919091526101a0808501518316918401919091526101c0808501518316918401919091526101e090930151169181019190915292915050565b6001600160a01b0381165f90815260346020526040812061166c906133a8565b92915050565b61ffff81165f908152603660205260409020546001600160a01b0390811690601083901c1661110482826129f9565b5f6040518060e00160405280886001600160a01b03168152602001876001600160a01b0316815260200186815260200185858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093855250505061ffff8516602080840191909152603a546001600160801b03600160801b8204811660408087019190915291166060909401939093526001600160a01b038a16825260349052819020905163a1fe0e8d60e01b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__9163a1fe0e8d9161178a9185906004016152cb565b5f6040518083038186803b1580156117a0575f80fd5b505af41580156117b2573d5f803e3d5ffd5b5050505050505050505050565b61ffff81165f908152603660205260409020546001600160a01b0316601082901c6001166111048282611915565b5f805f806117fc60368661340a565b92509250925061180e83838333611817565b95945050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808b6001600160a01b031681526020018a815260200189600281111561188b5761188b6151de565b600281111561189c5761189c6151de565b81526001600160a01b03891660208201525f604091820152516001600160e01b031960e087901b1681526118d6949392919060040161524e565b602060405180830381865af41580156118f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180e91906152b4565b73__$283efb0a967bb30ce182c750a4aff98297$__63bf697a2660346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f208787603b60089054906101000a900461ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119eb9190615067565b335f908152603860205260409081902054905160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093526001600160a01b039182166084870152151560a486015261ffff90911660c48501521660e483015260ff166101048201526101240161116d565b6001600160a01b038083165f81815260356020908152604091829020825160808101845294891685529084018790528382019290925261ffff8416606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192611ae3926034926036929160040161517b565b5f6040518083038186803b158015611af9575f80fd5b505af4158015611b0b573d5f803e3d5ffd5b5050505050505050565b611b1d6132af565b604051639cf5702360e01b815260346004820152603660248201526001600160a01b038216604482015273__$eb5517a650f544fa14961d696410147857$__90639cf5702390606401611304565b5f805f805f611b7b603689613466565b94509450945094509450611b0b8585338686868d8d610eb5565b5f73__$283efb0a967bb30ce182c750a4aff98297$__63186dea4460346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808b6001600160a01b031681526020018a8152602001896001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca29190615067565b6001600160a01b039081168252335f908152603860209081526040918290205460ff90811694820194909452815160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093528151831660848701529381015160a486015291820151811660c4850152606082015160e485015260808201511661010484015260a0015116610124820152610144016113ea565b611d506134a3565b6001600160a01b038281165f81815260356020526040908190209051630413c86f60e01b81526034600482015260366024820152604481019190915291861660648301526084820185905260a482015261ffff821660c482015273__$3176f8b4007c03a59557e1c69343378539$__90630413c86f9060e401611ae3565b6040805160a0810182525f80825260208201819052918101829052606080820192909252608081019190915260ff82165f90815260376020908152604091829020825160a081018452815461ffff808216835262010000820481169483019490945264010000000081049093169381019390935266010000000000009091046001600160a01b03166060830152600181018054608084019190611e7090615347565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9c90615347565b8015611ee75780601f10611ebe57610100808354040283529160200191611ee7565b820191905f5260205f20905b815481529060010190602001808311611eca57829003601f168201915b5050505050815250509050919050565b611eff6132af565b73__$eb5517a650f544fa14961d696410147857$__6369fc1bdf603460366040518060e001604052808a6001600160a01b03168152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff168152602001611f95608090565b61ffff168152506040518463ffffffff1660e01b8152600401611fba93929190615379565b602060405180830381865af4158015611fd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff991906153fa565b1561132c57603b8054600160401b900461ffff1690600861201983615429565b91906101000a81548161ffff021916908361ffff160217905550505050505050565b5f805f6120496036856135c3565b91509150612058828233611b95565b949350505050565b5f805f805f8061207160368a613612565b9450945094509450945061208b8585853386868e8e612fff565b9998505050505050505050565b6001600160a01b0382165f908152603460209081526040808320338085526035909352922073__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9290919086908660028111156120f0576120f06151de565b6040518663ffffffff1660e01b815260040161116d959493929190615212565b6121186132af565b6001600160a01b0381165f908152603460205260408120906121398261364d565b90506111048282855f80613818565b604051631230b2a360e21b815273__$eb5517a650f544fa14961d696410147857$__906348c2ca8c9061116d9060349086908690600401615449565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f960346036603760355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518061018001604052808c6001600160a01b03168152602001336001600160a01b03168152602001886001600160a01b031681526020018b81526020018a6002811115612218576122186151de565b6002811115612229576122296151de565b815261ffff808b166020808401919091526001604080850191909152603b546001600160401b0381166060860152600160401b900490921660808401528151631f94a27560e31b8152915160a0909301926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263fca513a89260048083019391928290030181865afa1580156122ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ee9190615067565b6001600160a01b0390811682528981165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015612373573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123979190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e829594939291906154a0565b6123cb6132af565b6001600160a01b0381165f908152603460205260408120906123ec8261364d565b90506111048282613b33565b5f604051806101e001604052808d6001600160a01b031681526020018c8c808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506040805160208c810282810182019093528c82529283019290918d918d9182918501908490808284375f920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b9182918501908490808284375f920191909152505050908252506001600160a01b03871660208083019190915260408051601f880183900483028101830182528781529201919087908790819084018382808284375f92018290525093855250505061ffff808616602080850191909152603a546001600160801b03600160801b8204811660408088019190915291166060860152603b546001600160401b0381166080870152600160401b900490921660a08501526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660c086018190523060e0870152908b16845260388252928290205460ff16610100850152815163383e6b8b60e11b815291516101209094019363707cd7169260048082019392918290030181865afa1580156125dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126009190615067565b60405163fa50f29760e01b81523360048201526001600160a01b03919091169063fa50f29790602401602060405180830381865afa158015612644573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266891906153fa565b151590526001600160a01b0386165f9081526035602052604090819020905163173931f560e11b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__91632e7263ea916126c891603491603691603791908890600401615606565b5f6040518083038186803b1580156126de575f80fd5b505af41580156126f0573d5f803e3d5ffd5b50505050505050505050505050505050565b61270a6132af565b6001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061277157505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906127aa5760405162461bcd60e51b815260040161100e91906151cc565b50604051636ae4381360e01b8152603460048201526001600160a01b038316602482015264ffffffffff8216604482015273__$eb5517a650f544fa14961d696410147857$__90636ae438139060640161116d565b6128076132af565b6001600160801b03908116600160801b02911617603a55565b604080516001600160a01b038381165f8181526035602090815285822060c0860187525460a086019081528552603b54600160401b900461ffff1681860152848601929092528451631f94a27560e31b8152945190948594859485948594859473__$eb5517a650f544fa14961d696410147857$__946326ec273f9460349460369460379460608501937f0000000000000000000000000000000000000000000000000000000000000000169263fca513a8926004808401938290030181865afa1580156128f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129149190615067565b6001600160a01b0390811682528e81165f908152603860209081526040918290205460ff90811694820194909452815160e08a901b6001600160e01b0319168152600481019890985260248801969096526044870194909452825151606487015293820151608486015291810151831660a4850152606081015190921660c48401526080909101511660e48201526101040160c060405180830381865af41580156129c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e5919061577e565b949c939b5091995097509550909350915050565b6001600160a01b038281165f81815260346020526040908190209051631a5cfdd160e21b815260048101919091526024810191909152908216604482015273__$5f76d850ac254f0697945c46b13dedf9fb$__90636973f7449060640161116d565b612a63613b8b565b6040516343d9915960e11b81526001600160a01b038085166004830152831660248201526044810182905273__$eb5517a650f544fa14961d696410147857$__906387b322b2906064015f6040518083038186803b158015612ac3575f80fd5b505af4158015612ad5573d5f803e3d5ffd5b50505050505050565b6001600160a01b0381165f90815260346020526040812061166c90613cab565b603b54606090600160401b900461ffff165f80826001600160401b03811115612b2957612b29614dea565b604051908082528060200260200182016040528015612b52578160200160208202803683370190505b5090505f5b83811015612be8575f818152603660205260409020546001600160a01b031615612bd2575f818152603660205260409020546001600160a01b031682612b9d85846157c4565b81518110612bad57612bad6157d7565b60200260200101906001600160a01b031690816001600160a01b031681525050612be0565b82612bdc816157eb565b9350505b600101612b57565b5091038152919050565b612bfa6132af565b604080518082019091526002815261189b60f11b602082015260ff8316612c345760405162461bcd60e51b815260040161100e91906151cc565b5060ff82165f9081526037602090815260409182902083518154928501519385015160608601516001600160a01b03166601000000000000026601000000000000600160d01b031961ffff9283166401000000000216640100000000600160d01b0319968316620100000263ffffffff1990961692909316919091179390931793909316929092171781556080820151829190600182019061132c9082615847565b6001600160a01b038681165f908152603460209081526040918290206004015482518084019093526002835261313160f01b918301919091529091163314612d315760405162461bcd60e51b815260040161100e91906151cc565b5073__$283efb0a967bb30ce182c750a4aff98297$__638a5dadd160346036603760356040518061012001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a8152602001898152602001888152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e399190615067565b6001600160a01b0390811682528d165f908152603860209081526040918290205460ff16920191909152516001600160e01b031960e088901b168152612e86959493929190600401615902565b5f6040518083038186803b158015612e9c575f80fd5b505af4158015612eae573d5f803e3d5ffd5b50505050505050505050565b5f805f80612f0360368661ffff8181165f9081526020939093526040909220546001600160a01b0316926001600160801b03601083901c169260ff609084901c169260981c1690565b935093509350935061132c8484848433612184565b5f612f216134a3565b6001600160a01b0384165f818152603460205260409081902060395491516311ce864960e31b8152600481019190915260248101929092526044820185905260648201849052608482015273__$3176f8b4007c03a59557e1c69343378539$__90638e7432489060a4016113ea565b5f805f80612f9f60368661340a565b92509250925061180e838383611333565b612fb86132af565b604051631e3b414560e01b8152603460048201526001600160a01b038216602482015273__$eb5517a650f544fa14961d696410147857$__90631e3b414590604401611304565b60405163d505accf60e01b81525f906001600160a01b038a169063d505accf9061303990339030908d908b908b908b908b9060040161513a565b5f604051808303815f87803b158015613050575f80fd5b505af1925050508015613061575060015b505f6040518060a001604052808b6001600160a01b031681526020018a8152602001896002811115613095576130956151de565b60028111156130a6576130a66151de565b81526001600160a01b03891660208083018290525f6040938401819052918252603590528190209051632074aef360e11b815291925073__$5f76d850ac254f0697945c46b13dedf9fb$__916340e95de69161310c91603491603691879060040161524e565b602060405180830381865af4158015613127573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314b91906152b4565b9a9950505050505050505050565b6131616132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166131a15760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061320957505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906132425760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f9081526034602052604090208135815581905b50505050565b5f805f613275603685613d01565b92509250925061326183833384611a69565b5f805f805f61329860368888613d3b565b94509450945094509450612ad58585858585610caa565b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663631adfca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133399190615067565b6001600160a01b03161460405180604001604052806002815260200161031360f41b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b61ffff81165f908152602083905260409020546001600160a01b0316601082901c60ff165b9250929050565b60038101545f90600160801b900464ffffffffff164281036133d6575050600201546001600160801b031690565b600283015461142c906001600160801b03808216916133fe91600160801b9091041684613dc0565b90613dcc565b50919050565b5f808061ffff8416601085901c6001600160801b0316609086901c60ff166002600160801b0319820161343c575f1991505b61ffff9092165f908152602088905260409020546001600160a01b03169450925090509250925092565b5f8080808060a086901c63ffffffff1660c087901c60ff1682808061348b8c8c613d01565b919e909d50909b509499509297509295505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135239190615067565b604051633933006760e11b81523360048201526001600160a01b03919091169063726600ce90602401602060405180830381865afa158015613567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061358b91906153fa565b604051806040016040528060018152602001601b60f91b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b5f8061ffff8316601084901c6001600160801b03166002600160801b031981016135eb57505f195b61ffff919091165f9081526020959095526040909420546001600160a01b03169492505050565b5f805f805f805f805f806136268c8c61340a565b919e909d50909b609881901c63ffffffff169b5060b81c60ff169950975050505050505050565b6136556142ff565b61365d6142ff565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa15801561374c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061377091906152b4565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156137c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e591906159a9565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b61383f60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161385391613dcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161391a916004016159dc565b606060405180830381865afa158015613935573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139599190615a5e565b6040840152602083015280825261396f90613e0e565b6001870180546001600160801b03928316600160801b029216919091179055602081015161399c90613e0e565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516139cc90613e0e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152613a0a9051600160fc1b16151590565b15613abf578215613a6757613a1e83613e0e565b600987018054601090613a42908490600160801b90046001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115613abf57613a7682613e0e565b600987018054601090613a9a908490600160801b90046001600160801b0316615ab0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b600382015464ffffffffff428116600160801b9092041603613b53575050565b613b5d8282613e7a565b613b678282613f57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015613be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c0b9190615067565b604051637be53ca160e01b81523360048201526001600160a01b039190911690637be53ca190602401602060405180830381865afa158015613c4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c7391906153fa565b604051806040016040528060018152602001603160f81b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b60038101545f90600160801b900464ffffffffff16428103613cd9575050600101546001600160801b031690565b600183015461142c906001600160801b03808216916133fe91600160801b90910416846140bb565b61ffff8181165f908152602084905260409020546001600160a01b031690601083901c6001600160801b031690609084901c169250925092565b5f8080808061ffff87811690601089901c16602089901c6001600160a01b03166001600160801b03891660808a901c6001166002600160801b03198201613d81575f1991505b61ffff9485165f90815260209d909d526040808e2054949095168d5293909b20546001600160a01b039283169c92169a90995097509095509350505050565b5f61142c8383426140f7565b5f81156b019d971e4fe8401e740000001983900484111517613dec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b5f6001600160801b03821115613e765760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161100e565b5090565b61016081015115613ee8575f613e9a8261016001518361024001516140bb565b9050613eb38260e0015182613dcc90919063ffffffff16565b6101008301819052613ec490613e0e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115613f53575f613f04826101800151836102400151613dc0565b9050613f1e82610120015182613dcc90919063ffffffff16565b6101408301819052613f2f90613e0e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b613f8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03613f9b57505050565b6101208201518251613fac91613dcc565b60208201526101408201518251613fc291613dcc565b60408201526060820151610260830151610240840151613fea92919064ffffffffff166140f7565b606082018190526040830151613fff91613dcc565b80825260208201516080840151604084015161401b9190615ad0565b61402591906157c4565b61402f91906157c4565b608082018190526101a0830151614046919061421c565b60a0820181905215611104576140766140718361010001518360a0015161424090919063ffffffff16565b613e0e565b6008840180545f906140929084906001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b5f806140ce64ffffffffff8416426157c4565b6140d89085615ae3565b6301e1338090049050612058816b033b2e3c9fd0803ce8000000615ad0565b5f8061410a64ffffffffff8516846157c4565b9050805f03614128576b033b2e3c9fd0803ce800000091505061142c565b5f1981015f80806002851161413d575f614142565b600285035b925066038882915c40006141568a80613dcc565b8161416357614163615afa565b0491506301e13380614175838b613dcc565b8161418257614182615afa565b0490505f826141918688615ae3565b61419b9190615ae3565b6002900490505f82856141ae888a615ae3565b6141b89190615ae3565b6141c29190615ae3565b60069004905080826301e133806141d98a8f615ae3565b6141e39190615b0e565b6141f9906b033b2e3c9fd0803ce8000000615ad0565b6142039190615ad0565b61420d9190615ad0565b9b9a5050505050505050505050565b5f81156113881983900484111517614232575f80fd5b506127109102611388010490565b5f81156b033b2e3c9fd0803ce800000060028404190484111715614262575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b60408051610200810182525f6101e08201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161437460405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114610b02575f80fd5b80356143bb8161439c565b919050565b8015158114610b02575f80fd5b5f805f805f60a086880312156143e1575f80fd5b85356143ec8161439c565b945060208601356143fc8161439c565b9350604086013561440c8161439c565b9250606086013591506080860135614423816143c0565b809150509295509295909350565b803561ffff811681146143bb575f80fd5b803560ff811681146143bb575f80fd5b5f805f805f805f80610100898b03121561446a575f80fd5b88356144758161439c565b975060208901359650604089013561448c8161439c565b955061449a60608a01614431565b9450608089013593506144af60a08a01614442565b925060c0890135915060e089013590509295985092959890939650565b5f80604083850312156144dd575f80fd5b82356144e88161439c565b915060208301356144f88161439c565b809150509250929050565b5f60208284031215614513575f80fd5b5035919050565b5f6020828403121561452a575f80fd5b61142c82614442565b5f805f60608486031215614545575f80fd5b83356145508161439c565b95602085013595506040909401359392505050565b5f60208284031215614575575f80fd5b813561142c8161439c565b81515181526101e0810160208301516145a460208401826001600160801b03169052565b5060408301516145bf60408401826001600160801b03169052565b5060608301516145da60608401826001600160801b03169052565b5060808301516145f560808401826001600160801b03169052565b5060a083015161461060a08401826001600160801b03169052565b5060c083015161462960c084018264ffffffffff169052565b5060e083015161463f60e084018261ffff169052565b50610100838101516001600160a01b039081169184019190915261012080850151821690840152610140808501518216908401526101608085015190911690830152610180808401516001600160801b03908116918401919091526101a0808501518216908401526101c08085015191821681850152905b505092915050565b5f8083601f8401126146cf575f80fd5b5081356001600160401b038111156146e5575f80fd5b6020830191508360208285010111156133a1575f80fd5b5f805f805f8060a08789031215614711575f80fd5b863561471c8161439c565b9550602087013561472c8161439c565b94506040870135935060608701356001600160401b0381111561474d575f80fd5b61475989828a016146bf565b909450925061476c905060808801614431565b90509295509295509295565b5f60208284031215614788575f80fd5b61142c82614431565b5f805f80608085870312156147a4575f80fd5b84356147af8161439c565b9350602085013592506040850135915060608501356147cd8161439c565b939692955090935050565b5f80604083850312156147e9575f80fd5b82356147f48161439c565b915060208301356144f8816143c0565b5f805f8060808587031215614817575f80fd5b84356148228161439c565b93506020850135925060408501356148398161439c565b915061484760608601614431565b905092959194509250565b5f805f60608486031215614864575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561488d575f80fd5b83356148988161439c565b92506020840135915060408401356148af8161439c565b809150509250925092565b5f81518084525f5b818110156148de576020818501810151868301820152016148c2565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61ffff8084511660208401528060208501511660408401528060408501511660608401525060018060a01b036060840151166080830152608083015160a08084015261205860c08401826148ba565b5f805f805f60a08688031215614965575f80fd5b85356149708161439c565b945060208601356149808161439c565b935060408601356149908161439c565b925060608601356149a08161439c565b915060808601356144238161439c565b8151518152610220810160208301516149d460208401826001600160801b03169052565b5060408301516149ef60408401826001600160801b03169052565b506060830151614a0a60608401826001600160801b03169052565b506080830151614a2560808401826001600160801b03169052565b5060a0830151614a4060a08401826001600160801b03169052565b5060c0830151614a5960c084018264ffffffffff169052565b5060e0830151614a6f60e084018261ffff169052565b506101008381015164ffffffffff1690830152610120808401516001600160a01b0390811691840191909152610140808501518216908401526101608085015182169084015261018080850151909116908301526101a0808401516001600160801b03908116918401919091526101c0808501518216908401526101e0808501518216908401526102008085015191821681850152906146b7565b5f8060408385031215614b1b575f80fd5b8235614b268161439c565b946020939093013593505050565b5f8083601f840112614b44575f80fd5b5081356001600160401b03811115614b5a575f80fd5b6020830191508360208260051b85010111156133a1575f80fd5b5f8060208385031215614b85575f80fd5b82356001600160401b03811115614b9a575f80fd5b614ba685828601614b34565b90969095509350505050565b5f805f805f60a08688031215614bc6575f80fd5b8535614bd18161439c565b945060208601359350604086013592506149a060608701614431565b5f805f805f805f805f805f60e08c8e031215614c07575f80fd5b614c108c6143b0565b9a506001600160401b038060208e01351115614c2a575f80fd5b614c3a8e60208f01358f01614b34565b909b50995060408d0135811015614c4f575f80fd5b614c5f8e60408f01358f01614b34565b909950975060608d0135811015614c74575f80fd5b614c848e60608f01358f01614b34565b9097509550614c9560808e016143b0565b94508060a08e01351115614ca7575f80fd5b50614cb88d60a08e01358e016146bf565b9093509150614cc960c08d01614431565b90509295989b509295989b9093969950565b64ffffffffff81168114610b02575f80fd5b5f8060408385031215614cfe575f80fd5b8235614d098161439c565b915060208301356144f881614cdb565b80356001600160801b03811681146143bb575f80fd5b5f8060408385031215614d40575f80fd5b614d4983614d19565b9150614d5760208401614d19565b90509250929050565b5f805f60608486031215614d72575f80fd5b8335614d7d8161439c565b92506020840135614d8d8161439c565b929592945050506040919091013590565b602080825282518282018190525f9190848201906040850190845b81811015614dde5783516001600160a01b031683529284019291840191600101614db9565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715614e2057614e20614dea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614e4e57614e4e614dea565b604052919050565b5f8060408385031215614e67575f80fd5b614e7083614442565b91506020808401356001600160401b0380821115614e8c575f80fd5b9085019060a08288031215614e9f575f80fd5b614ea7614dfe565b614eb083614431565b8152614ebd848401614431565b84820152614ecd60408401614431565b60408201526060830135614ee08161439c565b6060820152608083013582811115614ef6575f80fd5b80840193505087601f840112614f0a575f80fd5b823582811115614f1c57614f1c614dea565b614f2e601f8201601f19168601614e26565b92508083528885828601011115614f43575f80fd5b80858501868501375f85828501015250816080820152809450505050509250929050565b5f805f805f8060c08789031215614f7c575f80fd5b8635614f878161439c565b95506020870135614f978161439c565b94506040870135614fa78161439c565b959894975094956060810135955060808101359460a0909101359350915050565b5f805f805f805f80610100898b031215614fe0575f80fd5b8835614feb8161439c565b97506020890135965060408901359550606089013561449a8161439c565b5f80828403604081121561501b575f80fd5b83356150268161439c565b92506020601f1982011215615039575f80fd5b506020830190509250929050565b5f8060408385031215615058575f80fd5b50508035926020909101359150565b5f60208284031215615077575f80fd5b815161142c8161439c565b5f6101a08201905086825285602083015284604083015283606083015282516080830152602083015160a0830152604083015160018060a01b0380821660c08501528060608601511660e0850152505060808301516101006150ee818501836001600160a01b03169052565b60a0850151151561012085015260c08501516001600160a01b0390811661014086015260e086015160ff166101608601529085015190811661018085015290505b509695505050505050565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b93845260208085019390935260408085019290925280516001600160a01b039081166060808701919091529382015160808601529181015190911660a0840152015161ffff1660c082015260e00190565b602081525f61142c60208301846148ba565b634e487b7160e01b5f52602160045260245ffd5b6003811061520e57634e487b7160e01b5f52602160045260245ffd5b9052565b858152602081018590526001600160a01b0384811660408301528316606082015260a0810161524460808301846151f2565b9695505050505050565b8481526020808201859052604080830185905283516001600160a01b0390811660608501529184015160808401528301516101008301919061529360a08501826151f2565b5060608401511660c0830152608090920151151560e0909101529392505050565b5f602082840312156152c4575f80fd5b5051919050565b828152604060208201525f60018060a01b038084511660408401528060208501511660608401525060408301516080830152606083015160e060a08401526153176101208401826148ba565b905061ffff60808501511660c084015260a084015160e084015260c0840151610100840152809150509392505050565b600181811c9082168061535b57607f821691505b60208210810361340457634e487b7160e01b5f52602260045260245ffd5b5f6101208201905084825283602083015260018060a01b038084511660408401528060208501511660608401528060408501511660808401528060608501511660a08401528060808501511660c08401525060a08301516153e060e084018261ffff169052565b5060c083015161ffff811661010084015250949350505050565b5f6020828403121561540a575f80fd5b815161142c816143c0565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff80831681810361543f5761543f615415565b6001019392505050565b838152604060208083018290529082018390525f90849060608401835b868110156154945783356154798161439c565b6001600160a01b031682529282019290820190600101615466565b50979650505050505050565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e08301526080830151610100615515818501836151f2565b60a0850151915061012061552e8186018461ffff169052565b60c086015192506101406155458187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e0850152905061512f565b5f815180845260208085019450602084015f5b838110156155cc5781516001600160a01b0316875295820195908201906001016155a7565b509495945050505050565b5f815180845260208085019450602084015f5b838110156155cc578151875295820195908201906001016155ea565b85815284602082015283604082015282606082015260a0608082015261563860a0820183516001600160a01b03169052565b5f60208301516101e08060c0850152615655610280850183615594565b91506040850151609f19808685030160e087015261567384836155d7565b93506060870151915061010081878603018188015261569285846155d7565b9450608088015192506101206156b2818901856001600160a01b03169052565b60a089015193506101408389880301818a01526156cf87866148ba565b965060c08a0151945061016093506156ec848a018661ffff169052565b60e08a0151945061018085818b0152838b015195506101a0935085848b0152828b015195506101c0925085838b0152818b0151878b0152848b0151965061573f6102008b01886001600160a01b03169052565b8a01516001600160a01b0381166102208b0152955061575b9050565b9088015160ff166102408801528701518015156102608801529250615494915050565b5f805f805f8060c08789031215615793575f80fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b8181038181111561166c5761166c615415565b634e487b7160e01b5f52603260045260245ffd5b5f600182016157fc576157fc615415565b5060010190565b601f82111561110457805f5260205f20601f840160051c810160208510156158285750805b601f840160051c820191505b8181101561132c575f8155600101615834565b81516001600160401b0381111561586057615860614dea565b6158748161586e8454615347565b84615803565b602080601f8311600181146158a7575f84156158905750858301515b5f19600386901b1c1916600185901b178555611195565b5f85815260208120601f198616915b828110156158d5578886015182559484019460019091019084016158b6565b50858210156158f257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b858152602080820186905260408083018690526060830185905283516001600160a01b03908116608085015291840151821660a084015283015190811660c08301526101a082019050606083015160e08301526080830151610100818185015260a085015161012085015260c085015161014085015260e085015191506159956101608501836001600160a01b03169052565b84015160ff8116610180850152905061512f565b5f805f80608085870312156159bc575f80fd5b84519350602085015192506040850151915060608501516147cd81614cdb565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151615a3e60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215615a70575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b03818116838216019080821115615aa957615aa9615415565b5092915050565b6001600160801b03828116828216039080821115615aa957615aa9615415565b8082018082111561166c5761166c615415565b808202811582820484141761166c5761166c615415565b634e487b7160e01b5f52601260045260245ffd5b5f82615b2857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212204793bf1919cd1991d18e25326db47014c7d5e4809660a16fa3e2bc0504f0939f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "borrow(bytes32)": "d5eed868", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "initialize(address)": "c4d66de8", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "liquidationCall(bytes32,bytes32)": "fd21ecff", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "rebalanceStableBorrowRate(bytes32)": "427da177", + "repay(address,uint256,uint256,address)": "573ade81", + "repay(bytes32)": "563dd613", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithATokens(bytes32)": "dc7c0bff", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "setUserUseReserveAsCollateral(bytes32)": "4d013f03", + "supply(address,uint256,address,uint16)": "617ba037", + "supply(bytes32)": "f7a73840", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapBorrowRateMode(bytes32)": "1fe3c6f3", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec", + "withdraw(bytes32)": "8e19899e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockLPMath.ts b/packages/hyperdrive-artifacts/src/MockLPMath.ts new file mode 100644 index 000000000..f3d27c36d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockLPMath.ts @@ -0,0 +1,1347 @@ +export const MockLPMath = { + name: 'MockLPMath' as const, + abi: [ + { + "type": "function", + "name": "calculateDistributeExcessIdle", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateDistributeExcessIdleShareProceeds", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_originalEffectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxShareReservesDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateDistributeExcessIdleWithdrawalSharesRedeemed", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateInitialReserves", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxShareReservesDeltaSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_originalEffectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateNetCurveTrade", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateNetFlatTrade", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculatePresentValue", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesDeltaGivenBondsDeltaDerivativeSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_originalEffectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateUpdateLiquidity", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareReservesDelta", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "shouldShortCircuitDistributeExcessIdleShareProceeds", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_presentValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061251a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c8063a4fc6f811161006e578063a4fc6f8114610174578063b29e1d1e14610187578063b500f3cb146101b5578063c00b11d3146101c8578063c615b2d9146101db578063cefef8b7146101ee575f80fd5b806332c5dec4146100b55780633f9ccc01146100db578063865d65a2146100ee5780638f1505fa146101165780639e5fc16b14610139578063a0d1643c14610161575b5f80fd5b6100c86100c33660046120d9565b610201565b6040519081526020015b60405180910390f35b6100c86100e936600461217a565b610211565b6101016100fc3660046121ae565b610227565b604080519283526020830191909152016100d2565b61012961012436600461217a565b6102ac565b60405190151581526020016100d2565b61014c6101473660046121ae565b6102b8565b604080519283529015156020830152016100d2565b6100c861016f3660046121ae565b6102c4565b6100c86101823660046120d9565b6102d6565b61019a6101953660046121d9565b610355565b604080519384526020840192909252908201526060016100d2565b61019a6101c3366004612218565b610402565b6100c86101d63660046120d9565b610513565b61014c6101e936600461217a565b61058b565b61014c6101fc36600461224f565b6105a5565b5f61020b826105b9565b92915050565b5f61021f848484600461062b565b949350505050565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef6885856040518363ffffffff1660e01b81526004016102629291906122e8565b6040805180830381865af415801561027c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a0919061235d565b915091505b9250929050565b5f61021f848484610b32565b5f806102a08484610b9d565b5f6102cf8383610ca4565b9392505050565b5f805f6102e284610d69565b915091508061034e5760405162461bcd60e51b815260206004820152602d60248201527f4d6f636b4c504d6174683a2063616c63756c6174654e6574437572766554726160448201526c191954d859994819985a5b1959609a1b60648201526084015b60405180910390fd5b5092915050565b60405163594f0e8f60e11b8152600481018790526024810186905260448101859052606481018490526084810183905260a481018290525f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156103cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f0919061237f565b919b909a509098509650505050505050565b60405163685a2be760e11b815260048101869052602481018590526044810184905260648101839052608481018290525f9081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015610474573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049891906123aa565b92965090945092509050806105075760405162461bcd60e51b815260206004820152602f60248201527f4d6f636b4c504d6174683a2063616c63756c6174655570646174654c6971756960448201526e191a5d1e54d859994819985a5b1959608a1b6064820152608401610345565b50955095509592505050565b604051635f9d50ab60e11b81525f9073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061054c9085906004016123ec565b602060405180830381865af4158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b91906123fb565b5f80610598858585611080565b915091505b935093915050565b5f806105b0836113d5565b91509150915091565b5f6105f06105eb836101200151670de0b6b3a76400006105d99190612426565b606085015161010086015191906114a2565b6114c5565b6106216105eb846101600151670de0b6b3a764000061060f9190612426565b606086015161014087015191906114f2565b61020b9190612439565b5f80856060015186604001516106419190612458565b602087015160608801519192505f9161065a91846114f2565b90508660a001515f0361067057915061021f9050565b5f808089600488101561068257600497505b5f5b888110156109db57610696868b61150d565b95505f6106cb8360c001518460e00151856101000151865f015160a001516106bd8c6114c5565b6106c69061246b565b611521565b865160408101929092526020820192909252919091529050806106f8575f9850505050505050505061021f565b5f6107058e5f015161162c565b925090508161071f575f995050505050505050505061021f565b61072a84828b610b32565b156107405787995050505050505050505061021f565b5f8460a0015113156108a257835180516020820151604083015160a084015160e0909401515f946107929493929161078090670de0b6b3a7640000612426565b8a5160608101516080909101516116b2565b93509050826107ad575f9a505050505050505050505061021f565b808560a00151106108a0576107c1856113d5565b9099509250826107dd575f9a505050505050505050505061021f565b6108018560c001518660e00151876101000151885f015160a001516106bd8e6114c5565b88516040810192909252602082019290925291909152925082610830575f9a505050505050505050505061021f565b845180516020820151604083015160a084015160e090940151610860949061078090670de0b6b3a7640000612426565b935090508261087b575f9a505050505050505050505061021f565b8e60a00151811161089857889a505050505050505050505061021f565b5050506109d3565b505b5f6108b2858f8760a00151611080565b935090508215806108cb5750670de0b6b3a76400008110155b156108e2575f9a505050505050505050505061021f565b80670de0b6b3a76400000390505f61090e6105eb876040015188602001516117af90919063ffffffff16565b61091b6105eb858e6117c3565b6109259190612439565b90508815806109435750610938896117d7565b610941826117d7565b105b15610952578098508997508296505b5f81131561097f5761096e8b61096883856117e8565b906117e8565b610978908b612458565b99506109ce565b5f8112156109c5575f6109978c61096885818661246b565b90508a8110156109ab57808b039a506109bf565b5f9c5050505050505050505050505061021f565b506109ce565b505050506109db565b505050505b600101610684565b505f610a018260c001518360e00151846101000151855f015160a001516106bd8b6114c5565b85516040810192909252602082019290925291909152905080610a2d575f97505050505050505061021f565b5f610a3a835f01516117fc565b90505f610a5b6105eb856040015186602001516117af90919063ffffffff16565b610a686105eb848c6117c3565b610a729190612439565b9050610a7d876117d7565b610a86826117d7565b1015610a93578795508194505b610aba610aae655af3107a4000670de0b6b3a7640000612426565b6020860151908b6114a2565b6040850151610aca9087906117e8565b1080610b0a5750610af8610aec655af3107a4000670de0b6b3a7640000612458565b6020860151908b6114f2565b6040850151610b0890879061182a565b115b15610b20575f995050505050505050505061021f565b50939c9b505050505050505050505050565b60208301515f90610b43908461182a565b6040850151610b539084906117e8565b1015801561021f57506020840151610b839084610b7c633b9aca00670de0b6b3a7640000612458565b91906114f2565b6040850151610b9390849061182a565b1115949350505050565b5f805f8460a0015112610bb8575050608082015160016102a5565b5f8460a00151610bc79061246b565b90505f610c0185876101000151885f015160e00151670de0b6b3a7640000610bef9190612426565b8951606081015160809091015161183e565b93509050821580610c10575080155b15610c22575f809350935050506102a5565b5f610c2d838361182a565b9050670de0b6b3a76400008111610c695780670de0b6b3a7640000039450610c628760c00151866117c390919063ffffffff16565b9450610c77565b5f80945094505050506102a5565b8660800151851115610c965786608001516001945094505050506102a5565b506001925050509250929050565b5f80610cca8460c001518560e00151866101000151875f015160a001516106bd886114c5565b87516040810192909252602082019290925291909152905080610cf0575f91505061020b565b5f610cfd855f015161162c565b9250905081610d10575f9250505061020b565b84602001518110610d25575f9250505061020b565b5f85606001518660400151610d3a9190612458565b9050610d55828760200151836114f29092919063ffffffff16565b610d5f9082612426565b9695505050505050565b5f805f610d8c6105eb8561016001518661014001516117c390919063ffffffff16565b610dac6105eb8661012001518761010001516117af90919063ffffffff16565b610db69190612439565b90505f80610dcb865f015187602001516118e6565b9150915080610de157505f958695509350505050565b5f831315610f28575f8390505f610e2b885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610e1c9190612426565b8d606001518e608001516116b2565b9350905082610e4357505f9788975095505050505050565b818110610ede575f610e7c858a60400151858c60e00151670de0b6b3a7640000610e6d9190612426565b8d606001518e6080015161191e565b9450905083158015610e9157508860c0015183105b15610ea757505f98600198509650505050505050565b83610ebc57505f988998509650505050505050565b610ec5816114c5565b610ece9061246b565b9960019950975050505050505050565b5f886020015112610f1457610efc8860a00151856105eb9190612426565b610f059061246b565b98600198509650505050505050565b60a08801518851610efc916105eb91612426565b5f831215611072575f610f3a8461246b565b90505f610f6d8489604001518a60e00151670de0b6b3a7640000610f5e9190612426565b8b606001518c6080015161183e565b9350905082610f8557505f9788975095505050505050565b818110611007575f610fbe858a60400151858c60e00151670de0b6b3a7640000610faf9190612426565b8d606001518e608001516119dd565b9450905083158015610fd357508860c0015183105b15610fe957505f98600198509650505050505050565b83610ffe57505f988998509650505050505050565b610ece816114c5565b5f611038858a604001518b60e00151670de0b6b3a76400006110299190612426565b8c606001518d60800151611aaf565b945090508361105157505f988998509650505050505050565b610ece6110688a6060015184866109689190612426565b6105eb9083612458565b505f95600195509350505050565b5f805f8084126110a25785516040015161109b908590612458565b90506110db565b5f6110ac8561246b565b8751604001519091508110156110cc5786516040015181900391506110d9565b5f8093509350505061059d565b505b855180516020909101515f9182916110f391906118e6565b915091508061110a575f809450945050505061059d565b875160e08101516040909101515f9161113e916111329161112b9190611b61565b8a906117c3565b6101008b01519061182a565b895160e081015160809091015161116f916111639161115d90886117c3565b90611b61565b8b51606001519061182a565b6111799190612458565b90505f6111af6111a361119c8c5f015160e0015188611b6190919063ffffffff16565b8b906117af565b6101008c0151906117e8565b9050808210156111c9575f8096509650505050505061059d565b80820391505f611208858c5f0151604001518d5f015160e00151670de0b6b3a76400006111f69190612426565b8e516060810151608090910151611bc6565b90505f6112308c5f015160e00151670de0b6b3a76400006112299190612426565b8890611b61565b90508082101561124c575f80985098505050505050505061059d565b8b516080810151606090910151918303916112689183916114a2565b9050670de0b6b3a764000081106112b3578b5160e001516112ac906112a59061129990670de0b6b3a7640000612426565b8e5160e001519061182a565b8290611b61565b90506112e2565b8b5160e001516112df906112a5906112d390670de0b6b3a7640000612426565b8e5160e00151906117e8565b90505b8b51606001516112f590859083906114a2565b935083670de0b6b3a764000011156113195783670de0b6b3a764000003935061132c565b5f6001985098505050505050505061059d565b5f8c60e001511261138d5760c08c015160e08d015161134a9161182a565b9250670de0b6b3a764000083111561136e575f80985098505050505050505061059d565b670de0b6b3a7640000929092039161138684846117c3565b93506113c2565b6113bf6113a68d60c001518e60e001516109689061246b565b6113b890670de0b6b3a7640000612458565b85906117c3565b93505b50919a60019a5098505050505050505050565b5f805f8360e00151136113ec57505f928392509050565b5f6113f9845f01516105b9565b90505f6114248560400151866060015187604001516114189190612458565b602088015191906114a2565b90505f8212611449578082101561143d5781900361145f565b505f9485945092505050565b6114528261246b565b61145c9082612458565b90505b60e085015160c08601516114749183906114a2565b9050808560c00151101561148e57505f9485945092505050565b808560c00151036001935093505050915091565b5f825f1904841183021582026114b6575f80fd5b50910281810615159190040190565b5f6001600160ff1b038211156114ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f190484118302158202611506575f80fd5b5091020490565b5f81831161151b57826102cf565b50919050565b5f805f80845f0361153d57508792508691508590506001611620565b5f856115488b6114c5565b6115529190612485565b905061155d876114c5565b811215611576575f805f80945094509450945050611620565b8094505f89126115955761158e6105eb868b8d6114f2565b93506115b8565b6115ac6105eb6115a48b61246b565b87908d6114a2565b6115b59061246b565b93505b5f806115c48c8c6118e6565b91509150806115e1575f805f809650965096509650505050611620565b5f6115ec88886118e6565b925090508161160a575f805f80975097509750975050505050611620565b6116158b82856114f2565b955060019450505050505b95509550955095915050565b5f805f805f61163a86610d69565b915091508061165057505f958695509350505050565b61165d8660a001516114c5565b611666876105b9565b83611673895f01516114c5565b61167d9190612485565b6116879190612485565b6116919190612439565b925050505f8112156116a857505f93849350915050565b9360019350915050565b5f805f8812156116d2576116c58861246b565b6116cf9087612458565b95505b5f806116de8b8b6118e6565b91509150806116f4575f809350935050506117a3565b5f611702838b8a8a8a611bf4565b90505f61171e6117168a61115d8a8e6117af565b8990896114a2565b905080821015611737575f8095509550505050506117a3565b808203670de0b6b3a764000081106117655761175e6112a5670de0b6b3a76400008c6117e8565b905061177d565b61177a6112a5670de0b6b3a76400008c61182a565b90505b8b811015611795575f809650965050505050506117a3565b8b9003955060019450505050505b97509795505050505050565b5f6102cf8383670de0b6b3a76400006114a2565b5f6102cf8383670de0b6b3a76400006114f2565b5f808212156114ee57815f0361020b565b5f6102cf83670de0b6b3a7640000846114f2565b5f805f6118088461162c565b915091508061034e57604051635516328b60e11b815260040160405180910390fd5b5f6102cf83670de0b6b3a7640000846114a2565b5f805f61184e8888888888611bc6565b90505f611878670de0b6b3a764000061186788886117e8565b6118719190612458565b839061182a565b9050670de0b6b3a764000081106118a55761189e6112a5670de0b6b3a76400008961182a565b90506118bd565b6118ba6112a5670de0b6b3a7640000896117e8565b90505b808810156118d2575f809350935050506118dc565b8703925060019150505b9550959350505050565b5f805f836118f3866114c5565b6118fd9190612439565b90505f811215611913575f8092509250506102a5565b946001945092505050565b5f805f61192e8989888888611bc6565b905061193e8661115d898b612458565b975087811015611954575f8092509250506119d2565b8781036119628186886114a2565b9050670de0b6b3a7640000811061198f576119886112a5670de0b6b3a76400008961182a565b90506119a7565b6119a46112a5670de0b6b3a7640000896117e8565b90505b6119b1818661182a565b9050808a10156119c8575f809350935050506119d2565b8903925060019150505b965096945050505050565b5f805f6119ed8989888888611bc6565b905086881015611a03575f8092509250506119d2565b9686900396611a128887611b61565b975087811015611a28575f8092509250506119d2565b878103611a368186886114a2565b9050670de0b6b3a76400008110611a6357611a5c6112a5670de0b6b3a76400008961182a565b9050611a7b565b611a786112a5670de0b6b3a7640000896117e8565b90505b611a85818661182a565b905089811015611a9c575f809350935050506119d2565b9890980398600198509650505050505050565b5f805f611abf8888888888611bf4565b90505f611ae9670de0b6b3a7640000611ad8888861182a565b611ae29190612458565b83906117e8565b9050670de0b6b3a76400008110611b1657611b0f6112a5670de0b6b3a7640000896117e8565b9050611b2e565b611b2b6112a5670de0b6b3a76400008961182a565b90505b611b3881866117e8565b905088811015611b4f575f809350935050506118dc565b97909703976001975095505050505050565b5f815f03611b785750670de0b6b3a764000061020b565b825f03611b8657505f61020b565b5f611b90836114c5565b90505f611ba4611b9f866114c5565b611c18565b9050818102611bbb670de0b6b3a7640000826124ac565b9050610d5f81611e46565b5f611bd18585611b61565b611bea611be28661115d868b6117af565b8590856114a2565b610d5f9190612458565b5f611bff8585611b61565b611bea611c108661115d868b6117c3565b8590856114f2565b5f808213611c395760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190611cc59084901c6114c5565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611e5f57505f919050565b680755bf798b4a1bf1e58212611e88576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190610d5f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114c5565b604051610180810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b5f610180828403121561204f575f80fd5b612057611fd8565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f61018082840312156120ea575f80fd5b6102cf838361203e565b5f6102808284031215612105575f80fd5b61210d61200e565b9050612119838361203e565b815261018082013560208201526101a082013560408201526101c082013560608201526101e0820135608082015261020082013560a082015261022082013560c082015261024082013560e082015261026082013561010082015292915050565b5f805f6102c0848603121561218d575f80fd5b61219785856120f4565b9561028085013595506102a0909401359392505050565b5f806102a083850312156121c0575f80fd5b6121ca84846120f4565b94610280939093013593505050565b5f805f805f8060c087890312156121ee575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a0868803121561222c575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6102808284031215612260575f80fd5b6102cf83836120f4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506122fb82855161226a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561236e575f80fd5b505080516020909101519092909150565b5f805f60608486031215612391575f80fd5b8351925060208401519150604084015190509250925092565b5f805f80608085870312156123bd575f80fd5b845193506020850151925060408501519150606085015180151581146123e1575f80fd5b939692955090935050565b610180810161020b828461226a565b5f6020828403121561240b575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020b5761020b612412565b8181035f83128015838313168383128216171561034e5761034e612412565b8082018082111561020b5761020b612412565b5f600160ff1b820161247f5761247f612412565b505f0390565b8082018281125f8312801582168215821617156124a4576124a4612412565b505092915050565b5f826124c657634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156124df576124df612412565b50059056fea2646970667358221220c1489ea17c5fc61a3b455bb2f0d398358386a0beec6f70da990abbdd8dc3c07e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateDistributeExcessIdle(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "865d65a2", + "calculateDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "3f9ccc01", + "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256))": "cefef8b7", + "calculateDistributeExcessIdleWithdrawalSharesRedeemed(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "a0d1643c", + "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", + "calculateMaxShareReservesDeltaSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "9e5fc16b", + "calculateNetCurveTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "a4fc6f81", + "calculateNetFlatTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "32c5dec4", + "calculatePresentValue((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "c00b11d3", + "calculateSharesDeltaGivenBondsDeltaDerivativeSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,int256)": "c615b2d9", + "calculateUpdateLiquidity(uint256,int256,uint256,uint256,int256)": "b500f3cb", + "shouldShortCircuitDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "8f1505fa" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockLido.ts b/packages/hyperdrive-artifacts/src/MockLido.ts new file mode 100644 index 000000000..4282d29e4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockLido.ts @@ -0,0 +1,1156 @@ +export const MockLido = { + name: 'MockLido' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBufferedEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPooledEthByShares", + "inputs": [ + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSharesByPooledEth", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferShares", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sharesValue", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x60a060405234801562000010575f80fd5b506040516200211b3803806200211b833981016040819052620000339162000159565b604080518082018252601781527f4c6971756964207374616b656420457468657220322e300000000000000000006020808301919091528251808401845260058152640e6e88aa8960db1b918101919091525f80546001600160a01b03199081166001600160a01b038916908117835560018054309316831790559451939492938893919284928492909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505081600990816200012e919062000250565b50600a6200013d828262000250565b505050600d9390935542600e55151560805250600b556200031c565b5f805f80608085870312156200016d575f80fd5b845160208601519094506001600160a01b03811681146200018c575f80fd5b60408601519093508015158114620001a2575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001db57607f821691505b602082108103620001fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200024b57805f5260205f20601f840160051c81016020851015620002275750805b601f840160051c820191505b8181101562000248575f815560010162000233565b50505b505050565b81516001600160401b038111156200026c576200026c620001b2565b62000284816200027d8454620001c6565b8462000200565b602080601f831160018114620002ba575f8415620002a25750858301515b5f19600386901b1c1916600185901b17855562000314565b5f85815260208120601f198616915b82811015620002ea57888601518255948401946001909101908401620002c9565b50858210156200030857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051611db5620003665f395f81816105620152818161086e0152818161098801528181610b7701528181610bf601528181610c5b015281816110e401526111450152611db55ff3fe60806040526004361061025f575f3560e01c8063728b952b1161013f578063aed30777116100b3578063dd62ed3e11610078578063dd62ed3e14610730578063e688747b14610774578063ea7ca276146107b5578063ed0d0efb146107f7578063f2fde38b14610822578063f5eb42dc14610841575f80fd5b8063aed307771461067c578063b7009613146106aa578063bf7e214f146106c9578063c53a3985146106e8578063d5002f2e1461071c575f80fd5b80638fcb4e5b116101045780638fcb4e5b146105d957806395d89b41146105f85780639dc29fac1461060c578063a0712d681461062b578063a1903eab1461064a578063a9059cbb1461065d575f80fd5b8063728b952b146105135780637a28fb88146105325780637a8c63b5146105515780637a9e5e4b146105845780638da5cb5b146105a3575f80fd5b8063313ce567116101d657806347b714e01161019b57806347b714e0146104715780634b5159da14610483578063679aefce146104a257806367aff484146104b65780636d780459146104d557806370a08231146104f4575f80fd5b8063313ce567146103e557806334fcf4371461040057806337cfdaca1461041f57806340c10f191461043357806342966c6814610452575f80fd5b80630bade8a4116102275780630bade8a4146103315780630ea9b75b1461035f57806318160ddd1461037e5780631920845114610392578063239c70ae146103b157806323b872dd146103c6575f80fd5b806305f05a941461026357806306a36aee1461028457806306fdde03146102c2578063088a4ed0146102e3578063095ea7b314610302575b5f80fd5b34801561026e575f80fd5b5061028261027d366004611972565b61086c565b005b34801561028f575f80fd5b506102af61029e3660046119a9565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102cd575f80fd5b506102d66108f6565b6040516102b991906119c4565b3480156102ee575f80fd5b506102826102fd366004611a10565b610986565b34801561030d575f80fd5b5061032161031c366004611a27565b6109e2565b60405190151581526020016102b9565b34801561033c575f80fd5b5061032161034b366004611a6d565b60046020525f908152604090205460ff1681565b34801561036a575f80fd5b50610282610379366004611a96565b6109fb565b348015610389575f80fd5b506008546102af565b34801561039d575f80fd5b506102af6103ac366004611a10565b610ad0565b3480156103bc575f80fd5b506102af600b5481565b3480156103d1575f80fd5b506103216103e0366004611ada565b610aed565b3480156103f0575f80fd5b50604051601281526020016102b9565b34801561040b575f80fd5b5061028261041a366004611a10565b610b75565b34801561042a575f80fd5b506102af610bd9565b34801561043e575f80fd5b5061028261044d366004611a27565b610bf4565b34801561045d575f80fd5b5061028261046c366004611a10565b610c59565b34801561047c575f80fd5b505f6102af565b34801561048e575f80fd5b5061028261049d366004611b18565b610cbd565b3480156104ad575f80fd5b50600d546102af565b3480156104c1575f80fd5b506102826104d0366004611b32565b610d4d565b3480156104e0575f80fd5b506102af6104ef366004611ada565b610e12565b3480156104ff575f80fd5b506102af61050e3660046119a9565b610ea5565b34801561051e575f80fd5b5061028261052d366004611b5d565b610ec6565b34801561053d575f80fd5b506102af61054c366004611a10565b610f4d565b34801561055c575f80fd5b506103217f000000000000000000000000000000000000000000000000000000000000000081565b34801561058f575f80fd5b5061028261059e3660046119a9565b610f61565b3480156105ae575f80fd5b505f546105c1906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b3480156105e4575f80fd5b506102af6105f3366004611a27565b611045565b348015610603575f80fd5b506102d66110d3565b348015610617575f80fd5b50610282610626366004611a27565b6110e2565b348015610636575f80fd5b50610282610645366004611a10565b611143565b6102af6106583660046119a9565b6111a4565b348015610668575f80fd5b50610321610677366004611a27565b611262565b348015610687575f80fd5b506103216106963660046119a9565b600c6020525f908152604090205460ff1681565b3480156106b5575f80fd5b506103216106c4366004611b89565b6112e6565b3480156106d4575f80fd5b506001546105c1906001600160a01b031681565b3480156106f3575f80fd5b506105c16107023660046119a9565b60026020525f90815260409020546001600160a01b031681565b348015610727575f80fd5b506010546102af565b34801561073b575f80fd5b506102af61074a366004611b5d565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561077f575f80fd5b5061032161078e366004611bcd565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b3480156107c0575f80fd5b506103216107cf366004611bfe565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b348015610802575f80fd5b506102af610811366004611a6d565b60056020525f908152604090205481565b34801561082d575f80fd5b5061028261083c3660046119a9565b6113df565b34801561084c575f80fd5b506102af61085b3660046119a9565b60116020525f908152604090205481565b7f0000000000000000000000000000000000000000000000000000000000000000156108cc576108a7335f356001600160e01b03191661145a565b6108cc5760405162461bcd60e51b81526004016108c390611c28565b60405180910390fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b60606009805461090590611c5f565b80601f016020809104026020016040519081016040528092919081815260200182805461093190611c5f565b801561097c5780601f106109535761010080835404028352916020019161097c565b820191905f5260205f20905b81548152906001019060200180831161095f57829003601f168201915b5050505050905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109dd576109c1335f356001600160e01b03191661145a565b6109dd5760405162461bcd60e51b81526004016108c390611c28565b600b55565b5f336109ef818585611500565b60019150505b92915050565b610a10335f356001600160e01b03191661145a565b610a2c5760405162461bcd60e51b81526004016108c390611c97565b8015610a5b576001600160e01b031982165f9081526005602052604090208054600160ff86161b179055610a81565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610ac3911515815260200190565b60405180910390a3505050565b5f6109f5610add60105490565b610ae5610bd9565b849190611512565b5f610af661152d565b5f610b0083610ad0565b9050610b0d85858361155c565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610bcc57610bb0335f356001600160e01b03191661145a565b610bcc5760405162461bcd60e51b81526004016108c390611c28565b610bd461152d565b600d55565b5f610be26115d5565b600f54610bef9190611cd1565b905090565b7f000000000000000000000000000000000000000000000000000000000000000015610c4b57610c2f335f356001600160e01b03191661145a565b610c4b5760405162461bcd60e51b81526004016108c390611c28565b610c558282611634565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610cb057610c94335f356001600160e01b03191661145a565b610cb05760405162461bcd60e51b81526004016108c390611c28565b610cba3382611720565b50565b610cd2335f356001600160e01b03191661145a565b610cee5760405162461bcd60e51b81526004016108c390611c97565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610d62335f356001600160e01b03191661145a565b610d7e5760405162461bcd60e51b81526004016108c390611c97565b8015610dac576001600160a01b0383165f9081526003602052604090208054600160ff85161b179055610dd1565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610ac3911515815260200190565b5f610e1b61152d565b5f610e2785858561155c565b9050836001600160a01b0316856001600160a01b03165f80516020611d6083398151915283604051610e5b91815260200190565b60405180910390a3836001600160a01b0316856001600160a01b03165f80516020611d4083398151915285604051610e9591815260200190565b60405180910390a3949350505050565b6001600160a01b0381165f908152601160205260408120546109f590610f4d565b610edb335f356001600160e01b03191661145a565b610ef75760405162461bcd60e51b81526004016108c390611c97565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f6109f5610f59610bd9565b601054610ae5565b5f546001600160a01b0316331480610ff2575060015460405163b700961360e01b81526001600160a01b039091169063b700961390610fb390339030906001600160e01b03195f351690600401611ce4565b602060405180830381865afa158015610fce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff29190611d11565b610ffa575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f61104e61152d565b5f6110598484611786565b9050836001600160a01b0316336001600160a01b03165f80516020611d608339815191528360405161108d91815260200190565b60405180910390a36040518381526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a36110cb83610f4d565b949350505050565b6060600a805461090590611c5f565b7f0000000000000000000000000000000000000000000000000000000000000000156111395761111d335f356001600160e01b03191661145a565b6111395760405162461bcd60e51b81526004016108c390611c28565b610c558282611720565b7f00000000000000000000000000000000000000000000000000000000000000001561119a5761117e335f356001600160e01b03191661145a565b61119a5760405162461bcd60e51b81526004016108c390611c28565b610cba3382611634565b5f6111ad61152d565b6010545f036111eb57346010819055600f819055335f90815260116020526040812080549091906111df908490611cd1565b90915550349392505050565b5f6112086111f860105490565b611200610bd9565b349190611512565b905034600f5f82825461121b9190611cd1565b925050819055508060105f8282546112339190611cd1565b9091555050335f9081526011602052604081208054839290611256908490611cd1565b90915550909392505050565b5f61126b61152d565b5f61127583610ad0565b90506112818482611786565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a35060019392505050565b6001600160a01b038083165f90815260026020526040812054909116801561137f5760405163b700961360e01b81526001600160a01b0382169063b70096139061133890889088908890600401611ce4565b602060405180830381865afa158015611353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113779190611d11565b915050610b6e565b6001600160e01b031983165f9081526004602052604090205460ff16806113d657506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b95945050505050565b6113f4335f356001600160e01b03191661145a565b6114105760405162461bcd60e51b81526004016108c390611c97565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b031680158015906114e1575060405163b700961360e01b81526001600160a01b0382169063b7009613906114a290879030908890600401611ce4565b602060405180830381865afa1580156114bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e19190611d11565b806110cb57505f546001600160a01b0385811691161491505092915050565b61150d83838360016117e1565b505050565b5f825f190484118302158202611526575f80fd5b5091020490565b5f6115366115d5565b905080156115555780600f5f82825461154f9190611cd1565b90915550505b5042600e55565b5f8061156783610f4d565b90506115748533836118b4565b6001600160a01b0385165f908152601160205260408120805485929061159b908490611d2c565b90915550506001600160a01b0384165f90815260116020526040812080548592906115c7908490611cd1565b909155509095945050505050565b5f600d545f036115e457505f90565b600e544210156115f357505f90565b5f6116106301e13380600e544261160a9190611d2c565b90611929565b90505f610b6e61162b83600d5461193d90919063ffffffff16565b600f549061193d565b335f908152600c602052604090205460ff1661169c57600b5481111561169c5760405162461bcd60e51b815260206004820152601d60248201527f4d6f636b4c69646f3a20496e76616c6964206d696e7420616d6f756e7400000060448201526064016108c3565b5f6116a660105490565b5f036116b35750806116bf565b6116bc82610ad0565b90505b6001600160a01b0383165f90815260116020526040812080548392906116e6908490611cd1565b9250508190555081600f5f8282546116fe9190611cd1565b925050819055508060105f8282546117169190611cd1565b9091555050505050565b5f61172a82610ad0565b6001600160a01b0384165f90815260116020526040812080549293508392909190611756908490611d2c565b9250508190555081600f5f82825461176e9190611d2c565b925050819055508060105f8282546117169190611d2c565b335f908152601160205260408120805483919083906117a6908490611d2c565b90915550506001600160a01b0383165f90815260116020526040812080548492906117d2908490611cd1565b90915550610b6e905082610f4d565b6001600160a01b03841661180a5760405163e602df0560e01b81525f60048201526024016108c3565b6001600160a01b03831661183357604051634a1406b160e11b81525f60048201526024016108c3565b6001600160a01b038085165f90815260076020908152604080832093871683529290522082905580156118ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118a591815260200190565b60405180910390a35b50505050565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f1981146118ae578181101561191b57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016108c3565b6118ae84848484035f6117e1565b5f610b6e83670de0b6b3a764000084611512565b5f610b6e8383670de0b6b3a7640000611512565b6001600160a01b0381168114610cba575f80fd5b8015158114610cba575f80fd5b5f8060408385031215611983575f80fd5b823561198e81611951565b9150602083013561199e81611965565b809150509250929050565b5f602082840312156119b9575f80fd5b8135610b6e81611951565b5f602080835283518060208501525f5b818110156119f0578581018301518582016040015282016119d4565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611a20575f80fd5b5035919050565b5f8060408385031215611a38575f80fd5b8235611a4381611951565b946020939093013593505050565b80356001600160e01b031981168114611a68575f80fd5b919050565b5f60208284031215611a7d575f80fd5b610b6e82611a51565b803560ff81168114611a68575f80fd5b5f805f60608486031215611aa8575f80fd5b611ab184611a86565b9250611abf60208501611a51565b91506040840135611acf81611965565b809150509250925092565b5f805f60608486031215611aec575f80fd5b8335611af781611951565b92506020840135611b0781611951565b929592945050506040919091013590565b5f8060408385031215611b29575f80fd5b61198e83611a51565b5f805f60608486031215611b44575f80fd5b8335611b4f81611951565b9250611abf60208501611a86565b5f8060408385031215611b6e575f80fd5b8235611b7981611951565b9150602083013561199e81611951565b5f805f60608486031215611b9b575f80fd5b8335611ba681611951565b92506020840135611bb681611951565b9150611bc460408501611a51565b90509250925092565b5f8060408385031215611bde575f80fd5b611be783611a86565b9150611bf560208401611a51565b90509250929050565b5f8060408385031215611c0f575f80fd5b8235611c1a81611951565b9150611bf560208401611a86565b60208082526018908201527f4d6f636b4c69646f3a206e6f7420617574686f72697a65640000000000000000604082015260600190565b600181811c90821680611c7357607f821691505b602082108103611c9157634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611cbd565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611d21575f80fd5b8151610b6e81611965565b818103818111156109f5576109f5611cbd56fe9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcbddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c64c96e3308b8e17d92ad04d2f2a29ffc25a8efc4027bf469d829c7c609dd6d364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getBufferedEther()": "47b714e0", + "getPooledEthByShares(uint256)": "7a28fb88", + "getRate()": "679aefce", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getSharesByPooledEth(uint256)": "19208451", + "getTargetCustomAuthority(address)": "c53a3985", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "sharesOf(address)": "f5eb42dc", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockRocketPool.ts b/packages/hyperdrive-artifacts/src/MockRocketPool.ts new file mode 100644 index 000000000..51afac119 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockRocketPool.ts @@ -0,0 +1,1089 @@ +export const MockRocketPool = { + name: 'MockRocketPool' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthValue", + "inputs": [ + { + "name": "_rethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRethValue", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x61010060405234801562000011575f80fd5b506040516200241c3803806200241c83398101604081905262000034916200020d565b6040518060400160405280600e81526020016d0a4dec6d6cae8a0deded8408aa8960931b815250604051806040016040528060048152602001630a48aa8960e31b815250601285858582308181898989825f908162000094919062000304565b506001620000a3838262000304565b5060ff81166080524660a052620000b962000173565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f55506200044a9050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a59190620003d0565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f806080858703121562000221575f80fd5b845160208601519094506001600160a01b038116811462000240575f80fd5b6040860151909350801515811462000256575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028f57607f821691505b602082108103620002ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002ff57805f5260205f20601f840160051c81016020851015620002db5750805b601f840160051c820191505b81811015620002fc575f8155600101620002e7565b50505b505050565b81516001600160401b0381111562000320576200032062000266565b62000338816200033184546200027a565b84620002b4565b602080601f8311600181146200036e575f8415620003565750858301515b5f19600386901b1c1916600185901b178555620003c8565b5f85815260208120601f198616915b828110156200039e578886015182559484019460019091019084016200037d565b5085821015620003bc57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003df816200027a565b60018281168015620003fa576001811462000410576200043e565b60ff19841687528215158302870194506200043e565b875f526020805f205f5b85811015620004355781548a8201529084019082016200041a565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611f6d620004af5f395f8181610587015281816108c4015281816109d901528181610c5201528181610d2601528181610dc30152818161118501526111e601525f610cec01525f610cb701525f6103e30152611f6d5ff3fe60806040526004361061026a575f3560e01c8063728b952b1161014a578063a9059cbb116100be578063d505accf11610078578063d505accf146107a0578063dd62ed3e146107bf578063e688747b146107f5578063ea7ca27614610836578063ed0d0efb14610878578063f2fde38b146108a3575f80fd5b8063a9059cbb146106cd578063aed30777146106ec578063b70096131461071a578063bf7e214f14610739578063c53a398514610758578063d5002f2e1461078c575f80fd5b80638da5cb5b1161010f5780638da5cb5b146106125780638fcb4e5b1461064957806395d89b41146106685780639dc29fac1461067c578063a0712d681461069b578063a1903eab146106ba575f80fd5b8063728b952b146105575780637a8c63b5146105765780637a9e5e4b146105a95780637ecebe00146105c85780638b32fa23146105f3575f80fd5b806334fcf437116101e15780634346f03e116101a65780634346f03e1461049c5780634b5159da146104bb578063679aefce146104da57806367aff484146104ee5780636d7804591461050d57806370a082311461052c575f80fd5b806334fcf437146104175780633644e5151461043657806337cfdaca1461044a57806340c10f191461045e57806342966c681461047d575f80fd5b80630bade8a4116102325780630bade8a41461033c5780630ea9b75b1461036a57806318160ddd14610389578063239c70ae1461039e57806323b872dd146103b3578063313ce567146103d2575f80fd5b806305f05a941461026e57806306a36aee1461028f57806306fdde03146102cd578063088a4ed0146102ee578063095ea7b31461030d575b5f80fd5b348015610279575f80fd5b5061028d610288366004611a01565b6108c2565b005b34801561029a575f80fd5b506102ba6102a9366004611a38565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102d8575f80fd5b506102e161094c565b6040516102c49190611a53565b3480156102f9575f80fd5b5061028d610308366004611a9f565b6109d7565b348015610318575f80fd5b5061032c610327366004611ab6565b610a33565b60405190151581526020016102c4565b348015610347575f80fd5b5061032c610356366004611afc565b600a6020525f908152604090205460ff1681565b348015610375575f80fd5b5061028d610384366004611b25565b610a9f565b348015610394575f80fd5b506102ba60025481565b3480156103a9575f80fd5b506102ba600c5481565b3480156103be575f80fd5b5061032c6103cd366004611b69565b610b74565b3480156103dd575f80fd5b506104057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102c4565b348015610422575f80fd5b5061028d610431366004611a9f565b610c50565b348015610441575f80fd5b506102ba610cb4565b348015610455575f80fd5b506102ba610d0e565b348015610469575f80fd5b5061028d610478366004611ab6565b610d24565b348015610488575f80fd5b5061028d610497366004611a9f565b610dc1565b3480156104a7575f80fd5b506102ba6104b6366004611a9f565b610e25565b3480156104c6575f80fd5b5061028d6104d5366004611ba7565b610e42565b3480156104e5575f80fd5b50600e546102ba565b3480156104f9575f80fd5b5061028d610508366004611bc1565b610ed2565b348015610518575f80fd5b506102ba610527366004611b69565b610f97565b348015610537575f80fd5b506102ba610546366004611a38565b60036020525f908152604090205481565b348015610562575f80fd5b5061028d610571366004611bec565b610fcd565b348015610581575f80fd5b5061032c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b4575f80fd5b5061028d6105c3366004611a38565b611054565b3480156105d3575f80fd5b506102ba6105e2366004611a38565b60056020525f908152604090205481565b3480156105fe575f80fd5b506102ba61060d366004611a9f565b611139565b34801561061d575f80fd5b50600654610631906001600160a01b031681565b6040516001600160a01b0390911681526020016102c4565b348015610654575f80fd5b506102ba610663366004611ab6565b61114d565b348015610673575f80fd5b506102e1611176565b348015610687575f80fd5b5061028d610696366004611ab6565b611183565b3480156106a6575f80fd5b5061028d6106b5366004611a9f565b6111e4565b6102ba6106c8366004611a38565b61127d565b3480156106d8575f80fd5b5061032c6106e7366004611ab6565b611304565b3480156106f7575f80fd5b5061032c610706366004611a38565b600d6020525f908152604090205460ff1681565b348015610725575f80fd5b5061032c610734366004611c18565b611367565b348015610744575f80fd5b50600754610631906001600160a01b031681565b348015610763575f80fd5b50610631610772366004611a38565b60086020525f90815260409020546001600160a01b031681565b348015610797575f80fd5b506011546102ba565b3480156107ab575f80fd5b5061028d6107ba366004611c5c565b611460565b3480156107ca575f80fd5b506102ba6107d9366004611bec565b600460209081525f928352604080842090915290825290205481565b348015610800575f80fd5b5061032c61080f366004611cc5565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610841575f80fd5b5061032c610850366004611cf6565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610883575f80fd5b506102ba610892366004611afc565b600b6020525f908152604090205481565b3480156108ae575f80fd5b5061028d6108bd366004611a38565b61169e565b7f000000000000000000000000000000000000000000000000000000000000000015610922576108fd335f356001600160e01b03191661171a565b6109225760405162461bcd60e51b815260040161091990611d20565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461095890611d57565b80601f016020809104026020016040519081016040528092919081815260200182805461098490611d57565b80156109cf5780601f106109a6576101008083540402835291602001916109cf565b820191905f5260205f20905b8154815290600101906020018083116109b257829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610a2e57610a12335f356001600160e01b03191661171a565b610a2e5760405162461bcd60e51b815260040161091990611d20565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a8d9086815260200190565b60405180910390a35060015b92915050565b610ab4335f356001600160e01b03191661171a565b610ad05760405162461bcd60e51b815260040161091990611d8f565b8015610aff576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610b25565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610b67911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610bcd57610ba98382611dc9565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610bf4908490611dc9565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611f1883398151915290610c3b9087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610ca757610c8b335f356001600160e01b03191661171a565b610ca75760405162461bcd60e51b815260040161091990611d20565b610caf6117c1565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610ce957610ce46117f0565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610d17611888565b601054610ce49190611ddc565b7f000000000000000000000000000000000000000000000000000000000000000015610d7b57610d5f335f356001600160e01b03191661171a565b610d7b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff16610db357600c54811115610db35760405162461bcd60e51b815260040161091990611def565b610dbd82826118e7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610e1857610dfc335f356001600160e01b03191661171a565b610e185760405162461bcd60e51b815260040161091990611d20565b610e22338261193e565b50565b5f610a99610e3260115490565b610e3a610d0e565b84919061199d565b610e57335f356001600160e01b03191661171a565b610e735760405162461bcd60e51b815260040161091990611d8f565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610ee7335f356001600160e01b03191661171a565b610f035760405162461bcd60e51b815260040161091990611d8f565b8015610f31576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610f56565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610b67911515815260200190565b5f610fa06117c1565b5f610fb7610fac610d0e565b60115485919061199d565b9050610fc4858583610b74565b50949350505050565b610fe2335f356001600160e01b03191661171a565b610ffe5760405162461bcd60e51b815260040161091990611d8f565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b03163314806110e6575060075460405163b700961360e01b81526001600160a01b039091169063b7009613906110a790339030906001600160e01b03195f351690600401611e31565b602060405180830381865afa1580156110c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e69190611e5e565b6110ee575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f610a99611145610d0e565b601154610e3a565b5f6111566117c1565b5f611162610fac610d0e565b905061116e8482611304565b509392505050565b6001805461095890611d57565b7f0000000000000000000000000000000000000000000000000000000000000000156111da576111be335f356001600160e01b03191661171a565b6111da5760405162461bcd60e51b815260040161091990611d20565b610dbd828261193e565b7f00000000000000000000000000000000000000000000000000000000000000001561123b5761121f335f356001600160e01b03191661171a565b61123b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff1661127357600c548111156112735760405162461bcd60e51b815260040161091990611def565b610e2233826118e7565b5f6112866117c1565b6011545f036112ac5734601181905560108190556112a59033906118e7565b5034919050565b5f6112c96112b960115490565b6112c1610d0e565b34919061199d565b90503460105f8282546112dc9190611ddc565b925050819055508060115f8282546112f49190611ddc565b90915550610a99905033346118e7565b335f90815260036020526040812080548391908390611324908490611dc9565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611f1883398151915290610a8d9086815260200190565b6001600160a01b038083165f9081526008602052604081205490911680156114005760405163b700961360e01b81526001600160a01b0382169063b7009613906113b990889088908890600401611e31565b602060405180830381865afa1580156113d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f89190611e5e565b915050610c49565b6001600160e01b031983165f908152600a602052604090205460ff168061145757506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b428410156114b05760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610919565b5f60016114bb610cb4565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156115c3573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906115f95750876001600160a01b0316816001600160a01b0316145b6116365760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610919565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6116b3335f356001600160e01b03191661171a565b6116cf5760405162461bcd60e51b815260040161091990611d8f565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b031680158015906117a1575060405163b700961360e01b81526001600160a01b0382169063b70096139061176290879030908890600401611e31565b602060405180830381865afa15801561177d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a19190611e5e565b806117b957506006546001600160a01b038581169116145b949350505050565b5f6117ca611888565b905080156117e9578060105f8282546117e39190611ddc565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516118209190611e79565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f0361189757505f90565b600f544210156118a657505f90565b5f6118c36301e13380600f54426118bd9190611dc9565b906119b8565b90505f610c496118de83600e546119cc90919063ffffffff16565b601054906119cc565b8060025f8282546118f89190611ddc565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611f1883398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611965908490611dc9565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611f1883398151915290602001611932565b5f825f1904841183021582026119b1575f80fd5b5091020490565b5f610c4983670de0b6b3a76400008461199d565b5f610c498383670de0b6b3a764000061199d565b6001600160a01b0381168114610e22575f80fd5b8015158114610e22575f80fd5b5f8060408385031215611a12575f80fd5b8235611a1d816119e0565b91506020830135611a2d816119f4565b809150509250929050565b5f60208284031215611a48575f80fd5b8135610c49816119e0565b5f602080835283518060208501525f5b81811015611a7f57858101830151858201604001528201611a63565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611aaf575f80fd5b5035919050565b5f8060408385031215611ac7575f80fd5b8235611ad2816119e0565b946020939093013593505050565b80356001600160e01b031981168114611af7575f80fd5b919050565b5f60208284031215611b0c575f80fd5b610c4982611ae0565b803560ff81168114611af7575f80fd5b5f805f60608486031215611b37575f80fd5b611b4084611b15565b9250611b4e60208501611ae0565b91506040840135611b5e816119f4565b809150509250925092565b5f805f60608486031215611b7b575f80fd5b8335611b86816119e0565b92506020840135611b96816119e0565b929592945050506040919091013590565b5f8060408385031215611bb8575f80fd5b611a1d83611ae0565b5f805f60608486031215611bd3575f80fd5b8335611bde816119e0565b9250611b4e60208501611b15565b5f8060408385031215611bfd575f80fd5b8235611c08816119e0565b91506020830135611a2d816119e0565b5f805f60608486031215611c2a575f80fd5b8335611c35816119e0565b92506020840135611c45816119e0565b9150611c5360408501611ae0565b90509250925092565b5f805f805f805f60e0888a031215611c72575f80fd5b8735611c7d816119e0565b96506020880135611c8d816119e0565b95506040880135945060608801359350611ca960808901611b15565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611cd6575f80fd5b611cdf83611b15565b9150611ced60208401611ae0565b90509250929050565b5f8060408385031215611d07575f80fd5b8235611d12816119e0565b9150611ced60208401611b15565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c90821680611d6b57607f821691505b602082108103611d8957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a9957610a99611db5565b80820180821115610a9957610a99611db5565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611e6e575f80fd5b8151610c49816119f4565b5f8083545f60018260011c91506001831680611e9657607f831692505b60208084108203611eb557634e487b7160e01b5f52602260045260245ffd5b818015611ec95760018114611ede57611f09565b60ff1986168952841515850289019650611f09565b5f8a8152602090205f5b86811015611f015781548b820152908501908301611ee8565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e8e9ccbe437120ca4c0e1197fab17ff508ebe5606158c7b314115a9315adb80764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getEthValue(uint256)": "8b32fa23", + "getRate()": "679aefce", + "getRethValue(uint256)": "4346f03e", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockSafeCast.ts b/packages/hyperdrive-artifacts/src/MockSafeCast.ts new file mode 100644 index 000000000..1fe4b0348 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockSafeCast.ts @@ -0,0 +1,153 @@ +export const MockSafeCast = { + name: 'MockSafeCast' as const, + abi: [ + { + "type": "function", + "name": "toInt128", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "int128", + "internalType": "int128" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toInt128", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "y", + "type": "int128", + "internalType": "int128" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toInt256", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUint112", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "uint112", + "internalType": "uint112" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUint128", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUint256", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506102c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c80630f2422d11461006457806341d2aa641461008f578063809fdd33146100ba578063dd2a0316146100e5578063dfbe873b146100f8578063fdcf791b14610119575b5f80fd5b61007761007236600461027c565b61012c565b604051600f9190910b81526020015b60405180910390f35b6100a261009d36600461027c565b61013c565b6040516001600160701b039091168152602001610086565b6100cd6100c836600461027c565b610146565b6040516001600160801b039091168152602001610086565b6100776100f336600461027c565b610150565b61010b61010636600461027c565b61015a565b604051908152602001610086565b61010b61012736600461027c565b610164565b5f6101368261016e565b92915050565b5f6101368261019b565b5f610136826101c4565b5f610136826101ed565b5f61013682610231565b5f6101368261025a565b5f60016001607f1b038211156101975760405163a5353be560e01b815260040160405180910390fd5b5090565b5f6001600160701b038211156101975760405163086b151760e11b815260040160405180910390fd5b5f6001600160801b0382111561019757604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280610213575060016001607f1b0382135b156101975760405163a5353be560e01b815260040160405180910390fd5b5f6001600160ff1b038211156101975760405163396ea70160e11b815260040160405180910390fd5b5f808212156101975760405163071d137160e51b815260040160405180910390fd5b5f6020828403121561028c575f80fd5b503591905056fea2646970667358221220ee597d4098da170f7e901684c207eab3859a0e6ecf567171473642fc1601f40f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "toInt128(int256)": "dd2a0316", + "toInt128(uint256)": "0f2422d1", + "toInt256(uint256)": "dfbe873b", + "toUint112(uint256)": "41d2aa64", + "toUint128(uint256)": "809fdd33", + "toUint256(int256)": "fdcf791b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts b/packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts new file mode 100644 index 000000000..14dd9143f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts @@ -0,0 +1,483 @@ +export const MockYieldSpaceMath = { + name: 'MockYieldSpaceMath' as const, + abi: [ + { + "type": "function", + "name": "calculateBondsOutGivenSharesInDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dz", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxBuyBondsOutSafe", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxBuySharesInSafe", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxSellBondsInSafe", + "inputs": [ + { + "name": "z", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zeta", + "type": "int256", + "internalType": "int256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zMin", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesInGivenBondsOutDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesInGivenBondsOutUp", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesOutGivenBondsInDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesOutGivenBondsInDownSafe", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "kDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "kUp", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50610f628061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c806386c85e101161006357806386c85e1014610126578063a4a6f9d914610139578063a9afa3731461014c578063bc50ebe61461015f578063d79d083514610172575f80fd5b80630aea75631461009f57806327d0e265146100c55780632e74108c146100d85780633ee4114a146100eb5780635880b9fd14610113575b5f80fd5b6100b26100ad366004610dd0565b610185565b6040519081526020015b60405180910390f35b6100b26100d3366004610e07565b61019f565b6100b26100e6366004610e07565b6101bb565b6100fe6100f9366004610e07565b6101cb565b604080519283529015156020830152016100bc565b6100fe610121366004610dd0565b6101f0565b6100b2610134366004610e07565b610213565b6100b2610147366004610e07565b610223565b6100fe61015a366004610dd0565b610233565b6100fe61016d366004610e46565b610244565b6100b2610180366004610dd0565b61026b565b5f80610194878787878761027a565b979650505050505050565b5f806101af8888888888886102b8565b98975050505050505050565b5f806101af8888888888886102e5565b5f805f806101dd8a8a8a8a8a8a6102f5565b909450925050505b965096945050505050565b5f805f8061020189898989896103b8565b909450925050505b9550959350505050565b5f806101af88888888888861046a565b5f806101af88888888888861047a565b5f805f80610201898989898961053a565b5f805f806102578b8b8b8b8b8b8b6105df565b909450925050505b97509795505050505050565b5f8061019487878787876106d9565b5f61028585856106fd565b6102a461029c86610296868b61076e565b906106fd565b859085610789565b6102ae9190610ea1565b9695505050505050565b5f806102c88888888888886102f5565b9092509050806102da576102da6107ac565b509695505050505050565b5f806102c88888888888886107c5565b5f805f610305898988888861027a565b905061031586610296898b610ea1565b97508781101561032b575f8092509250506101e5565b878103610339818688610789565b9050670de0b6b3a7640000811061036d5761036661035f670de0b6b3a764000089610897565b82906106fd565b9050610385565b61038261035f670de0b6b3a7640000896108ab565b90505b61038f8186610897565b9050808a10156103a6575f809350935050506101e5565b90980398600198509650505050505050565b5f805f6103c888888888886106d9565b90505f6103f2670de0b6b3a76400006103e18888610897565b6103eb9190610ea1565b83906108ab565b9050670de0b6b3a7640000811061041f5761041861035f670de0b6b3a7640000896108ab565b9050610437565b61043461035f670de0b6b3a764000089610897565b90505b61044181866108ab565b905088811015610458575f80935093505050610209565b97909703976001975095505050505050565b5f806102c88888888888886108bf565b5f8061048988888787876106d9565b90508587101561049b5761049b6107ac565b95859003956104aa87866106fd565b9650868110156104bc576104bc6107ac565b8681036104ca818587610979565b9050670de0b6b3a764000081106104f7576104f061035f670de0b6b3a7640000886108ab565b905061050f565b61050c61035f670de0b6b3a764000088610897565b90505b61051981856108ab565b90508881101561052b5761052b6107ac565b97909703979650505050505050565b5f805f61054a888888888861027a565b90505f610574670de0b6b3a764000061056388886108ab565b61056d9190610ea1565b8390610897565b9050670de0b6b3a764000081106105a15761059a61035f670de0b6b3a764000089610897565b90506105b9565b6105b661035f670de0b6b3a7640000896108ab565b90505b808810156105ce575f80935093505050610209565b909603976001975095505050505050565b5f805f8812156105ff576105f288610eb4565b6105fc9087610ea1565b95505b5f8061060b8b8b610994565b9150915080610621575f8093509350505061025f565b5f61062f838b8a8a8a6106d9565b90505f61064b6106438a6102968a8e61076e565b899089610789565b905080821015610664575f80955095505050505061025f565b808203670de0b6b3a764000081106106925761068b61035f670de0b6b3a76400008c6108ab565b90506106aa565b6106a761035f670de0b6b3a76400008c610897565b90505b8b8110156106c2575f8096509650505050505061025f565b9a909a039c60019c509a5050505050505050505050565b5f6106e485856106fd565b6102a46106f586610296868b6109cf565b859085610979565b5f815f036107145750670de0b6b3a7640000610768565b825f0361072257505f610768565b5f61072c836109e3565b90505f61074061073b866109e3565b610a10565b9050818102610757670de0b6b3a764000082610ece565b905061076281610c3e565b93505050505b92915050565b5f6107828383670de0b6b3a7640000610789565b9392505050565b5f825f19048411830215820261079d575f80fd5b50910281810615159190040190565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f6107d5898988888861027a565b9050868810156107eb575f8092509250506101e5565b96869003966107fa88876106fd565b975087811015610810575f8092509250506101e5565b87810361081e818688610789565b9050670de0b6b3a7640000811061084b5761084461035f670de0b6b3a764000089610897565b9050610863565b61086061035f670de0b6b3a7640000896108ab565b90505b61086d8186610897565b905089811015610884575f809350935050506101e5565b9890980398600198509650505050505050565b5f61078283670de0b6b3a764000084610789565b5f61078283670de0b6b3a764000084610979565b5f805f6108cf898988888861027a565b90506108e9866102966108e28a8d610ea1565b87906109cf565b98506108f6858a86610979565b98508881101561090c575f8092509250506101e5565b888103670de0b6b3a7640000811061093a5761093361035f670de0b6b3a764000089610897565b9050610952565b61094f61035f670de0b6b3a7640000896108ab565b90505b80891015610967575f809350935050506101e5565b90970398600198509650505050505050565b5f825f19048411830215820261098d575f80fd5b5091020490565b5f805f836109a1866109e3565b6109ab9190610f06565b90505f8112156109c1575f8092509250506109c8565b9150600190505b9250929050565b5f6107828383670de0b6b3a7640000610979565b5f6001600160ff1b03821115610a0c5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f808213610a315760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190610abd9084901c6109e3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213610c5757505f919050565b680755bf798b4a1bf1e58212610c80576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6109e3565b5f805f805f60a08688031215610de4575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f805f805f8060c08789031215610e1c575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215610e5c575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561076857610768610e8d565b5f600160ff1b8201610ec857610ec8610e8d565b505f0390565b5f82610ee857634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615610f0157610f01610e8d565b500590565b8181035f831280158383131683831282161715610f2557610f25610e8d565b509291505056fea26469706673582212201b6ebf319b478060656bdde40834bcafbec7f2ca884537c9804844fd7d27f4a564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateBondsOutGivenSharesInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "86c85e10", + "calculateMaxBuyBondsOutSafe(uint256,uint256,uint256,uint256,uint256)": "a9afa373", + "calculateMaxBuySharesInSafe(uint256,uint256,uint256,uint256,uint256)": "5880b9fd", + "calculateMaxSellBondsInSafe(uint256,int256,uint256,uint256,uint256,uint256,uint256)": "bc50ebe6", + "calculateSharesInGivenBondsOutDown(uint256,uint256,uint256,uint256,uint256,uint256)": "a4a6f9d9", + "calculateSharesInGivenBondsOutUp(uint256,uint256,uint256,uint256,uint256,uint256)": "2e74108c", + "calculateSharesOutGivenBondsInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "27d0e265", + "calculateSharesOutGivenBondsInDownSafe(uint256,uint256,uint256,uint256,uint256,uint256)": "3ee4114a", + "kDown(uint256,uint256,uint256,uint256,uint256)": "d79d0835", + "kUp(uint256,uint256,uint256,uint256,uint256)": "0aea7563" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts b/packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts new file mode 100644 index 000000000..89ee40b97 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts @@ -0,0 +1,6 @@ +export const MorphoBalancesLib = { + name: 'MorphoBalancesLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fb45a935ff9586055cfa2ec28d13f1a0b562ff62c9fbb03cbfd08d84a248bac764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueBase.ts b/packages/hyperdrive-artifacts/src/MorphoBlueBase.ts new file mode 100644 index 000000000..39c1ba142 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueBase.ts @@ -0,0 +1,695 @@ +export const MorphoBlueBase = { + name: 'MorphoBlueBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts b/packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts new file mode 100644 index 000000000..27584a749 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts @@ -0,0 +1,108 @@ +export const MorphoBlueConversions = { + name: 'MorphoBlueConversions' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vault", + "type": "IMorpho", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "IERC20", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vault", + "type": "IMorpho", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "IERC20", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x61080b610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80633c2063f01461004357806349124ca314610068575b5f80fd5b610056610051366004610599565b61007b565b60405190815260200160405180910390f35b610056610076366004610599565b6100aa565b5f805f61008c8a8a8a8a8a8a6100cb565b909250905061009c848383610144565b9a9950505050505050505050565b5f805f6100bb8a8a8a8a8a8a6100cb565b909250905061009c848383610170565b5f806101336040518060a00160405280896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b0316815260200185815250896001600160a01b031661018c90919063ffffffff16565b50919a909950975050505050505050565b5f61016861015360018561062b565b610160620f42408561062b565b869190610482565b949350505050565b5f610168610181620f42408461062b565b61016060018661062b565b5f805f805f61019c8660a0902090565b604051632e3071cd60e11b8152600481018290529091505f906001600160a01b03891690635c60e39a9060240160c060405180830381865afa1580156101e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102089190610659565b90505f81608001516001600160801b0316426102249190610702565b90508015801590610241575060408201516001600160801b031615155b8015610259575060608801516001600160a01b031615155b1561044e576060888101805160408051638c00bf6b60e01b81528c516001600160a01b0390811660048301526020808f015182166024840152838f0151821660448401529451811660648301526080808f0151608484015288516001600160801b0390811660a485015295890151861660c484015292880151851660e483015294870151841661010482015290860151831661012482015260a08601519092166101448301525f921690638c00bf6b9061016401602060405180830381865afa158015610328573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034c9190610715565b90505f61037061035c8385610498565b60408601516001600160801b031690610502565b905061037b8161051d565b8460400181815161038c919061072c565b6001600160801b03169052506103a18161051d565b845185906103b090839061072c565b6001600160801b0390811690915260a08601511615905061044b575f6103ec8560a001516001600160801b03168361050290919063ffffffff16565b90505f61042082875f01516001600160801b031661040a9190610702565b60208801518491906001600160801b0316610170565b905061042b8161051d565b8660200181815161043c919061072c565b6001600160801b031690525050505b50505b508051602082015160408301516060909301516001600160801b039283169b9183169a509282169850911695509350505050565b5f8161048e8486610753565b610168919061076a565b5f806104a48385610753565b90505f6104c482806104bf670de0b6b3a76400006002610753565b610482565b90505f6104df82846104bf670de0b6b3a76400006003610753565b9050806104ec838561062b565b6104f6919061062b565b93505050505b92915050565b5f6105168383670de0b6b3a7640000610482565b9392505050565b6040805180820190915260148152731b585e081d5a5b9d0c4c8e08195e18d95959195960621b60208201525f906001600160801b0383111561057b5760405162461bcd60e51b81526004016105729190610789565b60405180910390fd5b5090919050565b6001600160a01b0381168114610596575f80fd5b50565b5f805f805f805f60e0888a0312156105af575f80fd5b87356105ba81610582565b965060208801356105ca81610582565b955060408801356105da81610582565b945060608801356105ea81610582565b935060808801356105fa81610582565b9699959850939692959460a0840135945060c09093013592915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104fc576104fc610617565b80516001600160801b0381168114610654575f80fd5b919050565b5f60c08284031215610669575f80fd5b60405160c0810181811067ffffffffffffffff8211171561069857634e487b7160e01b5f52604160045260245ffd5b6040526106a48361063e565b81526106b26020840161063e565b60208201526106c36040840161063e565b60408201526106d46060840161063e565b60608201526106e56080840161063e565b60808201526106f660a0840161063e565b60a08201529392505050565b818103818111156104fc576104fc610617565b5f60208284031215610725575f80fd5b5051919050565b6001600160801b0381811683821601908082111561074c5761074c610617565b5092915050565b80820281158282048414176104fc576104fc610617565b5f8261078457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156107b557858101830151858201604001528201610799565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220e95ecd2e1b666fcfc5a7211be25dfe2c423aa4a4882aa1f05e47576792bf6e3164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(IMorpho,IERC20,address,address,address,uint256,uint256)": "3c2063f0", + "convertToShares(IMorpho,IERC20,address,address,address,uint256,uint256)": "49124ca3" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts new file mode 100644 index 000000000..46444a7aa --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts @@ -0,0 +1,1736 @@ +export const MorphoBlueHyperdrive = { + name: 'MorphoBlueHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..d15d8c290 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const MorphoBlueHyperdriveCoreDeployer = { + name: 'MorphoBlueHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506123168061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d2999897969594939291906200063a565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611bc6806200071b83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f60a0828403121562000490575f80fd5b60405160a0810181811067ffffffffffffffff82111715620004b657620004b662000111565b6040528251620004c681620001e3565b81526020830151620004d881620001e3565b60208201526040830151620004ed81620001e3565b604082015260608301516200050281620001e3565b60608201526080928301519281019290925250919050565b80516001600160a01b0316825260208101516200054260208401826001600160a01b03169052565b5060408101516200055e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151620005d1828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103e08083528b5180828501525f91505b8082101562000670576020828e01015161040083860101526020820191506200064c565b61040091505f82828601015281601f19601f830116850101925050506200069b602083018b6200051a565b6001600160a01b038981166102808401528881166102a08401528781166102c08401528681166102e08401528581166103008401528481166103208401528351811661034084015260208401518116610360840152604084015181166103808401526060840151166103a083015260808301516103c0830152620000f556fe6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033a2646970667358221220e94d0d23ef5df14ab957a6f4886cb39cdf32f3dd583faa7e593f8b381a1b83b264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..fbe42ce2b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts @@ -0,0 +1,858 @@ +export const MorphoBlueHyperdriveDeployerCoordinator = { + name: 'MorphoBlueHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vault", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vault", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b5060405162002bcb38038062002bcb8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127b16200041a5f395f81816102b80152610de501525f81816103360152610cb201525f818161039c0152610b7f01525f81816103030152610a4c01525f8181610369015261084301525f8181610421015261117901525f81816103ee015281816105470152818161076c0152818161087301528181610a7c01528181610baf01528181610ce201528181610e1501528181610f4d01526111aa01526127b15ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063e71c2aa114610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806343dd8fef116100cd57806343dd8fef1461025957806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb6565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ceb565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da9565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dc0565b348015610264575f80fd5b5061014f610273366004611e3d565b6106d0565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612012565b610760565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014f61045d366004611e3d565b610efc565b34801561046d575f80fd5b506102da61047c36600461207b565b610f41565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602781526020016127556027913981565b5f80546104bc90612115565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612115565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6112b4565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112d5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061214d565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612192565b92505f61065382346121bd565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090610715908b908b908b908b908b908b908b906004016121d0565b602060405180830381865af4158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190612192565b98975050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107aa57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361095a578054156107df57604051633be1b34d60e11b815260040160405180910390fd5b6107e9868661138f565b5f6107f4878761152d565b90505f876040516020016108089190612213565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108358a61157a565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108af929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108e49493929190612446565b6020604051808303815f875af1158015610900573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610924919061248b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109865760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109989190612213565b60405160208183030381529060405280519060200120146109cc5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109f657604051631a3272d160e31b815260040160405180910390fd5b610a00878761138f565b5f610a0a8861157a565b6002840154608082015290506001869003610b4a5760058301546001600160a01b031615610a4a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab1939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ae69493929190612446565b6020604051808303815f875af1158015610b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b26919061248b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c7d5760068301546001600160a01b031615610b7d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610be4939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c199493929190612446565b6020604051808303815f875af1158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c59919061248b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610db05760078301546001600160a01b031615610cb05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d17939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d4c9493929190612446565b6020604051808303815f875af1158015610d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8c919061248b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ee35760088301546001600160a01b031615610de35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e4a939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e7f9493929190612446565b6020604051808303815f875af1158015610e9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebf919061248b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390610715908b908b908b908b908b908b908b906004016121d0565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103357604051632c95caeb60e01b815260040160405180910390fd5b80516110525760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611077575060a08101516001600160a01b0316155b8061108d575060c08101516001600160a01b0316155b806110a3575060e08101516001600160a01b0316155b806110ba57506101008101516001600160a01b0316155b156110d85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110eb908790602001612213565b604051602081830303815290604052805190602001201461111f5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461114a57604051631a3272d160e31b815260040160405180910390fd5b611154858561138f565b5f61115e8661157a565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611200929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161123b9a999897969594939291906124c7565b6020604051808303815f875af1158015611257573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127b919061248b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112d357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112f85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611359919061248b565b90506113706001600160a01b038216863087611648565b6113846001600160a01b03821687866116b5565b505f95945050505050565b6113998282611744565b60208201516001600160a01b0316156113c55760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166113ed57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114529190612549565b61145c9190612569565b61146790600a612662565b8260800151101561148b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f09190612549565b6114fa9190612569565b61150590600a612662565b8260a001511015611529576040516318c9522360e11b815260040160405180910390fd5b5050565b5f80828060200190518101906115439190612670565b80518551602083015160408401516060850151608086015195965061157095670de0b6b3a76400006106d0565b9150505b92915050565b611582611a95565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116af9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611858565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261170684826118c3565b6116af576040516001600160a01b0384811660248301525f604483015261173a91869182169063095ea7b39060640161167d565b6116af8482611858565b6103e88260800151101561176b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361179057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ba57508161010001518260e001516117b791906126ff565b15155b156117d85760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118045750670de0b6b3a7640000826101c0015160200151115b8061181f5750670de0b6b3a7640000826101c0015160400151115b8061183a5750670de0b6b3a7640000826101c0015160600151115b15611529576040516322f72cc360e11b815260040160405180910390fd5b5f61186c6001600160a01b03841683611960565b905080515f1415801561189057508080602001905181019061188e919061271e565b155b156118be57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516118de9190612739565b5f604051808303815f865af19150503d805f8114611917576040519150601f19603f3d011682016040523d82523d5f602084013e61191c565b606091505b5091509150818015611946575080511580611946575080806020019051810190611946919061271e565b80156106c75750505050506001600160a01b03163b151590565b606061196d83835f611974565b9392505050565b6060814710156119995760405163cd78605960e01b81523060048201526024016118b5565b5f80856001600160a01b031684866040516119b49190612739565b5f6040518083038185875af1925050503d805f81146119ee576040519150601f19603f3d011682016040523d82523d5f602084013e6119f3565b606091505b5091509150611a03868383611a0d565b9695505050505050565b606082611a2257611a1d82611a69565b61196d565b8151158015611a3957506001600160a01b0384163b155b15611a6257604051639996b31560e01b81526001600160a01b03851660048201526024016118b5565b508061196d565b805115611a795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b83578181015183820152602001611b6b565b50505f910152565b5f8151808452611ba2816020860160208601611b69565b601f01601f19169290920160200192915050565b602081525f61196d6020830184611b8b565b6001600160a01b0381168114611a92575f80fd5b8035611be781611bc8565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2357611c23611bec565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2357611c23611bec565b8015158114611a92575f80fd5b5f67ffffffffffffffff80841115611c7457611c74611bec565b604051601f8501601f19908116603f01168101908282118183101715611c9c57611c9c611bec565b81604052809350858152868686011115611cb4575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdc575f80fd5b61196d83833560208501611c5a565b5f805f805f60a08688031215611cff575f80fd5b853594506020860135611d1181611bc8565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3b575f80fd5b908701906060828a031215611d4e575f80fd5b611d56611c00565b8235611d6181611bc8565b81526020830135611d7181611c4d565b6020820152604083013582811115611d87575f80fd5b611d938b828601611ccd565b6040830152508093505050509295509295909350565b5f60208284031215611db9575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f805f805f805f60e0888a031215611e53575f80fd5b8735611e5e81611bc8565b96506020880135611e6e81611bc8565b95506040880135611e7e81611bc8565b94506060880135611e8e81611bc8565b93506080880135611e9e81611bc8565b9699959850939692959460a0840135945060c09093013592915050565b5f60808284031215611ecb575f80fd5b6040516080810181811067ffffffffffffffff82111715611eee57611eee611bec565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f30575f80fd5b611f38611c29565b9050611f4382611bdc565b8152611f5160208301611bdc565b6020820152611f6260408301611bdc565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fbf818401611bdc565b90820152610160611fd1838201611bdc565b90820152610180611fe3838201611bdc565b908201526101a0611ff5838201611bdc565b908201526101c061200884848301611ebb565b9082015292915050565b5f805f805f6102c08688031215612027575f80fd5b853594506120388760208801611f1f565b935061026086013567ffffffffffffffff811115612054575f80fd5b61206088828901611ccd565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612090575f80fd5b85359450602086013567ffffffffffffffff808211156120ae575f80fd5b818801915088601f8301126120c1575f80fd5b6120d089833560208501611c5a565b95506120df8960408a01611f1f565b94506102808801359150808211156120f5575f80fd5b5061210288828901611ccd565b959894975092956102a001359392505050565b600181811c9082168061212957607f821691505b60208210810361214757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0360c0840182611b8b565b5f602082840312156121a2575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611574576115746121a9565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b81516001600160a01b031681526102408101602083015161223f60208401826001600160a01b03169052565b50604083015161225a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516122c0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e35565b80516001600160a01b03168252602081015161235060208401826001600160a01b03169052565b50604081015161236b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516123dd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116af565b5f6102c06124548388612329565b6001600160a01b038616610260840152610280830181905261247881840186611b8b565b915050826102a083015295945050505050565b5f6020828403121561249b575f80fd5b815161196d81611bc8565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124da8184018e611b8b565b90506124e9602084018d612329565b6001600160a01b038b81166102808501528382036102a085015261250d828c611b8b565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612559575f80fd5b815160ff8116811461196d575f80fd5b60ff8281168282160390811115611574576115746121a9565b600181815b808511156125bc57815f19048211156125a2576125a26121a9565b808516156125af57918102915b93841c9390800290612587565b509250929050565b5f826125d257506001611574565b816125de57505f611574565b81600181146125f457600281146125fe5761261a565b6001915050611574565b60ff84111561260f5761260f6121a9565b50506001821b611574565b5060208310610133831016604e8410600b841016171561263d575081810a611574565b6126478383612582565b805f190482111561265a5761265a6121a9565b029392505050565b5f61196d60ff8416836125c4565b5f60a08284031215612680575f80fd5b60405160a0810181811067ffffffffffffffff821117156126a3576126a3611bec565b60405282516126b181611bc8565b815260208301516126c181611bc8565b602082015260408301516126d481611bc8565b604082015260608301516126e781611bc8565b60608201526080928301519281019290925250919050565b5f8261271957634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561272e575f80fd5b815161196d81611c4d565b5f825161274a818460208701611b69565b919091019291505056fe4d6f7270686f426c7565487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122088f5dc35393f002df524f63936fa93aa619fb65868e078cd28d496dc269cebe764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,address,address,address,uint256,uint256)": "43dd8fef", + "convertToShares(address,address,address,address,address,uint256,uint256)": "e71c2aa1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts new file mode 100644 index 000000000..312d79efd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts @@ -0,0 +1,2048 @@ +export const MorphoBlueTarget0 = { + name: 'MorphoBlueTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collateralToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "id", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "Id" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "irm", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lltv", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "oracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMorpho" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collateralToken()": "b2016bd4", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "id()": "af640d0f", + "irm()": "28e8fe7d", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "lltv()": "217b7ffe", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "oracle()": "7dc0d1d0", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts new file mode 100644 index 000000000..92ee4753b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget0Deployer = { + name: 'MorphoBlueTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506150188061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614a0a80620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033a264697066735822122089a1d95b8b8eddb97725d4560a4d5ebc605708075377d3efc93f5ba8c9b9250964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts new file mode 100644 index 000000000..4f5b2ac63 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts @@ -0,0 +1,1022 @@ +export const MorphoBlueTarget1 = { + name: 'MorphoBlueTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts new file mode 100644 index 000000000..f57822e31 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget1Deployer = { + name: 'MorphoBlueTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614b738061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61456580620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033a2646970667358221220860f45da025c3855311a86276e544d2660a31e40c82c1160de973e42324f98aa64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts new file mode 100644 index 000000000..09c9f1763 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts @@ -0,0 +1,1047 @@ +export const MorphoBlueTarget2 = { + name: 'MorphoBlueTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts new file mode 100644 index 000000000..4a3c86f38 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget2Deployer = { + name: 'MorphoBlueTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614fc48061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6149b680620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033a264697066735822122049e2b51e85330f3bc49ae1094bf8909df564ea9d14d61794c69b795c578fd7b864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts new file mode 100644 index 000000000..0297b8c47 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts @@ -0,0 +1,1067 @@ +export const MorphoBlueTarget3 = { + name: 'MorphoBlueTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts new file mode 100644 index 000000000..e232c29af --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget3Deployer = { + name: 'MorphoBlueTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614f308061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61492280620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033a26469706673582212208bd6f632107a959b0326a7792c5ef24e521727ad77537fdc6ce2d7480445bb5064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts new file mode 100644 index 000000000..a74805403 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts @@ -0,0 +1,1041 @@ +export const MorphoBlueTarget4 = { + name: 'MorphoBlueTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts new file mode 100644 index 000000000..9d9435bfb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget4Deployer = { + name: 'MorphoBlueTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50613fae8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6139a080620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033a264697066735822122055787ed88c507cf6faab755aa505beccda2f8998ae45813edea01fb0c82d187c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoLib.ts b/packages/hyperdrive-artifacts/src/MorphoLib.ts new file mode 100644 index 000000000..c64dbbc8a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoLib.ts @@ -0,0 +1,6 @@ +export const MorphoLib = { + name: 'MorphoLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220562a6fdcba722903f2f8921f1035f2cc0dd9260daedb7db2a81db2ccc29f7fac64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoStorageLib.ts b/packages/hyperdrive-artifacts/src/MorphoStorageLib.ts new file mode 100644 index 000000000..3bed1b22c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoStorageLib.ts @@ -0,0 +1,6 @@ +export const MorphoStorageLib = { + name: 'MorphoStorageLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220dc75cf1a04a2fd61a5937941943ce9f7382240e1179a6ba1fa4a5ad43b39b07d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts b/packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts new file mode 100644 index 000000000..37a061ede --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts @@ -0,0 +1,452 @@ +export const MultiRolesAuthority = { + name: 'MultiRolesAuthority' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_authority", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50604051610c41380380610c4183398101604081905261002e916100dd565b5f80546001600160a01b03199081166001600160a01b0385811691821784556001805490931690851617909155604051849284929133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350505050610115565b6001600160a01b03811681146100da575f80fd5b50565b5f80604083850312156100ee575f80fd5b82516100f9816100c6565b602084015190925061010a816100c6565b809150509250929050565b610b1f806101225f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80638da5cb5b11610093578063e688747b11610063578063e688747b14610231578063ea7ca27614610266578063ed0d0efb1461029c578063f2fde38b146102bb575f80fd5b80638da5cb5b146101b9578063b7009613146101e3578063bf7e214f146101f6578063c53a398514610209575f80fd5b80634b5159da116100ce5780634b5159da1461016d57806367aff48414610180578063728b952b146101935780637a9e5e4b146101a6575f80fd5b806306a36aee146100f45780630bade8a4146101265780630ea9b75b14610158575b5f80fd5b61011361010236600461089f565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b6101486101343660046108d6565b60046020525f908152604090205460ff1681565b604051901515815260200161011d565b61016b61016636600461090c565b6102ce565b005b61016b61017b366004610950565b6103ac565b61016b61018e366004610985565b61043c565b61016b6101a13660046109b0565b610501565b61016b6101b436600461089f565b610588565b5f546101cb906001600160a01b031681565b6040516001600160a01b03909116815260200161011d565b6101486101f13660046109dc565b61066c565b6001546101cb906001600160a01b031681565b6101cb61021736600461089f565b60026020525f90815260409020546001600160a01b031681565b61014861023f366004610a20565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b610148610274366004610a51565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b6101136102aa3660046108d6565b60056020525f908152604090205481565b61016b6102c936600461089f565b610767565b6102e3335f356001600160e01b0319166107e2565b6103085760405162461bcd60e51b81526004016102ff90610a7b565b60405180910390fd5b8015610337576001600160e01b031982165f9081526005602052604090208054600160ff86161b17905561035d565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b1518360405161039f911515815260200190565b60405180910390a3505050565b6103c1335f356001600160e01b0319166107e2565b6103dd5760405162461bcd60e51b81526004016102ff90610a7b565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610451335f356001600160e01b0319166107e2565b61046d5760405162461bcd60e51b81526004016102ff90610a7b565b801561049b576001600160a01b0383165f9081526003602052604090208054600160ff85161b1790556104c0565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf28360405161039f911515815260200190565b610516335f356001600160e01b0319166107e2565b6105325760405162461bcd60e51b81526004016102ff90610a7b565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f546001600160a01b0316331480610619575060015460405163b700961360e01b81526001600160a01b039091169063b7009613906105da90339030906001600160e01b03195f351690600401610aa1565b602060405180830381865afa1580156105f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106199190610ace565b610621575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001600160a01b038083165f9081526002602052604081205490911680156107055760405163b700961360e01b81526001600160a01b0382169063b7009613906106be90889088908890600401610aa1565b602060405180830381865afa1580156106d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fd9190610ace565b915050610760565b6001600160e01b031983165f9081526004602052604090205460ff168061075c57506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b9150505b9392505050565b61077c335f356001600160e01b0319166107e2565b6107985760405162461bcd60e51b81526004016102ff90610a7b565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b03168015801590610869575060405163b700961360e01b81526001600160a01b0382169063b70096139061082a90879030908890600401610aa1565b602060405180830381865afa158015610845573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108699190610ace565b8061088057505f546001600160a01b038581169116145b949350505050565b6001600160a01b038116811461089c575f80fd5b50565b5f602082840312156108af575f80fd5b813561076081610888565b80356001600160e01b0319811681146108d1575f80fd5b919050565b5f602082840312156108e6575f80fd5b610760826108ba565b803560ff811681146108d1575f80fd5b801515811461089c575f80fd5b5f805f6060848603121561091e575f80fd5b610927846108ef565b9250610935602085016108ba565b91506040840135610945816108ff565b809150509250925092565b5f8060408385031215610961575f80fd5b61096a836108ba565b9150602083013561097a816108ff565b809150509250929050565b5f805f60608486031215610997575f80fd5b83356109a281610888565b9250610935602085016108ef565b5f80604083850312156109c1575f80fd5b82356109cc81610888565b9150602083013561097a81610888565b5f805f606084860312156109ee575f80fd5b83356109f981610888565b92506020840135610a0981610888565b9150610a17604085016108ba565b90509250925092565b5f8060408385031215610a31575f80fd5b610a3a836108ef565b9150610a48602084016108ba565b90509250929050565b5f8060408385031215610a62575f80fd5b8235610a6d81610888565b9150610a48602084016108ef565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215610ade575f80fd5b8151610760816108ff56fea26469706673582212201f9fcb2e91ae2b59a6844cb685bf251770d615c60cfc9612aa76d28eafda347464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "authority()": "bf7e214f", + "canCall(address,address,bytes4)": "b7009613", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "owner()": "8da5cb5b", + "setAuthority(address)": "7a9e5e4b", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUserRole(address,uint8,bool)": "67aff484", + "transferOwnership(address)": "f2fde38b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/NonPayableDeployer.ts b/packages/hyperdrive-artifacts/src/NonPayableDeployer.ts new file mode 100644 index 000000000..c8d8db033 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/NonPayableDeployer.ts @@ -0,0 +1,341 @@ +export const NonPayableDeployer = { + name: 'NonPayableDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployAndInitialize", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "contract HyperdriveFactory" + }, + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "contract HyperdriveFactory" + }, + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061089a8061001d5f395ff3fe608060405260043610610028575f3560e01c8063606b55631461002c57806373c871b314610041575b5f80fd5b61003f61003a36600461044b565b610060565b005b34801561004c575f80fd5b5061003f61005b366004610539565b6100ef565b604051632e7cd97160e01b81526001600160a01b038c1690632e7cd9719034906100a0908e908d908f908e908e908e908e908e908e908e9060040161072d565b60206040518083038185885af11580156100bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906100e191906107e0565b505050505050505050505050565b6040516349f13de760e01b81526001600160a01b038a16906349f13de790610129908b908b908b908b908b908b908b908b90600401610802565b6020604051808303815f875af1158015610145573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016991906107e0565b50505050505050505050565b6001600160a01b0381168114610189575f80fd5b50565b803561019781610175565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff811182821017156101d4576101d461019c565b60405290565b5f82601f8301126101e9575f80fd5b813567ffffffffffffffff808211156102045761020461019c565b604051601f8301601f19908116603f0116810190828211818310171561022c5761022c61019c565b81604052838152866020858801011115610244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215610273575f80fd5b6040516080810181811067ffffffffffffffff821117156102965761029661019c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61024082840312156102d8575f80fd5b6102e06101b0565b90506102eb8261018c565b81526102f96020830161018c565b602082015261030a6040830161018c565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061036781840161018c565b9082015261016061037983820161018c565b9082015261018061038b83820161018c565b908201526101a061039d83820161018c565b908201526101c06103b084848301610263565b9082015292915050565b5f606082840312156103ca575f80fd5b6040516060810167ffffffffffffffff82821081831117156103ee576103ee61019c565b816040528293508435915061040282610175565b9082526020840135908115158214610418575f80fd5b8160208401526040850135915080821115610431575f80fd5b5061043e858286016101da565b6040830152505092915050565b5f805f805f805f805f805f6103808c8e031215610466575f80fd5b61046f8c61018c565b9a5060208c0135995067ffffffffffffffff8060408e01351115610491575f80fd5b6104a18e60408f01358f016101da565b99506104af60608e0161018c565b98506104be8e60808f016102c7565b9750806102c08e013511156104d1575f80fd5b6104e28e6102c08f01358f016101da565b96506102e08d013595506103008d013594506103208d01359350806103408e0135111561050d575f80fd5b5061051f8d6103408e01358e016103ba565b91506103608c013590509295989b509295989b9093969950565b5f805f805f805f805f6103408a8c031215610552575f80fd5b893561055d81610175565b985060208a0135975060408a013561057481610175565b96506105838b60608c016102c7565b95506102a08a013567ffffffffffffffff81111561059f575f80fd5b6105ab8c828d016101da565b999c989b5096999598976102c087013597506102e08701359661030081013596506103200135945092505050565b5f81518084525f5b818110156105fd576020818501810151868301820152016105e1565b505f602082860101526020601f19601f83011685010191505092915050565b80516001600160a01b03168252602081015161064360208401826001600160a01b03169052565b50604081015161065e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201516106c4828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b8a81526001600160a01b038a81166020830152610360604083018190525f916107588483018d6105d9565b9150610767606085018c61061c565b8382036102a085015261077a828b6105d9565b9150886102c0850152876102e085015286610300850152838203610320850152808651168252506020850151151560208201526040850151606060408301526107c660608301826105d9565b92505050826103408301529b9a5050505050505050505050565b5f602082840312156107f0575f80fd5b81516107fb81610175565b9392505050565b8881526001600160a01b03881660208201525f610320610825604084018a61061c565b80610280840152610838818401896105d9565b915050856102a0830152846102c0830152836102e083015282610300830152999850505050505050505056fea2646970667358221220ca9a91b70e77f5739668d14b7df089956c09daaee911ca1196963d5e9a4afa0e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployAndInitialize(address,bytes32,string,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "606b5563", + "deployTarget(address,bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "73c871b3" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/PercentageMath.ts b/packages/hyperdrive-artifacts/src/PercentageMath.ts new file mode 100644 index 000000000..6ba550974 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/PercentageMath.ts @@ -0,0 +1,6 @@ +export const PercentageMath = { + name: 'PercentageMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e884d10a40db003cd248bac8dede05200cc4e7da0d339456a392543bea54e2b564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Pool.ts b/packages/hyperdrive-artifacts/src/Pool.ts new file mode 100644 index 000000000..2f10c616b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Pool.ts @@ -0,0 +1,2123 @@ +export const Pool = { + name: 'Pool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "category", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "protocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "initialize(address)": "c4d66de8", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "repay(address,uint256,uint256,address)": "573ade81", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "supply(address,uint256,address,uint16)": "617ba037", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/PoolLogic.ts b/packages/hyperdrive-artifacts/src/PoolLogic.ts new file mode 100644 index 000000000..4531312d7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/PoolLogic.ts @@ -0,0 +1,53 @@ +export const PoolLogic = { + name: 'PoolLogic' as const, + abi: [ + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x611c52610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c806369fc1bdf1161006357806369fc1bdf1461010e5780636ae438131461013d57806387b322b21461019a5780639cf57023146101b9575f80fd5b80631e3b41451461008957806326ec273f146100aa57806348c2ca8c146100ef575b5f80fd5b818015610094575f80fd5b506100a86100a33660046117a3565b6101d8565b005b6100bd6100b8366004611860565b6102a7565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0015b60405180910390f35b8180156100fa575f80fd5b506100a8610109366004611915565b6102e1565b818015610119575f80fd5b5061012d61012836600461199e565b610452565b60405190151581526020016100e6565b818015610148575f80fd5b506100a8610157366004611a57565b6001600160a01b039091165f9081526020929092526040909120600301805464ffffffffff909216600160b81b0264ffffffffff60b81b19909216919091179055565b8180156101a5575f80fd5b506100a86101b4366004611a9d565b6106b1565b8180156101c4575f80fd5b506100a86101d3366004611ad6565b6106ca565b6001600160a01b0381165f9081526020838152604091829020825191820190925290549081905260d41c64ffffffffff16604080518082019091526002815261383160f01b6020820152901561024a5760405162461bcd60e51b81526004016102419190611b08565b60405180910390fd5b506001600160a01b0381165f8181526020848152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a25050565b5f805f805f806102b98a8a8a8a61078c565b50939950919750909450925090506102d2868684610c4e565b93509499939850945094509450565b5f5b8181101561044c575f8383838181106102fe576102fe611b54565b90506020020160208101906103139190611b68565b6001600160a01b0381165f908152602087815260409182902082519182019092528154908190529192509067010000000000000016610353575050610444565b60088101546001600160801b03168015610440576008820180546001600160801b03191690555f61038383610c80565b90505f6103908383610ce2565b600480860154604051637df5bd3b60e01b81529293506001600160a01b031691637df5bd3b916103cd918591879101918252602082015260400190565b5f604051808303815f87803b1580156103e4575f80fd5b505af11580156103f6573d5f803e3d5ffd5b50505050846001600160a01b03167fbfa21aa5d5f9a1f0120a95e7c0749f389863cbdbfff531aa7339077a5bc919de8260405161043591815260200190565b60405180910390a250505b5050505b6001016102e3565b50505050565b80516040805180820190915260018152603960f81b60208201525f913b61048c5760405162461bcd60e51b81526004016102419190611b08565b506020808301516040808501516060860151608087015187516001600160a01b03165f908152958a9052929094206104c694909392610d24565b81516001600160a01b03165f90815260208590526040812060030154600160a81b900461ffff16151580610514575082515f808052602086905260409020546001600160a01b039081169116145b90508015604051806040016040528060028152602001610c4d60f21b815250906105515760405162461bcd60e51b81526004016102419190611b08565b505f5b8360a0015161ffff168161ffff1610156105f45761ffff81165f908152602086905260409020546001600160a01b03166105ec5783516001600160a01b039081165f90815260208881526040808320600301805461ffff60a81b1916600160a81b61ffff97909716968702179055875194835290889052812080546001600160a01b0319169390921692909217905591506106aa9050565b600101610554565b508260c0015161ffff168360a0015161ffff161060405180604001604052806002815260200161313560f01b815250906106415760405162461bcd60e51b81526004016102419190611b08565b50505060a08101805182516001600160a01b039081165f90815260208781526040808320600301805461ffff60a81b1916600160a81b61ffff978816021790558651955190941682528690529190912080546001600160a01b0319169290911691909117905560015b9392505050565b6106c56001600160a01b0384168383610df8565b505050565b6001600160a01b0381165f9081526020849052604090206106ec838284610e80565b506001600160a01b03165f81815260208481526040808320600381018054600160a81b900461ffff16855295835290832080546001600160a01b0319908116909155938352949052808455600184018190556002840181905582546001600160e01b031916909255600483018054821690556005830180548216905560068301805482169055600783018054909116905560088201819055600990910155565b5f805f805f8061079e875f0151511590565b156107ba57505f94508493508392508291505f19905081610c41565b6108496040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561088d57608088015160ff165f90815260208a905260409020606089015161087a919061114a565b6101808401526101c08301526101a08201525b87602001518160c001511015610b665760c081015188516108ad916111f3565b6108c15760c081018051600101905261088d565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526108f95760c081018051600101905261088d565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906109815750816101e00151896080015160ff16145b6109fd57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190611b81565b610a04565b8161018001515b825260a082015115801590610a24575060c08201518951610a2491611245565b15610b1357610a40896040015182845f01518560200151611293565b6040830181905261010083018051610a59908390611bac565b90525060808901516101e0830151610a749160ff1690611342565b1515610240830152608082015115610aca57816102400151610a9a578160800151610aa1565b816101a001515b8260400151610ab09190611bbf565b8261014001818151610ac29190611bac565b905250610ad3565b60016102208301525b816102400151610ae7578160a00151610aee565b816101c001515b8260400151610afd9190611bbf565b8261016001818151610b0f9190611bac565b9052505b60c08201518951610b2391611352565b15610b5557610b3f896040015182845f0151856020015161139e565b8261012001818151610b519190611bac565b9052505b5060c081018051600101905261088d565b8061010001515f03610b78575f610b93565b80610100015181610140015181610b9157610b91611bd6565b045b6101408201526101008101515f03610bab575f610bc6565b80610100015181610160015181610bc457610bc4611bd6565b045b61016082015261012081015115610c0857610c03816101200151610bfd8361016001518461010001516114cd90919063ffffffff16565b906114f1565b610c0b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f80610c5a85846114cd565b905083811015610c6d575f9150506106aa565b610c778482611bea565b95945050505050565b60038101545f90600160801b900464ffffffffff16428103610cae575050600101546001600160801b031690565b60018301546106aa906001600160801b0380821691610cd691600160801b9091041684611526565b90610ce2565b50919050565b5f81156b019d971e4fe8401e740000001983900484111517610d02575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6004850154604080518082019091526002815261363160f01b6020820152906001600160a01b031615610d6a5760405162461bcd60e51b81526004016102419190611b08565b506001850180546b033b2e3c9fd0803ce80000006001600160801b0319918216811790925560028701805490911690911790556004850180546001600160a01b03199081166001600160a01b03968716179091556005860180548216948616949094179093556006850180548416928516929092179091556007909301805490911692909116919091179055565b60405163a9059cbb60e01b8082526001600160a01b038416600483015260248201839052905f8060448382895af1610e32573d5f803e3d5ffd5b50610e3c8461156a565b61044c5760405162461bcd60e51b815260206004820152601560248201527423a83b191d103330b4b632b2103a3930b739b332b960591b6044820152606401610241565b604080518082019091526002815261373760f01b60208201526001600160a01b038216610ec05760405162461bcd60e51b81526004016102419190611b08565b506003820154600160a81b900461ffff16151580610ef657505f808052602084905260409020546001600160a01b038281169116145b604051806040016040528060028152602001611c1960f11b81525090610f2f5760405162461bcd60e51b81526004016102419190611b08565b50816005015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa69190611b81565b604080518082019091526002815261353560f01b60208201529015610fde5760405162461bcd60e51b81526004016102419190611b08565b50816006015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110559190611b81565b6040805180820190915260028152611a9b60f11b6020820152901561108d5760405162461bcd60e51b81526004016102419190611b08565b50600480830154604080516318160ddd60e01b815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa1580156110d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f99190611b81565b158015611111575060088201546001600160801b0316155b604051806040016040528060028152602001610d4d60f21b8152509061044c5760405162461bcd60e51b81526004016102419190611b08565b81545f90819081908190660100000000000090046001600160a01b031680156111d85760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa1580156111b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d59190611b81565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f906080831061122f5760405162461bcd60e51b81526004016102419190611b08565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106112815760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b82011c16151590565b5f8061129e85610c80565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f92879261131b928692911690631da24f3e90602401602060405180830381865afa1580156112f7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd69190611b81565b6113259190611bbf565b905083818161133657611336611bd6565b04979650505050505050565b5f82158015906106aa5750501490565b6040805180820190915260028152610dcd60f21b60208201525f906080831061138e5760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611b81565b9050801561142d5761142a6114238661160b565b8290610ce2565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015611477573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149b9190611b81565b6114a59082611bac565b90506114b18185611bbf565b90508281816114c2576114c2611bd6565b049695505050505050565b5f811561138819839004841115176114e3575f80fd5b506127109102611388010490565b5f8115670de0b6b3a76400006002840419048411171561150f575f80fd5b50670de0b6b3a76400009190910260028204010490565b5f8061153964ffffffffff841642611bea565b6115439085611bbf565b6301e1338090049050611562816b033b2e3c9fd0803ce8000000611bac565b949350505050565b5f61158c565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115cb57602081146115fc576115c67f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611570565b610cdc565b823b6115f3576115f37311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611570565b60019150610cdc565b3d5f803e50505f511515919050565b60038101545f90600160801b900464ffffffffff16428103611639575050600201546001600160801b031690565b60028301546106aa906001600160801b0380821691610cd691600160801b90910416845f6106aa8383425f8061167664ffffffffff851684611bea565b9050805f03611694576b033b2e3c9fd0803ce80000009150506106aa565b5f1981015f8080600285116116a9575f6116ae565b600285035b925066038882915c40006116c28a80610ce2565b816116cf576116cf611bd6565b0491506301e133806116e1838b610ce2565b816116ee576116ee611bd6565b0490505f826116fd8688611bbf565b6117079190611bbf565b6002900490505f828561171a888a611bbf565b6117249190611bbf565b61172e9190611bbf565b60069004905080826301e133806117458a8f611bbf565b61174f9190611bfd565b611765906b033b2e3c9fd0803ce8000000611bac565b61176f9190611bac565b6117799190611bac565b9b9a5050505050505050505050565b80356001600160a01b038116811461179e575f80fd5b919050565b5f80604083850312156117b4575f80fd5b823591506117c460208401611788565b90509250929050565b60405160a0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516020810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b5f805f80848603610100811215611875575f80fd5b853594506020860135935060408601359250605f190160a0811215611898575f80fd5b6118a06117cd565b60208212156118ad575f80fd5b6118b5611802565b915060608701358252818152608087013560208201526118d760a08801611788565b60408201526118e860c08801611788565b606082015260e0870135915060ff82168214611902575f80fd5b6080810191909152939692955090935050565b5f805f60408486031215611927575f80fd5b83359250602084013567ffffffffffffffff80821115611945575f80fd5b818601915086601f830112611958575f80fd5b813581811115611966575f80fd5b8760208260051b850101111561197a575f80fd5b6020830194508093505050509250925092565b803561ffff8116811461179e575f80fd5b5f805f8385036101208112156119b2575f80fd5b843593506020850135925060e0603f19820112156119ce575f80fd5b506119d7611831565b6119e360408601611788565b81526119f160608601611788565b6020820152611a0260808601611788565b6040820152611a1360a08601611788565b6060820152611a2460c08601611788565b6080820152611a3560e0860161198d565b60a0820152611a47610100860161198d565b60c0820152809150509250925092565b5f805f60608486031215611a69575f80fd5b83359250611a7960208501611788565b9150604084013564ffffffffff81168114611a92575f80fd5b809150509250925092565b5f805f60608486031215611aaf575f80fd5b611ab884611788565b9250611ac660208501611788565b9150604084013590509250925092565b5f805f60608486031215611ae8575f80fd5b8335925060208401359150611aff60408501611788565b90509250925092565b5f602080835283518060208501525f5b81811015611b3457858101830151858201604001528201611b18565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b78575f80fd5b6106aa82611788565b5f60208284031215611b91575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561123f5761123f611b98565b808202811582820484141761123f5761123f611b98565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561123f5761123f611b98565b5f82611c1757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220da97a534552f600eb99730163caf62c84abbc8f1a6ade8dbfd20361e6a88732064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeDropReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,address)": "9cf57023", + "executeGetUserAccountData(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.CalculateUserAccountDataParams)": "26ec273f", + "executeInitReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.InitReserveParams)": "69fc1bdf", + "executeMintToTreasury(mapping(address => DataTypes.ReserveData) storage,address[])": "48c2ca8c", + "executeRescueTokens(address,address,uint256)": "87b322b2", + "executeResetIsolationModeTotalDebt(mapping(address => DataTypes.ReserveData) storage,address)": "1e3b4145", + "executeSetLiquidationGracePeriod(mapping(address => DataTypes.ReserveData) storage,address,uint40)": "6ae43813" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/PoolStorage.ts b/packages/hyperdrive-artifacts/src/PoolStorage.ts new file mode 100644 index 000000000..50db7e28b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/PoolStorage.ts @@ -0,0 +1,6 @@ +export const PoolStorage = { + name: 'PoolStorage' as const, + abi: [] as const, + bytecode: '0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212205d2cec9f978061dc89a9af418a81db81441933b7ce0f6d7491f8c6227ff9fd4764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHBase.ts b/packages/hyperdrive-artifacts/src/RETHBase.ts new file mode 100644 index 000000000..41f80f1e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHBase.ts @@ -0,0 +1,666 @@ +export const RETHBase = { + name: 'RETHBase' as const, + abi: [ + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHConversions.ts b/packages/hyperdrive-artifacts/src/RETHConversions.ts new file mode 100644 index 000000000..70562586c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHConversions.ts @@ -0,0 +1,6 @@ +export const RETHConversions = { + name: 'RETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f82ad7598291ee5d6c427f37de0529ffa10740d981dda43515b9c45d6afadb6a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/RETHHyperdrive.ts new file mode 100644 index 000000000..665bd3ded --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHHyperdrive.ts @@ -0,0 +1,1675 @@ +export const RETHHyperdrive = { + name: 'RETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..0084fd214 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const RETHHyperdriveCoreDeployer = { + name: 'RETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611dca8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611776806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033a264697066735822122096884f212e90667c88bf5b0579182f56913f972a5baf71c76ca3fcbde68773b964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..820105011 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,818 @@ +export const RETHHyperdriveDeployerCoordinator = { + name: 'RETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_rocketTokenReth", + "type": "address", + "internalType": "contract IRocketTokenRETH" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002863380380620028638339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124166200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124165ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016123c06021913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051638b32fa2360e01b8152600481018290525f906001600160a01b03841690638b32fa23906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b6040516321a3781f60e11b8152600481018290525f906001600160a01b03841690634346f03e906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe52455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122095bb8599516e66fe1b62af33bc72e0ed79e4dc2071f847162b6cda8c3e99826164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget0.ts b/packages/hyperdrive-artifacts/src/RETHTarget0.ts new file mode 100644 index 000000000..dfba1163d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget0.ts @@ -0,0 +1,1936 @@ +export const RETHTarget0 = { + name: 'RETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts new file mode 100644 index 000000000..1f779fb44 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget0Deployer = { + name: 'RETHTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143f68061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f1e806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033a2646970667358221220322c16593b2a67a08b1495a21a41d4248bd6fc4576f81961101081e35c67304564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget1.ts b/packages/hyperdrive-artifacts/src/RETHTarget1.ts new file mode 100644 index 000000000..abfc08dba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget1.ts @@ -0,0 +1,994 @@ +export const RETHTarget1 = { + name: 'RETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts new file mode 100644 index 000000000..8f03f9dde --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget1Deployer = { + name: 'RETHTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061450e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614036806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033a2646970667358221220afcf4be5087f0dc30e7cdea3e31310f8f73d592af2547546b9da163c9528143764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget2.ts b/packages/hyperdrive-artifacts/src/RETHTarget2.ts new file mode 100644 index 000000000..55a672a40 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget2.ts @@ -0,0 +1,1019 @@ +export const RETHTarget2 = { + name: 'RETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts new file mode 100644 index 000000000..d1d2d5924 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget2Deployer = { + name: 'RETHTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145188061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614040806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033a26469706673582212205e38f4bb581b2f4dd8a1c3f7bd7a99e8db14d2ff74e8f26ef1ebd846b904948664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget3.ts b/packages/hyperdrive-artifacts/src/RETHTarget3.ts new file mode 100644 index 000000000..cd0af39f4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget3.ts @@ -0,0 +1,1039 @@ +export const RETHTarget3 = { + name: 'RETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts new file mode 100644 index 000000000..45b060381 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget3Deployer = { + name: 'RETHTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506144848061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613fac806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033a26469706673582212204c906024ac6278d68c5e0a8ef16424c366c4456589047ab87e3068df604f922464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget4.ts b/packages/hyperdrive-artifacts/src/RETHTarget4.ts new file mode 100644 index 000000000..c94669853 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget4.ts @@ -0,0 +1,1013 @@ +export const RETHTarget4 = { + name: 'RETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts new file mode 100644 index 000000000..3cd44c8c9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget4Deployer = { + name: 'RETHTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506139528061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61347a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033a2646970667358221220ca1a74f1f7335b326c92123b52b9d97cd6eb018d015fbaedf6a7a9c1ebac5f3b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ReentrancyGuard.ts b/packages/hyperdrive-artifacts/src/ReentrancyGuard.ts new file mode 100644 index 000000000..e4b51cbd1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ReentrancyGuard.ts @@ -0,0 +1,12 @@ +export const ReentrancyGuard = { + name: 'ReentrancyGuard' as const, + abi: [ + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ReserveConfiguration.ts b/packages/hyperdrive-artifacts/src/ReserveConfiguration.ts new file mode 100644 index 000000000..c1020d65b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ReserveConfiguration.ts @@ -0,0 +1,36 @@ +export const ReserveConfiguration = { + name: 'ReserveConfiguration' as const, + abi: [ + { + "type": "function", + "name": "DEBT_CEILING_DECIMALS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_RESERVES_COUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a9610033600b8282823980515f1a607314602757634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063280d5de914604057806331b561ba14605a575b5f80fd5b6047600281565b6040519081526020015b60405180910390f35b6061608081565b60405161ffff9091168152602001605156fea2646970667358221220185f218523f10c6fc06eb406e7f6b85117d140bb33652bc3edf7f783969ccb1b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DEBT_CEILING_DECIMALS()": "280d5de9", + "MAX_RESERVES_COUNT()": "31b561ba" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ReserveLogic.ts b/packages/hyperdrive-artifacts/src/ReserveLogic.ts new file mode 100644 index 000000000..864a86fac --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ReserveLogic.ts @@ -0,0 +1,50 @@ +export const ReserveLogic = { + name: 'ReserveLogic' as const, + abi: [ + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220649567c74e7f8112bbcfcd979bfe83753bd705e5a883f230badb8f081c5b6a9064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaBase.ts b/packages/hyperdrive-artifacts/src/RsETHLineaBase.ts new file mode 100644 index 000000000..0a693043b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaBase.ts @@ -0,0 +1,657 @@ +export const RsETHLineaBase = { + name: 'RsETHLineaBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts b/packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts new file mode 100644 index 000000000..425f0a4ca --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts @@ -0,0 +1,6 @@ +export const RsETHLineaConversions = { + name: 'RsETHLineaConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d29e0c3ca18233368d5ffd8ab77f47ad4a5dc623e1e210a7ebe1b9088fe58bcf64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts new file mode 100644 index 000000000..ad1a811bc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts @@ -0,0 +1,1671 @@ +export const RsETHLineaHyperdrive = { + name: 'RsETHLineaHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..ee499dcb4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const RsETHLineaHyperdriveCoreDeployer = { + name: 'RsETHLineaHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80637df91ba8146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033a2646970667358221220931d98306704a1e83b3426a1adb697012979d85037caeef55f9f9302ec10258d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..0e56a49ae --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts @@ -0,0 +1,779 @@ +export const RsETHLineaHyperdriveDeployerCoordinator = { + name: 'RsETHLineaHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b50604051620027e8380380620027e88339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516101605161238d6200045b5f395f81816102a40152818161070c01528181610ed901528181611281015261150b01525f81816102ef0152610dbc01525f81816103550152610c8901525f81816103bb0152610b5601525f81816103220152610a2301525f8181610388015261081a01525f818161047e015261113601525f818161042c01528181610585015281816107430152818161084a01528181610a5301528181610b8601528181610cb901528181610dec01528181610f0a0152611167015261238d5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f5921461044e578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806354fd4d50116100d857806354fd4d50146102645780637df91ba814610293578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc70146101475780633740401714610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a1f565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b57565b610579565b60405190815260200161012a565b348015610173575f80fd5b50610257610182366004611c15565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c2c565b34801561026f575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b34801561029e575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156102e9575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b5061015a6103f7366004611c15565b610706565b348015610407575f80fd5b506102c6610416366004611e00565b610737565b348015610426575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061015a610468366004611c15565b610ed3565b348015610478575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506102c66104ba366004611e69565b610efe565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602781526020016123316027913981565b5f80546104fa90611f03565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f03565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611271565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f3b565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611f8a565b92505f6106898234611fa1565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107317f0000000000000000000000000000000000000000000000000000000000000000836114e8565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610931578054156107b657604051633be1b34d60e11b815260040160405180910390fd5b6107c086866114ff565b5f6107cb8787611656565b90505f876040516020016107df9190611fc0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61080c8a61166f565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610886929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108bb94939291906121f3565b6020604051808303815f875af11580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190612238565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061095d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161096f9190611fc0565b60405160208183030381529060405280519060200120146109a35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109cd57604051631a3272d160e31b815260040160405180910390fd5b6109d787876114ff565b5f6109e18861166f565b6002840154608082015290506001869003610b215760058301546001600160a01b031615610a215760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a8893929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610abd94939291906121f3565b6020604051808303815f875af1158015610ad9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afd9190612238565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c545760068301546001600160a01b031615610b545760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bbb93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bf094939291906121f3565b6020604051808303815f875af1158015610c0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c309190612238565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d875760078301546001600160a01b031615610c875760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cee93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d2394939291906121f3565b6020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190612238565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eba5760088301546001600160a01b031615610dba5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e2193929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e5694939291906121f3565b6020604051808303815f875af1158015610e72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e969190612238565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f6107317f00000000000000000000000000000000000000000000000000000000000000008361173d565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff057604051632c95caeb60e01b815260040160405180910390fd5b805161100f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611034575060a08101516001600160a01b0316155b8061104a575060c08101516001600160a01b0316155b80611060575060e08101516001600160a01b0316155b8061107757506101008101516001600160a01b0316155b156110955760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110a8908790602001611fc0565b60405160208183030381529060405280519060200120146110dc5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110757604051631a3272d160e31b815260040160405180910390fd5b61111185856114ff565b5f61111b8661166f565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111bd929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111f89a99989796959493929190612274565b6020604051808303815f875af1158015611214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112389190612238565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151801561130157505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ff9190611f8a565b115b1561131f5760405163350b944160e11b815260040160405180910390fd5b816020015115611351578234101561134a5760405163044044a560e21b815260040160405180910390fd5b50816114e0565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b29190612238565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af1158015611409573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142d91906122f6565b90508061144d576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af1158015611499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bd91906122f6565b9050806114dd576040516340b27c2160e11b815260040160405180910390fd5b50505b949350505050565b5f806114f384611754565b90506114e083826117b5565b61150982826117c9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e129200f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115899190612238565b6001600160a01b031682602001516001600160a01b0316146115be5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146115fc57604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611627576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611652576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611668670de0b6b3a7640000610706565b9392505050565b611677611908565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f8061174884611754565b90506114e083826118dd565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611791573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107319190611f8a565b5f6116688383670de0b6b3a76400006118ed565b6103e8826080015110156117f0576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361181557604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061183f57508161010001518260e0015161183c9190612311565b15155b1561185d5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118895750670de0b6b3a7640000826101c0015160200151115b806118a45750670de0b6b3a7640000826101c0015160400151115b806118bf5750670de0b6b3a7640000826101c0015160600151115b15611652576040516322f72cc360e11b815260040160405180910390fd5b5f61166883670de0b6b3a7640000845b5f825f190484118302158202611901575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119d760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a00576020818501810151868301820152016119e4565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61166860208301846119dc565b6001600160a01b0381168114611a45575f80fd5b50565b8035611a5381611a31565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b8015158114611a45575f80fd5b5f67ffffffffffffffff80841115611ae057611ae0611a58565b604051601f8501601f19908116603f01168101908282118183101715611b0857611b08611a58565b81604052809350858152868686011115611b20575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b48575f80fd5b61166883833560208501611ac6565b5f805f805f60a08688031215611b6b575f80fd5b853594506020860135611b7d81611a31565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ba7575f80fd5b908701906060828a031215611bba575f80fd5b611bc2611a6c565b8235611bcd81611a31565b81526020830135611bdd81611ab9565b6020820152604083013582811115611bf3575f80fd5b611bff8b828601611b39565b6040830152508093505050509295509295909350565b5f60208284031215611c25575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cb9575f80fd5b6040516080810181811067ffffffffffffffff82111715611cdc57611cdc611a58565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d1e575f80fd5b611d26611a95565b9050611d3182611a48565b8152611d3f60208301611a48565b6020820152611d5060408301611a48565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611dad818401611a48565b90820152610160611dbf838201611a48565b90820152610180611dd1838201611a48565b908201526101a0611de3838201611a48565b908201526101c0611df684848301611ca9565b9082015292915050565b5f805f805f6102c08688031215611e15575f80fd5b85359450611e268760208801611d0d565b935061026086013567ffffffffffffffff811115611e42575f80fd5b611e4e88828901611b39565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611e7e575f80fd5b85359450602086013567ffffffffffffffff80821115611e9c575f80fd5b818801915088601f830112611eaf575f80fd5b611ebe89833560208501611ac6565b9550611ecd8960408a01611d0d565b9450610280880135915080821115611ee3575f80fd5b50611ef088828901611b39565b959894975092956102a001359392505050565b600181811c90821680611f1757607f821691505b602082108103611f3557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611f8060c08401826119dc565b9695505050505050565b5f60208284031215611f9a575f80fd5b5051919050565b8181038181111561073157634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611fec60208401826001600160a01b03169052565b50604083015161200760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161206d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ca1565b80516001600160a01b0316825260208101516120fd60208401826001600160a01b03169052565b50604081015161211860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161218a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061220183886120d6565b6001600160a01b0386166102608401526102808301819052612225818401866119dc565b915050826102a083015295945050505050565b5f60208284031215612248575f80fd5b815161166881611a31565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122878184018e6119dc565b9050612296602084018d6120d6565b6001600160a01b038b81166102808501528382036102a08501526122ba828c6119dc565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612306575f80fd5b815161166881611ab9565b5f8261232b57634e487b7160e01b5f52601260045260245ffd5b50069056fe52734554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212208629029789b2afd2eb796238d831aed8a8a0062a8a2ad26cb5e401bdb323118a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "rsETHPool()": "7df91ba8", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts new file mode 100644 index 000000000..d7252871a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts @@ -0,0 +1,1956 @@ +export const RsETHLineaTarget0 = { + name: 'RsETHLineaTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "rsETHPool()": "7df91ba8", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts new file mode 100644 index 000000000..5827d79f1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget0Deployer = { + name: 'RsETHLineaTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516142ee3803806142ee83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142656100895f395f8181603d015260b801526142655ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d39806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033a264697066735822122026f6f158d8dbfde5ab58a801ce75222d3db81c3e319750b0f595fd532070f97e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts new file mode 100644 index 000000000..91f66eeb1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts @@ -0,0 +1,962 @@ +export const RsETHLineaTarget1 = { + name: 'RsETHLineaTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts new file mode 100644 index 000000000..dbc9ef2ef --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget1Deployer = { + name: 'RsETHLineaTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161437238038061437283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142e96100895f395f8181603d015260b801526142e95ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613dbd806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033a2646970667358221220bc37488b4cb8f211ba36f1f207b451553bd5f3dec3824cd377ec21a24d29efe464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts new file mode 100644 index 000000000..5535c9daf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts @@ -0,0 +1,977 @@ +export const RsETHLineaTarget2 = { + name: 'RsETHLineaTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts new file mode 100644 index 000000000..61b13ade3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget2Deployer = { + name: 'RsETHLineaTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161458338038061458383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144fa6100895f395f8181603d015260b801526144fa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613fce806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033a2646970667358221220b2b712c46de27929bf637823d3ce2a032de94c1d971a6c04c911427e6809a06964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts new file mode 100644 index 000000000..506f32467 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts @@ -0,0 +1,997 @@ +export const RsETHLineaTarget3 = { + name: 'RsETHLineaTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts new file mode 100644 index 000000000..20da06666 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget3Deployer = { + name: 'RsETHLineaTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161451838038061451883398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161448f6100895f395f8181603d015260b8015261448f5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f63806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033a2646970667358221220d15c9a46bb2b04686ad9ee313b1d6a9289a9684468a1286fd8da57c79066d1b064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts new file mode 100644 index 000000000..e34e9e3eb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts @@ -0,0 +1,981 @@ +export const RsETHLineaTarget4 = { + name: 'RsETHLineaTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts new file mode 100644 index 000000000..71aea7b23 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget4Deployer = { + name: 'RsETHLineaTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516137ad3803806137ad83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516137246100895f395f8181603d015260b801526137245ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131f8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033a26469706673582212202c295e4ec03343b5fef28aa752233531fb8a580a9281927af47b6163c4a51f3a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SafeCast.ts b/packages/hyperdrive-artifacts/src/SafeCast.ts new file mode 100644 index 000000000..a2b5e7219 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SafeCast.ts @@ -0,0 +1,6 @@ +export const SafeCast = { + name: 'SafeCast' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fa8ccec70f213d5ab699d9b77ee160f8d81198b98b1404ac7d191b53b68c42ab64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SafeERC20.ts b/packages/hyperdrive-artifacts/src/SafeERC20.ts new file mode 100644 index 000000000..ef2205197 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SafeERC20.ts @@ -0,0 +1,39 @@ +export const SafeERC20 = { + name: 'SafeERC20' as const, + abi: [ + { + "type": "error", + "name": "SafeERC20FailedDecreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "currentAllowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "requestedDecrease", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ddf22d7484dfd3b9c779783c9251d0f68696014afb1a6f60115ccfa8fa3e16e764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SafeTransferLib.ts b/packages/hyperdrive-artifacts/src/SafeTransferLib.ts new file mode 100644 index 000000000..6169be065 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SafeTransferLib.ts @@ -0,0 +1,6 @@ +export const SafeTransferLib = { + name: 'SafeTransferLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220cef0b0aa5ac5b4fc46c9cf3c1c4596251f9a8cc20915d95de1c155fd1731b5a964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ScriptBase.ts b/packages/hyperdrive-artifacts/src/ScriptBase.ts new file mode 100644 index 000000000..9c331239a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ScriptBase.ts @@ -0,0 +1,6 @@ +export const ScriptBase = { + name: 'ScriptBase' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SharesMathLib.ts b/packages/hyperdrive-artifacts/src/SharesMathLib.ts new file mode 100644 index 000000000..c6848b78d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SharesMathLib.ts @@ -0,0 +1,6 @@ +export const SharesMathLib = { + name: 'SharesMathLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209e65d3014dc34feda303c17d668e3f5f418c0ed1b894d727d1935370575d045864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SignedMath.ts b/packages/hyperdrive-artifacts/src/SignedMath.ts new file mode 100644 index 000000000..ec60bab68 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SignedMath.ts @@ -0,0 +1,6 @@ +export const SignedMath = { + name: 'SignedMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f3c22f65c1712287d5379b4f1b3395d8263aa4f201dcde2ccd0710b78ec4539564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHBase.ts b/packages/hyperdrive-artifacts/src/StETHBase.ts new file mode 100644 index 000000000..f763c9aa0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHBase.ts @@ -0,0 +1,657 @@ +export const StETHBase = { + name: 'StETHBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHConversions.ts b/packages/hyperdrive-artifacts/src/StETHConversions.ts new file mode 100644 index 000000000..2be6cd84a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHConversions.ts @@ -0,0 +1,6 @@ +export const StETHConversions = { + name: 'StETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122049fe8f84dbd19a4135244c899716a64cb4c7ff1f05e032078ce1bcc9e4759e5f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/StETHHyperdrive.ts new file mode 100644 index 000000000..dff5ade0b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHHyperdrive.ts @@ -0,0 +1,1666 @@ +export const StETHHyperdrive = { + name: 'StETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..7ac4cf230 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const StETHHyperdriveCoreDeployer = { + name: 'StETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611d728061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611721806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033a2646970667358221220ce500abdb26fd09504c7516bbbc5b524289c74c871bd57a6f434efa0595297be64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..a7176a128 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,784 @@ +export const StETHHyperdriveDeployerCoordinator = { + name: 'StETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_lido", + "type": "address", + "internalType": "contract ILido" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lido", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILido" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002630380380620026308339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516121dc620004545f395f8181610179015281816112950152818161132a015261148401525f818161032d0152610daa01525f81816103930152610c7701525f81816103f90152610b4401525f81816103600152610a1101525f81816103c6015261080801525f818161047e01526110f901525f818161044b01528181610585015281816107310152818161083801528181610a4101528181610b7401528181610ca701528181610dda01528181610ecd015261112a01526121dc5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b8063251f6c42116100d8578063251f6c42146101b357806337404017146101d25780633e5541f1146102ce57806354fd4d50146102ed578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc701461014757806323509a2d14610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611842565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a61015536600461197a565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156101be575f80fd5b5061015a6101cd366004611a38565b610706565b3480156101dd575f80fd5b506102c16101ec366004611a62565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611a79565b3480156102d9575f80fd5b5061015a6102e8366004611a38565b61071a565b3480156102f8575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b348015610327575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b5061019b610435366004611c4d565b610725565b348015610445575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b5061019b6104ba366004611cb6565b610ec1565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602281526020016121856022913981565b5f80546104fa90611d50565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611d50565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611234565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611d88565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611dd7565b92505f6106898234611dee565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071183836113a1565b90505b92915050565b5f610711838361140b565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076f57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091f578054156107a457604051633be1b34d60e11b815260040160405180910390fd5b6107ae868661143a565b5f6107b98787611532565b90505f876040516020016107cd9190611e0d565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107fa8a611549565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610874929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a99493929190612040565b6020604051808303815f875af11580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e99190612085565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061094b5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161095d9190611e0d565b60405160208183030381529060405280519060200120146109915760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109bb57604051631a3272d160e31b815260040160405180910390fd5b6109c5878761143a565b5f6109cf88611549565b6002840154608082015290506001869003610b0f5760058301546001600160a01b031615610a0f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a76939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aab9493929190612040565b6020604051808303815f875af1158015610ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aeb9190612085565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c425760068301546001600160a01b031615610b425760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba9939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bde9493929190612040565b6020604051808303815f875af1158015610bfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1e9190612085565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d755760078301546001600160a01b031615610c755760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cdc939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d119493929190612040565b6020604051808303815f875af1158015610d2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d519190612085565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610ea85760088301546001600160a01b031615610da85760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0f939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e449493929190612040565b6020604051808303815f875af1158015610e60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e849190612085565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fb357604051632c95caeb60e01b815260040160405180910390fd5b8051610fd25760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff7575060a08101516001600160a01b0316155b8061100d575060c08101516001600160a01b0316155b80611023575060e08101516001600160a01b0316155b8061103a57506101008101516001600160a01b0316155b156110585760405163e97cc2bf60e01b815260040160405180910390fd5b805160405161106b908790602001611e0d565b604051602081830303815290604052805190602001201461109f5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110ca57604051631a3272d160e31b815260040160405180910390fd5b6110d4858561143a565b5f6110de86611549565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611180929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111bb9a999897969594939291906120c8565b6020604051808303815f875af11580156111d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111fb9190612085565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f81602001511561126757823410156112605760405163044044a560e21b815260040160405180910390fd5b5081611399565b604051636d78045960e01b81526001600160a01b038581166004830152306024830152604482018590525f917f000000000000000000000000000000000000000000000000000000000000000090911690636d780459906064016020604051808303815f875af11580156112dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113019190611dd7565b60405163095ea7b360e01b81526001600160a01b038881166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af1158015611372573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611396919061214a565b50505b949350505050565b604051630f451f7160e31b8152600481018290525f906001600160a01b03841690637a28fb88906024015b602060405180830381865afa1580156113e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107119190611dd7565b604051631920845160e01b8152600481018290525f906001600160a01b038416906319208451906024016113cc565b6114448282611617565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461148257604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146114d85760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611503576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461152e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107118360200151670de0b6b3a7640000610706565b61155161172b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6103e88260800151101561163e576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361166357604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061168d57508161010001518260e0015161168a9190612165565b15155b156116ab5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116d75750670de0b6b3a7640000826101c0015160200151115b806116f25750670de0b6b3a7640000826101c0015160400151115b8061170d5750670de0b6b3a7640000826101c0015160600151115b1561152e576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016117fa60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561182357602081850181015186830182015201611807565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61071160208301846117ff565b6001600160a01b0381168114611868575f80fd5b50565b803561187681611854565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156118b2576118b261187b565b60405290565b6040516101e0810167ffffffffffffffff811182821017156118b2576118b261187b565b8015158114611868575f80fd5b5f67ffffffffffffffff808411156119035761190361187b565b604051601f8501601f19908116603f0116810190828211818310171561192b5761192b61187b565b81604052809350858152868686011115611943575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f83011261196b575f80fd5b610711838335602085016118e9565b5f805f805f60a0868803121561198e575f80fd5b8535945060208601356119a081611854565b93506040860135925060608601359150608086013567ffffffffffffffff808211156119ca575f80fd5b908701906060828a0312156119dd575f80fd5b6119e561188f565b82356119f081611854565b81526020830135611a00816118dc565b6020820152604083013582811115611a16575f80fd5b611a228b82860161195c565b6040830152508093505050509295509295909350565b5f8060408385031215611a49575f80fd5b8235611a5481611854565b946020939093013593505050565b5f60208284031215611a72575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611b06575f80fd5b6040516080810181811067ffffffffffffffff82111715611b2957611b2961187b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611b6b575f80fd5b611b736118b8565b9050611b7e8261186b565b8152611b8c6020830161186b565b6020820152611b9d6040830161186b565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611bfa81840161186b565b90820152610160611c0c83820161186b565b90820152610180611c1e83820161186b565b908201526101a0611c3083820161186b565b908201526101c0611c4384848301611af6565b9082015292915050565b5f805f805f6102c08688031215611c62575f80fd5b85359450611c738760208801611b5a565b935061026086013567ffffffffffffffff811115611c8f575f80fd5b611c9b8882890161195c565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ccb575f80fd5b85359450602086013567ffffffffffffffff80821115611ce9575f80fd5b818801915088601f830112611cfc575f80fd5b611d0b898335602085016118e9565b9550611d1a8960408a01611b5a565b9450610280880135915080821115611d30575f80fd5b50611d3d8882890161195c565b959894975092956102a001359392505050565b600181811c90821680611d6457607f821691505b602082108103611d8257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611dcd60c08401826117ff565b9695505050505050565b5f60208284031215611de7575f80fd5b5051919050565b8181038181111561071457634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611e3960208401826001600160a01b03169052565b506040830151611e5460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611eba828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611aee565b80516001600160a01b031682526020810151611f4a60208401826001600160a01b03169052565b506040810151611f6560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151611fd7828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061204e8388611f23565b6001600160a01b0386166102608401526102808301819052612072818401866117ff565b915050826102a083015295945050505050565b5f60208284031215612095575f80fd5b81516120a081611854565b9392505050565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526120db8184018e6117ff565b90506120ea602084018d611f23565b6001600160a01b038b81166102808501528382036102a085015261210e828c6117ff565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561215a575f80fd5b81516120a0816118dc565b5f8261217f57634e487b7160e01b5f52601260045260245ffd5b50069056fe5374455448487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212206424e2c6a2d37f7dbd5215cc1b2da7bda2910f0a609e426fae656d20b8f0930d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "lido()": "23509a2d", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget0.ts b/packages/hyperdrive-artifacts/src/StETHTarget0.ts new file mode 100644 index 000000000..9ef247d87 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget0.ts @@ -0,0 +1,1932 @@ +export const StETHTarget0 = { + name: 'StETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts new file mode 100644 index 000000000..d22662245 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget0Deployer = { + name: 'StETHTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061415f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c87806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033a2646970667358221220a28ce4f5c23a29185a86ba379c4d4e916556fcaae8a5823fd42bdadcc9e1359a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget1.ts b/packages/hyperdrive-artifacts/src/StETHTarget1.ts new file mode 100644 index 000000000..7c75161a3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget1.ts @@ -0,0 +1,952 @@ +export const StETHTarget1 = { + name: 'StETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts new file mode 100644 index 000000000..1d5334689 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget1Deployer = { + name: 'StETHTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061422e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613d56806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033a2646970667358221220047dbbfc243edeaf30514802f02b8d578cfae0a57b88026da62816695123b12464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget2.ts b/packages/hyperdrive-artifacts/src/StETHTarget2.ts new file mode 100644 index 000000000..931cb6e9b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget2.ts @@ -0,0 +1,967 @@ +export const StETHTarget2 = { + name: 'StETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts new file mode 100644 index 000000000..c70ff59a1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget2Deployer = { + name: 'StETHTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143fb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f23806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033a26469706673582212208f9663bcdb18f79e2a6bdcfc71bc2be7938aeeae1f292f0056aa41a60f2b68cb64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget3.ts b/packages/hyperdrive-artifacts/src/StETHTarget3.ts new file mode 100644 index 000000000..0aafd031a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget3.ts @@ -0,0 +1,987 @@ +export const StETHTarget3 = { + name: 'StETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts new file mode 100644 index 000000000..4151b79d9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget3Deployer = { + name: 'StETHTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143908061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613eb8806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033a264697066735822122037be4f2b1027034bc94dd996b1fa853dc58d1758fe04ca6e95fc2a2025d01fd664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget4.ts b/packages/hyperdrive-artifacts/src/StETHTarget4.ts new file mode 100644 index 000000000..c47c37dae --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget4.ts @@ -0,0 +1,971 @@ +export const StETHTarget4 = { + name: 'StETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts new file mode 100644 index 000000000..c89c29b9a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget4Deployer = { + name: 'StETHTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506136698061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613191806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033a2646970667358221220d99eb9c620eae3748d77048cce1406f8ea25e96f5517ac30ce6e697b952e285c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSBase.ts b/packages/hyperdrive-artifacts/src/StakingUSDSBase.ts new file mode 100644 index 000000000..bc2ff26f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSBase.ts @@ -0,0 +1,695 @@ +export const StakingUSDSBase = { + name: 'StakingUSDSBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts b/packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts new file mode 100644 index 000000000..73d1868b0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts @@ -0,0 +1,48 @@ +export const StakingUSDSConversions = { + name: 'StakingUSDSConversions' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea26469706673582212200ae303be395ad152744557ee203fbfe5feb59aac112c9eac3c648b7fb6e1234a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts new file mode 100644 index 000000000..774d5c1f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts @@ -0,0 +1,1717 @@ +export const StakingUSDSHyperdrive = { + name: 'StakingUSDSHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..ecca2658a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const StakingUSDSHyperdriveCoreDeployer = { + name: 'StakingUSDSHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061222e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d299989796959493929190620005c4565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611b5d806200069c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f6020828403121562000490575f80fd5b81516200049d81620001e3565b9392505050565b80516001600160a01b031682526020810151620004cc60208401826001600160a01b03169052565b506040810151620004e860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fa576020828e0101516103808386010152602082019150620005d6565b61038091505f82828601015281601f19601f8301168501019250505062000625602083018b620004a4565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000f556fe61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033a2646970667358221220e94fed4f90e55acdf8f46e257e6323197e5bc0fbc32985963628b6613ae1d22164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..5f3db1d7f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts @@ -0,0 +1,798 @@ +export const StakingUSDSHyperdriveDeployerCoordinator = { + name: 'StakingUSDSHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b5060405162002a7b38038062002a7b8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126616200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526126615ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb5565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611cea565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da8565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dbf565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611da8565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f93565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611da8565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611ffc565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602881526020016126046028913981565b5f80546104bc90612096565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612096565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b8152600401610605939291906120ce565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612113565b92505f610653823461213e565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612113565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df8787611591565b90505f876040516020016107f39190612151565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a6115aa565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612384565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f91906123c9565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109839190612151565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f5886115aa565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612384565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1191906123c9565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612384565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4491906123c9565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d02939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612384565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7791906123c9565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e35939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612384565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa91906123c9565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb908790602001612151565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e866115aa565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612405565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b91906123c9565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133991906123c9565b90506113506001600160a01b038216863087611678565b6113646001600160a01b03821687866116e5565b505f95945050505050565b6113798282611774565b5f8180602001905181019061138e91906123c9565b9050806001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f091906123c9565b6001600160a01b0316835f01516001600160a01b03161461142457604051630722152560e11b815260040160405180910390fd5b60208301516001600160a01b0316156114505760405163073f739d60e51b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612487565b6114bf91906124a7565b6114ca90600a6125a0565b836080015110156114ee576040516349db44f560e01b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115539190612487565b61155d91906124a7565b61156890600a6125a0565b8360a00151101561158c576040516318c9522360e11b815260040160405180910390fd5b505050565b5f6115a3670de0b6b3a76400006106d0565b9392505050565b6115b2611a94565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116df9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061188c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261173684826118f2565b6116df576040516001600160a01b0384811660248301525f604483015261176a91869182169063095ea7b3906064016116ad565b6116df848261188c565b6103e88260800151101561179b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117c057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ea57508161010001518260e001516117e791906125ae565b15155b156118085760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118345750670de0b6b3a7640000826101c0015160200151115b8061184f5750670de0b6b3a7640000826101c0015160400151115b8061186a5750670de0b6b3a7640000826101c0015160600151115b15611888576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f6118a06001600160a01b0384168361198f565b905080515f141580156118c45750808060200190518101906118c291906125cd565b155b1561158c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161190d91906125e8565b5f604051808303815f865af19150503d805f8114611946576040519150601f19603f3d011682016040523d82523d5f602084013e61194b565b606091505b509150915081801561197557508051158061197557508080602001905181019061197591906125cd565b80156106c75750505050506001600160a01b03163b151590565b60606115a383835f845f80856001600160a01b031684866040516119b391906125e8565b5f6040518083038185875af1925050503d805f81146119ed576040519150601f19603f3d011682016040523d82523d5f602084013e6119f2565b606091505b5091509150611a02868383611a0c565b9695505050505050565b606082611a2157611a1c82611a68565b6115a3565b8151158015611a3857506001600160a01b0384163b155b15611a6157604051639996b31560e01b81526001600160a01b03851660048201526024016118e9565b50806115a3565b805115611a785780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b82578181015183820152602001611b6a565b50505f910152565b5f8151808452611ba1816020860160208601611b68565b601f01601f19169290920160200192915050565b602081525f6115a36020830184611b8a565b6001600160a01b0381168114611a91575f80fd5b8035611be681611bc7565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2257611c22611beb565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2257611c22611beb565b8015158114611a91575f80fd5b5f67ffffffffffffffff80841115611c7357611c73611beb565b604051601f8501601f19908116603f01168101908282118183101715611c9b57611c9b611beb565b81604052809350858152868686011115611cb3575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdb575f80fd5b6115a383833560208501611c59565b5f805f805f60a08688031215611cfe575f80fd5b853594506020860135611d1081611bc7565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3a575f80fd5b908701906060828a031215611d4d575f80fd5b611d55611bff565b8235611d6081611bc7565b81526020830135611d7081611c4c565b6020820152604083013582811115611d86575f80fd5b611d928b828601611ccc565b6040830152508093505050509295509295909350565b5f60208284031215611db8575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611e4c575f80fd5b6040516080810181811067ffffffffffffffff82111715611e6f57611e6f611beb565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611eb1575f80fd5b611eb9611c28565b9050611ec482611bdb565b8152611ed260208301611bdb565b6020820152611ee360408301611bdb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611f40818401611bdb565b90820152610160611f52838201611bdb565b90820152610180611f64838201611bdb565b908201526101a0611f76838201611bdb565b908201526101c0611f8984848301611e3c565b9082015292915050565b5f805f805f6102c08688031215611fa8575f80fd5b85359450611fb98760208801611ea0565b935061026086013567ffffffffffffffff811115611fd5575f80fd5b611fe188828901611ccc565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612011575f80fd5b85359450602086013567ffffffffffffffff8082111561202f575f80fd5b818801915088601f830112612042575f80fd5b61205189833560208501611c59565b95506120608960408a01611ea0565b9450610280880135915080821115612076575f80fd5b5061208388828901611ccc565b959894975092956102a001359392505050565b600181811c908216806120aa57607f821691505b6020821081036120c857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0260c0840182611b8a565b5f60208284031215612123575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107455761074561212a565b81516001600160a01b031681526102408101602083015161217d60208401826001600160a01b03169052565b50604083015161219860408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516121fe828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e34565b80516001600160a01b03168252602081015161228e60208401826001600160a01b03169052565b5060408101516122a960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161231b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116df565b5f6102c06123928388612267565b6001600160a01b03861661026084015261028083018190526123b681840186611b8a565b915050826102a083015295945050505050565b5f602082840312156123d9575f80fd5b81516115a381611bc7565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124188184018e611b8a565b9050612427602084018d612267565b6001600160a01b038b81166102808501528382036102a085015261244b828c611b8a565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612497575f80fd5b815160ff811681146115a3575f80fd5b60ff82811682821603908111156107455761074561212a565b600181815b808511156124fa57815f19048211156124e0576124e061212a565b808516156124ed57918102915b93841c93908002906124c5565b509250929050565b5f8261251057506001610745565b8161251c57505f610745565b8160018114612532576002811461253c57612558565b6001915050610745565b60ff84111561254d5761254d61212a565b50506001821b610745565b5060208310610133831016604e8410600b841016171561257b575081810a610745565b61258583836124c0565b805f19048211156125985761259861212a565b029392505050565b5f6115a360ff841683612502565b5f826125c857634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156125dd575f80fd5b81516115a381611c4c565b5f82516125f9818460208701611b68565b919091019291505056fe5374616b696e6755534453487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f8e3dbc71fbcda0461ac63ee6546e0baea3a203ed5f053b8d066f366bb4d4f2464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts new file mode 100644 index 000000000..de698f177 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts @@ -0,0 +1,1951 @@ +export const StakingUSDSTarget0 = { + name: 'StakingUSDSTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakingUSDS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "stakingUSDS()": "10cded21", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts new file mode 100644 index 000000000..df8d9f459 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget0Deployer = { + name: 'StakingUSDSTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506146ab8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614145806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033a26469706673582212201db6b5a4b66bfbba56b9adb73484978d4701ecb6e360c559ef30ac82a4f81d6d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts new file mode 100644 index 000000000..e9c719e79 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts @@ -0,0 +1,995 @@ +export const StakingUSDSTarget1 = { + name: 'StakingUSDSTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts new file mode 100644 index 000000000..f7df2cda6 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget1Deployer = { + name: 'StakingUSDSTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061484e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6142e8806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033a2646970667358221220b2b0668b3baf7b2c103a8853f069a393531ec4433737cc7f89c57fc5ac4dab5764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts new file mode 100644 index 000000000..abc389a20 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts @@ -0,0 +1,1020 @@ +export const StakingUSDSTarget2 = { + name: 'StakingUSDSTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts new file mode 100644 index 000000000..635bb3f7a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget2Deployer = { + name: 'StakingUSDSTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614b0f8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6145a9806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033a2646970667358221220fb7eb2ae17180ffa2855cf88f6bf75f74eff2398ed1e301ddcc2d3cc0e8ce3ff64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts new file mode 100644 index 000000000..870f1a8b3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts @@ -0,0 +1,1040 @@ +export const StakingUSDSTarget3 = { + name: 'StakingUSDSTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts new file mode 100644 index 000000000..b46bd79a5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget3Deployer = { + name: 'StakingUSDSTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614a7b8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614515806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033a26469706673582212206c1ff461d3e197a4c9725eaabbfb597da63f0bbbb24e74b700ceec367452919364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts new file mode 100644 index 000000000..2b9c9ca9a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts @@ -0,0 +1,1014 @@ +export const StakingUSDSTarget4 = { + name: 'StakingUSDSTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts new file mode 100644 index 000000000..6a2cd1e45 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget4Deployer = { + name: 'StakingUSDSTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50613c898061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b613723806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033a264697066735822122017d381c032eedca8bda6d37d1264c7809a880f552a3ed3b05e94cca4eb5aad9864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdAssertions.ts b/packages/hyperdrive-artifacts/src/StdAssertions.ts new file mode 100644 index 000000000..689878e9c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdAssertions.ts @@ -0,0 +1,386 @@ +export const StdAssertions = { + name: 'StdAssertions' as const, + abi: [ + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "failed()": "ba414fa6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdChains.ts b/packages/hyperdrive-artifacts/src/StdChains.ts new file mode 100644 index 000000000..5b1bc3c5f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdChains.ts @@ -0,0 +1,6 @@ +export const StdChains = { + name: 'StdChains' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdCheats.ts b/packages/hyperdrive-artifacts/src/StdCheats.ts new file mode 100644 index 000000000..5cbc2ae75 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdCheats.ts @@ -0,0 +1,6 @@ +export const StdCheats = { + name: 'StdCheats' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdCheatsSafe.ts b/packages/hyperdrive-artifacts/src/StdCheatsSafe.ts new file mode 100644 index 000000000..0fcb73325 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdCheatsSafe.ts @@ -0,0 +1,6 @@ +export const StdCheatsSafe = { + name: 'StdCheatsSafe' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdInvariant.ts b/packages/hyperdrive-artifacts/src/StdInvariant.ts new file mode 100644 index 000000000..dac6d4049 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdInvariant.ts @@ -0,0 +1,170 @@ +export const StdInvariant = { + name: 'StdInvariant' as const, + abi: [ + { + "type": "function", + "name": "excludeArtifacts", + "inputs": [], + "outputs": [ + { + "name": "excludedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeContracts", + "inputs": [], + "outputs": [ + { + "name": "excludedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeSenders", + "inputs": [], + "outputs": [ + { + "name": "excludedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifactSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifactSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifacts", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetContracts", + "inputs": [], + "outputs": [ + { + "name": "targetedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetInterfaces", + "inputs": [], + "outputs": [ + { + "name": "targetedInterfaces_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzInterface[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "artifacts", + "type": "string[]", + "internalType": "string[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSenders", + "inputs": [], + "outputs": [ + { + "name": "targetedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "excludeArtifacts()": "b5508aa9", + "excludeContracts()": "e20c9f71", + "excludeSenders()": "1ed7831c", + "targetArtifactSelectors()": "66d9a9a0", + "targetArtifacts()": "85226c81", + "targetContracts()": "3f7286f4", + "targetInterfaces()": "2ade3880", + "targetSelectors()": "916a17c6", + "targetSenders()": "3e5e3c23" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdStyle.ts b/packages/hyperdrive-artifacts/src/StdStyle.ts new file mode 100644 index 000000000..7eede32c2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdStyle.ts @@ -0,0 +1,6 @@ +export const StdStyle = { + name: 'StdStyle' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208b99f89de3b336590885ce0fa5feb6099968a1fee7a33df67788754dca7f747064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdUtils.ts b/packages/hyperdrive-artifacts/src/StdUtils.ts new file mode 100644 index 000000000..316e4a498 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdUtils.ts @@ -0,0 +1,6 @@ +export const StdUtils = { + name: 'StdUtils' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellBase.ts b/packages/hyperdrive-artifacts/src/StkWellBase.ts new file mode 100644 index 000000000..ff8bfbc48 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellBase.ts @@ -0,0 +1,657 @@ +export const StkWellBase = { + name: 'StkWellBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellConversions.ts b/packages/hyperdrive-artifacts/src/StkWellConversions.ts new file mode 100644 index 000000000..3cbd045bc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellConversions.ts @@ -0,0 +1,6 @@ +export const StkWellConversions = { + name: 'StkWellConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e462a73c01cc4df9430b6eb7c3db10ba597ce33b83c696d792cd3bde8997c19a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts b/packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts new file mode 100644 index 000000000..77cb5b40d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts @@ -0,0 +1,1712 @@ +export const StkWellHyperdrive = { + name: 'StkWellHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..0845da75a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const StkWellHyperdriveCoreDeployer = { + name: 'StkWellHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506122238061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611bd2806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033a2646970667358221220a3e75d76a98ab508b633ea2af3da84c7c98fde5f823e63c7320037eb3ca9ddbe64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..b6e2aff29 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts @@ -0,0 +1,793 @@ +export const StkWellHyperdriveDeployerCoordinator = { + name: 'StkWellHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e6380380620029e68339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125cc6200041a5f395f81816102990152610d3f01525f81816103170152610c0c01525f818161037d0152610ad901525f81816102e401526109a601525f818161034a015261079d01525f8181610421015261108e01525f81816103ee01528181610528015281816106c6015281816107cd015281816109d601528181610b0901528181610c3c01528181610d6f01528181610e6201526110bf01526125cc5ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f5921461039f578063c83e1f5114610410578063e990eba814610443578063e99be39614610462575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610475565b60405161011f9190611b24565b60405180910390f35b348015610133575f80fd5b50610112610491565b61014f61014a366004611c59565b61051c565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d17565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d2e565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d17565b6106b1565b3480156103c9575f80fd5b506102bb6103d8366004611f02565b6106ba565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b506102bb61045d366004611f6b565b610e56565b34801561046d575f80fd5b50600561014f565b6040518060600160405280602481526020016125736024913981565b5f805461049d90612005565b80601f01602080910402602001604051908101604052809291908181526020018280546104c990612005565b80156105145780601f106104eb57610100808354040283529160200191610514565b820191905f5260205f20905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056657604051634084351160e01b815260040160405180910390fd5b61056e6111c9565b5f868152600160205260409020600301546001600160a01b0316806105a65760405163952b05cb60e01b815260040160405180910390fd5b5f6105b3828888876111ea565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105e69392919061203d565b60206040518083038185885af1158015610602573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106279190612082565b92505f61063482346120ad565b905080156106a4576040515f90339083908381818185875af1925050503d805f811461067b576040519150601f19603f3d011682016040523d82523d5f602084013e610680565b606091505b50509050806106a2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f815b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070457604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108b45780541561073957604051633be1b34d60e11b815260040160405180910390fd5b61074386866112f2565b5f61074e87876114ff565b90505f8760405160200161076291906120c0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61078f8a611518565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610809929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161083e94939291906122f3565b6020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e9190612338565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106a8565b5f87815260016020526040902054806108e05760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108f291906120c0565b60405160208183030381529060405280519060200120146109265760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461095057604051631a3272d160e31b815260040160405180910390fd5b61095a87876112f2565b5f61096488611518565b6002840154608082015290506001869003610aa45760058301546001600160a01b0316156109a45760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a0b93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a4094939291906122f3565b6020604051808303815f875af1158015610a5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a809190612338565b6005840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600203610bd75760068301546001600160a01b031615610ad75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b3e93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b7394939291906122f3565b6020604051808303815f875af1158015610b8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb39190612338565b6006840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600303610d0a5760078301546001600160a01b031615610c0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c7193929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ca694939291906122f3565b6020604051808303815f875af1158015610cc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce69190612338565b6007840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600403610e3d5760088301546001600160a01b031615610d3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610da493929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610dd994939291906122f3565b6020604051808303815f875af1158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190612338565b6008840180546001600160a01b0319166001600160a01b03831617905593506106a4565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea057604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f4857604051632c95caeb60e01b815260040160405180910390fd5b8051610f675760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f8c575060a08101516001600160a01b0316155b80610fa2575060c08101516001600160a01b0316155b80610fb8575060e08101516001600160a01b0316155b80610fcf57506101008101516001600160a01b0316155b15610fed5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110009087906020016120c0565b60405160208183030381529060405280519060200120146110345760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461105f57604051631a3272d160e31b815260040160405180910390fd5b61106985856112f2565b5f61107386611518565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611115929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111509a99989796959493929190612374565b6020604051808303815f875af115801561116c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111909190612338565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111e857604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561125d57856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112569190612338565b90506112c0565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611299573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112bd9190612338565b90505b6112d56001600160a01b0382168630876115e6565b6112e96001600160a01b0382168786611653565b50949350505050565b6112fc82826116e2565b60208201516001600160a01b03166113275760405163073f739d60e51b815260040160405180910390fd5b815f01516001600160a01b031682602001516001600160a01b031663312f6b836040518163ffffffff1660e01b8152600401602060405180830381865afa158015611374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113989190612338565b6001600160a01b0316146113bf57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142491906123f6565b61142e9190612416565b61143990600a61250f565b8260800151101561145d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c291906123f6565b6114cc9190612416565b6114d790600a61250f565b8260a0015110156114fb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611511670de0b6b3a76400006106b1565b9392505050565b611520611a03565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261164d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506117f6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116a48482611861565b61164d576040516001600160a01b0384811660248301525f60448301526116d891869182169063095ea7b39060640161161b565b61164d84826117f6565b6103e882608001511015611709576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361172e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175857508161010001518260e00151611755919061251d565b15155b156117765760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a25750670de0b6b3a7640000826101c0015160200151115b806117bd5750670de0b6b3a7640000826101c0015160400151115b806117d85750670de0b6b3a7640000826101c0015160600151115b156114fb576040516322f72cc360e11b815260040160405180910390fd5b5f61180a6001600160a01b038416836118fe565b905080515f1415801561182e57508080602001905181019061182c919061253c565b155b1561185c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161187c9190612557565b5f604051808303815f865af19150503d805f81146118b5576040519150601f19603f3d011682016040523d82523d5f602084013e6118ba565b606091505b50915091508180156118e45750805115806118e45750808060200190518101906118e4919061253c565b80156106a85750505050506001600160a01b03163b151590565b606061151183835f845f80856001600160a01b031684866040516119229190612557565b5f6040518083038185875af1925050503d805f811461195c576040519150601f19603f3d011682016040523d82523d5f602084013e611961565b606091505b509150915061197186838361197b565b9695505050505050565b6060826119905761198b826119d7565b611511565b81511580156119a757506001600160a01b0384163b155b156119d057604051639996b31560e01b81526001600160a01b0385166004820152602401611853565b5080611511565b8051156119e75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ad260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611af1578181015183820152602001611ad9565b50505f910152565b5f8151808452611b10816020860160208601611ad7565b601f01601f19169290920160200192915050565b602081525f6115116020830184611af9565b6001600160a01b0381168114611a00575f80fd5b8035611b5581611b36565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9157611b91611b5a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9157611b91611b5a565b8015158114611a00575f80fd5b5f67ffffffffffffffff80841115611be257611be2611b5a565b604051601f8501601f19908116603f01168101908282118183101715611c0a57611c0a611b5a565b81604052809350858152868686011115611c22575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c4a575f80fd5b61151183833560208501611bc8565b5f805f805f60a08688031215611c6d575f80fd5b853594506020860135611c7f81611b36565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ca9575f80fd5b908701906060828a031215611cbc575f80fd5b611cc4611b6e565b8235611ccf81611b36565b81526020830135611cdf81611bbb565b6020820152604083013582811115611cf5575f80fd5b611d018b828601611c3b565b6040830152508093505050509295509295909350565b5f60208284031215611d27575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dbb575f80fd5b6040516080810181811067ffffffffffffffff82111715611dde57611dde611b5a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e20575f80fd5b611e28611b97565b9050611e3382611b4a565b8152611e4160208301611b4a565b6020820152611e5260408301611b4a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611eaf818401611b4a565b90820152610160611ec1838201611b4a565b90820152610180611ed3838201611b4a565b908201526101a0611ee5838201611b4a565b908201526101c0611ef884848301611dab565b9082015292915050565b5f805f805f6102c08688031215611f17575f80fd5b85359450611f288760208801611e0f565b935061026086013567ffffffffffffffff811115611f44575f80fd5b611f5088828901611c3b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f80575f80fd5b85359450602086013567ffffffffffffffff80821115611f9e575f80fd5b818801915088601f830112611fb1575f80fd5b611fc089833560208501611bc8565b9550611fcf8960408a01611e0f565b9450610280880135915080821115611fe5575f80fd5b50611ff288828901611c3b565b959894975092956102a001359392505050565b600181811c9082168061201957607f821691505b60208210810361203757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197160c0840182611af9565b5f60208284031215612092575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106b4576106b4612099565b81516001600160a01b03168152610240810160208301516120ec60208401826001600160a01b03169052565b50604083015161210760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161216d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611da3565b80516001600160a01b0316825260208101516121fd60208401826001600160a01b03169052565b50604081015161221860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161228a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261164d565b5f6102c061230183886121d6565b6001600160a01b038616610260840152610280830181905261232581840186611af9565b915050826102a083015295945050505050565b5f60208284031215612348575f80fd5b815161151181611b36565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123878184018e611af9565b9050612396602084018d6121d6565b6001600160a01b038b81166102808501528382036102a08501526123ba828c611af9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612406575f80fd5b815160ff81168114611511575f80fd5b60ff82811682821603908111156106b4576106b4612099565b600181815b8085111561246957815f190482111561244f5761244f612099565b8085161561245c57918102915b93841c9390800290612434565b509250929050565b5f8261247f575060016106b4565b8161248b57505f6106b4565b81600181146124a157600281146124ab576124c7565b60019150506106b4565b60ff8411156124bc576124bc612099565b50506001821b6106b4565b5060208310610133831016604e8410600b84101617156124ea575081810a6106b4565b6124f4838361242f565b805f190482111561250757612507612099565b029392505050565b5f61151160ff841683612471565b5f8261253757634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561254c575f80fd5b815161151181611bbb565b5f8251612568818460208701611ad7565b919091019291505056fe53746b57656c6c487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212205f6cbb68e0e1f27022ec484d8932c9beb503129e283c2ef602c051e19e6b92b764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget0.ts b/packages/hyperdrive-artifacts/src/StkWellTarget0.ts new file mode 100644 index 000000000..890080552 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget0.ts @@ -0,0 +1,1932 @@ +export const StkWellTarget0 = { + name: 'StkWellTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts new file mode 100644 index 000000000..55022c25f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget0Deployer = { + name: 'StkWellTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506140b18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613bd9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033a264697066735822122023c9f04eca2806c10cbfe5947a24f3bae8f758485ea9429b49397e745bfac8b264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget1.ts b/packages/hyperdrive-artifacts/src/StkWellTarget1.ts new file mode 100644 index 000000000..6ba82ead9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget1.ts @@ -0,0 +1,990 @@ +export const StkWellTarget1 = { + name: 'StkWellTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts new file mode 100644 index 000000000..986c57d55 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget1Deployer = { + name: 'StkWellTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506142d18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613df9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033a2646970667358221220eea69ab4542df2a4ebdf329726f5e2ff19b958d58bd3d975076804cd97a3250764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget2.ts b/packages/hyperdrive-artifacts/src/StkWellTarget2.ts new file mode 100644 index 000000000..cec9f346c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget2.ts @@ -0,0 +1,1010 @@ +export const StkWellTarget2 = { + name: 'StkWellTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts new file mode 100644 index 000000000..f48d5d6fe --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget2Deployer = { + name: 'StkWellTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061466e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614196806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033a2646970667358221220ee671d51aafb887f4f7b33a56fcd9256ed56e88cc666cb3689e4c98fe5cd8e4664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget3.ts b/packages/hyperdrive-artifacts/src/StkWellTarget3.ts new file mode 100644 index 000000000..a5cddd4f0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget3.ts @@ -0,0 +1,1030 @@ +export const StkWellTarget3 = { + name: 'StkWellTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts new file mode 100644 index 000000000..58042ad02 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget3Deployer = { + name: 'StkWellTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145f18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614119806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033a264697066735822122087123d5b735c4f782446311ff0d4856f3f29238036d393744424e707d93859c964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget4.ts b/packages/hyperdrive-artifacts/src/StkWellTarget4.ts new file mode 100644 index 000000000..56d2f4b30 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget4.ts @@ -0,0 +1,1009 @@ +export const StkWellTarget4 = { + name: 'StkWellTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts new file mode 100644 index 000000000..1611b0667 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget4Deployer = { + name: 'StkWellTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061370c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613234806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033a2646970667358221220eb7b7c1417fbd07cc73725e8af5c7b0e360fd907db48000ae44d8cb713c34af164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SupplyLogic.ts b/packages/hyperdrive-artifacts/src/SupplyLogic.ts new file mode 100644 index 000000000..0a1652bad --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SupplyLogic.ts @@ -0,0 +1,161 @@ +export const SupplyLogic = { + name: 'SupplyLogic' as const, + abi: [ + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x613126610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c8063186dea44146100595780631913f1611461008a5780638a5dadd1146100ab578063bf697a26146100ca575b5f80fd5b818015610064575f80fd5b50610078610073366004612afe565b6100e9565b60405190815260200160405180910390f35b818015610095575f80fd5b506100a96100a4366004612bb2565b61041d565b005b8180156100b6575f80fd5b506100a96100c5366004612c43565b610636565b8180156100d5575f80fd5b506100a96100e4366004612d28565b61088f565b80516001600160a01b03165f9081526020869052604081208161010b82610a92565b9050806101e001516001600160a01b031684604001516001600160a01b0316141560405180604001604052806002815260200161393360f01b8152509061016e5760405162461bcd60e51b81526004016101659190612dad565b60405180910390fd5b506101798282610c5d565b6101008101516101e0820151604051630ed1279f60e11b81523360048201525f926101fb9290916001600160a01b0390911690631da24f3e906024015b602060405180830381865afa1580156101d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f59190612df9565b90610cb5565b60208601519091506001810161020e5750805b610219838284610cf7565b855161022a90859085905f85610dfc565b60038401546040805160208101909152885481525f916102559190600160a81b900461ffff16611117565b905080801561026357508282145b156102bb576003850154610284908990600160a81b900461ffff165f61116c565b865160405133916001600160a01b0316907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b6101e08401516040808901516101008701519151636b81068560e11b81523360048201526001600160a01b0391821660248201526044810186905260648101929092529091169063d7020d0a906084015f604051808303815f87803b158015610322575f80fd5b505af1158015610334573d5f803e3d5ffd5b50505050808015610376575060408051602081019091528854908190527f55555555555555555555555555555555555555555555555555555555555555551615155b156103af576103af8b8b8b8b6040518060200160405290815f820154815250508b5f0151338d606001518e608001518f60a001516111ce565b86604001516001600160a01b0316336001600160a01b0316885f01516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78560405161040591815260200190565b60405180910390a45093505050505b95945050505050565b80516001600160a01b03165f9081526020859052604081209061043f82610a92565b905061044b8282610c5d565b61045f818385602001518660400151611338565b825160208401516104759184918491905f610dfc565b6101e08101516020840151845161049a926001600160a01b03909116913391906115a5565b6101e08101516040808501516020860151610100850151925163b3f1c93d60e01b81523360048201526001600160a01b039283166024820152604481019190915260648101929092525f92169063b3f1c93d906084016020604051808303815f875af115801561050c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105309190612e10565b905080156105b85761054f878787856101c00151866101e00151611644565b156105b8576003830154610571908690600160a81b900461ffff16600161116c565b83604001516001600160a01b0316845f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b836060015161ffff1684604001516001600160a01b0316855f01516001600160a01b03167f2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba613388602001516040516106259291906001600160a01b03929092168252602082015260400190565b60405180910390a450505050505050565b80516001600160a01b03165f9081526020869052604090206106578161182c565b6003810154600160a81b900461ffff165f61067f6106748461187b565b6060860151906118de565b905083604001516001600160a01b031684602001516001600160a01b0316141580156106aa57508015155b15610885576020808501516001600160a01b03165f908152868252604090819020815192830190915280548252906106e29084611117565b156107df5760408051602081019091528154908190527f5555555555555555555555555555555555555555555555555555555555555555161561077d5761077d898989895f8a602001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060200160405290815f82015481525050895f01518a602001518b60c001518c60e001518d61010001516111ce565b84606001518560800151036107df5761079781845f61116c565b84602001516001600160a01b0316855f01516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b8460a001515f03610883576040808601516001600160a01b039081165f9081526020898152908390208351918201909352865481526004870154610829928d928d92869216611644565b156108815761083a8185600161116c565b85604001516001600160a01b0316865f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b505b505b5050505050505050565b6001600160a01b0385165f90815260208a905260408120906108b082610a92565b6101e08101516040516370a0823160e01b81523360048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109229190612df9565b905061092e828261191b565b600383015460408051602081019091528a54815261095691600160a81b900461ffff16611117565b15158715150361096857505050610883565b8615610a0f5761097f8c8c8b856101c001516119dd565b604051806040016040528060028152602001611b1960f11b815250906109b85760405162461bcd60e51b81526004016101659190612dad565b5060038301546109d6908a90600160a81b900461ffff16600161116c565b60405133906001600160a01b038a16907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a3610a84565b6003830154610a2b908a90600160a81b900461ffff165f61116c565b604080516020810190915289548152610a4e908d908d908d908c338c8c8c6111ce565b60405133906001600160a01b038a16907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b505050505050505050505050565b610a9a612996565b610aa2612996565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190612df9565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015610c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2a9190612e2b565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610c7d575050565b610c878282611a79565b610c918282611b57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517610cd5575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b604080518082019091526002815261191b60f11b602082015282610d2e5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261199960f11b602082015281831115610d695760405162461bcd60e51b81526004016101659190612dad565b505f80610d7a856101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b81525090610dbb5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b60208201528115610df45760405162461bcd60e51b81526004016101659190612dad565b505050505050565b610e2360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610e3791610cb5565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610efe91600401612e72565b606060405180830381865afa158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612ef4565b60408401526020830152808252610f5390611d00565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610f8090611d00565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610fb090611d00565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610fee9051600160fc1b16151590565b156110a357821561104b5761100283611d00565b600987018054601090611026908490600160801b90046001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156110a35761105a82611d00565b60098701805460109061107e908490600160801b90046001600160801b0316612f5a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106111535760405162461bcd60e51b81526004016101659190612dad565b50508151600182811b81019190911c1615155b92915050565b6040805180820190915260028152610dcd60f21b6020820152608083106111a65760405162461bcd60e51b81526004016101659190612dad565b50600182811b81011b81156111c0578354811784556111c8565b835481191684555b50505050565b6001600160a01b038086165f90815260208b8152604080832081516102408101835281546102208201908152815260018201546001600160801b0380821695830195909552600160801b908190048516938201939093526002820154808516606083015283900484166080820152600382015480851660a083015264ffffffffff848204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015486166101208201526005820154861661014082015260068201548616610160820152600782015490951661018086015260088101548084166101a087015282900483166101c0860152600901548083166101e086015204166102008301526112eb8b8b8b8b8a888b8b611d6c565b9150508015806112ff575081515161ffff16155b60405180604001604052806002815260200161353760f01b81525090610a845760405162461bcd60e51b81526004016101659190612dad565b604080518082019091526002815261191b60f11b60208201528261136f5760405162461bcd60e51b81526004016101659190612dad565b505f805f611381876101c00151611cbc565b94505050925092508260405180604001604052806002815260200161323760f01b815250906113c35760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b602082015281156113fc5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261064760f31b602082015282156114355760405162461bcd60e51b81526004016101659190612dad565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b8152509061148a5760405162461bcd60e51b81526004016101659190612dad565b506101c08701515160741c640fffffffff1680158061156c57506101c08801515160301c60ff166114bc90600a61305a565b6114c69082613065565b8661155f8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611531573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115559190612df9565b6101f5919061307c565b611569919061307c565b11155b60405180604001604052806002815260200161353160f01b815250906108835760405162461bcd60e51b81526004016101659190612dad565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af16115e7573d5f803e3d5ffd5b506115f185611e16565b61163d5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610165565b5050505050565b81515f9060d41c64ffffffffff1615611816575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611694573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b8919061308f565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611717919061308f565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015611755573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611779919061308f565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa1580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190612e10565b611814575f915050610414565b505b611822868686866119dd565b9695505050505050565b604080516020808201835283549182905282518084019093526002835261323960f01b908301526001603c1b16156118775760405162461bcd60e51b81526004016101659190612dad565b5050565b60038101545f90600160801b900464ffffffffff164281036118a9575050600101546001600160801b031690565b60018301546118d1906001600160801b03808216916101f591600160801b9091041684611eb7565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611900575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b604080518082019091526002815261343360f01b6020820152816119525760405162461bcd60e51b81526004016101659190612dad565b505f80611963846101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b815250906119a45760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b6020820152811561163d5760405162461bcd60e51b81526004016101659190612dad565b5f6119ea825161ffff1690565b5f036119f757505f611a71565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611a3657506001611a71565b6040805160208101909152835481525f90611a52908787611ef3565b5050905080158015611a6d5750825160d41c64ffffffffff16155b9150505b949350505050565b61016081015115611ae7575f611a99826101600151836102400151611eb7565b9050611ab28260e0015182610cb590919063ffffffff16565b6101008301819052611ac390611d00565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611877575f611b03826101800151836102400151611f99565b9050611b1d82610120015182610cb590919063ffffffff16565b6101408301819052611b2e90611d00565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b611b8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611b9b57505050565b6101208201518251611bac91610cb5565b60208201526101408201518251611bc291610cb5565b60408201526060820151610260830151610240840151611bea92919064ffffffffff16611fa1565b606082018190526040830151611bff91610cb5565b808252602082015160808401516040840151611c1b919061307c565b611c2591906130aa565b611c2f91906130aa565b608082018190526101a0830151611c4691906120c6565b60a0820181905215611cb757611c76611c718361010001518360a001516118de90919063ffffffff16565b611d00565b6008840180545f90611c929084906001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5167010000000000000081161515916702000000000000008216151591670400000000000000811615159167080000000000000082161515916001603c1b16151590565b5f6001600160801b03821115611d685760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610165565b5090565b5f805f80611db78c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff168152506120ea565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b81525090611e045760405162461bcd60e51b81526004016101659190612dad565b50909b909a5098505050505050505050565b5f611e38565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611e775760208114611ea857611e727f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611e1c565b6118d8565b823b611e9f57611e9f7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611e1c565b600191506118d8565b3d5f803e50505f511515919050565b5f80611eca64ffffffffff8416426130aa565b611ed49085613065565b6301e1338090049050611a71816b033b2e3c9fd0803ce800000061307c565b5f805f611eff866125ac565b15611f87575f611f2f877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6125ef565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611f8357600195509093509150611f909050565b5050505b505f9150819050805b93509350939050565b5f6118d18383425b5f80611fb464ffffffffff8516846130aa565b9050805f03611fd2576b033b2e3c9fd0803ce80000009150506118d1565b5f1981015f808060028511611fe7575f611fec565b600285035b925066038882915c40006120008a80610cb5565b8161200d5761200d6130bd565b0491506301e1338061201f838b610cb5565b8161202c5761202c6130bd565b0490505f8261203b8688613065565b6120459190613065565b6002900490505f8285612058888a613065565b6120629190613065565b61206c9190613065565b60069004905080826301e133806120838a8f613065565b61208d91906130d1565b6120a3906b033b2e3c9fd0803ce800000061307c565b6120ad919061307c565b6120b7919061307c565b9b9a5050505050505050505050565b5f811561138819839004841115176120dc575f80fd5b506127109102611388010490565b5f805f805f806120fc875f0151511590565b1561211857505f94508493508392508291505f1990508161259f565b6121a76040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156121eb57608088015160ff165f90815260208a90526040902060608901516121d89190612613565b6101808401526101c08301526101a08201525b87602001518160c0015110156124c45760c0810151885161220b916126bc565b61221f5760c08101805160010190526121eb565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526122575760c08101805160010190526121eb565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906122df5750816101e00151896080015160ff16145b61235b57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015612332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123569190612df9565b612362565b8161018001515b825260a082015115801590612382575060c0820151895161238291611117565b156124715761239e896040015182845f0151856020015161270b565b60408301819052610100830180516123b790839061307c565b90525060808901516101e08301516123d29160ff1690612780565b1515610240830152608082015115612428578161024001516123f85781608001516123ff565b816101a001515b826040015161240e9190613065565b8261014001818151612420919061307c565b905250612431565b60016102208301525b816102400151612445578160a0015161244c565b816101c001515b826040015161245b9190613065565b826101600181815161246d919061307c565b9052505b60c0820151895161248191612790565b156124b35761249d896040015182845f015185602001516127dc565b82610120018181516124af919061307c565b9052505b5060c08101805160010190526121eb565b8061010001515f036124d6575f6124f1565b806101000151816101400151816124ef576124ef6130bd565b045b6101408201526101008101515f03612509575f612524565b80610100015181610160015181612522576125226130bd565b045b610160820152610120810151156125665761256181610120015161255b8361016001518461010001516120c690919063ffffffff16565b9061290b565b612569565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906118d157506125e76001826130aa565b161592915050565b81515f9082165f198101198116825b60029190911c908115610414576001016125fe565b81545f90819081908190660100000000000090046001600160a01b031680156126a15760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa15801561267a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269e9190612df9565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106126f85760405162461bcd60e51b81526004016101659190612dad565b5050905160019190911b1c600316151590565b5f806127168561187b565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f928792612759928692911690631da24f3e906024016101b6565b6127639190613065565b9050838181612774576127746130bd565b04979650505050505050565b5f82158015906118d15750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106127cc5760405162461bcd60e51b81526004016101659190612dad565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015612829573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284d9190612df9565b9050801561286b5761286861286186612940565b8290610cb5565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa1580156128b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d99190612df9565b6128e3908261307c565b90506128ef8185613065565b9050828181612900576129006130bd565b049695505050505050565b5f8115670de0b6b3a764000060028404190484111715612929575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff1642810361296e575050600201546001600160801b031690565b60028301546118d1906001600160801b03808216916101f591600160801b9091041684611f99565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612a0b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b60405160c0810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516080810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b604051610120810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114612adb575f80fd5b50565b8035612ae981612ac7565b919050565b803560ff81168114612ae9575f80fd5b5f805f805f858703610140811215612b14575f80fd5b8635955060208701359450604087013593506060870135925060c0607f1982011215612b3e575f80fd5b50612b47612a33565b6080870135612b5581612ac7565b815260a0870135602082015260c0870135612b6f81612ac7565b604082015260e08701356060820152610100870135612b8d81612ac7565b6080820152612b9f6101208801612aee565b60a0820152809150509295509295909350565b5f805f8084860360e0811215612bc6575f80fd5b8535945060208601359350604086013592506080605f1982011215612be9575f80fd5b50612bf2612a68565b6060860135612c0081612ac7565b81526080860135602082015260a0860135612c1a81612ac7565b604082015260c086013561ffff81168114612c33575f80fd5b6060820152939692955090935050565b5f805f805f8587036101a0811215612c59575f80fd5b8635955060208701359450604087013593506060870135925061012080607f1983011215612c85575f80fd5b612c8d612a97565b9150612c9b60808901612ade565b8252612ca960a08901612ade565b6020830152612cba60c08901612ade565b604083015260e088013560608301526101008089013560808401528189013560a084015261014089013560c0840152612cf66101608a01612ade565b60e0840152612d086101808a01612aee565b9083015250949793965091945092919050565b8015158114612adb575f80fd5b5f805f805f805f805f6101208a8c031215612d41575f80fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135612d6881612ac7565b945060a08a0135612d7881612d1b565b935060c08a0135925060e08a0135612d8f81612ac7565b9150612d9e6101008b01612aee565b90509295985092959850929598565b5f602080835283518060208501525f5b81811015612dd957858101830151858201604001528201612dbd565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215612e09575f80fd5b5051919050565b5f60208284031215612e20575f80fd5b81516118d181612d1b565b5f805f8060808587031215612e3e575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114612e67575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151612ed460e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612f06575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03818116838216019080821115612f5357612f53612f1f565b5092915050565b6001600160801b03828116828216039080821115612f5357612f53612f1f565b600181815b80851115612fb457815f1904821115612f9a57612f9a612f1f565b80851615612fa757918102915b93841c9390800290612f7f565b509250929050565b5f82612fca57506001611166565b81612fd657505f611166565b8160018114612fec5760028114612ff657613012565b6001915050611166565b60ff84111561300757613007612f1f565b50506001821b611166565b5060208310610133831016604e8410600b8410161715613035575081810a611166565b61303f8383612f7a565b805f190482111561305257613052612f1f565b029392505050565b5f6118d18383612fbc565b808202811582820484141761116657611166612f1f565b8082018082111561116657611166612f1f565b5f6020828403121561309f575f80fd5b81516118d181612ac7565b8181038181111561116657611166612f1f565b634e487b7160e01b5f52601260045260245ffd5b5f826130eb57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208d1a7dee0d422ae1ada7afeec01b39bae39632e5cfc05d5410ef90c7e961ea3b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeFinalizeTransfer(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => DataTypes.UserConfigurationMap) storage,DataTypes.FinalizeTransferParams)": "8a5dadd1", + "executeSupply(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSupplyParams)": "1913f161", + "executeUseReserveAsCollateral(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,address,bool,uint256,address,uint8)": "bf697a26", + "executeWithdraw(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteWithdrawParams)": "186dea44" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UniV3Path.ts b/packages/hyperdrive-artifacts/src/UniV3Path.ts new file mode 100644 index 000000000..4bec77009 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UniV3Path.ts @@ -0,0 +1,6 @@ +export const UniV3Path = { + name: 'UniV3Path' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220946aea3c8293c5add4bbb376210b6a783ed7ecad09c5de0ace6c7ec15af1961964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UniV3Zap.ts b/packages/hyperdrive-artifacts/src/UniV3Zap.ts new file mode 100644 index 000000000..4fbd1c269 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UniV3Zap.ts @@ -0,0 +1,930 @@ +export const UniV3Zap = { + name: 'UniV3Zap' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_swapRouter", + "type": "address", + "internalType": "contract ISwapRouter" + }, + { + "name": "_weth", + "type": "address", + "internalType": "contract IWETH" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "addLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "closeLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "redeemWithdrawalSharesZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapRouter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ISwapRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "weth", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IWETH" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidOutputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRecipient", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAsset", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSwap", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ShouldWrapAssets", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x60c060405234801562000010575f80fd5b5060405162002d1238038062002d1283398101604081905262000033916200008f565b60015f8190556200004584826200020b565b506001600160a01b039182166080521660a05250620002d7565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b03811681146200008a575f80fd5b919050565b5f805f60608486031215620000a2575f80fd5b83516001600160401b0380821115620000b9575f80fd5b818601915086601f830112620000cd575f80fd5b815181811115620000e257620000e26200005f565b604051601f8201601f19908116603f011681019083821181831017156200010d576200010d6200005f565b8160405282815260209350898484870101111562000129575f80fd5b5f91505b828210156200014c57848201840151818301850152908301906200012d565b5f8484830101528097505050506200016681870162000073565b93505050620001786040850162000073565b90509250925092565b600181811c908216806200019657607f821691505b602082108103620001b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200020657805f5260205f20601f840160051c81016020851015620001e25750805b601f840160051c820191505b8181101562000203575f8155600101620001ee565b50505b505050565b81516001600160401b038111156200022757620002276200005f565b6200023f8162000238845462000181565b84620001bb565b602080601f83116001811462000275575f84156200025d5750858301515b5f19600386901b1c1916600185901b178555620002cf565b5f85815260208120601f198616915b82811015620002a55788860151825594840194600190910190840162000284565b5085821015620002c357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a0516129be620003545f395f818161019801528181610d0601528181610ec0015281816113e60152818161192e01528181611a3901528181611c5501528181611d5b0152611da701525f818161025a0152818161123f0152818161130a0152818161135201528181611c8a0152611ce201526129be5ff3fe6080604052600436106100a8575f3560e01c806354fd4d501161006257806354fd4d50146101e55780635bf8404614610217578063ba77fd3d1461022a578063c31c9c0714610249578063d49518381461027c578063dcda7d3d1461029b575f80fd5b806304baa00b146100d557806306fdde031461011e5780631fd5fcd61461013257806323003ba5146101535780633fc8cef3146101875780634b22d586146101d2575f80fd5b366100d1575f546002146100cf57604051632f35253160e01b815260040160405180910390fd5b005b5f80fd5b3480156100e0575f80fd5b50610108604051806040016040528060088152602001670556e6956335a61760c41b81525081565b60405161011591906121fe565b60405180910390f35b348015610129575f80fd5b506101086102ba565b61014561014036600461224a565b610346565b604051908152602001610115565b34801561015e575f80fd5b5061017261016d3660046122e3565b6104be565b60408051928352602083019190915201610115565b348015610192575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610115565b6101726101e036600461237a565b6105dc565b3480156101f0575f80fd5b5061010860405180604001604052806007815260200166076312e302e32360cc1b81525081565b61017261022536600461224a565b6106fc565b348015610235575f80fd5b506101456102443660046123fe565b6108ee565b348015610254575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b348015610287575f80fd5b506101456102963660046123fe565b610a14565b3480156102a6575f80fd5b506101726102b53660046122e3565b610ac9565b600180546102c79061249f565b80601f01602080910402602001604051908101604052809291908181526020018280546102f39061249f565b801561033e5780601f106103155761010080835404028352916020019161033e565b820191905f5260205f20905b81548152906001019060200180831161032157829003601f168201915b505050505081565b5f61034f610b78565b5f61035b888585610ba0565b90505f61037061036a85612617565b83611090565b9050816103e6576103e6896103868360016126b1565b6103d661039388806126c4565b61039d90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114be92505050565b6001600160a01b031691906114cf565b6103f6604086016020870161272c565b15801561040e575061040e60a085016080860161272c565b156104205761041d8982611592565b90505b5f8261042c575f61042e565b815b9050896001600160a01b0316634c2ac1d982848c8c8c8c6040518763ffffffff1660e01b81526004016104659594939291906127e7565b60206040518083038185885af1158015610481573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906104a69190612811565b93505050506104b460015f55565b9695505050505050565b5f806104c8610b78565b5f6104dd89876104d788612828565b87611782565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610512905f90339030908e90600401612833565b5f604051808303815f87803b158015610529575f80fd5b505af115801561053b573d5f803e3d5ffd5b50506040516332f04d0d60e21b81526001600160a01b038c16925063cbc13434915061056f908b908b908b90600401612858565b60408051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190612876565b92506105c590506105be86612828565b82866119fd565b9250506105d160015f55565b965096945050505050565b5f806105e6610b78565b5f6105f2888686610ba0565b90505f61060161036a86612617565b90508161062457610624896106178360016126b1565b6103d661039389806126c4565b610634604087016020880161272c565b15801561064c575061064c60a086016080870161272c565b1561065e5761065b8982611592565b90505b5f8261066a575f61066c565b815b9050896001600160a01b031663cba2e58d82848c8c8c6040518663ffffffff1660e01b81526004016106a19493929190612898565b604080518083038185885af11580156106bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106e19190612876565b90955093505050506106f260015f55565b9550959350505050565b5f80610706610b78565b5f610712898686610ba0565b90505f61072161036a86612617565b90505f61073161039387806126c4565b905082610758576107588b6107478460016126b1565b6001600160a01b03841691906114cf565b5f83610764575f610766565b825b90508b6001600160a01b031663dbbe8070828d8d8d8d6040518663ffffffff1660e01b815260040161079b9493929190612898565b604080518083038185885af11580156107b6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107db9190612876565b9096509450831561085b57478015610855576040515f90339083908381818185875af1925050503d805f811461082c576040519150601f19603f3d011682016040523d82523d5f602084013e610831565b606091505b5050905080610853576040516312171d8360e31b815260040160405180910390fd5b505b506108e1565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561089f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c39190612811565b905080156108df576108df6001600160a01b0384163383611ee8565b505b505050506105d160015f55565b5f6108f7610b78565b5f61090c898661090687612828565b86611782565b9050886001600160a01b0316631c0f12b661092860028b611f1e565b33308b6040518563ffffffff1660e01b815260040161094a9493929190612833565b5f604051808303815f87803b158015610961575f80fd5b505af1158015610973573d5f803e3d5ffd5b50506040516329b23fc160e01b81526001600160a01b038c1692506329b23fc191506109a9908b908b908b908b90600401612898565b6020604051808303815f875af11580156109c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e99190612811565b506109fd6109f685612828565b82856119fd565b915050610a0960015f55565b979650505050505050565b5f610a1d610b78565b5f610a2c898661090687612828565b9050886001600160a01b0316631c0f12b6610a4860018b611f1e565b33308b6040518563ffffffff1660e01b8152600401610a6a9493929190612833565b5f604051808303815f87803b158015610a81575f80fd5b505af1158015610a93573d5f803e3d5ffd5b505060405163ded0623160e01b81526001600160a01b038c16925063ded0623191506109a9908b908b908b908b90600401612898565b5f80610ad3610b78565b5f610ae289876104d788612828565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610b1b90600360f81b90339030908e90600401612833565b5f604051808303815f87803b158015610b32575f80fd5b505af1158015610b44573d5f803e3d5ffd5b505060405163074a6de960e01b81526001600160a01b038c16925063074a6de9915061056f908b908b908b90600401612858565b60025f5403610b9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f30610bac83806126c4565b610bbd9060408101906020016128bc565b6001600160a01b031614610be457604051634e46966960e11b815260040160405180910390fd5b5f610c35610bf284806126c4565b610bfc90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f5292505050565b90505f610c4561039385806126c4565b9050806001600160a01b0316826001600160a01b031603610c7957604051631115766760e01b815260040160405180910390fd5b610c89608085016060860161272c565b15610dd3576001600160a01b038216610ca860408601602087016128bc565b6001600160a01b031603610cce57604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610cf360408601602087016128bc565b6001600160a01b0316148015610d3b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15610d5857604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610d7d60408601602087016128bc565b6001600160a01b0316148015610db157508360400135341080610db15750610da584806126c4565b60600135846040013514155b15610dce57604051625605b760e01b815260040160405180910390fd5b610e44565b6001600160a01b038216610ded60408601602087016128bc565b6001600160a01b031614610e1357604051625605b760e01b815260040160405180910390fd5b610e1d84806126c4565b60600135846040013514610e44576040516397e0deb160e01b815260040160405180910390fd5b5f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea591906128d7565b9050610eb7604087016020880161272c565b8015610ef457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8015610f1c57506001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b15610f2d5760019350505050611089565b610f3d604087016020880161272c565b8015610fba5750866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa491906128d7565b6001600160a01b0316826001600160a01b031614155b15610fd7576040516231010160e51b815260040160405180910390fd5b610fe7604087016020880161272c565b1580156110655750866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f91906128d7565b6001600160a01b0316826001600160a01b031614155b15611082576040516231010160e51b815260040160405180910390fd5b5f93505050505b9392505050565b815151602001515f90819081908190600160601b9004905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686602001516001600160a01b0316036110f9578551606001516110e990346128f2565b8651606001519093509150611339565b8560600151156112725761112b3330886040015189602001516001600160a01b0316611f60909392919063ffffffff16565b611155818760400151600161114091906126b1565b60208901516001600160a01b031691906114cf565b6040868101519051630ea598cb60e41b815260048101919091526001600160a01b0382169063ea598cb0906024016020604051808303815f875af115801561119f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c39190612811565b506040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015611206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122a9190612811565b86516060908101919091528651015161126a907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b349250611339565b604086015161128f906001600160a01b0383169033903090611f60565b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa1580156112d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f59190612811565b865160609081019190915286510151611335907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b3492505b855160405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163c04b8d5991859161138791600401612905565b60206040518083038185885af11580156113a3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113c89190612811565b9350841561144657604051632e1a7d4d60e01b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b15801561142f575f80fd5b505af1158015611441573d5f803e3d5ffd5b505050505b82156114b4576040515f90339085908381818185875af1925050503d805f811461148b576040519150601f19603f3d011682016040523d82523d5f602084013e611490565b606091505b50509050806114b2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b92915050565b805101600c0151600160601b900490565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115208482611f99565b61158c576040516001600160a01b0384811660248301525f604483015261158291869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061203a565b61158c848261203a565b50505050565b5f4660011480156115bf57506001600160a01b03831673d7e470043241c10970953bd8374ee6238e77d735145b1561169757826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611600573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162491906128d7565b6001600160a01b03166319208451836040518263ffffffff1660e01b815260040161165191815260200190565b602060405180830381865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190612811565b90506114b8565b4660011480156116c357506001600160a01b03831673324395d5d835f84a02a75aa26814f6fd22f25698145b1561175557826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611704573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172891906128d7565b6001600160a01b031663c6e6f592836040518263ffffffff1660e01b815260040161165191815260200190565b6040516363737ac960e11b8152600481018390526001600160a01b0384169063c6e6f59290602401611651565b5f3061179160208601866128bc565b6001600160a01b0316146117b857604051634e46966960e11b815260040160405180910390fd5b825160208101518151909101600c0151600160601b91829004915f91049050806001600160a01b0316826001600160a01b03160361180957604051631115766760e01b815260040160405180910390fd5b5f61181a604088016020890161272c565b1561188657876001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f91906128d7565b90506118e9565b876001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e691906128d7565b90505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611983578461192c57604051633f27152160e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461197e57604051632df9739b60e01b815260040160405180910390fd5b610a09565b841580156119a35750826001600160a01b0316816001600160a01b031614155b156119c157604051632df9739b60e01b815260040160405180910390fd5b8480156119df5750826001600160a01b0316816001600160a01b0316145b15610a0957604051632df9739b60e01b815260040160405180910390fd5b8251602001515f90600160601b90048215611ba15773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601611aac577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b158015611a90575f80fd5b505af1158015611aa2573d5f803e3d5ffd5b5050505050611ba1565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015611af0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b149190612811565b9050611b3682611b258360016126b1565b6001600160a01b03881691906114cf565b604051630ea598cb60e41b8152600481018290526001600160a01b0383169063ea598cb0906024016020604051808303815f875af1158015611b7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9e9190612811565b50505b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c099190612811565b9050611c2886608001518760600151836120a09092919063ffffffff16565b6080870152606086018190528551805101600c01516020870151600160601b909104906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690831603611c85573060208901525b611ccb7f000000000000000000000000000000000000000000000000000000000000000089606001516001611cba91906126b1565b6001600160a01b03871691906114cf565b60405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c04b8d5990611d17908b90600401612905565b6020604051808303815f875af1158015611d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d579190612811565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611edd576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611dfc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e209190612811565b6040518263ffffffff1660e01b8152600401611e3e91815260200190565b5f604051808303815f87803b158015611e55575f80fd5b505af1158015611e67573d5f803e3d5ffd5b505050505f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611eb4576040519150601f19603f3d011682016040523d82523d5f602084013e611eb9565b606091505b5050905080611edb576040516312171d8360e31b815260040160405180910390fd5b505b505050509392505050565b6040516001600160a01b03838116602483015260448201839052611f1991859182169063a9059cbb90606401611550565b505050565b5f6001600160f81b03821115611f475760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b60200151600160601b900490565b6040516001600160a01b03848116602483015283811660448301526064820183905261158c9186918216906323b872dd90608401611550565b5f805f846001600160a01b031684604051611fb4919061295c565b5f604051808303815f865af19150503d805f8114611fed576040519150601f19603f3d011682016040523d82523d5f602084013e611ff2565b606091505b509150915081801561201c57508051158061201c57508080602001905181019061201c919061296d565b801561203157505f856001600160a01b03163b115b95945050505050565b5f61204e6001600160a01b038416836120bb565b905080515f14158015612072575080806020019051810190612070919061296d565b155b15611f1957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f825f1904841183021582026120b4575f80fd5b5091020490565b606061108983835f845f80856001600160a01b031684866040516120df919061295c565b5f6040518083038185875af1925050503d805f8114612119576040519150601f19603f3d011682016040523d82523d5f602084013e61211e565b606091505b50915091506104b486838360608261213e5761213982612185565b611089565b815115801561215557506001600160a01b0384163b155b1561217e57604051639996b31560e01b81526001600160a01b0385166004820152602401612097565b5080611089565b8051156121955780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b838110156121cb5781810151838201526020016121b3565b50505f910152565b5f81518084526121ea8160208601602086016121b1565b601f01601f19169290920160200192915050565b602081525f61108960208301846121d3565b6001600160a01b03811681146121ae575f80fd5b5f60608284031215612234575f80fd5b50919050565b5f60a08284031215612234575f80fd5b5f805f805f8060c0878903121561225f575f80fd5b863561226a81612210565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff8082111561229b575f80fd5b6122a78a838b01612224565b935060a08901359150808211156122bc575f80fd5b506122c989828a0161223a565b9150509295509295509295565b80151581146121ae575f80fd5b5f805f805f8060c087890312156122f8575f80fd5b863561230381612210565b95506020870135945060408701359350606087013567ffffffffffffffff8082111561232d575f80fd5b6123398a838b01612224565b9450608089013591508082111561234e575f80fd5b5061235b89828a0161223a565b92505060a087013561236c816122d6565b809150509295509295509295565b5f805f805f60a0868803121561238e575f80fd5b853561239981612210565b94506020860135935060408601359250606086013567ffffffffffffffff808211156123c3575f80fd5b6123cf89838a01612224565b935060808801359150808211156123e4575f80fd5b506123f18882890161223a565b9150509295509295909350565b5f805f805f805f60e0888a031215612414575f80fd5b873561241f81612210565b9650602088013595506040880135945060608801359350608088013567ffffffffffffffff80821115612450575f80fd5b61245c8b838c01612224565b945060a08a0135915080821115612471575f80fd5b5061247e8a828b0161223a565b92505060c088013561248f816122d6565b8091505092959891949750929550565b600181811c908216806124b357607f821691505b60208210810361223457634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715612508576125086124d1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612537576125376124d1565b604052919050565b803561254a81612210565b919050565b5f60a0828403121561255f575f80fd5b6125676124e5565b9050813567ffffffffffffffff80821115612580575f80fd5b818401915084601f830112612593575f80fd5b81356020828211156125a7576125a76124d1565b6125b9601f8301601f1916820161250e565b925081835286818386010111156125ce575f80fd5b81818501828501375f8183850101528285526125eb81870161253f565b818601525050505060408201356040820152606082013560608201526080820135608082015292915050565b5f60a08236031215612627575f80fd5b61262f6124e5565b823567ffffffffffffffff811115612645575f80fd5b6126513682860161254f565b825250602083013561266281612210565b602082015260408381013590820152606083013561267f816122d6565b60608201526080830135612692816122d6565b608082015292915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156114b8576114b861269d565b5f8235609e198336030181126126d8575f80fd5b9190910192915050565b5f808335601e198436030181126126f7575f80fd5b83018035915067ffffffffffffffff821115612711575f80fd5b602001915036819003821315612725575f80fd5b9250929050565b5f6020828403121561273c575f80fd5b8135611089816122d6565b5f813561275381612210565b6001600160a01b03168352602082013561276c816122d6565b15156020840152604082013536839003601e1901811261278a575f80fd5b820160208101903567ffffffffffffffff8111156127a6575f80fd5b8036038213156127b4575f80fd5b60606040860152806060860152808260808701375f608082870101526080601f19601f8301168601019250505092915050565b85815284602082015283604082015282606082015260a060808201525f610a0960a0830184612747565b5f60208284031215612821575f80fd5b5051919050565b5f6114b8368361254f565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b838152826020820152606060408201525f6120316060830184612747565b5f8060408385031215612887575f80fd5b505080516020909101519092909150565b848152836020820152826040820152608060608201525f6104b46080830184612747565b5f602082840312156128cc575f80fd5b813561108981612210565b5f602082840312156128e7575f80fd5b815161108981612210565b818103818111156114b8576114b861269d565b602081525f825160a0602084015261292060c08401826121d3565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b5f82516126d88184602087016121b1565b5f6020828403121561297d575f80fd5b8151611089816122d656fea264697066735822122034463bb058ee2269f41a7881f7bae5d9ffd44c93ad4b8ed78b08c825b443fc8064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", + "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", + "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", + "kind()": "04baa00b", + "name()": "06fdde03", + "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", + "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", + "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", + "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", + "swapRouter()": "c31c9c07", + "version()": "54fd4d50", + "weth()": "3fc8cef3" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UserConfiguration.ts b/packages/hyperdrive-artifacts/src/UserConfiguration.ts new file mode 100644 index 000000000..d9592e2e1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UserConfiguration.ts @@ -0,0 +1,6 @@ +export const UserConfiguration = { + name: 'UserConfiguration' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b6e390ac94856075840bbcbb4f3848e0a7400ae6502b21c6528a54b245c6cbc664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UtilsLib.ts b/packages/hyperdrive-artifacts/src/UtilsLib.ts new file mode 100644 index 000000000..3790d6b74 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UtilsLib.ts @@ -0,0 +1,6 @@ +export const UtilsLib = { + name: 'UtilsLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207c785c933eae5fa21fe227a1c5f03f62ac951f2d77879c11e5982a8fe556887b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ValidationLogic.ts b/packages/hyperdrive-artifacts/src/ValidationLogic.ts new file mode 100644 index 000000000..a1a3b3dc6 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ValidationLogic.ts @@ -0,0 +1,64 @@ +export const ValidationLogic = { + name: 'ValidationLogic' as const, + abi: [ + { + "type": "function", + "name": "HEALTH_FACTOR_LIQUIDATION_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ISOLATED_COLLATERAL_SUPPLIER_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60e6610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106050575f3560e01c80632b0139fa146054578063561cbec914608c578063abfcc86a14609a578063c3525c281460a2575b5f80fd5b607a7fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78281565b60405190815260200160405180910390f35b607a670d2f13f7789f000081565b607a61232881565b607a670de0b6b3a76400008156fea264697066735822122038dabb7fdd3c0dd70d047b3422215b12687e25da61ede72715a236c6c255b81564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "c3525c28", + "ISOLATED_COLLATERAL_SUPPLIER_ROLE()": "2b0139fa", + "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "561cbec9", + "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD()": "abfcc86a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/VersionedInitializable.ts b/packages/hyperdrive-artifacts/src/VersionedInitializable.ts new file mode 100644 index 000000000..bf278b57f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/VersionedInitializable.ts @@ -0,0 +1,6 @@ +export const VersionedInitializable = { + name: 'VersionedInitializable' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Vm.ts b/packages/hyperdrive-artifacts/src/Vm.ts new file mode 100644 index 000000000..3bd090dec --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Vm.ts @@ -0,0 +1,8581 @@ +export const Vm = { + name: 'Vm' as const, + abi: [ + { + "type": "function", + "name": "accesses", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "readSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "writeSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "activeFork", + "inputs": [], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addr", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "allowCheatcodes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assume", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "chainId", + "inputs": [ + { + "name": "newChainId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "clearMockedCalls", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "coinbase", + "inputs": [ + { + "name": "newCoinbase", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "copyFile", + "inputs": [ + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "copied", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deal", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteSnapshot", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteSnapshots", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "difficulty", + "inputs": [ + { + "name": "newDifficulty", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dumpState", + "inputs": [ + { + "name": "pathToStateJson", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "etch", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "newRuntimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "eth_getLogs", + "inputs": [ + { + "name": "fromBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.EthGetLogs[]", + "components": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockNumber", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "transactionHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "transactionIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "logIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "removed", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "exists", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCallMinGas", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minGas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCallMinGas", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minGas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "checkTopic1", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic2", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic3", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkData", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "checkTopic1", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic2", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic3", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkData", + "type": "bool", + "internalType": "bool" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [ + { + "name": "revertData", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [ + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectSafeMemory", + "inputs": [ + { + "name": "min", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "max", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectSafeMemoryCall", + "inputs": [ + { + "name": "min", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "max", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fee", + "inputs": [ + { + "name": "newBasefee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ffi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fsMetadata", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "metadata", + "type": "tuple", + "internalType": "struct VmSafe.FsMetadata", + "components": [ + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + }, + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "readOnly", + "type": "bool", + "internalType": "bool" + }, + { + "name": "modified", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "created", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "height", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "creationBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "runtimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLabel", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "currentLabel", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMappingKeyAndParentOf", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "elementSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "found", + "type": "bool", + "internalType": "bool" + }, + { + "name": "key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "parent", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingLength", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingSlotAt", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "idx", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getRecordedLogs", + "inputs": [], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.Log[]", + "components": [ + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "persistent", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExists", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "label", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "loadAllocs", + "inputs": [ + { + "name": "pathToAllocsJson", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "accounts", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account0", + "type": "address", + "internalType": "address" + }, + { + "name": "account1", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account0", + "type": "address", + "internalType": "address" + }, + { + "name": "account1", + "type": "address", + "internalType": "address" + }, + { + "name": "account2", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCallRevert", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCallRevert", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseAddress", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBool", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes32", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseInt", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddress", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddressArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBool", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBoolArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32Array", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytesArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonInt", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonIntArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonKeys", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonString", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonStringArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUint", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUintArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddress", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddressArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBool", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBoolArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32Array", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytesArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlInt", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlIntArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlKeys", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlString", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlStringArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUint", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUintArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseUint", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pauseGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prevrandao", + "inputs": [ + { + "name": "newPrevrandao", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "projectRoot", + "inputs": [], + "outputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readCallers", + "inputs": [], + "outputs": [ + { + "name": "callerMode", + "type": "uint8", + "internalType": "enum VmSafe.CallerMode" + }, + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "followLinks", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "line", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLink", + "inputs": [ + { + "name": "linkPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "targetPath", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "record", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "recordLogs", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rememberKey", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "replace", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "resetNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resumeGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revertTo", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revertToAndDelete", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokePersistent", + "inputs": [ + { + "name": "accounts", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokePersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "roll", + "inputs": [ + { + "name": "newHeight", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpc", + "inputs": [ + { + "name": "method", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpcUrl", + "inputs": [ + { + "name": "rpcAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrlStructs", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "tuple[]", + "internalType": "struct VmSafe.Rpc[]", + "components": [ + { + "name": "key", + "type": "string", + "internalType": "string" + }, + { + "name": "url", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrls", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "string[2][]", + "internalType": "string[2][]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "selectFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeJson", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEnv", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setNonceUnsafe", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "signP256", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "skip", + "inputs": [ + { + "name": "skipTest", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sleep", + "inputs": [ + { + "name": "duration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "snapshot", + "inputs": [], + "outputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "split", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "delimiter", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "outputs", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startPrank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startPrank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startStateDiffRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopAndReturnStateDiff", + "inputs": [], + "outputs": [ + { + "name": "accountAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.AccountAccess[]", + "components": [ + { + "name": "chainInfo", + "type": "tuple", + "internalType": "struct VmSafe.ChainInfo", + "components": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "chainId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "kind", + "type": "uint8", + "internalType": "enum VmSafe.AccountAccessKind" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "accessor", + "type": "address", + "internalType": "address" + }, + { + "name": "initialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "oldBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deployedCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + }, + { + "name": "storageAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.StorageAccess[]", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "isWrite", + "type": "bool", + "internalType": "bool" + }, + { + "name": "previousValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + } + ] + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopExpectSafeMemory", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopPrank", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "store", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toLowercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUppercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "transact", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transact", + "inputs": [ + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "trim", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "tryFfi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "tuple", + "internalType": "struct VmSafe.FfiResult", + "components": [ + { + "name": "exitCode", + "type": "int32", + "internalType": "int32" + }, + { + "name": "stdout", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "stderr", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "txGasPrice", + "inputs": [ + { + "name": "newGasPrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unixTime", + "inputs": [], + "outputs": [ + { + "name": "milliseconds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "warp", + "inputs": [ + { + "name": "newTimestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "accesses(address)": "65bc9481", + "activeFork()": "2f103f22", + "addr(uint256)": "ffa18649", + "allowCheatcodes(address)": "ea060291", + "assertApproxEqAbs(int256,int256,uint256)": "240f839d", + "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", + "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", + "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", + "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", + "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", + "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", + "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", + "assertEq(address,address)": "515361f6", + "assertEq(address,address,string)": "2f2769d1", + "assertEq(address[],address[])": "3868ac34", + "assertEq(address[],address[],string)": "3e9173c5", + "assertEq(bool,bool)": "f7fe3477", + "assertEq(bool,bool,string)": "4db19e7e", + "assertEq(bool[],bool[])": "707df785", + "assertEq(bool[],bool[],string)": "e48a8f8d", + "assertEq(bytes,bytes)": "97624631", + "assertEq(bytes,bytes,string)": "e24fed00", + "assertEq(bytes32,bytes32)": "7c84c69b", + "assertEq(bytes32,bytes32,string)": "c1fa1ed0", + "assertEq(bytes32[],bytes32[])": "0cc9ee84", + "assertEq(bytes32[],bytes32[],string)": "e03e9177", + "assertEq(bytes[],bytes[])": "e5fb9b4a", + "assertEq(bytes[],bytes[],string)": "f413f0b6", + "assertEq(int256,int256)": "fe74f05b", + "assertEq(int256,int256,string)": "714a2f13", + "assertEq(int256[],int256[])": "711043ac", + "assertEq(int256[],int256[],string)": "191f1b30", + "assertEq(string,string)": "f320d963", + "assertEq(string,string,string)": "36f656d8", + "assertEq(string[],string[])": "cf1c049c", + "assertEq(string[],string[],string)": "eff6b27d", + "assertEq(uint256,uint256)": "98296c54", + "assertEq(uint256,uint256,string)": "88b44c85", + "assertEq(uint256[],uint256[])": "975d5a12", + "assertEq(uint256[],uint256[],string)": "5d18c73a", + "assertEqDecimal(int256,int256,uint256)": "48016c04", + "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", + "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", + "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", + "assertFalse(bool)": "a5982885", + "assertFalse(bool,string)": "7ba04809", + "assertGe(int256,int256)": "0a30b771", + "assertGe(int256,int256,string)": "a84328dd", + "assertGe(uint256,uint256)": "a8d4d1d9", + "assertGe(uint256,uint256,string)": "e25242c0", + "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", + "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", + "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", + "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", + "assertGt(int256,int256)": "5a362d45", + "assertGt(int256,int256,string)": "f8d33b9b", + "assertGt(uint256,uint256)": "db07fcd2", + "assertGt(uint256,uint256,string)": "d9a3c4d2", + "assertGtDecimal(int256,int256,uint256)": "78611f0e", + "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", + "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", + "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", + "assertLe(int256,int256)": "95fd154e", + "assertLe(int256,int256,string)": "4dfe692c", + "assertLe(uint256,uint256)": "8466f415", + "assertLe(uint256,uint256,string)": "d17d4b0d", + "assertLeDecimal(int256,int256,uint256)": "11d1364a", + "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", + "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", + "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", + "assertLt(int256,int256)": "3e914080", + "assertLt(int256,int256,string)": "9ff531e3", + "assertLt(uint256,uint256)": "b12fc005", + "assertLt(uint256,uint256,string)": "65d5c135", + "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", + "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", + "assertLtDecimal(uint256,uint256,uint256)": "2077337e", + "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", + "assertNotEq(address,address)": "b12e1694", + "assertNotEq(address,address,string)": "8775a591", + "assertNotEq(address[],address[])": "46d0b252", + "assertNotEq(address[],address[],string)": "72c7e0b5", + "assertNotEq(bool,bool)": "236e4d66", + "assertNotEq(bool,bool,string)": "1091a261", + "assertNotEq(bool[],bool[])": "286fafea", + "assertNotEq(bool[],bool[],string)": "62c6f9fb", + "assertNotEq(bytes,bytes)": "3cf78e28", + "assertNotEq(bytes,bytes,string)": "9507540e", + "assertNotEq(bytes32,bytes32)": "898e83fc", + "assertNotEq(bytes32,bytes32,string)": "b2332f51", + "assertNotEq(bytes32[],bytes32[])": "0603ea68", + "assertNotEq(bytes32[],bytes32[],string)": "b873634c", + "assertNotEq(bytes[],bytes[])": "edecd035", + "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", + "assertNotEq(int256,int256)": "f4c004e3", + "assertNotEq(int256,int256,string)": "4724c5b9", + "assertNotEq(int256[],int256[])": "0b72f4ef", + "assertNotEq(int256[],int256[],string)": "d3977322", + "assertNotEq(string,string)": "6a8237b3", + "assertNotEq(string,string,string)": "78bdcea7", + "assertNotEq(string[],string[])": "bdfacbe8", + "assertNotEq(string[],string[],string)": "b67187f3", + "assertNotEq(uint256,uint256)": "b7909320", + "assertNotEq(uint256,uint256,string)": "98f9bdbd", + "assertNotEq(uint256[],uint256[])": "56f29cba", + "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", + "assertNotEqDecimal(int256,int256,uint256)": "14e75680", + "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", + "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", + "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", + "assertTrue(bool)": "0c9fd581", + "assertTrue(bool,string)": "a34edc03", + "assume(bool)": "4c63e562", + "breakpoint(string)": "f0259e92", + "breakpoint(string,bool)": "f7d39a8d", + "broadcast()": "afc98040", + "broadcast(address)": "e6962cdb", + "broadcast(uint256)": "f67a965b", + "chainId(uint256)": "4049ddd2", + "clearMockedCalls()": "3fdf4e15", + "closeFile(string)": "48c3241f", + "coinbase(address)": "ff483c54", + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreateAddress(address,uint256)": "74637a7a", + "copyFile(string,string)": "a54a87d8", + "createDir(string,bool)": "168b64d3", + "createFork(string)": "31ba3498", + "createFork(string,bytes32)": "7ca29682", + "createFork(string,uint256)": "6ba3ba2b", + "createSelectFork(string)": "98680034", + "createSelectFork(string,bytes32)": "84d52b7a", + "createSelectFork(string,uint256)": "71ee464d", + "createWallet(string)": "7404f1d2", + "createWallet(uint256)": "7a675bb6", + "createWallet(uint256,string)": "ed7c5462", + "deal(address,uint256)": "c88a5e6d", + "deleteSnapshot(uint256)": "a6368557", + "deleteSnapshots()": "421ae469", + "deriveKey(string,string,uint32)": "6bcb2c1b", + "deriveKey(string,string,uint32,string)": "29233b1f", + "deriveKey(string,uint32)": "6229498b", + "deriveKey(string,uint32,string)": "32c8176d", + "difficulty(uint256)": "46cc92d9", + "dumpState(string)": "709ecd3f", + "envAddress(string)": "350d56bf", + "envAddress(string,string)": "ad31b9fa", + "envBool(string)": "7ed1ec7d", + "envBool(string,string)": "aaaddeaf", + "envBytes(string)": "4d7baf06", + "envBytes(string,string)": "ddc2651b", + "envBytes32(string)": "97949042", + "envBytes32(string,string)": "5af231c1", + "envInt(string)": "892a0c61", + "envInt(string,string)": "42181150", + "envOr(string,address)": "561fe540", + "envOr(string,bool)": "4777f3cf", + "envOr(string,bytes)": "b3e47705", + "envOr(string,bytes32)": "b4a85892", + "envOr(string,int256)": "bbcb713e", + "envOr(string,string)": "d145736c", + "envOr(string,string,address[])": "c74e9deb", + "envOr(string,string,bool[])": "eb85e83b", + "envOr(string,string,bytes32[])": "2281f367", + "envOr(string,string,bytes[])": "64bc3e64", + "envOr(string,string,int256[])": "4700d74b", + "envOr(string,string,string[])": "859216bc", + "envOr(string,string,uint256[])": "74318528", + "envOr(string,uint256)": "5e97348f", + "envString(string)": "f877cb19", + "envString(string,string)": "14b02bc9", + "envUint(string)": "c1978d1f", + "envUint(string,string)": "f3dec099", + "etch(address,bytes)": "b4d6c782", + "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", + "exists(string)": "261a323e", + "expectCall(address,bytes)": "bd6af434", + "expectCall(address,bytes,uint64)": "c1adbbff", + "expectCall(address,uint256,bytes)": "f30c7ba3", + "expectCall(address,uint256,bytes,uint64)": "a2b1a1ae", + "expectCall(address,uint256,uint64,bytes)": "23361207", + "expectCall(address,uint256,uint64,bytes,uint64)": "65b7b7cc", + "expectCallMinGas(address,uint256,uint64,bytes)": "08e4e116", + "expectCallMinGas(address,uint256,uint64,bytes,uint64)": "e13a1834", + "expectEmit()": "440ed10d", + "expectEmit(address)": "86b9620d", + "expectEmit(bool,bool,bool,bool)": "491cc7c2", + "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", + "expectRevert()": "f4844814", + "expectRevert(bytes)": "f28dceb3", + "expectRevert(bytes4)": "c31eb0e0", + "expectSafeMemory(uint64,uint64)": "6d016688", + "expectSafeMemoryCall(uint64,uint64)": "05838bf4", + "fee(uint256)": "39b37ab0", + "ffi(string[])": "89160467", + "fsMetadata(string)": "af368a08", + "getBlockNumber()": "42cbb15c", + "getBlockTimestamp()": "796b89b9", + "getCode(string)": "8d1cc925", + "getDeployedCode(string)": "3ebf73b4", + "getLabel(address)": "28a249b0", + "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", + "getMappingLength(address,bytes32)": "2f2fd63f", + "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", + "getNonce((address,uint256,uint256,uint256))": "a5748aad", + "getNonce(address)": "2d0335ab", + "getRecordedLogs()": "191553a4", + "isDir(string)": "7d15d019", + "isFile(string)": "e0eb04d4", + "isPersistent(address)": "d92d8efd", + "keyExists(string,string)": "528a683c", + "keyExistsJson(string,string)": "db4235f6", + "keyExistsToml(string,string)": "600903ad", + "label(address,string)": "c657c718", + "load(address,bytes32)": "667f9d70", + "loadAllocs(string)": "b3a056d7", + "makePersistent(address)": "57e22dde", + "makePersistent(address,address)": "4074e0a8", + "makePersistent(address,address,address)": "efb77a75", + "makePersistent(address[])": "1d9e269e", + "mockCall(address,bytes,bytes)": "b96213e4", + "mockCall(address,uint256,bytes,bytes)": "81409b91", + "mockCallRevert(address,bytes,bytes)": "dbaad147", + "mockCallRevert(address,uint256,bytes,bytes)": "d23cd037", + "parseAddress(string)": "c6ce059d", + "parseBool(string)": "974ef924", + "parseBytes(string)": "8f5d232d", + "parseBytes32(string)": "087e6e81", + "parseInt(string)": "42346c5e", + "parseJson(string)": "6a82600a", + "parseJson(string,string)": "85940ef1", + "parseJsonAddress(string,string)": "1e19e657", + "parseJsonAddressArray(string,string)": "2fce7883", + "parseJsonBool(string,string)": "9f86dc91", + "parseJsonBoolArray(string,string)": "91f3b94f", + "parseJsonBytes(string,string)": "fd921be8", + "parseJsonBytes32(string,string)": "1777e59d", + "parseJsonBytes32Array(string,string)": "91c75bc3", + "parseJsonBytesArray(string,string)": "6631aa99", + "parseJsonInt(string,string)": "7b048ccd", + "parseJsonIntArray(string,string)": "9983c28a", + "parseJsonKeys(string,string)": "213e4198", + "parseJsonString(string,string)": "49c4fac8", + "parseJsonStringArray(string,string)": "498fdcf4", + "parseJsonUint(string,string)": "addde2b6", + "parseJsonUintArray(string,string)": "522074ab", + "parseToml(string)": "592151f0", + "parseToml(string,string)": "37736e08", + "parseTomlAddress(string,string)": "65e7c844", + "parseTomlAddressArray(string,string)": "65c428e7", + "parseTomlBool(string,string)": "d30dced6", + "parseTomlBoolArray(string,string)": "127cfe9a", + "parseTomlBytes(string,string)": "d77bfdb9", + "parseTomlBytes32(string,string)": "8e214810", + "parseTomlBytes32Array(string,string)": "3e716f81", + "parseTomlBytesArray(string,string)": "b197c247", + "parseTomlInt(string,string)": "c1350739", + "parseTomlIntArray(string,string)": "d3522ae6", + "parseTomlKeys(string,string)": "812a44b2", + "parseTomlString(string,string)": "8bb8dd43", + "parseTomlStringArray(string,string)": "9f629281", + "parseTomlUint(string,string)": "cc7b0487", + "parseTomlUintArray(string,string)": "b5df27c8", + "parseUint(string)": "fa91454d", + "pauseGasMetering()": "d1a5b36f", + "prank(address)": "ca669fa7", + "prank(address,address)": "47e50cce", + "prevrandao(bytes32)": "3b925549", + "projectRoot()": "d930a0e6", + "readCallers()": "4ad0bac9", + "readDir(string)": "c4bc59e0", + "readDir(string,uint64)": "1497876c", + "readDir(string,uint64,bool)": "8102d70d", + "readFile(string)": "60f9bb11", + "readFileBinary(string)": "16ed7bc4", + "readLine(string)": "70f55728", + "readLink(string)": "9f5684a2", + "record()": "266cf109", + "recordLogs()": "41af2f52", + "rememberKey(uint256)": "22100064", + "removeDir(string,bool)": "45c62011", + "removeFile(string)": "f1afe04d", + "replace(string,string,string)": "e00ad03e", + "resetNonce(address)": "1c72346d", + "resumeGasMetering()": "2bcd50e0", + "revertTo(uint256)": "44d7f0a4", + "revertToAndDelete(uint256)": "03e0aca9", + "revokePersistent(address)": "997a0222", + "revokePersistent(address[])": "3ce969e6", + "roll(uint256)": "1f7b4f30", + "rollFork(bytes32)": "0f29772b", + "rollFork(uint256)": "d9bbf3a1", + "rollFork(uint256,bytes32)": "f2830f7b", + "rollFork(uint256,uint256)": "d74c83a4", + "rpc(string,string)": "1206c8a8", + "rpcUrl(string)": "975a6ce9", + "rpcUrlStructs()": "9d2ad72a", + "rpcUrls()": "a85a8418", + "selectFork(uint256)": "9ebf6827", + "serializeAddress(string,string,address)": "972c6062", + "serializeAddress(string,string,address[])": "1e356e1a", + "serializeBool(string,string,bool)": "ac22e971", + "serializeBool(string,string,bool[])": "92925aa1", + "serializeBytes(string,string,bytes)": "f21d52c7", + "serializeBytes(string,string,bytes[])": "9884b232", + "serializeBytes32(string,string,bytes32)": "2d812b44", + "serializeBytes32(string,string,bytes32[])": "201e43e2", + "serializeInt(string,string,int256)": "3f33db60", + "serializeInt(string,string,int256[])": "7676e127", + "serializeJson(string,string)": "9b3358b0", + "serializeString(string,string,string)": "88da6d35", + "serializeString(string,string,string[])": "561cd6f3", + "serializeUint(string,string,uint256)": "129e9002", + "serializeUint(string,string,uint256[])": "fee9a469", + "setEnv(string,string)": "3d5923ee", + "setNonce(address,uint64)": "f8e18b57", + "setNonceUnsafe(address,uint64)": "9b67b21c", + "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", + "sign(uint256,bytes32)": "e341eaa4", + "signP256(uint256,bytes32)": "83211b40", + "skip(bool)": "dd82d13e", + "sleep(uint256)": "fa9d8713", + "snapshot()": "9711715a", + "split(string,string)": "8bb75533", + "startBroadcast()": "7fb5297f", + "startBroadcast(address)": "7fec2a8d", + "startBroadcast(uint256)": "ce817d47", + "startMappingRecording()": "3e9705c0", + "startPrank(address)": "06447d56", + "startPrank(address,address)": "45b56078", + "startStateDiffRecording()": "cf22e3c9", + "stopAndReturnStateDiff()": "aa5cf90e", + "stopBroadcast()": "76eadd36", + "stopExpectSafeMemory()": "0956441b", + "stopMappingRecording()": "0d4aae9b", + "stopPrank()": "90c5013b", + "store(address,bytes32,bytes32)": "70ca10bb", + "toBase64(bytes)": "a5cbfe65", + "toBase64(string)": "3f8be2c8", + "toBase64URL(bytes)": "c8bd0e4a", + "toBase64URL(string)": "ae3165b3", + "toLowercase(string)": "50bb0884", + "toString(address)": "56ca623e", + "toString(bool)": "71dce7da", + "toString(bytes)": "71aad10d", + "toString(bytes32)": "b11a19e8", + "toString(int256)": "a322c40e", + "toString(uint256)": "6900a3ae", + "toUppercase(string)": "074ae3d7", + "transact(bytes32)": "be646da1", + "transact(uint256,bytes32)": "4d8abc4b", + "trim(string)": "b2dad155", + "tryFfi(string[])": "f45c1ce7", + "txGasPrice(uint256)": "48f50c0f", + "unixTime()": "625387dc", + "warp(uint256)": "e5d6bf02", + "writeFile(string,string)": "897e0a97", + "writeFileBinary(string,bytes)": "1f21fc80", + "writeJson(string,string)": "e23cd19f", + "writeJson(string,string,string)": "35d6ad46", + "writeLine(string,string)": "619d897f", + "writeToml(string,string)": "c0865ba7", + "writeToml(string,string,string)": "51ac6a33" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/VmSafe.ts b/packages/hyperdrive-artifacts/src/VmSafe.ts new file mode 100644 index 000000000..bc4cfcb24 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/VmSafe.ts @@ -0,0 +1,7230 @@ +export const VmSafe = { + name: 'VmSafe' as const, + abi: [ + { + "type": "function", + "name": "accesses", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "readSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "writeSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addr", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assume", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "copyFile", + "inputs": [ + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "copied", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "eth_getLogs", + "inputs": [ + { + "name": "fromBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.EthGetLogs[]", + "components": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockNumber", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "transactionHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "transactionIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "logIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "removed", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "exists", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ffi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fsMetadata", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "metadata", + "type": "tuple", + "internalType": "struct VmSafe.FsMetadata", + "components": [ + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + }, + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "readOnly", + "type": "bool", + "internalType": "bool" + }, + { + "name": "modified", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "created", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "height", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "creationBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "runtimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLabel", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "currentLabel", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMappingKeyAndParentOf", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "elementSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "found", + "type": "bool", + "internalType": "bool" + }, + { + "name": "key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "parent", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingLength", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingSlotAt", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "idx", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getRecordedLogs", + "inputs": [], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.Log[]", + "components": [ + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "keyExists", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "label", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "parseAddress", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBool", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes32", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseInt", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddress", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddressArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBool", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBoolArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32Array", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytesArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonInt", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonIntArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonKeys", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonString", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonStringArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUint", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUintArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddress", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddressArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBool", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBoolArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32Array", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytesArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlInt", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlIntArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlKeys", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlString", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlStringArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUint", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUintArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseUint", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pauseGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "projectRoot", + "inputs": [], + "outputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "followLinks", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "line", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLink", + "inputs": [ + { + "name": "linkPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "targetPath", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "record", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "recordLogs", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rememberKey", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "replace", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "resumeGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpc", + "inputs": [ + { + "name": "method", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpcUrl", + "inputs": [ + { + "name": "rpcAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrlStructs", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "tuple[]", + "internalType": "struct VmSafe.Rpc[]", + "components": [ + { + "name": "key", + "type": "string", + "internalType": "string" + }, + { + "name": "url", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrls", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "string[2][]", + "internalType": "string[2][]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeJson", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEnv", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "signP256", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "sleep", + "inputs": [ + { + "name": "duration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "split", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "delimiter", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "outputs", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startStateDiffRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopAndReturnStateDiff", + "inputs": [], + "outputs": [ + { + "name": "accountAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.AccountAccess[]", + "components": [ + { + "name": "chainInfo", + "type": "tuple", + "internalType": "struct VmSafe.ChainInfo", + "components": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "chainId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "kind", + "type": "uint8", + "internalType": "enum VmSafe.AccountAccessKind" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "accessor", + "type": "address", + "internalType": "address" + }, + { + "name": "initialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "oldBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deployedCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + }, + { + "name": "storageAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.StorageAccess[]", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "isWrite", + "type": "bool", + "internalType": "bool" + }, + { + "name": "previousValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + } + ] + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toLowercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUppercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "trim", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "tryFfi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "tuple", + "internalType": "struct VmSafe.FfiResult", + "components": [ + { + "name": "exitCode", + "type": "int32", + "internalType": "int32" + }, + { + "name": "stdout", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "stderr", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unixTime", + "inputs": [], + "outputs": [ + { + "name": "milliseconds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "accesses(address)": "65bc9481", + "addr(uint256)": "ffa18649", + "assertApproxEqAbs(int256,int256,uint256)": "240f839d", + "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", + "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", + "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", + "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", + "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", + "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", + "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", + "assertEq(address,address)": "515361f6", + "assertEq(address,address,string)": "2f2769d1", + "assertEq(address[],address[])": "3868ac34", + "assertEq(address[],address[],string)": "3e9173c5", + "assertEq(bool,bool)": "f7fe3477", + "assertEq(bool,bool,string)": "4db19e7e", + "assertEq(bool[],bool[])": "707df785", + "assertEq(bool[],bool[],string)": "e48a8f8d", + "assertEq(bytes,bytes)": "97624631", + "assertEq(bytes,bytes,string)": "e24fed00", + "assertEq(bytes32,bytes32)": "7c84c69b", + "assertEq(bytes32,bytes32,string)": "c1fa1ed0", + "assertEq(bytes32[],bytes32[])": "0cc9ee84", + "assertEq(bytes32[],bytes32[],string)": "e03e9177", + "assertEq(bytes[],bytes[])": "e5fb9b4a", + "assertEq(bytes[],bytes[],string)": "f413f0b6", + "assertEq(int256,int256)": "fe74f05b", + "assertEq(int256,int256,string)": "714a2f13", + "assertEq(int256[],int256[])": "711043ac", + "assertEq(int256[],int256[],string)": "191f1b30", + "assertEq(string,string)": "f320d963", + "assertEq(string,string,string)": "36f656d8", + "assertEq(string[],string[])": "cf1c049c", + "assertEq(string[],string[],string)": "eff6b27d", + "assertEq(uint256,uint256)": "98296c54", + "assertEq(uint256,uint256,string)": "88b44c85", + "assertEq(uint256[],uint256[])": "975d5a12", + "assertEq(uint256[],uint256[],string)": "5d18c73a", + "assertEqDecimal(int256,int256,uint256)": "48016c04", + "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", + "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", + "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", + "assertFalse(bool)": "a5982885", + "assertFalse(bool,string)": "7ba04809", + "assertGe(int256,int256)": "0a30b771", + "assertGe(int256,int256,string)": "a84328dd", + "assertGe(uint256,uint256)": "a8d4d1d9", + "assertGe(uint256,uint256,string)": "e25242c0", + "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", + "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", + "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", + "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", + "assertGt(int256,int256)": "5a362d45", + "assertGt(int256,int256,string)": "f8d33b9b", + "assertGt(uint256,uint256)": "db07fcd2", + "assertGt(uint256,uint256,string)": "d9a3c4d2", + "assertGtDecimal(int256,int256,uint256)": "78611f0e", + "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", + "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", + "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", + "assertLe(int256,int256)": "95fd154e", + "assertLe(int256,int256,string)": "4dfe692c", + "assertLe(uint256,uint256)": "8466f415", + "assertLe(uint256,uint256,string)": "d17d4b0d", + "assertLeDecimal(int256,int256,uint256)": "11d1364a", + "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", + "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", + "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", + "assertLt(int256,int256)": "3e914080", + "assertLt(int256,int256,string)": "9ff531e3", + "assertLt(uint256,uint256)": "b12fc005", + "assertLt(uint256,uint256,string)": "65d5c135", + "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", + "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", + "assertLtDecimal(uint256,uint256,uint256)": "2077337e", + "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", + "assertNotEq(address,address)": "b12e1694", + "assertNotEq(address,address,string)": "8775a591", + "assertNotEq(address[],address[])": "46d0b252", + "assertNotEq(address[],address[],string)": "72c7e0b5", + "assertNotEq(bool,bool)": "236e4d66", + "assertNotEq(bool,bool,string)": "1091a261", + "assertNotEq(bool[],bool[])": "286fafea", + "assertNotEq(bool[],bool[],string)": "62c6f9fb", + "assertNotEq(bytes,bytes)": "3cf78e28", + "assertNotEq(bytes,bytes,string)": "9507540e", + "assertNotEq(bytes32,bytes32)": "898e83fc", + "assertNotEq(bytes32,bytes32,string)": "b2332f51", + "assertNotEq(bytes32[],bytes32[])": "0603ea68", + "assertNotEq(bytes32[],bytes32[],string)": "b873634c", + "assertNotEq(bytes[],bytes[])": "edecd035", + "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", + "assertNotEq(int256,int256)": "f4c004e3", + "assertNotEq(int256,int256,string)": "4724c5b9", + "assertNotEq(int256[],int256[])": "0b72f4ef", + "assertNotEq(int256[],int256[],string)": "d3977322", + "assertNotEq(string,string)": "6a8237b3", + "assertNotEq(string,string,string)": "78bdcea7", + "assertNotEq(string[],string[])": "bdfacbe8", + "assertNotEq(string[],string[],string)": "b67187f3", + "assertNotEq(uint256,uint256)": "b7909320", + "assertNotEq(uint256,uint256,string)": "98f9bdbd", + "assertNotEq(uint256[],uint256[])": "56f29cba", + "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", + "assertNotEqDecimal(int256,int256,uint256)": "14e75680", + "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", + "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", + "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", + "assertTrue(bool)": "0c9fd581", + "assertTrue(bool,string)": "a34edc03", + "assume(bool)": "4c63e562", + "breakpoint(string)": "f0259e92", + "breakpoint(string,bool)": "f7d39a8d", + "broadcast()": "afc98040", + "broadcast(address)": "e6962cdb", + "broadcast(uint256)": "f67a965b", + "closeFile(string)": "48c3241f", + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreateAddress(address,uint256)": "74637a7a", + "copyFile(string,string)": "a54a87d8", + "createDir(string,bool)": "168b64d3", + "createWallet(string)": "7404f1d2", + "createWallet(uint256)": "7a675bb6", + "createWallet(uint256,string)": "ed7c5462", + "deriveKey(string,string,uint32)": "6bcb2c1b", + "deriveKey(string,string,uint32,string)": "29233b1f", + "deriveKey(string,uint32)": "6229498b", + "deriveKey(string,uint32,string)": "32c8176d", + "envAddress(string)": "350d56bf", + "envAddress(string,string)": "ad31b9fa", + "envBool(string)": "7ed1ec7d", + "envBool(string,string)": "aaaddeaf", + "envBytes(string)": "4d7baf06", + "envBytes(string,string)": "ddc2651b", + "envBytes32(string)": "97949042", + "envBytes32(string,string)": "5af231c1", + "envInt(string)": "892a0c61", + "envInt(string,string)": "42181150", + "envOr(string,address)": "561fe540", + "envOr(string,bool)": "4777f3cf", + "envOr(string,bytes)": "b3e47705", + "envOr(string,bytes32)": "b4a85892", + "envOr(string,int256)": "bbcb713e", + "envOr(string,string)": "d145736c", + "envOr(string,string,address[])": "c74e9deb", + "envOr(string,string,bool[])": "eb85e83b", + "envOr(string,string,bytes32[])": "2281f367", + "envOr(string,string,bytes[])": "64bc3e64", + "envOr(string,string,int256[])": "4700d74b", + "envOr(string,string,string[])": "859216bc", + "envOr(string,string,uint256[])": "74318528", + "envOr(string,uint256)": "5e97348f", + "envString(string)": "f877cb19", + "envString(string,string)": "14b02bc9", + "envUint(string)": "c1978d1f", + "envUint(string,string)": "f3dec099", + "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", + "exists(string)": "261a323e", + "ffi(string[])": "89160467", + "fsMetadata(string)": "af368a08", + "getBlockNumber()": "42cbb15c", + "getBlockTimestamp()": "796b89b9", + "getCode(string)": "8d1cc925", + "getDeployedCode(string)": "3ebf73b4", + "getLabel(address)": "28a249b0", + "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", + "getMappingLength(address,bytes32)": "2f2fd63f", + "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", + "getNonce((address,uint256,uint256,uint256))": "a5748aad", + "getNonce(address)": "2d0335ab", + "getRecordedLogs()": "191553a4", + "isDir(string)": "7d15d019", + "isFile(string)": "e0eb04d4", + "keyExists(string,string)": "528a683c", + "keyExistsJson(string,string)": "db4235f6", + "keyExistsToml(string,string)": "600903ad", + "label(address,string)": "c657c718", + "load(address,bytes32)": "667f9d70", + "parseAddress(string)": "c6ce059d", + "parseBool(string)": "974ef924", + "parseBytes(string)": "8f5d232d", + "parseBytes32(string)": "087e6e81", + "parseInt(string)": "42346c5e", + "parseJson(string)": "6a82600a", + "parseJson(string,string)": "85940ef1", + "parseJsonAddress(string,string)": "1e19e657", + "parseJsonAddressArray(string,string)": "2fce7883", + "parseJsonBool(string,string)": "9f86dc91", + "parseJsonBoolArray(string,string)": "91f3b94f", + "parseJsonBytes(string,string)": "fd921be8", + "parseJsonBytes32(string,string)": "1777e59d", + "parseJsonBytes32Array(string,string)": "91c75bc3", + "parseJsonBytesArray(string,string)": "6631aa99", + "parseJsonInt(string,string)": "7b048ccd", + "parseJsonIntArray(string,string)": "9983c28a", + "parseJsonKeys(string,string)": "213e4198", + "parseJsonString(string,string)": "49c4fac8", + "parseJsonStringArray(string,string)": "498fdcf4", + "parseJsonUint(string,string)": "addde2b6", + "parseJsonUintArray(string,string)": "522074ab", + "parseToml(string)": "592151f0", + "parseToml(string,string)": "37736e08", + "parseTomlAddress(string,string)": "65e7c844", + "parseTomlAddressArray(string,string)": "65c428e7", + "parseTomlBool(string,string)": "d30dced6", + "parseTomlBoolArray(string,string)": "127cfe9a", + "parseTomlBytes(string,string)": "d77bfdb9", + "parseTomlBytes32(string,string)": "8e214810", + "parseTomlBytes32Array(string,string)": "3e716f81", + "parseTomlBytesArray(string,string)": "b197c247", + "parseTomlInt(string,string)": "c1350739", + "parseTomlIntArray(string,string)": "d3522ae6", + "parseTomlKeys(string,string)": "812a44b2", + "parseTomlString(string,string)": "8bb8dd43", + "parseTomlStringArray(string,string)": "9f629281", + "parseTomlUint(string,string)": "cc7b0487", + "parseTomlUintArray(string,string)": "b5df27c8", + "parseUint(string)": "fa91454d", + "pauseGasMetering()": "d1a5b36f", + "projectRoot()": "d930a0e6", + "readDir(string)": "c4bc59e0", + "readDir(string,uint64)": "1497876c", + "readDir(string,uint64,bool)": "8102d70d", + "readFile(string)": "60f9bb11", + "readFileBinary(string)": "16ed7bc4", + "readLine(string)": "70f55728", + "readLink(string)": "9f5684a2", + "record()": "266cf109", + "recordLogs()": "41af2f52", + "rememberKey(uint256)": "22100064", + "removeDir(string,bool)": "45c62011", + "removeFile(string)": "f1afe04d", + "replace(string,string,string)": "e00ad03e", + "resumeGasMetering()": "2bcd50e0", + "rpc(string,string)": "1206c8a8", + "rpcUrl(string)": "975a6ce9", + "rpcUrlStructs()": "9d2ad72a", + "rpcUrls()": "a85a8418", + "serializeAddress(string,string,address)": "972c6062", + "serializeAddress(string,string,address[])": "1e356e1a", + "serializeBool(string,string,bool)": "ac22e971", + "serializeBool(string,string,bool[])": "92925aa1", + "serializeBytes(string,string,bytes)": "f21d52c7", + "serializeBytes(string,string,bytes[])": "9884b232", + "serializeBytes32(string,string,bytes32)": "2d812b44", + "serializeBytes32(string,string,bytes32[])": "201e43e2", + "serializeInt(string,string,int256)": "3f33db60", + "serializeInt(string,string,int256[])": "7676e127", + "serializeJson(string,string)": "9b3358b0", + "serializeString(string,string,string)": "88da6d35", + "serializeString(string,string,string[])": "561cd6f3", + "serializeUint(string,string,uint256)": "129e9002", + "serializeUint(string,string,uint256[])": "fee9a469", + "setEnv(string,string)": "3d5923ee", + "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", + "sign(uint256,bytes32)": "e341eaa4", + "signP256(uint256,bytes32)": "83211b40", + "sleep(uint256)": "fa9d8713", + "split(string,string)": "8bb75533", + "startBroadcast()": "7fb5297f", + "startBroadcast(address)": "7fec2a8d", + "startBroadcast(uint256)": "ce817d47", + "startMappingRecording()": "3e9705c0", + "startStateDiffRecording()": "cf22e3c9", + "stopAndReturnStateDiff()": "aa5cf90e", + "stopBroadcast()": "76eadd36", + "stopMappingRecording()": "0d4aae9b", + "toBase64(bytes)": "a5cbfe65", + "toBase64(string)": "3f8be2c8", + "toBase64URL(bytes)": "c8bd0e4a", + "toBase64URL(string)": "ae3165b3", + "toLowercase(string)": "50bb0884", + "toString(address)": "56ca623e", + "toString(bool)": "71dce7da", + "toString(bytes)": "71aad10d", + "toString(bytes32)": "b11a19e8", + "toString(int256)": "a322c40e", + "toString(uint256)": "6900a3ae", + "toUppercase(string)": "074ae3d7", + "trim(string)": "b2dad155", + "tryFfi(string[])": "f45c1ce7", + "unixTime()": "625387dc", + "writeFile(string,string)": "897e0a97", + "writeFileBinary(string,bytes)": "1f21fc80", + "writeJson(string,string)": "e23cd19f", + "writeJson(string,string,string)": "35d6ad46", + "writeLine(string,string)": "619d897f", + "writeToml(string,string)": "c0865ba7", + "writeToml(string,string,string)": "51ac6a33" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/WadRayMath.ts b/packages/hyperdrive-artifacts/src/WadRayMath.ts new file mode 100644 index 000000000..80e3e4e18 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/WadRayMath.ts @@ -0,0 +1,6 @@ +export const WadRayMath = { + name: 'WadRayMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e4e36dee321758970a50ba207d9b2dbcef9c3fe34162b30cf2428802e183803f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/YieldSpaceMath.ts b/packages/hyperdrive-artifacts/src/YieldSpaceMath.ts new file mode 100644 index 000000000..8982f7342 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/YieldSpaceMath.ts @@ -0,0 +1,6 @@ +export const YieldSpaceMath = { + name: 'YieldSpaceMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a690dac2b10c7f50c8f49f5696207e6ec98638bfd244c81b276d75cf503cff9764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/console.ts b/packages/hyperdrive-artifacts/src/console.ts new file mode 100644 index 000000000..d5eca266f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/console.ts @@ -0,0 +1,6 @@ +export const console = { + name: 'console' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ce24fb6998c488baf34dc5dcb235b417528a492b5e6b0ebc2b0085cbf79253fd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/console2.ts b/packages/hyperdrive-artifacts/src/console2.ts new file mode 100644 index 000000000..ad03198e5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/console2.ts @@ -0,0 +1,6 @@ +export const console2 = { + name: 'console2' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202301753688608e1e83d99602a6bf1652675ab998b359db9c580d5688d4ebab6964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/safeconsole.ts b/packages/hyperdrive-artifacts/src/safeconsole.ts new file mode 100644 index 000000000..e4dba49aa --- /dev/null +++ b/packages/hyperdrive-artifacts/src/safeconsole.ts @@ -0,0 +1,6 @@ +export const safeconsole = { + name: 'safeconsole' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122020d14503ffa71aaebd45a0d5d3c3f1537fae34e8d8b0244b44e47accf68ef76064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdError.ts b/packages/hyperdrive-artifacts/src/stdError.ts new file mode 100644 index 000000000..2ff6f222f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdError.ts @@ -0,0 +1,134 @@ +export const stdError = { + name: 'stdError' as const, + abi: [ + { + "type": "function", + "name": "arithmeticError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "assertionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "divisionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "encodeStorageError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "enumConversionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "indexOOBError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "memOverflowError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "popError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "zeroVarError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x61024a610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c8063986c5f681161006e578063986c5f68146100d5578063b22dc54d146100dd578063b67689da146100e5578063d160e4de146100ed578063fa784a44146100f5575f80fd5b806305ee86121461009f57806310332977146100bd5780631de45560146100c55780638995290f146100cd575b5f80fd5b6100a76100fd565b6040516100b491906101c8565b60405180910390f35b6100a7610138565b6100a761014a565b6100a761015c565b6100a761016e565b6100a7610180565b6100a7610192565b6100a76101a4565b6100a76101b6565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010b565b6040516021602482015260440161010b565b6040516011602482015260440161010b565b6040516041602482015260440161010b565b6040516031602482015260440161010b565b6040516051602482015260440161010b565b6040516022602482015260440161010b565b6040516012602482015260440161010b565b5f602080835283518060208501525f5b818110156101f4578581018301518582016040015282016101d8565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220d7e4cf8b021e56ab3f5ac52c37eab43e941a87aa3b5b231791159560373037e864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "arithmeticError()": "8995290f", + "assertionError()": "10332977", + "divisionError()": "fa784a44", + "encodeStorageError()": "d160e4de", + "enumConversionError()": "1de45560", + "indexOOBError()": "05ee8612", + "memOverflowError()": "986c5f68", + "popError()": "b22dc54d", + "zeroVarError()": "b67689da" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdJson.ts b/packages/hyperdrive-artifacts/src/stdJson.ts new file mode 100644 index 000000000..144af6858 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdJson.ts @@ -0,0 +1,6 @@ +export const stdJson = { + name: 'stdJson' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122057eac6179a583ac11ffb36978f2a04dbc77922b7a7e37fb9cc0a12efa317258a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdMath.ts b/packages/hyperdrive-artifacts/src/stdMath.ts new file mode 100644 index 000000000..69f677127 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdMath.ts @@ -0,0 +1,6 @@ +export const stdMath = { + name: 'stdMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220950d7cda8d62a5b775497aaa74197c3a0ade11875e81d63449e87a77f323460264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdStorage.ts b/packages/hyperdrive-artifacts/src/stdStorage.ts new file mode 100644 index 000000000..3fe298a1e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdStorage.ts @@ -0,0 +1,6 @@ +export const stdStorage = { + name: 'stdStorage' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e885b2c4c5210a1dd84228f74269c13d4bd427b319ef6fd92c9a29d41be1b49864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdStorageSafe.ts b/packages/hyperdrive-artifacts/src/stdStorageSafe.ts new file mode 100644 index 000000000..7e0946824 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdStorageSafe.ts @@ -0,0 +1,57 @@ +export const stdStorageSafe = { + name: 'stdStorageSafe' as const, + abi: [ + { + "type": "event", + "name": "SlotFound", + "inputs": [ + { + "name": "who", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "fsig", + "type": "bytes4", + "indexed": false, + "internalType": "bytes4" + }, + { + "name": "keysHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "slot", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "WARNING_UninitedSlot", + "inputs": [ + { + "name": "who", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "slot", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204cc1ab2cd6a604f15f9c4ce9584da51f090df0b197c7c615c311f23a31d5919b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdToml.ts b/packages/hyperdrive-artifacts/src/stdToml.ts new file mode 100644 index 000000000..bb4acdb68 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdToml.ts @@ -0,0 +1,6 @@ +export const stdToml = { + name: 'stdToml' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207ba9e2c3b107114be6d84156685ea16bb6c58fd8e32455dea1f3dca83ee44aca64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/tsconfig.json b/packages/hyperdrive-artifacts/tsconfig.json index 2447c6ad3..3e85b87c5 100644 --- a/packages/hyperdrive-artifacts/tsconfig.json +++ b/packages/hyperdrive-artifacts/tsconfig.json @@ -4,7 +4,8 @@ "include": ["./*.json", "src"], "exclude": ["node_modules"], "compilerOptions": { + "outDir": "dist", "module": "ESNext", "target": "ESNext" - }, + } } diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm.cjs b/packages/hyperdrive-wasm/hyperdrive_wasm.cjs index d1ea33050..a321ba0da 100644 --- a/packages/hyperdrive-wasm/hyperdrive_wasm.cjs +++ b/packages/hyperdrive-wasm/hyperdrive_wasm.cjs @@ -195,22 +195,18 @@ function debugString(val) { */ /** -* Calculates the curve fee paid in bonds by traders when they open a long. -*/ - -/** -* Calculates the governance fee paid in bonds by traders when they open a -* long. +* Calculates the amount of lp shares the trader will receive after adding +* liquidity. */ /** -* Calculates the curve fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given a budget and +* the current state of the pool. */ /** -* Calculates the flat fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given the current +* state of the pool. */ /** @@ -234,35 +230,22 @@ function debugString(val) { */ /** -* Calculates the long amount that will be opened for a given base amount. -*/ - -/** -* Calculates the spot price after opening a Hyperdrive long. +* Calculates the curve fee paid in bonds by traders when they open a long. */ /** -* Calculates the amount of lp shares the trader will receive after adding -* liquidity. +* Calculates the governance fee paid in bonds by traders when they open a +* long. */ /** -* Calculates the amount of shares the trader will receive after fees for -* closing a short +* Calculates the curve fee paid in shares or base by traders when they close a +* long. */ /** -* Calculates the market value of a short position using the equation: -* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + -* flat_fees_returned -* -* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t -* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * -* t * flat_fee -* -* dy = bond amount c = closeVaultSharePrice (current if non-matured, or -* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = -* timeRemaining +* Calculates the flat fee paid in shares or base by traders when they close a +* long. */ /** @@ -284,19 +267,36 @@ function debugString(val) { * Calculates the flat fee paid by the trader when they close a short. */ +/** +* Calculates the amount of shares the trader will receive after fees for +* closing a short +*/ + +/** +* Calculates the market value of a short position using the equation: +* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + +* flat_fees_returned +* +* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t +* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * +* t * flat_fee +* +* dy = bond amount c = closeVaultSharePrice (current if non-matured, or +* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = +* timeRemaining +*/ + /** * Calculates the max amount of base that can be used to open a long given a * budget. */ /** -* Calculates the max amount of bonds that can be shorted given a budget and -* the current state of the pool. +* Calculates the long amount that will be opened for a given base amount. */ /** -* Calculates the max amount of bonds that can be shorted given the current -* state of the pool. +* Calculates the spot price after opening a Hyperdrive long. */ function handleError(f, args) { @@ -528,10 +528,10 @@ module.exports.calcAprGivenFixedPrice = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.openLongCurveFee = function (params) { +module.exports.calcAddLiquidity = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openLongCurveFee(retptr, addHeapObject(params)); + wasm.calcAddLiquidity(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -543,10 +543,10 @@ module.exports.openLongCurveFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.openLongGovernanceFee = function (params) { +module.exports.maxShort = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openLongGovernanceFee(retptr, addHeapObject(params)); + wasm.maxShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -558,10 +558,10 @@ module.exports.openLongGovernanceFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.closeLongCurveFee = function (params) { +module.exports.absoluteMaxShort = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeLongCurveFee(retptr, addHeapObject(params)); + wasm.absoluteMaxShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -573,10 +573,10 @@ module.exports.closeLongCurveFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.closeLongFlatFee = function (params) { +module.exports.calcOpenShort = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeLongFlatFee(retptr, addHeapObject(params)); + wasm.calcOpenShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -588,10 +588,10 @@ module.exports.closeLongFlatFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcOpenShort = function (params) { +module.exports.spotPriceAfterShort = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcOpenShort(retptr, addHeapObject(params)); + wasm.spotPriceAfterShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -603,10 +603,10 @@ module.exports.calcOpenShort = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.spotPriceAfterShort = function (params) { +module.exports.calcImpliedRate = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.spotPriceAfterShort(retptr, addHeapObject(params)); + wasm.calcImpliedRate(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -618,10 +618,10 @@ module.exports.spotPriceAfterShort = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcImpliedRate = function (params) { +module.exports.shortBondsGivenDeposit = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcImpliedRate(retptr, addHeapObject(params)); + wasm.shortBondsGivenDeposit(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -633,10 +633,10 @@ module.exports.calcImpliedRate = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.shortBondsGivenDeposit = function (params) { +module.exports.openLongCurveFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.shortBondsGivenDeposit(retptr, addHeapObject(params)); + wasm.openLongCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -648,10 +648,10 @@ module.exports.shortBondsGivenDeposit = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcOpenLong = function (params) { +module.exports.openLongGovernanceFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcOpenLong(retptr, addHeapObject(params)); + wasm.openLongGovernanceFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -663,10 +663,10 @@ module.exports.calcOpenLong = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.spotPriceAfterLong = function (params) { +module.exports.closeLongCurveFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.spotPriceAfterLong(retptr, addHeapObject(params)); + wasm.closeLongCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -678,10 +678,10 @@ module.exports.spotPriceAfterLong = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcAddLiquidity = function (params) { +module.exports.closeLongFlatFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcAddLiquidity(retptr, addHeapObject(params)); + wasm.closeLongFlatFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -693,10 +693,10 @@ module.exports.calcAddLiquidity = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcCloseShort = function (params) { +module.exports.calcCloseLong = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcCloseShort(retptr, addHeapObject(params)); + wasm.calcCloseLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -708,10 +708,10 @@ module.exports.calcCloseShort = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcShortMarketValue = function (params) { +module.exports.openShortCurveFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcShortMarketValue(retptr, addHeapObject(params)); + wasm.openShortCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -723,10 +723,10 @@ module.exports.calcShortMarketValue = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.calcCloseLong = function (params) { +module.exports.openShortGovernanceFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcCloseLong(retptr, addHeapObject(params)); + wasm.openShortGovernanceFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -738,10 +738,10 @@ module.exports.calcCloseLong = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.openShortCurveFee = function (params) { +module.exports.closeShortCurveFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openShortCurveFee(retptr, addHeapObject(params)); + wasm.closeShortCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -753,10 +753,10 @@ module.exports.openShortCurveFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.openShortGovernanceFee = function (params) { +module.exports.closeShortFlatFee = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openShortGovernanceFee(retptr, addHeapObject(params)); + wasm.closeShortFlatFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -768,10 +768,10 @@ module.exports.openShortGovernanceFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.closeShortCurveFee = function (params) { +module.exports.calcCloseShort = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeShortCurveFee(retptr, addHeapObject(params)); + wasm.calcCloseShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -783,10 +783,10 @@ module.exports.closeShortCurveFee = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.closeShortFlatFee = function (params) { +module.exports.calcShortMarketValue = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeShortFlatFee(retptr, addHeapObject(params)); + wasm.calcShortMarketValue(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -813,10 +813,10 @@ module.exports.maxLong = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.maxShort = function (params) { +module.exports.calcOpenLong = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.maxShort(retptr, addHeapObject(params)); + wasm.calcOpenLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -828,10 +828,10 @@ module.exports.maxShort = function (params) { wasm.__wbindgen_add_to_stack_pointer(16); } }; -module.exports.absoluteMaxShort = function (params) { +module.exports.spotPriceAfterLong = function (params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.absoluteMaxShort(retptr, addHeapObject(params)); + wasm.spotPriceAfterLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -886,26 +886,59 @@ module.exports.__wbg_positionduration_fc18b815658726d6 = function (arg0) { const ret = getObject(arg0).positionDuration; return addHeapObject(ret); }; -module.exports.__wbg_baseamount_e87d794e00235079 = function (arg0) { - const ret = getObject(arg0).baseAmount; +module.exports.__wbg_currenttime_783878d66b9e5347 = function (arg0) { + const ret = getObject(arg0).currentTime; return addHeapObject(ret); }; -module.exports.__wbg_baseamount_000e5dc53848689e = function (arg0) { - const ret = getObject(arg0).baseAmount; +module.exports.__wbg_contribution_827bb47a065fcda8 = function (arg0) { + const ret = getObject(arg0).contribution; return addHeapObject(ret); }; -module.exports.__wbg_bondamount_4a1b6715a88a1af5 = function (arg0) { - const ret = getObject(arg0).bondAmount; +module.exports.__wbg_asbase_c69994d06b95cf41 = function (arg0) { + const ret = getObject(arg0).asBase; + return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; +}; +module.exports.__wbg_minlpshareprice_522f852e3d0dbc56 = function (arg0) { + const ret = getObject(arg0).minLpSharePrice; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +}; +module.exports.__wbg_minapr_3dff7e1d835bb9bb = function (arg0) { + const ret = getObject(arg0).minApr; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +}; +module.exports.__wbg_maxapr_4a9fcb6fd56a97c2 = function (arg0) { + const ret = getObject(arg0).maxApr; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +}; +module.exports.__wbg_budget_411d63fb6d455c8c = function (arg0) { + const ret = getObject(arg0).budget; return addHeapObject(ret); }; -module.exports.__wbg_maturitytime_5f679a8e6294b657 = function (arg0) { - const ret = getObject(arg0).maturityTime; +module.exports.__wbg_openvaultshareprice_b5b2c195d86f564e = function (arg0) { + const ret = getObject(arg0).openVaultSharePrice; return addHeapObject(ret); }; -module.exports.__wbg_currenttime_4804f69351b47e68 = function (arg0) { - const ret = getObject(arg0).currentTime; +module.exports.__wbg_checkpointexposure_ed1ec486972160ed = function (arg0) { + const ret = getObject(arg0).checkpointExposure; + return addHeapObject(ret); +}; +module.exports.__wbg_conservativeprice_a798c8641c9f68b5 = function (arg0) { + const ret = getObject(arg0).conservativePrice; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +}; +module.exports.__wbg_maxiterations_875ff04d0eb27eb5 = function (arg0) { + const ret = getObject(arg0).maxIterations; + return isLikeNone(ret) ? 0xFFFFFF : ret; +}; +module.exports.__wbg_checkpointexposure_6a0c0ace4938689d = function (arg0) { + const ret = getObject(arg0).checkpointExposure; return addHeapObject(ret); }; +module.exports.__wbg_maxiterations_1bf0e0dcf03e1c61 = function (arg0, arg1) { + const ret = getObject(arg1).maxIterations; + getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); +}; module.exports.__wbg_bondamount_adb961c916209325 = function (arg0) { const ret = getObject(arg0).bondAmount; return addHeapObject(ret); @@ -966,37 +999,33 @@ module.exports.__wbg_governancezombie_2613b3ec9d20a98e = function (arg0) { const ret = getObject(arg0).governanceZombie; return addHeapObject(ret); }; -module.exports.__wbg_baseamount_0bb08f6826421306 = function (arg0) { +module.exports.__wbg_baseamount_e87d794e00235079 = function (arg0) { const ret = getObject(arg0).baseAmount; return addHeapObject(ret); }; -module.exports.__wbg_baseamount_de339731adb4a217 = function (arg0) { +module.exports.__wbg_baseamount_000e5dc53848689e = function (arg0) { const ret = getObject(arg0).baseAmount; return addHeapObject(ret); }; -module.exports.__wbg_currenttime_783878d66b9e5347 = function (arg0) { - const ret = getObject(arg0).currentTime; +module.exports.__wbg_bondamount_4a1b6715a88a1af5 = function (arg0) { + const ret = getObject(arg0).bondAmount; return addHeapObject(ret); }; -module.exports.__wbg_contribution_827bb47a065fcda8 = function (arg0) { - const ret = getObject(arg0).contribution; +module.exports.__wbg_maturitytime_5f679a8e6294b657 = function (arg0) { + const ret = getObject(arg0).maturityTime; return addHeapObject(ret); }; -module.exports.__wbg_asbase_c69994d06b95cf41 = function (arg0) { - const ret = getObject(arg0).asBase; - return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; -}; -module.exports.__wbg_minlpshareprice_522f852e3d0dbc56 = function (arg0) { - const ret = getObject(arg0).minLpSharePrice; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +module.exports.__wbg_currenttime_4804f69351b47e68 = function (arg0) { + const ret = getObject(arg0).currentTime; + return addHeapObject(ret); }; -module.exports.__wbg_minapr_3dff7e1d835bb9bb = function (arg0) { - const ret = getObject(arg0).minApr; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +module.exports.__wbg_bondamount_160dfcbce6f94197 = function (arg0) { + const ret = getObject(arg0).bondAmount; + return addHeapObject(ret); }; -module.exports.__wbg_maxapr_4a9fcb6fd56a97c2 = function (arg0) { - const ret = getObject(arg0).maxApr; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +module.exports.__wbg_bondamount_c2119cc6cbc5714d = function (arg0) { + const ret = getObject(arg0).bondAmount; + return addHeapObject(ret); }; module.exports.__wbg_openvaultshareprice_aea624f21095f333 = function (arg0) { const ret = getObject(arg0).openVaultSharePrice; @@ -1154,14 +1183,6 @@ module.exports.__wbg_zombiesharereserves_ad6803fc8cc083a9 = function (arg0) { const ret = getObject(arg0).zombieShareReserves; return addHeapObject(ret); }; -module.exports.__wbg_bondamount_160dfcbce6f94197 = function (arg0) { - const ret = getObject(arg0).bondAmount; - return addHeapObject(ret); -}; -module.exports.__wbg_bondamount_c2119cc6cbc5714d = function (arg0) { - const ret = getObject(arg0).bondAmount; - return addHeapObject(ret); -}; module.exports.__wbg_budget_ce52ea6f48a1dc5f = function (arg0) { const ret = getObject(arg0).budget; return addHeapObject(ret); @@ -1174,35 +1195,14 @@ module.exports.__wbg_maxiterations_92ded114cfb45384 = function (arg0) { const ret = getObject(arg0).maxIterations; return isLikeNone(ret) ? 0xFFFFFF : ret; }; -module.exports.__wbg_budget_411d63fb6d455c8c = function (arg0) { - const ret = getObject(arg0).budget; - return addHeapObject(ret); -}; -module.exports.__wbg_openvaultshareprice_b5b2c195d86f564e = function (arg0) { - const ret = getObject(arg0).openVaultSharePrice; - return addHeapObject(ret); -}; -module.exports.__wbg_checkpointexposure_ed1ec486972160ed = function (arg0) { - const ret = getObject(arg0).checkpointExposure; +module.exports.__wbg_baseamount_0bb08f6826421306 = function (arg0) { + const ret = getObject(arg0).baseAmount; return addHeapObject(ret); }; -module.exports.__wbg_conservativeprice_a798c8641c9f68b5 = function (arg0) { - const ret = getObject(arg0).conservativePrice; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -}; -module.exports.__wbg_maxiterations_875ff04d0eb27eb5 = function (arg0) { - const ret = getObject(arg0).maxIterations; - return isLikeNone(ret) ? 0xFFFFFF : ret; -}; -module.exports.__wbg_checkpointexposure_6a0c0ace4938689d = function (arg0) { - const ret = getObject(arg0).checkpointExposure; +module.exports.__wbg_baseamount_de339731adb4a217 = function (arg0) { + const ret = getObject(arg0).baseAmount; return addHeapObject(ret); }; -module.exports.__wbg_maxiterations_1bf0e0dcf03e1c61 = function (arg0, arg1) { - const ret = getObject(arg1).maxIterations; - getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; module.exports.__wbg_new_abda76e883ba8a5f = function () { const ret = new Error(); return addHeapObject(ret); @@ -1225,14 +1225,6 @@ module.exports.__wbg_error_f851667af71bcfc6 = function (arg0, arg1) { wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); } }; -module.exports.__wbindgen_string_get = function (arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof obj === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; module.exports.__wbindgen_number_new = function (arg0) { const ret = arg0; return addHeapObject(ret); @@ -1241,6 +1233,14 @@ module.exports.__wbindgen_ge = function (arg0, arg1) { const ret = getObject(arg0) >= getObject(arg1); return ret; }; +module.exports.__wbindgen_string_get = function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; module.exports.__wbg_BigInt_42b692c18e1ac6d6 = function (arg0) { const ret = BigInt(getObject(arg0)); return addHeapObject(ret); diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts b/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts index 52102eee4..b4addffa2 100644 --- a/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts +++ b/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts @@ -38,24 +38,20 @@ export function spotRate(params: IStateParams): bigint; */ export function calcAprGivenFixedPrice(params: ICalcAprGivenPriceParams): bigint; /** -* Calculates the curve fee paid in bonds by traders when they open a long. -*/ -export function openLongCurveFee(params: IOpenLongCurveFeeParams): bigint; -/** -* Calculates the governance fee paid in bonds by traders when they open a -* long. +* Calculates the amount of lp shares the trader will receive after adding +* liquidity. */ -export function openLongGovernanceFee(params: IOpenLongGovernanceFeeParams): bigint; +export function calcAddLiquidity(params: ICalcAddLiquidityParams): bigint; /** -* Calculates the curve fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given a budget and +* the current state of the pool. */ -export function closeLongCurveFee(params: IClosePositionParams): bigint; +export function maxShort(params: IMaxShortParams): bigint; /** -* Calculates the flat fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given the current +* state of the pool. */ -export function closeLongFlatFee(params: IClosePositionParams): bigint; +export function absoluteMaxShort(params: IAbsoluteMaxShortParams): bigint; /** * Calculates the amount of base the trader will need to deposit for a short of * a given size. @@ -77,37 +73,24 @@ export function calcImpliedRate(params: IImpliedRateParams): bigint; */ export function shortBondsGivenDeposit(params: IShortBondsGivenDepositParams): bigint; /** -* Calculates the long amount that will be opened for a given base amount. -*/ -export function calcOpenLong(params: IOpenLongParams): bigint; -/** -* Calculates the spot price after opening a Hyperdrive long. +* Calculates the curve fee paid in bonds by traders when they open a long. */ -export function spotPriceAfterLong(params: ISpotPriceAfterLongParams): bigint; +export function openLongCurveFee(params: IOpenLongCurveFeeParams): bigint; /** -* Calculates the amount of lp shares the trader will receive after adding -* liquidity. +* Calculates the governance fee paid in bonds by traders when they open a +* long. */ -export function calcAddLiquidity(params: ICalcAddLiquidityParams): bigint; +export function openLongGovernanceFee(params: IOpenLongGovernanceFeeParams): bigint; /** -* Calculates the amount of shares the trader will receive after fees for -* closing a short +* Calculates the curve fee paid in shares or base by traders when they close a +* long. */ -export function calcCloseShort(params: ICloseShortParams): bigint; +export function closeLongCurveFee(params: IClosePositionParams): bigint; /** -* Calculates the market value of a short position using the equation: -* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + -* flat_fees_returned -* -* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t -* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * -* t * flat_fee -* -* dy = bond amount c = closeVaultSharePrice (current if non-matured, or -* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = -* timeRemaining +* Calculates the flat fee paid in shares or base by traders when they close a +* long. */ -export function calcShortMarketValue(params: ICloseShortParams): bigint; +export function closeLongFlatFee(params: IClosePositionParams): bigint; /** */ export function calcCloseLong(params: IClosePositionParams): bigint; @@ -128,20 +111,37 @@ export function closeShortCurveFee(params: IClosePositionParams): bigint; */ export function closeShortFlatFee(params: IClosePositionParams): bigint; /** +* Calculates the amount of shares the trader will receive after fees for +* closing a short +*/ +export function calcCloseShort(params: ICloseShortParams): bigint; +/** +* Calculates the market value of a short position using the equation: +* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + +* flat_fees_returned +* +* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t +* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * +* t * flat_fee +* +* dy = bond amount c = closeVaultSharePrice (current if non-matured, or +* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = +* timeRemaining +*/ +export function calcShortMarketValue(params: ICloseShortParams): bigint; +/** * Calculates the max amount of base that can be used to open a long given a * budget. */ export function maxLong(params: IMaxLongParams): bigint; /** -* Calculates the max amount of bonds that can be shorted given a budget and -* the current state of the pool. +* Calculates the long amount that will be opened for a given base amount. */ -export function maxShort(params: IMaxShortParams): bigint; +export function calcOpenLong(params: IOpenLongParams): bigint; /** -* Calculates the max amount of bonds that can be shorted given the current -* state of the pool. +* Calculates the spot price after opening a Hyperdrive long. */ -export function absoluteMaxShort(params: IAbsoluteMaxShortParams): bigint; +export function spotPriceAfterLong(params: ISpotPriceAfterLongParams): bigint; interface ICalcHprGivenAprParams { /** * The annualized rate. @@ -182,18 +182,76 @@ interface ICalcAprGivenPriceParams { positionDuration: bigint; } -interface IOpenLongCurveFeeParams extends IStateParams { +interface ICalcAddLiquidityParams extends IStateParams { /** - * The amount of base tokens to spend. + * The current timestamp (in seconds). */ - baseAmount: bigint; + currentTime: bigint; + /** + * The amount of base or shares to contribute. + */ + contribution: bigint; + /** + * True if the contribution is in base, false if it's in shares. + * + * Default: `true` + */ + asBase?: boolean | undefined; + /** + * The minimum share price the trader will accept. + * + * Default: `0` + */ + minLpSharePrice?: bigint | undefined; + /** + * The minimum APR the trader will accept. + * + * Default: `0` + */ + minApr?: bigint | undefined; + /** + * The maximum APR the trader will accept. + * + * Default: max uint256 + */ + maxApr?: bigint | undefined; } -interface IOpenLongGovernanceFeeParams extends IStateParams { +interface IMaxShortParams extends IStateParams { /** - * The amount of base tokens to spend. + * The maximum budget for the short. */ - baseAmount: bigint; + budget: bigint; + /** + * The open share price of the pool's current checkpoint. + */ + openVaultSharePrice: bigint; + /** + * The exposure of the pool's current checkpoint. + */ + checkpointExposure: bigint; + /** + * A lower bound on the realized price that the short will pay. This is + * used to help the algorithm converge faster in real world situations. If + * this is `None`, then we'll use the theoretical worst case realized + * price. + */ + conservativePrice?: bigint | undefined; + /** + * The maximum number of iterations to run the Newton's method for. + */ + maxIterations?: number | undefined; +} + +interface IAbsoluteMaxShortParams extends IStateParams { + /** + * The exposure of the pool's current checkpoint. + */ + checkpointExposure: bigint; + /** + * The maximum number of iterations to run the Newton's method for. + */ + maxIterations?: usize | undefined; } interface IOpenShortParams extends IStateParams { @@ -256,53 +314,32 @@ interface IShortBondsGivenDepositParams extends IStateParams { maybeMaxIterations?: number | undefined; } -interface IOpenLongParams extends IStateParams { +interface IOpenLongCurveFeeParams extends IStateParams { /** - * The amount of base tokens to open a long for. + * The amount of base tokens to spend. */ baseAmount: bigint; } -interface ISpotPriceAfterLongParams extends IStateParams { +interface IOpenLongGovernanceFeeParams extends IStateParams { /** - * The amount of base tokens to open a long for. + * The amount of base tokens to spend. */ baseAmount: bigint; } -interface ICalcAddLiquidityParams extends IStateParams { - /** - * The current timestamp (in seconds). - */ - currentTime: bigint; - /** - * The amount of base or shares to contribute. - */ - contribution: bigint; - /** - * True if the contribution is in base, false if it's in shares. - * - * Default: `true` - */ - asBase?: boolean | undefined; - /** - * The minimum share price the trader will accept. - * - * Default: `0` - */ - minLpSharePrice?: bigint | undefined; +interface IOpenShortCurveFeeParams extends IStateParams { /** - * The minimum APR the trader will accept. - * - * Default: `0` + * The number of bonds to short. */ - minApr?: bigint | undefined; + bondAmount: bigint; +} + +interface IOpenShortFlatFeeParams extends IStateParams { /** - * The maximum APR the trader will accept. - * - * Default: max uint256 + * The number of bonds to short. */ - maxApr?: bigint | undefined; + bondAmount: bigint; } interface ICloseShortParams extends IClosePositionParams { @@ -387,20 +424,6 @@ interface IClosePositionParams extends IStateParams { currentTime: bigint; } -interface IOpenShortCurveFeeParams extends IStateParams { - /** - * The number of bonds to short. - */ - bondAmount: bigint; -} - -interface IOpenShortFlatFeeParams extends IStateParams { - /** - * The number of bonds to short. - */ - bondAmount: bigint; -} - interface IMaxLongParams extends IStateParams { /** * The maximum amount of base tokens that can be spent. @@ -416,40 +439,17 @@ interface IMaxLongParams extends IStateParams { maxIterations?: number | undefined; } -interface IMaxShortParams extends IStateParams { - /** - * The maximum budget for the short. - */ - budget: bigint; - /** - * The open share price of the pool's current checkpoint. - */ - openVaultSharePrice: bigint; - /** - * The exposure of the pool's current checkpoint. - */ - checkpointExposure: bigint; - /** - * A lower bound on the realized price that the short will pay. This is - * used to help the algorithm converge faster in real world situations. If - * this is `None`, then we'll use the theoretical worst case realized - * price. - */ - conservativePrice?: bigint | undefined; +interface IOpenLongParams extends IStateParams { /** - * The maximum number of iterations to run the Newton's method for. + * The amount of base tokens to open a long for. */ - maxIterations?: number | undefined; + baseAmount: bigint; } -interface IAbsoluteMaxShortParams extends IStateParams { - /** - * The exposure of the pool's current checkpoint. - */ - checkpointExposure: bigint; +interface ISpotPriceAfterLongParams extends IStateParams { /** - * The maximum number of iterations to run the Newton's method for. + * The amount of base tokens to open a long for. */ - maxIterations?: usize | undefined; + baseAmount: bigint; } diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm.js b/packages/hyperdrive-wasm/hyperdrive_wasm.js index da61af24b..fc115c5cd 100644 --- a/packages/hyperdrive-wasm/hyperdrive_wasm.js +++ b/packages/hyperdrive-wasm/hyperdrive_wasm.js @@ -319,32 +319,13 @@ export function calcAprGivenFixedPrice(params) { } /** -* Calculates the curve fee paid in bonds by traders when they open a long. -*/ -export function openLongCurveFee(params) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openLongCurveFee(retptr, addHeapObject(params)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } -} - -/** -* Calculates the governance fee paid in bonds by traders when they open a -* long. +* Calculates the amount of lp shares the trader will receive after adding +* liquidity. */ -export function openLongGovernanceFee(params) { +export function calcAddLiquidity(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openLongGovernanceFee(retptr, addHeapObject(params)); + wasm.calcAddLiquidity(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -358,13 +339,13 @@ export function openLongGovernanceFee(params) { } /** -* Calculates the curve fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given a budget and +* the current state of the pool. */ -export function closeLongCurveFee(params) { +export function maxShort(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeLongCurveFee(retptr, addHeapObject(params)); + wasm.maxShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -378,13 +359,13 @@ export function closeLongCurveFee(params) { } /** -* Calculates the flat fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given the current +* state of the pool. */ -export function closeLongFlatFee(params) { +export function absoluteMaxShort(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeLongFlatFee(retptr, addHeapObject(params)); + wasm.absoluteMaxShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -478,12 +459,12 @@ export function shortBondsGivenDeposit(params) { } /** -* Calculates the long amount that will be opened for a given base amount. +* Calculates the curve fee paid in bonds by traders when they open a long. */ -export function calcOpenLong(params) { +export function openLongCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcOpenLong(retptr, addHeapObject(params)); + wasm.openLongCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -497,12 +478,13 @@ export function calcOpenLong(params) { } /** -* Calculates the spot price after opening a Hyperdrive long. +* Calculates the governance fee paid in bonds by traders when they open a +* long. */ -export function spotPriceAfterLong(params) { +export function openLongGovernanceFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.spotPriceAfterLong(retptr, addHeapObject(params)); + wasm.openLongGovernanceFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -516,13 +498,13 @@ export function spotPriceAfterLong(params) { } /** -* Calculates the amount of lp shares the trader will receive after adding -* liquidity. +* Calculates the curve fee paid in shares or base by traders when they close a +* long. */ -export function calcAddLiquidity(params) { +export function closeLongCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcAddLiquidity(retptr, addHeapObject(params)); + wasm.closeLongCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -536,13 +518,13 @@ export function calcAddLiquidity(params) { } /** -* Calculates the amount of shares the trader will receive after fees for -* closing a short +* Calculates the flat fee paid in shares or base by traders when they close a +* long. */ -export function calcCloseShort(params) { +export function closeLongFlatFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcCloseShort(retptr, addHeapObject(params)); + wasm.closeLongFlatFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -556,22 +538,11 @@ export function calcCloseShort(params) { } /** -* Calculates the market value of a short position using the equation: -* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + -* flat_fees_returned -* -* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t -* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * -* t * flat_fee -* -* dy = bond amount c = closeVaultSharePrice (current if non-matured, or -* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = -* timeRemaining */ -export function calcShortMarketValue(params) { +export function calcCloseLong(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcShortMarketValue(retptr, addHeapObject(params)); + wasm.calcCloseLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -585,11 +556,12 @@ export function calcShortMarketValue(params) { } /** +* Calculates the curve fee paid by the trader when they open a short. */ -export function calcCloseLong(params) { +export function openShortCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcCloseLong(retptr, addHeapObject(params)); + wasm.openShortCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -603,12 +575,12 @@ export function calcCloseLong(params) { } /** -* Calculates the curve fee paid by the trader when they open a short. +* Calculates the governance fee paid by the trader when they open a short. */ -export function openShortCurveFee(params) { +export function openShortGovernanceFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openShortCurveFee(retptr, addHeapObject(params)); + wasm.openShortGovernanceFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -622,12 +594,12 @@ export function openShortCurveFee(params) { } /** -* Calculates the governance fee paid by the trader when they open a short. +* Calculates the curve fee paid by the trader when they close a short. */ -export function openShortGovernanceFee(params) { +export function closeShortCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openShortGovernanceFee(retptr, addHeapObject(params)); + wasm.closeShortCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -641,12 +613,12 @@ export function openShortGovernanceFee(params) { } /** -* Calculates the curve fee paid by the trader when they close a short. +* Calculates the flat fee paid by the trader when they close a short. */ -export function closeShortCurveFee(params) { +export function closeShortFlatFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeShortCurveFee(retptr, addHeapObject(params)); + wasm.closeShortFlatFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -660,12 +632,42 @@ export function closeShortCurveFee(params) { } /** -* Calculates the flat fee paid by the trader when they close a short. +* Calculates the amount of shares the trader will receive after fees for +* closing a short */ -export function closeShortFlatFee(params) { +export function calcCloseShort(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeShortFlatFee(retptr, addHeapObject(params)); + wasm.calcCloseShort(retptr, addHeapObject(params)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Calculates the market value of a short position using the equation: +* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + +* flat_fees_returned +* +* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t +* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * +* t * flat_fee +* +* dy = bond amount c = closeVaultSharePrice (current if non-matured, or +* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = +* timeRemaining +*/ +export function calcShortMarketValue(params) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.calcShortMarketValue(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -699,13 +701,12 @@ export function maxLong(params) { } /** -* Calculates the max amount of bonds that can be shorted given a budget and -* the current state of the pool. +* Calculates the long amount that will be opened for a given base amount. */ -export function maxShort(params) { +export function calcOpenLong(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.maxShort(retptr, addHeapObject(params)); + wasm.calcOpenLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -719,13 +720,12 @@ export function maxShort(params) { } /** -* Calculates the max amount of bonds that can be shorted given the current -* state of the pool. +* Calculates the spot price after opening a Hyperdrive long. */ -export function absoluteMaxShort(params) { +export function spotPriceAfterLong(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.absoluteMaxShort(retptr, addHeapObject(params)); + wasm.spotPriceAfterLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -798,31 +798,72 @@ export function __wbg_positionduration_fc18b815658726d6(arg0) { return addHeapObject(ret); } ; -export function __wbg_baseamount_e87d794e00235079(arg0) { - const ret = getObject(arg0).baseAmount; +export function __wbg_currenttime_783878d66b9e5347(arg0) { + const ret = getObject(arg0).currentTime; return addHeapObject(ret); } ; -export function __wbg_baseamount_000e5dc53848689e(arg0) { - const ret = getObject(arg0).baseAmount; +export function __wbg_contribution_827bb47a065fcda8(arg0) { + const ret = getObject(arg0).contribution; return addHeapObject(ret); } ; -export function __wbg_bondamount_4a1b6715a88a1af5(arg0) { - const ret = getObject(arg0).bondAmount; +export function __wbg_asbase_c69994d06b95cf41(arg0) { + const ret = getObject(arg0).asBase; + return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; +} +; +export function __wbg_minlpshareprice_522f852e3d0dbc56(arg0) { + const ret = getObject(arg0).minLpSharePrice; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_minapr_3dff7e1d835bb9bb(arg0) { + const ret = getObject(arg0).minApr; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_maxapr_4a9fcb6fd56a97c2(arg0) { + const ret = getObject(arg0).maxApr; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_budget_411d63fb6d455c8c(arg0) { + const ret = getObject(arg0).budget; return addHeapObject(ret); } ; -export function __wbg_maturitytime_5f679a8e6294b657(arg0) { - const ret = getObject(arg0).maturityTime; +export function __wbg_openvaultshareprice_b5b2c195d86f564e(arg0) { + const ret = getObject(arg0).openVaultSharePrice; return addHeapObject(ret); } ; -export function __wbg_currenttime_4804f69351b47e68(arg0) { - const ret = getObject(arg0).currentTime; +export function __wbg_checkpointexposure_ed1ec486972160ed(arg0) { + const ret = getObject(arg0).checkpointExposure; return addHeapObject(ret); } ; +export function __wbg_conservativeprice_a798c8641c9f68b5(arg0) { + const ret = getObject(arg0).conservativePrice; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_maxiterations_875ff04d0eb27eb5(arg0) { + const ret = getObject(arg0).maxIterations; + return isLikeNone(ret) ? 0xFFFFFF : ret; +} +; +export function __wbg_checkpointexposure_6a0c0ace4938689d(arg0) { + const ret = getObject(arg0).checkpointExposure; + return addHeapObject(ret); +} +; +export function __wbg_maxiterations_1bf0e0dcf03e1c61(arg0, arg1) { + const ret = getObject(arg1).maxIterations; + getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); +} +; export function __wbg_bondamount_adb961c916209325(arg0) { const ret = getObject(arg0).bondAmount; return addHeapObject(ret); @@ -898,44 +939,39 @@ export function __wbg_governancezombie_2613b3ec9d20a98e(arg0) { return addHeapObject(ret); } ; -export function __wbg_baseamount_0bb08f6826421306(arg0) { +export function __wbg_baseamount_e87d794e00235079(arg0) { const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_baseamount_de339731adb4a217(arg0) { +export function __wbg_baseamount_000e5dc53848689e(arg0) { const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_currenttime_783878d66b9e5347(arg0) { - const ret = getObject(arg0).currentTime; +export function __wbg_bondamount_4a1b6715a88a1af5(arg0) { + const ret = getObject(arg0).bondAmount; return addHeapObject(ret); } ; -export function __wbg_contribution_827bb47a065fcda8(arg0) { - const ret = getObject(arg0).contribution; +export function __wbg_maturitytime_5f679a8e6294b657(arg0) { + const ret = getObject(arg0).maturityTime; return addHeapObject(ret); } ; -export function __wbg_asbase_c69994d06b95cf41(arg0) { - const ret = getObject(arg0).asBase; - return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; -} -; -export function __wbg_minlpshareprice_522f852e3d0dbc56(arg0) { - const ret = getObject(arg0).minLpSharePrice; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +export function __wbg_currenttime_4804f69351b47e68(arg0) { + const ret = getObject(arg0).currentTime; + return addHeapObject(ret); } ; -export function __wbg_minapr_3dff7e1d835bb9bb(arg0) { - const ret = getObject(arg0).minApr; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +export function __wbg_bondamount_160dfcbce6f94197(arg0) { + const ret = getObject(arg0).bondAmount; + return addHeapObject(ret); } ; -export function __wbg_maxapr_4a9fcb6fd56a97c2(arg0) { - const ret = getObject(arg0).maxApr; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +export function __wbg_bondamount_c2119cc6cbc5714d(arg0) { + const ret = getObject(arg0).bondAmount; + return addHeapObject(ret); } ; export function __wbg_openvaultshareprice_aea624f21095f333(arg0) { @@ -1127,16 +1163,6 @@ export function __wbg_zombiesharereserves_ad6803fc8cc083a9(arg0) { return addHeapObject(ret); } ; -export function __wbg_bondamount_160dfcbce6f94197(arg0) { - const ret = getObject(arg0).bondAmount; - return addHeapObject(ret); -} -; -export function __wbg_bondamount_c2119cc6cbc5714d(arg0) { - const ret = getObject(arg0).bondAmount; - return addHeapObject(ret); -} -; export function __wbg_budget_ce52ea6f48a1dc5f(arg0) { const ret = getObject(arg0).budget; return addHeapObject(ret); @@ -1152,42 +1178,16 @@ export function __wbg_maxiterations_92ded114cfb45384(arg0) { return isLikeNone(ret) ? 0xFFFFFF : ret; } ; -export function __wbg_budget_411d63fb6d455c8c(arg0) { - const ret = getObject(arg0).budget; - return addHeapObject(ret); -} -; -export function __wbg_openvaultshareprice_b5b2c195d86f564e(arg0) { - const ret = getObject(arg0).openVaultSharePrice; - return addHeapObject(ret); -} -; -export function __wbg_checkpointexposure_ed1ec486972160ed(arg0) { - const ret = getObject(arg0).checkpointExposure; +export function __wbg_baseamount_0bb08f6826421306(arg0) { + const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_conservativeprice_a798c8641c9f68b5(arg0) { - const ret = getObject(arg0).conservativePrice; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -} -; -export function __wbg_maxiterations_875ff04d0eb27eb5(arg0) { - const ret = getObject(arg0).maxIterations; - return isLikeNone(ret) ? 0xFFFFFF : ret; -} -; -export function __wbg_checkpointexposure_6a0c0ace4938689d(arg0) { - const ret = getObject(arg0).checkpointExposure; +export function __wbg_baseamount_de339731adb4a217(arg0) { + const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_maxiterations_1bf0e0dcf03e1c61(arg0, arg1) { - const ret = getObject(arg1).maxIterations; - getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -} -; export function __wbg_new_abda76e883ba8a5f() { const ret = new Error(); return addHeapObject(ret); @@ -1213,15 +1213,6 @@ export function __wbg_error_f851667af71bcfc6(arg0, arg1) { } } ; -export function __wbindgen_string_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof obj === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -} -; export function __wbindgen_number_new(arg0) { const ret = arg0; return addHeapObject(ret); @@ -1232,6 +1223,15 @@ export function __wbindgen_ge(arg0, arg1) { return ret; } ; +export function __wbindgen_string_get(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +} +; export function __wbg_BigInt_42b692c18e1ac6d6(arg0) { const ret = BigInt(getObject(arg0)); return addHeapObject(ret); @@ -1293,27 +1293,27 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].presentValue=presentValue imports["./hyperdrive_wasm_bg.js"].spotRate=spotRate imports["./hyperdrive_wasm_bg.js"].calcAprGivenFixedPrice=calcAprGivenFixedPrice - imports["./hyperdrive_wasm_bg.js"].openLongCurveFee=openLongCurveFee - imports["./hyperdrive_wasm_bg.js"].openLongGovernanceFee=openLongGovernanceFee - imports["./hyperdrive_wasm_bg.js"].closeLongCurveFee=closeLongCurveFee - imports["./hyperdrive_wasm_bg.js"].closeLongFlatFee=closeLongFlatFee + imports["./hyperdrive_wasm_bg.js"].calcAddLiquidity=calcAddLiquidity + imports["./hyperdrive_wasm_bg.js"].maxShort=maxShort + imports["./hyperdrive_wasm_bg.js"].absoluteMaxShort=absoluteMaxShort imports["./hyperdrive_wasm_bg.js"].calcOpenShort=calcOpenShort imports["./hyperdrive_wasm_bg.js"].spotPriceAfterShort=spotPriceAfterShort imports["./hyperdrive_wasm_bg.js"].calcImpliedRate=calcImpliedRate imports["./hyperdrive_wasm_bg.js"].shortBondsGivenDeposit=shortBondsGivenDeposit - imports["./hyperdrive_wasm_bg.js"].calcOpenLong=calcOpenLong - imports["./hyperdrive_wasm_bg.js"].spotPriceAfterLong=spotPriceAfterLong - imports["./hyperdrive_wasm_bg.js"].calcAddLiquidity=calcAddLiquidity - imports["./hyperdrive_wasm_bg.js"].calcCloseShort=calcCloseShort - imports["./hyperdrive_wasm_bg.js"].calcShortMarketValue=calcShortMarketValue + imports["./hyperdrive_wasm_bg.js"].openLongCurveFee=openLongCurveFee + imports["./hyperdrive_wasm_bg.js"].openLongGovernanceFee=openLongGovernanceFee + imports["./hyperdrive_wasm_bg.js"].closeLongCurveFee=closeLongCurveFee + imports["./hyperdrive_wasm_bg.js"].closeLongFlatFee=closeLongFlatFee imports["./hyperdrive_wasm_bg.js"].calcCloseLong=calcCloseLong imports["./hyperdrive_wasm_bg.js"].openShortCurveFee=openShortCurveFee imports["./hyperdrive_wasm_bg.js"].openShortGovernanceFee=openShortGovernanceFee imports["./hyperdrive_wasm_bg.js"].closeShortCurveFee=closeShortCurveFee imports["./hyperdrive_wasm_bg.js"].closeShortFlatFee=closeShortFlatFee + imports["./hyperdrive_wasm_bg.js"].calcCloseShort=calcCloseShort + imports["./hyperdrive_wasm_bg.js"].calcShortMarketValue=calcShortMarketValue imports["./hyperdrive_wasm_bg.js"].maxLong=maxLong - imports["./hyperdrive_wasm_bg.js"].maxShort=maxShort - imports["./hyperdrive_wasm_bg.js"].absoluteMaxShort=absoluteMaxShort + imports["./hyperdrive_wasm_bg.js"].calcOpenLong=calcOpenLong + imports["./hyperdrive_wasm_bg.js"].spotPriceAfterLong=spotPriceAfterLong imports["./hyperdrive_wasm_bg.js"].__wbindgen_object_drop_ref=__wbindgen_object_drop_ref imports["./hyperdrive_wasm_bg.js"].__wbindgen_string_new=__wbindgen_string_new imports["./hyperdrive_wasm_bg.js"].__wbg_poolinfo_cdd03f3e3de339c9=__wbg_poolinfo_cdd03f3e3de339c9 @@ -1325,11 +1325,19 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_0d58e19d27e1b18f=__wbg_currenttime_0d58e19d27e1b18f imports["./hyperdrive_wasm_bg.js"].__wbg_price_dc4d83fd7bb352eb=__wbg_price_dc4d83fd7bb352eb imports["./hyperdrive_wasm_bg.js"].__wbg_positionduration_fc18b815658726d6=__wbg_positionduration_fc18b815658726d6 - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_e87d794e00235079=__wbg_baseamount_e87d794e00235079 - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_000e5dc53848689e=__wbg_baseamount_000e5dc53848689e - imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_4a1b6715a88a1af5=__wbg_bondamount_4a1b6715a88a1af5 - imports["./hyperdrive_wasm_bg.js"].__wbg_maturitytime_5f679a8e6294b657=__wbg_maturitytime_5f679a8e6294b657 - imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_4804f69351b47e68=__wbg_currenttime_4804f69351b47e68 + imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_783878d66b9e5347=__wbg_currenttime_783878d66b9e5347 + imports["./hyperdrive_wasm_bg.js"].__wbg_contribution_827bb47a065fcda8=__wbg_contribution_827bb47a065fcda8 + imports["./hyperdrive_wasm_bg.js"].__wbg_asbase_c69994d06b95cf41=__wbg_asbase_c69994d06b95cf41 + imports["./hyperdrive_wasm_bg.js"].__wbg_minlpshareprice_522f852e3d0dbc56=__wbg_minlpshareprice_522f852e3d0dbc56 + imports["./hyperdrive_wasm_bg.js"].__wbg_minapr_3dff7e1d835bb9bb=__wbg_minapr_3dff7e1d835bb9bb + imports["./hyperdrive_wasm_bg.js"].__wbg_maxapr_4a9fcb6fd56a97c2=__wbg_maxapr_4a9fcb6fd56a97c2 + imports["./hyperdrive_wasm_bg.js"].__wbg_budget_411d63fb6d455c8c=__wbg_budget_411d63fb6d455c8c + imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_b5b2c195d86f564e=__wbg_openvaultshareprice_b5b2c195d86f564e + imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_ed1ec486972160ed=__wbg_checkpointexposure_ed1ec486972160ed + imports["./hyperdrive_wasm_bg.js"].__wbg_conservativeprice_a798c8641c9f68b5=__wbg_conservativeprice_a798c8641c9f68b5 + imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_875ff04d0eb27eb5=__wbg_maxiterations_875ff04d0eb27eb5 + imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_6a0c0ace4938689d=__wbg_checkpointexposure_6a0c0ace4938689d + imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_1bf0e0dcf03e1c61=__wbg_maxiterations_1bf0e0dcf03e1c61 imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_adb961c916209325=__wbg_bondamount_adb961c916209325 imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_ae7afad2bb4cf6c4=__wbg_openvaultshareprice_ae7afad2bb4cf6c4 imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_5d944ef949f8a949=__wbg_bondamount_5d944ef949f8a949 @@ -1345,14 +1353,13 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].__wbg_flat_01a61907c1571c7c=__wbg_flat_01a61907c1571c7c imports["./hyperdrive_wasm_bg.js"].__wbg_governancelp_f4751614810023a7=__wbg_governancelp_f4751614810023a7 imports["./hyperdrive_wasm_bg.js"].__wbg_governancezombie_2613b3ec9d20a98e=__wbg_governancezombie_2613b3ec9d20a98e - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_0bb08f6826421306=__wbg_baseamount_0bb08f6826421306 - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_de339731adb4a217=__wbg_baseamount_de339731adb4a217 - imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_783878d66b9e5347=__wbg_currenttime_783878d66b9e5347 - imports["./hyperdrive_wasm_bg.js"].__wbg_contribution_827bb47a065fcda8=__wbg_contribution_827bb47a065fcda8 - imports["./hyperdrive_wasm_bg.js"].__wbg_asbase_c69994d06b95cf41=__wbg_asbase_c69994d06b95cf41 - imports["./hyperdrive_wasm_bg.js"].__wbg_minlpshareprice_522f852e3d0dbc56=__wbg_minlpshareprice_522f852e3d0dbc56 - imports["./hyperdrive_wasm_bg.js"].__wbg_minapr_3dff7e1d835bb9bb=__wbg_minapr_3dff7e1d835bb9bb - imports["./hyperdrive_wasm_bg.js"].__wbg_maxapr_4a9fcb6fd56a97c2=__wbg_maxapr_4a9fcb6fd56a97c2 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_e87d794e00235079=__wbg_baseamount_e87d794e00235079 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_000e5dc53848689e=__wbg_baseamount_000e5dc53848689e + imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_4a1b6715a88a1af5=__wbg_bondamount_4a1b6715a88a1af5 + imports["./hyperdrive_wasm_bg.js"].__wbg_maturitytime_5f679a8e6294b657=__wbg_maturitytime_5f679a8e6294b657 + imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_4804f69351b47e68=__wbg_currenttime_4804f69351b47e68 + imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_160dfcbce6f94197=__wbg_bondamount_160dfcbce6f94197 + imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_c2119cc6cbc5714d=__wbg_bondamount_c2119cc6cbc5714d imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_aea624f21095f333=__wbg_openvaultshareprice_aea624f21095f333 imports["./hyperdrive_wasm_bg.js"].__wbg_closevaultshareprice_1556fc70a41ba924=__wbg_closevaultshareprice_1556fc70a41ba924 imports["./hyperdrive_wasm_bg.js"].__wbg_initialvaultshareprice_d9e8c3b2ee7ea152=__wbg_initialvaultshareprice_d9e8c3b2ee7ea152 @@ -1386,24 +1393,17 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].__wbg_withdrawalsharesproceeds_06306d676a9e9ec1=__wbg_withdrawalsharesproceeds_06306d676a9e9ec1 imports["./hyperdrive_wasm_bg.js"].__wbg_zombiebaseproceeds_6240324062fcf334=__wbg_zombiebaseproceeds_6240324062fcf334 imports["./hyperdrive_wasm_bg.js"].__wbg_zombiesharereserves_ad6803fc8cc083a9=__wbg_zombiesharereserves_ad6803fc8cc083a9 - imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_160dfcbce6f94197=__wbg_bondamount_160dfcbce6f94197 - imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_c2119cc6cbc5714d=__wbg_bondamount_c2119cc6cbc5714d imports["./hyperdrive_wasm_bg.js"].__wbg_budget_ce52ea6f48a1dc5f=__wbg_budget_ce52ea6f48a1dc5f imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_b2355d22339cc864=__wbg_checkpointexposure_b2355d22339cc864 imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_92ded114cfb45384=__wbg_maxiterations_92ded114cfb45384 - imports["./hyperdrive_wasm_bg.js"].__wbg_budget_411d63fb6d455c8c=__wbg_budget_411d63fb6d455c8c - imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_b5b2c195d86f564e=__wbg_openvaultshareprice_b5b2c195d86f564e - imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_ed1ec486972160ed=__wbg_checkpointexposure_ed1ec486972160ed - imports["./hyperdrive_wasm_bg.js"].__wbg_conservativeprice_a798c8641c9f68b5=__wbg_conservativeprice_a798c8641c9f68b5 - imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_875ff04d0eb27eb5=__wbg_maxiterations_875ff04d0eb27eb5 - imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_6a0c0ace4938689d=__wbg_checkpointexposure_6a0c0ace4938689d - imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_1bf0e0dcf03e1c61=__wbg_maxiterations_1bf0e0dcf03e1c61 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_0bb08f6826421306=__wbg_baseamount_0bb08f6826421306 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_de339731adb4a217=__wbg_baseamount_de339731adb4a217 imports["./hyperdrive_wasm_bg.js"].__wbg_new_abda76e883ba8a5f=__wbg_new_abda76e883ba8a5f imports["./hyperdrive_wasm_bg.js"].__wbg_stack_658279fe44541cf6=__wbg_stack_658279fe44541cf6 imports["./hyperdrive_wasm_bg.js"].__wbg_error_f851667af71bcfc6=__wbg_error_f851667af71bcfc6 - imports["./hyperdrive_wasm_bg.js"].__wbindgen_string_get=__wbindgen_string_get imports["./hyperdrive_wasm_bg.js"].__wbindgen_number_new=__wbindgen_number_new imports["./hyperdrive_wasm_bg.js"].__wbindgen_ge=__wbindgen_ge + imports["./hyperdrive_wasm_bg.js"].__wbindgen_string_get=__wbindgen_string_get imports["./hyperdrive_wasm_bg.js"].__wbg_BigInt_42b692c18e1ac6d6=__wbg_BigInt_42b692c18e1ac6d6 imports["./hyperdrive_wasm_bg.js"].__wbg_BigInt_f00b864098012725=__wbg_BigInt_f00b864098012725 imports["./hyperdrive_wasm_bg.js"].__wbg_toString_66be3c8e1c6a7c76=__wbg_toString_66be3c8e1c6a7c76 @@ -1444,7 +1444,7 @@ let input; return result.subarray(0, result.length - missingOctets); } - input = base64Decode("AGFzbQEAAAABxwEdYAJ/fwBgAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgAX8AYAR/f39/AGAFf39/f38AYAR/f39/AX9gBX9/f39/AX9gBn9/f39/fwBgAABgAAF/YAZ/f39/f38Bf2ADf35+AGADf35+AX9gAXwBf2ADfn9/AGAHf39/f39/fwF/YAJ+fwF/YAV/fn5+fgBgA39+fwBgBH9+fn4AYAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AAqUvYhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAFFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3Bvb2xpbmZvX2NkZDAzZjNlM2RlMzM5YzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19wb29sY29uZmlnX2E2N2JjZTViYzUzNDI1ZjcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19hcHJfMWI1ZTliMDI5MGRjZmM5OQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJ19fd2JnX3Bvc2l0aW9uZHVyYXRpb25fNjkwMzZkNmZjMDhlM2RhYgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX2FweV82NjJkZTllZDYyMjhmYTcyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfcG9zaXRpb25kdXJhdGlvbl9lMzhkNTk4N2MwOGJhNmQxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMiX193YmdfY3VycmVudHRpbWVfMGQ1OGUxOWQyN2UxYjE4ZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHF9fd2JnX3ByaWNlX2RjNGQ4M2ZkN2JiMzUyZWIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19wb3NpdGlvbmR1cmF0aW9uX2ZjMThiODE1NjU4NzI2ZDYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50X2U4N2Q3OTRlMDAyMzUwNzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50XzAwMGU1ZGM1Mzg0ODY4OWUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzRhMWI2NzE1YTg4YTFhZjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19tYXR1cml0eXRpbWVfNWY2NzlhOGU2Mjk0YjY1NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIl9fd2JnX2N1cnJlbnR0aW1lXzQ4MDRmNjkzNTFiNDdlNjgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2FkYjk2MWM5MTYyMDkzMjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlX2FlN2FmYWQyYmI0Y2Y2YzQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzVkOTQ0ZWY5NDlmOGE5NDkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2JhOGU4ZjVhNTRlNWVkZTAAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlXzIxMjhjMGYyOWQwMWU2MTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ192YXJpYWJsZWFweV8xNTdlOTVjNmQxNjgyZDU5AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfdGFyZ2V0YmFzZWFtb3VudF9lNWQ3NmZlMDM4MDU2MjQyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193Ymdfb3BlbnZhdWx0c2hhcmVwcmljZV9hMzg3ZmRmZWVlMGRkODZkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMsX193YmdfYWJzb2x1dGVtYXhib25kYW1vdW50Xzk3YThiMWNhZGI5M2Q4MDEAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyVfX3diZ19tYXliZXRvbGVyYW5jZV8zOWY3ZGU3ZjJiODA0MDdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfbWF5YmVtYXhpdGVyYXRpb25zXzU3MzNmOGQ5ZGIwOWRhMmMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19jdXJ2ZV9iNzE5ZGE4NTkxNzdkYjkzAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMbX193YmdfZmxhdF8wMWE2MTkwN2MxNTcxYzdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfZ292ZXJuYW5jZWxwX2Y0NzUxNjE0ODEwMDIzYTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19nb3Zlcm5hbmNlem9tYmllXzI2MTNiM2VjOWQyMGE5OGUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50XzBiYjA4ZjY4MjY0MjEzMDYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50X2RlMzM5NzMxYWRiNGEyMTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ19jdXJyZW50dGltZV83ODM4NzhkNjZiOWU1MzQ3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfY29udHJpYnV0aW9uXzgyN2JiNDdhMDY1ZmNkYTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19hc2Jhc2VfYzY5OTk0ZDA2Yjk1Y2Y0MQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJl9fd2JnX21pbmxwc2hhcmVwcmljZV81MjJmODUyZTNkMGRiYzU2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMdX193YmdfbWluYXByXzNkZmY3ZTFkODM1YmI5YmIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19tYXhhcHJfNGE5ZmNiNmZkNTZhOTdjMgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKl9fd2JnX29wZW52YXVsdHNoYXJlcHJpY2VfYWVhNjI0ZjIxMDk1ZjMzMwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzK19fd2JnX2Nsb3NldmF1bHRzaGFyZXByaWNlXzE1NTZmYzcwYTQxYmE5MjQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcy1fX3diZ19pbml0aWFsdmF1bHRzaGFyZXByaWNlX2Q5ZThjM2IyZWU3ZWExNTIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcytfX3diZ19taW5pbXVtc2hhcmVyZXNlcnZlc184NDExOTAwNTA2YjI0NzAxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMvX193YmdfbWluaW11bXRyYW5zYWN0aW9uYW1vdW50X2U2YjBlM2I2MWYxNzE1MmMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19jaXJjdWl0YnJlYWtlcmRlbHRhXzcwODE1OTk5M2QyZDE4MzgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19wb3NpdGlvbmR1cmF0aW9uX2ViNDEzNGQyMmFkNGRjMzMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcylfX3diZ19jaGVja3BvaW50ZHVyYXRpb25fMWM3ZDQzMjVlYmY0YTBiZQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIl9fd2JnX3RpbWVzdHJldGNoXzczNWVlNjk3MDZjMjgzN2MAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxtfX3diZ19mZWVzXzU5MjcyYmRmNGEwMjZjY2IAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcylfX3diZ19jaGVja3BvaW50cmV3YXJkZXJfY2Y5MjM0Zjc1MDgzMjBmMgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2ZlZWNvbGxlY3Rvcl83NDY4ZDhhNGI0MjViMTc4AAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMlX193Ymdfc3dlZXBjb2xsZWN0b3JfMDg4ZDY1NDJjMTY0ZDNjMAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIV9fd2JnX2dvdmVybmFuY2VfNGNiYzI4NmY1MWEyYmFkYQAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIF9fd2JnX2Jhc2V0b2tlbl83ZDY2Y2Y1NTgzNWZmYTZiAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfdmF1bHRzaGFyZXN0b2tlbl82ZTk5NmFiOGU2ODU0YzJjAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbGlua2VyZmFjdG9yeV9jYjM1MWI0M2M0YzNhY2MwAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMlX193YmdfbGlua2VyY29kZWhhc2hfMjYwMTYyOTZmYjVmOTA5NAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJF9fd2JnX2xwdG90YWxzdXBwbHlfZTRiODcwNDlkZjQwMWNlMgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2xwc2hhcmVwcmljZV9lMzM4OWJlMzVlMjY4MTc3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfYm9uZHJlc2VydmVzXzcwYWJjMTU4MDA5NTBkZTQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19zaGFyZXJlc2VydmVzX2Q2NTlhNGFiY2EyMzRmNmYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyZfX3diZ19zaGFyZWFkanVzdG1lbnRfYTg2MmM5ODNkZjE4N2RkOQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJl9fd2JnX3ZhdWx0c2hhcmVwcmljZV9iN2YwN2I2NTA3MTdkZDc2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfbG9uZ2V4cG9zdXJlXzA4MWIxMzJkYjkwYWM4OTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19sb25nc291dHN0YW5kaW5nXzc3ODBmYzFiNzUwZTY0ZWUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcy5fX3diZ19sb25nYXZlcmFnZW1hdHVyaXR5dGltZV8wZDEzMjExZTU2OTU3ZGNmAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMoX193Ymdfc2hvcnRzb3V0c3RhbmRpbmdfMjNlYmM2MGRmZmEzYzdlZAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzL19fd2JnX3Nob3J0YXZlcmFnZW1hdHVyaXR5dGltZV85ZmZhMzllZjY4YmJmMGQ0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanM2X193Ymdfd2l0aGRyYXdhbHNoYXJlc3JlYWR5dG93aXRoZHJhd18zMzRkNDk1NjEyNTFmYjQ0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMvX193Ymdfd2l0aGRyYXdhbHNoYXJlc3Byb2NlZWRzXzA2MzA2ZDY3NmE5ZTllYzEAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcylfX3diZ196b21iaWViYXNlcHJvY2VlZHNfNjI0MDMyNDA2MmZjZjMzNAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKl9fd2JnX3pvbWJpZXNoYXJlcmVzZXJ2ZXNfYWQ2ODAzZmM4Y2MwODNhOQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIV9fd2JnX2JvbmRhbW91bnRfMTYwZGZjYmNlNmY5NDE5NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIV9fd2JnX2JvbmRhbW91bnRfYzIxMTljYzZjYmM1NzE0ZAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX2J1ZGdldF9jZTUyZWE2ZjQ4YTFkYzVmAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGV4cG9zdXJlX2IyMzU1ZDIyMzM5Y2M4NjQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19tYXhpdGVyYXRpb25zXzkyZGVkMTE0Y2ZiNDUzODQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19idWRnZXRfNDExZDYzZmI2ZDQ1NWM4YwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKl9fd2JnX29wZW52YXVsdHNoYXJlcHJpY2VfYjViMmMxOTVkODZmNTY0ZQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKV9fd2JnX2NoZWNrcG9pbnRleHBvc3VyZV9lZDFlYzQ4Njk3MjE2MGVkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMoX193YmdfY29uc2VydmF0aXZlcHJpY2VfYTc5OGM4NjQxYzlmNjhiNQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJF9fd2JnX21heGl0ZXJhdGlvbnNfODc1ZmYwNGQwZWIyN2ViNQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKV9fd2JnX2NoZWNrcG9pbnRleHBvc3VyZV82YTBjMGFjZTQ5Mzg2ODlkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbWF4aXRlcmF0aW9uc18xYmYwZTBkY2YwM2UxYzYxAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYADBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19zdGFja182NTgyNzlmZTQ0NTQxY2Y2AAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMcX193YmdfZXJyb3JfZjg1MTY2N2FmNzFiY2ZjNgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX2dldAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwAQFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzDV9fd2JpbmRnZW5fZ2UAARcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19CaWdJbnRfNDJiNjkyYzE4ZTFhYzZkNgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX0JpZ0ludF9mMDBiODY0MDk4MDEyNzI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNjZiZTNjOGUxYzZhN2M3NgABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzBiNTI3ZmNlMGU4ZjJiYWIABBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjhjNTExZDliYWViZmE4OQABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX25ld181ZGQ4NmViYzkxN2Q5ZjUyAAEXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAAD2ALWAgAACgQHBAcEBAIHBAQGAAQHBgYGBAAEBAYGBgAAAAAAAAAEAAEAAAEAAAAABAAAAAAAAAAABAoAAAAAAAAAAQYDAwQIBAQAAA0RBAQFBAQHBwMAAAYDBAcHBAQGBAMEBAQEBAQEBAEABAAAAAQEAQEBAAQEEgAACQgEAQAEBAQTAQEBAgEAAQEABAQAAQEAAQEEAQALCgQFBAQEBQUGAAAAAAAAAQEJBgoGAAEBAQQBBAABARQHAQEBAQEBAQAEABUGAgAGAgULBQwABQEDAAMDAAsOBQ4FAQQAAAkWAQEBAQEAAAEBAQEIBQEBBgUACw0HFwkZGwUPDwEGAQEBAwUBAAAIAAAAAAQDAQUBAQcBAAAAAAEBAAABAAAAAQAAAAAABQAAAAABAQADBAEEBQIBAQEBAQEBAQEBAQEBAQEBAQABAQEBAAEBAwMDAwABAAEBBQAFBAQHAXAB+AH4AQUDAQARBgkBfwFBgIDAAAsH1wUlBm1lbW9yeQIACmdldFZlcnNpb24AuAIJc3BvdFByaWNlAIACD2NhbGNIcHJHaXZlbkFwcgCBAg9jYWxjSHByR2l2ZW5BcHkAggIXaWRsZVNoYXJlUmVzZXJ2ZXNJbkJhc2UA3QEMcHJlc2VudFZhbHVlAIMCCHNwb3RSYXRlAIQCFmNhbGNBcHJHaXZlbkZpeGVkUHJpY2UAhQIKaW5pdGlhbGl6ZQC0AhBvcGVuTG9uZ0N1cnZlRmVlAJkBFW9wZW5Mb25nR292ZXJuYW5jZUZlZQCTARFjbG9zZUxvbmdDdXJ2ZUZlZQCHARBjbG9zZUxvbmdGbGF0RmVlAJEBDWNhbGNPcGVuU2hvcnQAkAETc3BvdFByaWNlQWZ0ZXJTaG9ydACUAQ9jYWxjSW1wbGllZFJhdGUAiwEWc2hvcnRCb25kc0dpdmVuRGVwb3NpdAB/DGNhbGNPcGVuTG9uZwCaARJzcG90UHJpY2VBZnRlckxvbmcAlQEQY2FsY0FkZExpcXVpZGl0eQB3DmNhbGNDbG9zZVNob3J0AH0UY2FsY1Nob3J0TWFya2V0VmFsdWUAcA1jYWxjQ2xvc2VMb25nAIoBEW9wZW5TaG9ydEN1cnZlRmVlAJsBFm9wZW5TaG9ydEdvdmVybmFuY2VGZWUAlgESY2xvc2VTaG9ydEN1cnZlRmVlAIgBEWNsb3NlU2hvcnRGbGF0RmVlAJIBB21heExvbmcAjQEIbWF4U2hvcnQAfhBhYnNvbHV0ZU1heFNob3J0AIUBEV9fd2JpbmRnZW5fbWFsbG9jALkCEl9fd2JpbmRnZW5fcmVhbGxvYwDKAh9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAJEDD19fd2JpbmRnZW5fZnJlZQDqAhRfX3diaW5kZ2VuX2V4bl9zdG9yZQCEAxBfX3diaW5kZ2VuX3N0YXJ0ALQCCfUDAQBBAQv3AZ0ChgG0A7MD8QLNAscCtAPhAq8C6AGWA7YDkgOUA7YDtQO1A7UDtAOYAuECrwLiAbYDkwPhAq8C6AG2A5UD8QL2Aq8D9ALyArcDrQLIArADsALzAqoC5AL1AtkCtQKUAuECrwLoAbYDlwO2A78C7wHAAuECsQLjAZgDtgOZA5kCmgLJArQD8QKyA8cCtAO0A+EC8QL2Aq8D9AL4Aq8DtwOtAsgCsAOwAvMCqgLmAvkC2QK1At0C3gLxAuECsgLkAZwDtgObA40CxgKRApsC2wLhArIC6QG2A50DtgPCApoDwwLxAfoCyAGOA+4BtAO2A54D8QKJAbQD4QLxAvYCrwP0AvsCrwO3A60CyAKwA7AC8wKqAucC/ALZArUCtgOkAqcCtgPOAs4CzgLsAp8DtgO/AfQBoQOqAukCgQPZArUC4QLxAvYCrwP0AoADrwO3A7YC6AKCA9oCtwL6Av4C/QKtAsECngKsAvMCrALPAsECngKsAoMDrAL/AqUB2gGxA/oCtgOMA6AD3wLiAqID1QKKAtMC1QLSAuAC3ALTAtMC1wLWAtQCtgPAAvoC8QKhAuECrwLmAaQDhQO2A4cDswKIA9gC9QGTArYDhgPhArICqQOlA7YDpgOnA+4CiQOKA8wCtgOGA7YDtwGuAqoDCt/EFdYChLwBAgp/HH4jAEHQC2siAiQAAkACQAJAIAEpAxgiDkIAWQRAIAEpAwAhDyABKQMIIREgASkDECEUIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgAkGAC2oiA0IANwMAIAJB+ApqIgRCADcDACACQfAKaiIFQgA3AwAgAkIANwPoCiACQagLaiACQegKahCcAkH/AXFBAUYNAQsgAkEANgL4CkEBIQEgAkEBNgLsCiACQaCXwQA2AugKIAJCBDcC8AogACACQegKakGol8EAENIBNgIEDAELIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgBUJ/NwMAIANCADcDACACQn83A+gKIAJCADcD+AogAkGoC2oiBSACQegKaiIGEJwCIQcgASkDGCERIAEpAxAhDiABKQMIIQ8gASkDACEYIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgB0H/AXFBAUatQgeGIhQ3A6gLIARCADcDACADQgA3AwAgAkIANwPwCiACQv////8PNwPoCgJ+AkACQAJAAkACQAJAAkAgBSAGEJwCQf8BcUEBRwRAIBSnIQMCQAJ+AkACfgJAAkAgEUIAWQRAIANFDQQgASADQQN2aiIEKQMAIRggBEEIaikDACEPQgAhDiADQQZ2IgNBAmoiBEEERw0BQgAhEQwECyADDQFCAAwECyADQQN0IAFqQRhqKQMAIREgASAEQQN0aikDAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIRECfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDiACKQPACyEPDAELIAIpA7gLIQ4gEVBFBEAgEUIBfSERIAIpA8ALIQ8MAQsgAikDwAshDyAOUA0BIA5CAX0hDkJ/IRELIAxCAX0MAQsgD1ANBEJ/IQ4gD0IBfSEPQn8hEUJ/CyEMIA5Cf4UgEUJ/hSEWIAEgA0EDdmoiBCkDACAEQQhqKQMAQgAhDkIAIREgA0EGdiIDQQJqIgRBBEcEQCADQQN0IAFqQRhqKQMAIREgASAEQQN0aikDACEOCyAPQn+FIBGEIREgFoQhDyAMQn+FhCEYIA6ECyEOQgAgEUIAUw0BGgsgAiARNwPACyACIA43A7gLIAIgDzcDsAsgAiAYNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQn83A+gKIAJBqAtqIAJB6ApqEJwCQf8BcUEBRq1CBoYLIREgASkDGCEOIAEpAxAhDyABKQMIIRggASkDACEbIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgESAUhCIUNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahCcAkH/AXFBAUYNAiAUpyEDAn4CQAJAAkACQCAOQgBZBEAgA0UNBCABIANBA3ZqKQMAIRtCACEOIANBBnYiA0EBaiIEQQRHDQFCACEYQgAhDwwECyADDQFCAAwECyABIARBA3RqKQMAIRggA0ECaiIEQQRGBEBCACEPDAMLIAEgBEEDdGopAwAhDyADQQNqIgNBBEYNAiABIANBA3RqKQMAIQ4MAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiAUQv8BhTcD6AogAkGoC2pBqI/BACACQegKahCkASACKQOwCyERAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ4gAikDwAshDwwBCyACKQO4CyEOIBFQRQRAIBFCAX0hESACKQPACyEPDAELIAIpA8ALIQ8gDlANASAOQgF9IQ5CfyERCyAMQgF9DAELIA9QDQ9CfyEOIA9CAX0hD0J/IRFCfwsgD0J/hSEPIA5Cf4UhDSARQn+FIRZCf4UgASADQQN2aikDAEIAIRECQCADQQZ2IgNBAWoiBEEERgRAQgAhGAwBCyABIARBA3RqKQMAIRggA0ECaiIEQQRGDQAgASAEQQN0aikDACEiIANBA2oiA0EERg0AIAEgA0EDdGopAwAhEQsgDyARhCEOIA0gIoQhDyAWIBiEIRiEIRsLQgAgDkIAUw0BGgsgAiAONwPACyACIA83A7gLIAIgGDcDsAsgAiAbNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahCcAkH/AXFBAUatQgWGCyERIAEpAxghDiABKQMQIRwgASkDCCEbIAEpAwAhGCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIBEgFIQiFDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQnAJB/wFxQQFHBEAgFKchAwJAAkAgDkIAWQRAIANFDQwgASADQQZ2IgRBA3RqKQMAIQ9CACEOIARBAWoiBUEERw0BQgAhGwwJCyADDQFCAAwMCyABIAVBA3RqKQMAIBGIIRsgBEECaiIGQQRGDQcgASAGQQN0aikDACARiCEcIARBA2oiBkEERg0IIAEgBkEDdGopAwAgEYghDgwICyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDyACKQPACyEcDAELIAIpA7gLIQ8gDlBFBEAgDkIBfSEOIAIpA8ALIRwMAQsgAikDwAshHCAPUA0BIA9CAX0hD0J/IQ4LIAxCAX0MAQsgHFANDUJ/IQ8gHEIBfSEcQn8hDkJ/CyEMIAEgA0EGdiIEQQN0aikDACENIARBAWoiBUEERgRAQgAhGAwFCyABIAVBA3RqKQMAIBGIIRggBEECaiIGQQRGDQQgASAGQQN0aikDACARiCEbIARBA2oiBkEERg0FIAEgBkEDdGopAwAgEYghEgwFC0HAlcEAQSsgAkHPC2pB2J7BAEHYn8EAEJcCAAsMCgtBwJXBAEErIAJBzwtqQdiewQBB+J/BABCXAgALQcCVwQBBKyACQc8LakHYnsEAQeifwQAQlwIAC0IAIRsLIBxCf4UhFiAPQn+FIA5Cf4UhECAMQn+FIQwgDSARiCEPAkAgA0EgcUUgA0G/AUtyDQAgASAFQQN0aikDACARhiAPfCEPIAVBA0YNACABIARBAmoiA0EDdGopAwAgEYYgGHwhGCADQQNGDQAgBEEDdCABakEYaikDACARhiAbfCEbCyASIBaEIQ4gG4QhHCAQIBiEIRsgDCAPhCEYDAILQgAhHAsgDyARiCEYIANBIHFFIANBvwFLcg0AIAEgBUEDdGopAwAgEYYgGHwhGCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBGGIBt8IRsgA0EDRg0AIARBA3QgAWpBGGopAwAgEYYgHHwhHAtCACAOQgBTDQEaCyACIA43A8ALIAIgHDcDuAsgAiAbNwOwCyACIBg3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC//8DNwPoCiACQagLaiACQegKahCcAkH/AXFBAUatQgSGCyEPIAEpAxghDiABKQMQIRwgASkDCCEbIAEpAwAhGCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIA8gFIQiFDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQnAJB/wFxQQFGBEBBwJXBAEErIAJBzwtqQdiewQBByJ/BABCXAgALIBSnIQMCfgJAAkACQAJAAkACQCAOQgBZBEAgA0UNBiAPIBGEIQ8gASADQQZ2IgRBA3RqKQMAIRFCACEOIARBAWoiBUEERw0BQgAhGwwDCyADDQFCAAwGCyABIAVBA3RqKQMAIA+IIRsgBEECaiIGQQRGDQEgASAGQQN0aikDACAPiCEcIARBA2oiBkEERg0CIAEgBkEDdGopAwAgD4ghDgwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshGCACKQPACyEcDAELIAIpA7gLIRggDlBFBEAgDkIBfSEOIAIpA8ALIRwMAQsgAikDwAshHCAYUA0BIBhCAX0hGEJ/IQ4LIAxCAX0MAQsgHFANB0J/IRggHEIBfSEcQn8hDkJ/CyAPIBGEIREgASADQQZ2IgRBA3RqKQMAQgAhEgJAAkAgBEEBaiIFQQRGBEBCACEPDAELIAEgBUEDdGopAwAgEYghDyAEQQJqIgZBBEYNACABIAZBA3RqKQMAIBGIIRsgBEEDaiIGQQRGDQEgASAGQQN0aikDACARiCESDAELQgAhGwsgEYghESAcQn+FIQ0gGEJ/hSEWIA5Cf4UhF0J/hQJAIANBMHFFIANBvwFLcg0AIAEgBUEDdGopAwBCACAUfUIwgyIOhiARfCERIAVBA0YNACABIARBAmoiA0EDdGopAwAgDoYgD3whDyADQQNGDQAgBEEDdCABakEYaikDACAOhiAbfCEbCyANIBKEIQ4gFiAbhCEcIA8gF4QhGyARhCEYDAILQgAhHAsgESAPiCEYIANBMHFFIANBvwFLcg0AIAEgBUEDdGopAwBCACAUfUIwgyIPhiAYfCEYIAVBA0YNACABIARBAmoiA0EDdGopAwAgD4YgG3whGyADQQNGDQAgBEEDdCABakEYaikDACAPhiAcfCEcC0IAIA5CAFMNARoLIAIgDjcDwAsgAiAcNwO4CyACIBs3A7ALIAIgGDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/ATcD6AogAkGoC2ogAkHoCmoQnAJB/wFxQQFGrUIDhgshESABKQMYIQ4gASkDECEcIAEpAwghGCABKQMAIQ8gAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiARIBSEIhE3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEJwCQf8BcUEBRgRAQcCVwQBBKyACQc8LakHYnsEAQbifwQAQlwIACyARpyEDAn4CQAJAAkACQAJAAkAgDkIAWQRAIANFDQYgEUI4gyEPIAEgA0EGdiIEQQN0aikDACEUQgAhDiAEQQFqIgVBBEcNAUIAIRgMAwsgAw0BQgAMBgsgASAFQQN0aikDACAPiCEYIARBAmoiBkEERg0BIAEgBkEDdGopAwAgD4ghHCAEQQNqIgZBBEYNAiABIAZBA3RqKQMAIA+IIQ4MAgsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiARQv8BhTcD6AogAkGoC2pBqI/BACACQegKahCkASACKQOwCyEOAn4CQAJAIAIpA6gLIg9QRQRAIAIpA7gLIRggAikDwAshHAwBCyACKQO4CyEYIA5QRQRAIA5CAX0hDiACKQPACyEcDAELIAIpA8ALIRwgGFANASAYQgF9IRhCfyEOCyAPQgF9DAELIBxQDQdCfyEYIBxCAX0hHEJ/IQ5CfwsgEUI4gyEUIAEgA0EGdiIEQQN0aikDAEIAIRICQAJAIARBAWoiBUEERgRAQgAhDwwBCyABIAVBA3RqKQMAIBSIIQ8gBEECaiIGQQRGDQAgASAGQQN0aikDACAUiCEbIARBA2oiBkEERg0BIAEgBkEDdGopAwAgFIghEgwBC0IAIRsLIBSIIRQgHEJ/hSENIBhCf4UhFiAOQn+FIRdCf4UCQCADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iDoYgFHwhFCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIA5CP4MiDoYgD3whDyADQQNGDQAgBEEDdCABakEYaikDACAOhiAbfCEbCyANIBKEIQ4gFiAbhCEcIA8gF4QhGCAUhCEPDAILQgAhHAsgFCAPiCEPIANBP3FFIANBvwFLcg0AIAEgBUEDdGopAwBCACARfSIUhiAPfCEPIAVBA0YNACABIARBAmoiA0EDdGopAwAgFEI/gyIUhiAYfCEYIANBA0YNACAEQQN0IAFqQRhqKQMAIBSGIBx8IRwLQgAgDkIAUw0BGgsgAiAONwPACyACIBw3A7gLIAIgGDcDsAsgAiAPNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQg83A+gKIAJBqAtqIAJB6ApqEJwCQf8BcUEBRq1CAoYLIQwgASkDGCEOIAEpAxAhGCABKQMIIQ8gASkDACEUIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgDCARhCIRNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahCcAkH/AXFBAUYEQEHAlcEAQSsgAkHPC2pB2J7BAEGon8EAEJcCAAsgEachAwJ+AkACQAJAIA5CAFkEQCADRQ0DQgAhFEIAIQ9CACEYQgAhDiADQf4BSw0DIAEgA0EGdiIEQQN0aikDACEMIARBAWoiBUEERg0BIAEgBUEDdGopAwAgEUI/gyIUiCEPIARBAmoiBkEERg0BIAEgBkEDdGopAwAgFIghGCAEQQNqIgZBBEYNASABIAZBA3RqKQMAIBSIIQ4MAQtCACADQQFrQf4BTw0DGiACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBFC/wGFNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIQ4CfgJAAkAgAikDqAsiD1BFBEAgAikDuAshFCACKQPACyEbDAELIAIpA7gLIRQgDlBFBEAgDkIBfSEOIAIpA8ALIRsMAQsgAikDwAshGyAUUA0BIBRCAX0hFEJ/IQ4LIA9CAX0MAQsgG1ANBkJ/IRQgG0IBfSEbQn8hDkJ/CyABIANBBnYiBEEDdGopAwAhFkIAIRwCQAJAIARBAWoiBUEERgRAQgAhDwwBCyABIAVBA3RqKQMAIBFCP4MiDIghDyAEQQJqIgZBBEYNACABIAZBA3RqKQMAIAyIIRggBEEDaiIGQQRGDQEgASAGQQN0aikDACAMiCEcDAELQgAhGAsgG0J/hSEMIBRCf4UhFyAOQn+FIRBCf4UgFiARiCEUAkAgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9Ig6GIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOQj+DIg6GIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDoYgGHwhGAsgDCAchCEOIBcgGIQhGCAPIBCEIQ8gFIQhFAwBCyAMIBGIIRQgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9IgyGIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAMQj+DIgyGIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDIYgGHwhGAtCACAOQgBTDQEaCyACIA43A8ALIAIgGDcDuAsgAiAPNwOwCyACIBQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJCAzcD6AogAkGoC2ogAkHoCmoQnAJB/wFxQQFGrUIBhgshDCABKQMYIQ4gASkDECEYIAEpAwghDyABKQMAIRQgAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiAMIBGEIhE3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEJwCQf8BcUEBRgRAQcCVwQBBKyACQc8LakHYnsEAQZifwQAQlwIACyARpyEDAn8CQAJAAkAgDkIAWQRAIANFDQNCACEUQgAhD0IAIRhCACEOIANB/gFLDQMgASADQQZ2IgRBA3RqKQMAIQwgBEEBaiIFQQRGDQEgASAFQQN0aikDACARQj+DIhSIIQ8gBEECaiIGQQRGDQEgASAGQQN0aikDACAUiCEYIARBA2oiBkEERg0BIAEgBkEDdGopAwAgFIghDgwBC0H/ASADQQFrQf4BTw0DGiACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBFC/wGFNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIQ4CfgJAAkAgAikDqAsiD1BFBEAgAikDuAshFCACKQPACyEbDAELIAIpA7gLIRQgDlBFBEAgDkIBfSEOIAIpA8ALIRsMAQsgAikDwAshGyAUUA0BIBRCAX0hFEJ/IQ4LIA9CAX0MAQsgG1ANBkJ/IRQgG0IBfSEbQn8hDkJ/CyABIANBBnYiBEEDdGopAwAhFkIAIRwCQAJAIARBAWoiBUEERgRAQgAhDwwBCyABIAVBA3RqKQMAIBFCP4MiDIghDyAEQQJqIgZBBEYNACABIAZBA3RqKQMAIAyIIRggBEEDaiIGQQRGDQEgASAGQQN0aikDACAMiCEcDAELQgAhGAsgG0J/hSEMIBRCf4UhFyAOQn+FIRBCf4UgFiARiCEUAkAgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9Ig6GIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOQj+DIg6GIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDoYgGHwhGAsgDCAchCEOIBcgGIQhGCAPIBCEIQ8gFIQhFAwBCyAMIBGIIRQgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9IgyGIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAMQj+DIgyGIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDIYgGHwhGAsgDkIAWQ0AQf8BDAELIAIgDjcDwAsgAiAYNwO4CyACIA83A7ALIAIgFDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIBNwPoCiACQagLaiACQegKahCcAgshAyACQegKakG4l8EAQQIQdgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigC6ApFBEAgAikD+AohDiACKQOICyEUQgAgAikDgAsiD30hGAJAAn4gESADQf8BcUEBRq2EIgwgAikD8AoiDVoEQEIAIA59IRsgDkIAUq0MAQsgDkJ/hSEbIA5CAFKtIA5QrXwLIg5QBEBCf0IAIA9CAFIbIRMMAQtCf0IAIA9CAFIbIA4gGFatfSETIBggDn0hGAsgAkHoCmpBupfBAEEDEHYgAigC6AoNASACKQP4CiEOIBMgFH0hIiACKQOICyACKQOACyIPIBh9IRECQAJ+IAIpA/AKIhcgDCANfSIcWgRAIA4gG30hECAOIBtUrQwBCyAOIBtCf4V8IRAgDiAbVK0gDiAbUa18CyIOUARAQn9CACAPIBhUGyEUDAELQn9CACAPIBhUGyAOIBFWrX0hFCARIA59IRELICJ9IBR8Ig5CAFMNAiACIA43A8ALIAIgETcDuAsgAiAQNwOwCyACIBcgHH0iDDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoiAxCcAkH/AXFBAUYNAkIAIRFCACEOQgAhFEIAIQ8gDKciBEH/AU0EQCMAQSBrIgVBGGoiCUIANwMAIAVBEGoiCkIANwMAIAVBCGoiC0IANwMAIAVCADcDAAJAIARB/wFLDQAgBSAEQQZ2IgZBA3RqIAEpAwAiESAErSIOhjcDAAJAIAZBAWoiB0EERg0AIAUgB0EDdGogASkDCCAOQj+DIg+GNwMAIAZBAmoiCEEERg0AIAUgCEEDdGogASkDECAPhjcDACAGQQNqIghBBEYNACAFIAhBA3RqIAEpAxggD4Y3AwALIARBP3FFIARBvwFLcg0AIAUgB0EDdGoiBCAEKQMAIBFCACAOfSIOiHw3AwAgB0EDRg0AIAUgBkECaiIEQQN0aiIHIAcpAwAgASkDCCAOQj+DIg6IfDcDACAEQQNGDQAgBkEDdCAFakEYaiIEIAQpAwAgASkDECAOiHw3AwALIAMgBSkDADcDACADQRhqIAkpAwA3AwAgA0EQaiAKKQMANwMAIANBCGogCykDADcDACACKQP4CiERIAIpA/AKIQ8gAikD6AohFCACKQOACyEOCyABIBQ3AwAgAUEYaiIHIA43AwAgAUEQaiIJIBE3AwAgAUEIaiIKIA83AwAgAkHoCmohBUIAIQ5CACEPQgAhEUIAIQwjAEFAaiIDJAAgA0EIakGfARCfAgJAAkACQCADKQMQQgBSDQAgAykDGEIAUg0AIAMpAyBQRQ0AIAMpAwgiFEL/////D1YNACAUpyIGQf8BSw0CIAEgBkEGdiIEQQN0aikDACENIARBAWoiC0EERg0BIAEgC0EDdGopAwAgFEI/gyIOiCEPIARBAmoiCEEERg0BIAEgCEEDdGopAwAgDoghESAEQQNqIghBBEYNASABIAhBA3RqKQMAIA6IIQwMAQsgA0EANgI4IANBATYCLCADQcSmwQA2AiggA0IENwIwIANBKGpBjKbBABDFAgALIA0gFIghDiAGQT9xRSAGQb8BS3INACABIAtBA3RqKQMAQgAgFH0iFIYgDnwhDiAGQYABTw0AIAEgBEECciIGQQN0aikDACAUQj+DIhSGIA98IQ8gBkEDRg0AIARBA3QgAWpBGGopAwAgFIYgEXwhEQsgBSAMNwMYIAUgETcDECAFIA83AwggBSAONwMAIANBQGskACAHIAJBgAtqKQMANwMAIAkgAkH4CmopAwA3AwAgCiACQfAKaikDADcDACABIAIpA+gKNwMAIAcpAwAhESAJKQMAIQ8gCikDACEOIAEpAwAhFCAFQb2XwQBBHxB2IAIoAugKDQMgDiACKQP4CnwiEiAOVCEDIAIpA4ALIA98IhUgD1QhBCACKQOICyEMQn8hFiAUIBQgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDVAEfiAErQUgFSANIBV8IhVWrSAErXwLIg1QBH4gDCARfAUgDCARfCANfAsiEEIAWQRAIBIgE4QgECAVhIRCAFKtIRYLIBBCAFMEQCASQn+FQgAgEn0iDUIAIBN9IhNCAFIiAxshEiAVQn+FIgwgDVAgA0F/c3EiA618Ig0gDCADGyEVIAMgDCANVnGtIBBCf4V8IRALQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgFn4gFCENIA4hFiAPIRcgESIMQgBTBEAgDkJ/hUIAIA59IhdCACANfSINQgBSIgMbIRYgD0J/hSIMIBdQIANBf3NxIgOtfCIaIAwgAxshFyADIAwgGlZxrSARQn+FfCEMCyACQbgKaiANQgAgE0IAEJYCIAJBqApqIA1CACASQgAQlgIgAkGYCmogDUIAIBVCABCWAiACQYgKaiAWQgAgE0IAEJYCIAJB+AlqIBZCACASQgAQlgIgAkHoCWogF0IAIBNCABCWAiACKQOYCiIaIAJBsApqKQMAIAIpA6gKIh0gAkHACmopAwB8Ih4gHVStfHwiHSAaVK0gAkHwCWopAwAgAkGACmopAwAgAkGgCmopAwAgFSAWfiANIBB+fCASIBd+fHwgDCATfnx8fHwgAkGQCmopAwAgAikDiAoiDCAefCIVIAxUrXwiDCAdfCINIAxUrXwgAikD+AkiDCANfCINIAxUrXwgAikD6AkiDCANfCITIAxUrXwhEkICWgRAIBJCf4UiDSACKQO4CiIWQgAgFX0iF4RQIgMgE0J/hSIMIAOtfCIQIAxUcSIErXwgDSAEGyESIBcgFUJ/hSAWUBshFSAQIAwgAxshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBJCIIghDUIAIRYgE0IghiAVQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIRACfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDSACKQPACyEWDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIRYMAQsgAikDwAshFiANUA0BIA1CAX0hDUJ/IRALIAxCAX0MAQsgFlANGEJ/IQ0gFkIBfSEWQn8hEEJ/CyEMIA1Cf4UgEkIgiIQhDSASQiCGIBNCIIiEIBBCf4WEIRAgFkJ/hSEWIBNCIIYgFUIgiIQgDEJ/hYQLIQwgAkHoCmpB3JfBAEEgEHYgAigC6AoNBCAQIAIpA/gKfCISIBBUIQMgAikDgAsgDXwiFSANVCEEIAIpA4gLIQ0gDCAMIAIpA/AKfCITWAR+IAOtBSASQgF8IhJQrSADrXwLIgxQBH4gBK0FIBUgDCAVfCIVVq0gBK18CyIMUAR+IA0gFnwFIA0gFnwgDHwLIQ1CfyASIBOEIA0gFYSEQgBSrSANQgBTIgMbIRkgAwRAIBJCf4VCACASfSIWQgAgE30iE0IAUiIDGyESIBVCf4UiDCAWUCADQX9zcSIDrXwiFiAMIAMbIRUgAyAMIBZWca0gDUJ/hXwhDQsgFCEQIA4hFiAPIRcgESIMQgBTBEAgDkJ/hUIAIA59IhdCACAQfSIQQgBSIgMbIRYgD0J/hSIMIBdQIANBf3NxIgOtfCIaIAwgAxshFyADIAwgGlZxrSARQn+FfCEMCyACQdgJaiAQQgAgE0IAEJYCIAJByAlqIBBCACASQgAQlgIgAkG4CWogEEIAIBVCABCWAiACQagJaiAWQgAgE0IAEJYCIAJBmAlqIBZCACASQgAQlgIgAkGICWogF0IAIBNCABCWAiACKQO4CSIaIAJB0AlqKQMAIAIpA8gJIh0gAkHgCWopAwB8Ih4gHVStfHwiHSAaVK0gAkGQCWopAwAgAkGgCWopAwAgAkHACWopAwAgFSAWfiANIBB+fCASIBd+fHwgDCATfnx8fHwgAkGwCWopAwAgAikDqAkiDCAefCIVIAxUrXwiDCAdfCINIAxUrXwgAikDmAkiDCANfCINIAxUrXwgAikDiAkiDCANfCITIAxUrXwhEkJ/IA4gFIQgD4QgEYRCAFKtIBFCAFMbIBl+QgJaBEAgEkJ/hSINIAIpA9gJIhZCACAVfSIXhFAiAyATQn+FIgwgA618IhAgDFRxIgStfCANIAQbIRIgFyAVQn+FIBZQGyEVIBAgDCADGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgEkIgiCENQgAhFiATQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaiPwQAgAkHoCmoQpAEgAikDsAshEAJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyENIAIpA8ALIRYMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshFgwBCyACKQPACyEWIA1QDQEgDUIBfSENQn8hEAsgDEIBfQwBCyAWUA0YQn8hDSAWQgF9IRZCfyEQQn8LIQwgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECAWQn+FIRYgE0IghiAVQiCIhCAMQn+FhAshDCACQegKakH8l8EAQSAQdiACKALoCg0FIBAgAikD+Ap8IhIgEFQhAyACKQOACyANfCIVIA1UIQQgAikDiAshDSAMIAwgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDFAEfiAErQUgFSAMIBV8IhVWrSAErXwLIgxQBH4gDSAWfAUgDSAWfCAMfAshEEJ/IBIgE4QgECAVhIRCAFKtIBBCAFMiAxshGSADBEAgEkJ/hUIAIBJ9Ig1CACATfSITQgBSIgMbIRIgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSAQQn+FfCEQCyAUIQ0gDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIA19Ig1CAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJB+AhqIA1CACATQgAQlgIgAkHoCGogDUIAIBJCABCWAiACQdgIaiANQgAgFUIAEJYCIAJByAhqIBZCACATQgAQlgIgAkG4CGogFkIAIBJCABCWAiACQagIaiAXQgAgE0IAEJYCIAIpA9gIIhogAkHwCGopAwAgAikD6AgiHSACQYAJaikDAHwiHiAdVK18fCIdIBpUrSACQbAIaikDACACQcAIaikDACACQeAIaikDACAVIBZ+IA0gEH58IBIgF358fCAMIBN+fHx8fCACQdAIaikDACACKQPICCIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQO4CCIMIA18Ig0gDFStfCACKQOoCCIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgGX5CAloEQCASQn+FIg0gAikD+AgiFkIAIBV9IheEUCIDIBNCf4UiDCADrXwiECAMVHEiBK18IA0gBBshEiAXIBVCf4UgFlAbIRUgECAMIAMbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECASQiCIIRdCACEdIBNCIIYgFUIgiIQMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqI/BACACQegKahCkASACKQOwCyEQAn4CQAJAIAIpA6gLIhZQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyEQCyAWQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRBCfwshFiANQn+FIBJCIIiEIRcgEkIghiATQiCIhCAQQn+FhCEQIAxCf4UhHSATQiCGIBVCIIiEIBZCf4WECyEZIAJB6ApqQZyYwQBBIBB2IAIoAugKDQYgAikDgAshFiACKQP4CiEMAn4gAikD8AoiGiAZWARAIAwgEFatIQ0gECAMfQwBCyAMIBBWrSAMIBBRrXwhDSAQIAxCf4V8CyEVIAIpA4gLIQwgFyAWfSETAkAgDVAEQEJ/QgAgFiAXVhshFwwBC0J/QgAgFiAXVhsgDSATVq19IRcgEyANfSETCyAZIBp9IRJCfyEWIB0gDH0gF3wiDUIAWQRAIBIgFYQgDSAThIRCAFKtIRYLIA1CAFMEQCAVQn+FQgAgFX0iF0IAIBJ9IhJCAFIiAxshFSATQn+FIgwgF1AgA0F/c3EiA618IhcgDCADGyETIAMgDCAXVnGtIA1Cf4V8IQ0LQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgFn4gFCEQIA4hFiAPIRcgESIMQgBTBEAgDkJ/hUIAIA59IhdCACAQfSIQQgBSIgMbIRYgD0J/hSIMIBdQIANBf3NxIgOtfCIaIAwgAxshFyADIAwgGlZxrSARQn+FfCEMCyACQZgIaiAQQgAgEkIAEJYCIAJBiAhqIBBCACAVQgAQlgIgAkH4B2ogEEIAIBNCABCWAiACQegHaiAWQgAgEkIAEJYCIAJB2AdqIBZCACAVQgAQlgIgAkHIB2ogF0IAIBJCABCWAiACKQP4ByIaIAJBkAhqKQMAIAIpA4gIIh0gAkGgCGopAwB8Ih4gHVStfHwiHSAaVK0gAkHQB2opAwAgAkHgB2opAwAgAkGACGopAwAgEyAWfiANIBB+fCAVIBd+fHwgDCASfnx8fHwgAkHwB2opAwAgAikD6AciDCAefCIVIAxUrXwiDCAdfCINIAxUrXwgAikD2AciDCANfCINIAxUrXwgAikDyAciDCANfCITIAxUrXwhEkICWgRAIBJCf4UiDSACKQOYCCIWQgAgFX0iF4RQIgMgE0J/hSIMIAOtfCIQIAxUcSIErXwgDSAEGyESIBcgFUJ/hSAWUBshFSAQIAwgAxshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBJCIIghF0IAIR0gE0IghiAVQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIRACfgJAAkAgAikDqAsiFlBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBZCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEWIA1Cf4UgEkIgiIQhFyASQiCGIBNCIIiEIBBCf4WEIRAgDEJ/hSEdIBNCIIYgFUIgiIQgFkJ/hYQLIRkgAkHoCmpBvJjBAEEgEHYgAigC6AoNByACKQOACyEWIAIpA/gKIQwCfiACKQPwCiIaIBlYBEAgDCAQVq0hDSAQIAx9DAELIAwgEFatIAwgEFGtfCENIBAgDEJ/hXwLIRUgAikDiAshDCAXIBZ9IRMCQCANUARAQn9CACAWIBdWGyEXDAELQn9CACAWIBdWGyANIBNWrX0hFyATIA19IRMLIBkgGn0hEkJ/IRYgHSAMfSAXfCINQgBZBEAgEiAVhCANIBOEhEIAUq0hFgsgDUIAUwRAIBVCf4VCACAVfSIXQgAgEn0iEkIAUiIDGyEVIBNCf4UiDCAXUCADQX9zcSIDrXwiFyAMIAMbIRMgAyAMIBdWca0gDUJ/hXwhDQtCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAWfiAUIRAgDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIBB9IhBCAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJBuAdqIBBCACASQgAQlgIgAkGoB2ogEEIAIBVCABCWAiACQZgHaiAQQgAgE0IAEJYCIAJBiAdqIBZCACASQgAQlgIgAkH4BmogFkIAIBVCABCWAiACQegGaiAXQgAgEkIAEJYCIAIpA5gHIhogAkGwB2opAwAgAikDqAciHSACQcAHaikDAHwiHiAdVK18fCIdIBpUrSACQfAGaikDACACQYAHaikDACACQaAHaikDACATIBZ+IA0gEH58IBUgF358fCAMIBJ+fHx8fCACQZAHaikDACACKQOIByIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQP4BiIMIA18Ig0gDFStfCACKQPoBiIMIA18IhMgDFStfCESQgJaBEAgEkJ/hSINIAIpA7gHIhZCACAVfSIXhFAiAyATQn+FIgwgA618IhAgDFRxIgStfCANIAQbIRIgFyAVQn+FIBZQGyEVIBAgDCADGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgE0IghiAVQiCIhCEXQgAhHSASQiCIDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaiPwQAgAkHoCmoQpAEgAikDsAshEAJ+AkACQCACKQOoCyIWUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgFkIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRYgEkIghiATQiCIhCAQQn+FhCEQIBNCIIYgFUIgiIQgFkJ/hYQhFyAMQn+FIR0gDUJ/hSASQiCIhAshFiACQegKakHcmMEAQSAQdiACKALoCg0IIAIpA4ALIRkgAikD+AohDAJ+IAIpA/AKIhogF1gEQCAMIBBWrSENIBAgDH0MAQsgDCAQVq0gDCAQUa18IQ0gECAMQn+FfAshFSACKQOICyEQIBYgGX0hEwJAIA1QBEBCf0IAIBYgGVQbIQwMAQtCf0IAIBYgGVQbIA0gE1atfSEMIBMgDX0hEwsgFyAafSESQn8hFiAdIBB9IAx8Ig1CAFkEQCASIBWEIA0gE4SEQgBSrSEWCyANQgBTBEAgFUJ/hUIAIBV9IhdCACASfSISQgBSIgMbIRUgE0J/hSIMIBdQIANBf3NxIgOtfCIXIAwgAxshEyADIAwgF1ZxrSANQn+FfCENC0J/IA4gFIQgD4QgEYRCAFKtIBFCAFMbIBZ+IBQhECAOIRYgDyEXIBEiDEIAUwRAIA5Cf4VCACAOfSIXQgAgEH0iEEIAUiIDGyEWIA9Cf4UiDCAXUCADQX9zcSIDrXwiGiAMIAMbIRcgAyAMIBpWca0gEUJ/hXwhDAsgAkHYBmogEEIAIBJCABCWAiACQcgGaiAQQgAgFUIAEJYCIAJBuAZqIBBCACATQgAQlgIgAkGoBmogFkIAIBJCABCWAiACQZgGaiAWQgAgFUIAEJYCIAJBiAZqIBdCACASQgAQlgIgAikDuAYiGiACQdAGaikDACACKQPIBiIdIAJB4AZqKQMAfCIeIB1UrXx8Ih0gGlStIAJBkAZqKQMAIAJBoAZqKQMAIAJBwAZqKQMAIBMgFn4gDSAQfnwgFSAXfnx8IAwgEn58fHx8IAJBsAZqKQMAIAIpA6gGIgwgHnwiFyAMVK18IgwgHXwiDSAMVK18IAIpA5gGIgwgDXwiDSAMVK18IAIpA4gGIgwgDXwiEiAMVK18IR4gAikD2AYhHUICWgRAIB5Cf4UiDUIAIBd9IhZQQgAgHX0iHUIAUiIEQX9zcSIDIBJCf4UiDCADrXwiECAMVHEiBa18IA0gBRshHiAQIAwgAxshEiAXQn+FIBYgBBshFwsgAkHoCmpB/JjBAEEeEHYgAigC6AoNCSACKQOACyASIAIpA/gKIiZCIIYgAikD8AoiDUIgiIQiDH0hFgJAIA1CIIYiJyAXWARAQn9CACAMIBJWGyEkDAELQn9CACAMIBJWGyAWUK19ISQgFkIBfSEWCyACQegKakGamcEAQR8QdiACKALoCg0KIA4gAikD+Ap8IhIgDlQhAyACKQOACyAPfCIVIA9UIQQgAikDiAshDCAUIBQgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDVAEfiAErQUgFSANIBV8IhVWrSAErXwLIg1QBH4gDCARfAUgDCARfCANfAshEEJ/IBIgE4QgECAVhIRCAFKtIBBCAFMiAxsgAwRAIBJCf4VCACASfSIZQgAgE30iE0IAUiIDGyESIBVCf4UiDCAZUCADQX9zcSIDrXwiGSAMIAMbIRUgAyAMIBlWca0gEEJ/hXwhEAtCfyAOIBSEIA+EIBGEQgBSrSARQgBTIgMbIAMEQCAOQn+FQgAgDn0iGkIAIBR9IhRCAFIiAxshDiAPQn+FIgwgGlAgA0F/c3EiA618IhogDCADGyEPIAMgDCAaVnGtIBFCf4V8IRELIAJB+AVqIBRCACATQgAQlgIgAkHoBWogFEIAIBJCABCWAiACQdgFaiAUQgAgFUIAEJYCIAJByAVqIA5CACATQgAQlgIgAkG4BWogDkIAIBJCABCWAiACQagFaiAPQgAgE0IAEJYCIAIpA9gFIgwgAkHwBWopAwAgAikD6AUiGiACQYAGaikDAHwiISAaVK18fCIaIAxUrSACQbAFaikDACACQcAFaikDACACQeAFaikDACAOIBV+IBAgFH58IA8gEn58fCARIBN+fHx8fCACQdAFaikDACACKQPIBSIOICF8IhQgDlStfCIOIBp8Ig8gDlStfCACKQO4BSIOIA98Ig8gDlStfCAPIAIpA6gFIhF8Ig4gEVStfCERfkICWgRAIBFCf4UiDyACKQP4BSIMQgAgFH0iDYRQIgMgDkJ/hSIOIAOtfCIQIA5UcSIErXwgDyAEGyERIA0gFEJ/hSAMUBshFCAQIA4gAxshDgsCfiARQgBZBEAgEUIghiAOQiCIhCEPIA5CIIYgFEIgiIQhDiARQiCIIRBCAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIQ8CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshEiACKQPACyETDAELIAIpA7gLIRIgD1BFBEAgD0IBfSEPIAIpA8ALIRMMAQsgAikDwAshEyASUA0BIBJCAX0hEkJ/IQ8LIAxCAX0MAQsgE1ANGEJ/IRIgE0IBfSETQn8hD0J/CyEMIBJCf4UgEUIgiIQhECARQiCGIA5CIIiEIA9Cf4WEIQ8gDkIghiAUQiCIhCAMQn+FhCEOIBNCf4ULIREgAkHoCmpBuZnBAEEgEHYgAigC6AoNCyAPIAIpA/gKfCISIA9UIQMgAikDgAsgEHwiFSAQVCEEIAIpA4gLIQ8gDiAOIAIpA/AKfCITWAR+IAOtBSASQgF8IhJQrSADrXwLIg5QBH4gBK0FIBUgDiAVfCIVVq0gBK18CyIOUAR+IA8gEXwFIA8gEXwgDnwLIRAgASkDGCERQn8gEiAThCAQIBWEhEIAUq0gEEIAUyIDGyEhIAEpAxAhDyABKQMIIQ4gASkDACEUIAMEQCASQn+FQgAgEn0iDUIAIBN9IhNCAFIiARshEiAVQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEVIAEgDCANVnGtIBBCf4V8IRALIBQhDSAOIQwgDyEZIBEhGiARQgBTBEAgDEJ/hUIAIAx9IhlCACANfSINQgBSIgEbIQwgD0J/hSIaIBlQIAFBf3NxIgGtfCIfIBogARshGSABIBogH1ZxrSARQn+FfCEaCyACQZgFaiANQgAgE0IAEJYCIAJBiAVqIA1CACASQgAQlgIgAkH4BGogDUIAIBVCABCWAiACQegEaiAMQgAgE0IAEJYCIAJB2ARqIAxCACASQgAQlgIgAkHIBGogGUIAIBNCABCWAiACKQP4BCIfIAJBkAVqKQMAIAIpA4gFIiAgAkGgBWopAwB8IiMgIFStfHwiICAfVK0gAkHQBGopAwAgAkHgBGopAwAgAkGABWopAwAgDCAVfiANIBB+fCASIBl+fHwgEyAafnx8fHwgAkHwBGopAwAgAikD6AQiDCAjfCIVIAxUrXwiDCAgfCINIAxUrXwgAikD2AQiDCANfCINIAxUrXwgAikDyAQiDCANfCITIAxUrXwhEkJ/IA4gFIQgD4QgEYRCAFKtIBFCAFMbICF+QgJaBEAgEkJ/hSINIAIpA5gFIhBCACAVfSIZhFAiASATQn+FIgwgAa18IhogDFRxIgOtfCANIAMbIRIgGSAVQn+FIBBQGyEVIBogDCABGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgE0IghiAVQiCIhCEVIBJCIIghDUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaiPwQAgAkHoCmoQpAEgAikDsAshEAJ+AkACQCACKQOoCyIZUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgGUIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRkgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECATQiCGIBVCIIiEIBlCf4WEIRUgDEJ/hQshDCACQegKakHZmcEAQSEQdiACKALoCg0MIBAgAikD+Ap8IhIgEFQhASACKQOACyEZIBUgFSACKQPwCnwiE1gEfiABrQUgEkIBfCISUK0gAa18CyEQIA0gGXwiFSANVCEBIAIpA4gLIQ1CfyASIBOEIBBQBH4gAa0FIBUgECAVfCIVVq0gAa18CyIQUAR+IAwgDXwFIAwgDXwgEHwLIhAgFYSEQgBSrSAQQgBTIgEbISEgAQRAIBJCf4VCACASfSINQgAgE30iE0IAUiIBGyESIBVCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRUgASAMIA1Wca0gEEJ/hXwhEAsgFCENIA4hDCAPIRkgESEaIBFCAFMEQCAMQn+FQgAgDH0iGUIAIA19Ig1CAFIiARshDCAPQn+FIhogGVAgAUF/c3EiAa18Ih8gGiABGyEZIAEgGiAfVnGtIBFCf4V8IRoLIAJBuARqIA1CACATQgAQlgIgAkGoBGogDUIAIBJCABCWAiACQZgEaiANQgAgFUIAEJYCIAJBiARqIAxCACATQgAQlgIgAkH4A2ogDEIAIBJCABCWAiACQegDaiAZQgAgE0IAEJYCIAIpA5gEIh8gAkGwBGopAwAgAikDqAQiICACQcAEaikDAHwiIyAgVK18fCIgIB9UrSACQfADaikDACACQYAEaikDACACQaAEaikDACAMIBV+IA0gEH58IBIgGX58fCATIBp+fHx8fCACQZAEaikDACACKQOIBCIMICN8IhUgDFStfCIMICB8Ig0gDFStfCACKQP4AyIMIA18Ig0gDFStfCACKQPoAyIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgIX5CAloEQCASQn+FIg0gAikDuAQiEEIAIBV9IhmEUCIBIBNCf4UiDCABrXwiGiAMVHEiA618IA0gAxshEiAZIBVCf4UgEFAbIRUgGiAMIAEbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECATQiCGIBVCIIiEIRUgEkIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqI/BACACQegKahCkASACKQOwCyEQAn4CQAJAIAIpA6gLIhlQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyEQCyAZQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRBCfwshGSANQn+FIBJCIIiEIQ0gEkIghiATQiCIhCAQQn+FhCEQIBNCIIYgFUIgiIQgGUJ/hYQhFSAMQn+FCyEMIAJB6ApqQfqZwQBBIRB2IAIoAugKDQ0gECACKQP4CnwiEiAQVCEBIAIpA4ALIRkgFSAVIAIpA/AKfCITWAR+IAGtBSASQgF8IhJQrSABrXwLIRAgDSAZfCIVIA1UIQEgAikDiAshDUJ/IBIgE4QgEFAEfiABrQUgFSAQIBV8IhVWrSABrXwLIhBQBH4gDCANfAUgDCANfCAQfAsiECAVhIRCAFKtIBBCAFMiARshISABBEAgEkJ/hUIAIBJ9Ig1CACATfSITQgBSIgEbIRIgFUJ/hSIMIA1QIAFBf3NxIgGtfCINIAwgARshFSABIAwgDVZxrSAQQn+FfCEQCyAUIQ0gDiEMIA8hGSARIRogEUIAUwRAIAxCf4VCACAMfSIZQgAgDX0iDUIAUiIBGyEMIA9Cf4UiGiAZUCABQX9zcSIBrXwiHyAaIAEbIRkgASAaIB9Wca0gEUJ/hXwhGgsgAkHYA2ogDUIAIBNCABCWAiACQcgDaiANQgAgEkIAEJYCIAJBuANqIA1CACAVQgAQlgIgAkGoA2ogDEIAIBNCABCWAiACQZgDaiAMQgAgEkIAEJYCIAJBiANqIBlCACATQgAQlgIgAikDuAMiHyACQdADaikDACACKQPIAyIgIAJB4ANqKQMAfCIjICBUrXx8IiAgH1StIAJBkANqKQMAIAJBoANqKQMAIAJBwANqKQMAIAwgFX4gDSAQfnwgEiAZfnx8IBMgGn58fHx8IAJBsANqKQMAIAIpA6gDIgwgI3wiFSAMVK18IgwgIHwiDSAMVK18IAIpA5gDIgwgDXwiDSAMVK18IAIpA4gDIgwgDXwiEyAMVK18IRJCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAhfkICWgRAIBJCf4UiDSACKQPYAyIQQgAgFX0iGYRQIgEgE0J/hSIMIAGtfCIaIAxUcSIDrXwgDSADGyESIBkgFUJ/hSAQUBshFSAaIAwgARshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBNCIIYgFUIgiIQhFSASQiCIIQ1CAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIRACfgJAAkAgAikDqAsiGVBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBlCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEZIA1Cf4UgEkIgiIQhDSASQiCGIBNCIIiEIBBCf4WEIRAgE0IghiAVQiCIhCAZQn+FhCEVIAxCf4ULIQwgAkHoCmpBm5rBAEEhEHYgAigC6AoNDiAQIAIpA/gKfCISIBBUIQEgAikDgAshGSAVIBUgAikD8Ap8IhNYBH4gAa0FIBJCAXwiElCtIAGtfAshECANIBl8IhUgDVQhASACKQOICyENQn8gEiAThCAQUAR+IAGtBSAVIBAgFXwiFVatIAGtfAsiEFAEfiAMIA18BSAMIA18IBB8CyIQIBWEhEIAUq0gEEIAUyIBGyEhIAEEQCASQn+FQgAgEn0iDUIAIBN9IhNCAFIiARshEiAVQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEVIAEgDCANVnGtIBBCf4V8IRALIBQhDSAOIQwgDyEZIBEhGiARQgBTBEAgDEJ/hUIAIAx9IhlCACANfSINQgBSIgEbIQwgD0J/hSIaIBlQIAFBf3NxIgGtfCIfIBogARshGSABIBogH1ZxrSARQn+FfCEaCyACQfgCaiANQgAgE0IAEJYCIAJB6AJqIA1CACASQgAQlgIgAkHYAmogDUIAIBVCABCWAiACQcgCaiAMQgAgE0IAEJYCIAJBuAJqIAxCACASQgAQlgIgAkGoAmogGUIAIBNCABCWAiACKQPYAiIfIAJB8AJqKQMAIAIpA+gCIiAgAkGAA2opAwB8IiMgIFStfHwiICAfVK0gAkGwAmopAwAgAkHAAmopAwAgAkHgAmopAwAgDCAVfiANIBB+fCASIBl+fHwgEyAafnx8fHwgAkHQAmopAwAgAikDyAIiDCAjfCIVIAxUrXwiDCAgfCINIAxUrXwgAikDuAIiDCANfCINIAxUrXwgAikDqAIiDCANfCITIAxUrXwhEkJ/IA4gFIQgD4QgEYRCAFKtIBFCAFMbICF+QgJaBEAgEkJ/hSINIAIpA/gCIhBCACAVfSIZhFAiASATQn+FIgwgAa18IhogDFRxIgOtfCANIAMbIRIgGSAVQn+FIBBQGyEVIBogDCABGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgE0IghiAVQiCIhCEVIBJCIIghDUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaiPwQAgAkHoCmoQpAEgAikDsAshEAJ+AkACQCACKQOoCyIZUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgGUIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRkgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECATQiCGIBVCIIiEIBlCf4WEIRUgDEJ/hQshDCACQegKakG8msEAQSAQdiACKALoCg0PIBAgAikD+Ap8IhIgEFQhASACKQOACyEZIBUgFSACKQPwCnwiE1gEfiABrQUgEkIBfCISUK0gAa18CyEQIA0gGXwiFSANVCEBIAIpA4gLIQ1CfyASIBOEIBBQBH4gAa0FIBUgECAVfCIVVq0gAa18CyIQUAR+IAwgDXwFIAwgDXwgEHwLIhAgFYSEQgBSrSAQQgBTIgEbIAEEQCASQn+FQgAgEn0iGUIAIBN9IhNCAFIiARshEiAVQn+FIgwgGVAgAUF/c3EiAa18IhkgDCABGyEVIAEgDCAZVnGtIBBCf4V8IRALQn8gDiAUhCAPhCARhEIAUq0gEUIAUyIBGyABBEAgDkJ/hUIAIA59IhpCACAUfSIUQgBSIgEbIQ4gD0J/hSIMIBpQIAFBf3NxIgGtfCIaIAwgARshDyABIAwgGlZxrSARQn+FfCERCyACQZgCaiAUQgAgE0IAEJYCIAJBiAJqIBRCACASQgAQlgIgAkH4AWogFEIAIBVCABCWAiACQegBaiAOQgAgE0IAEJYCIAJB2AFqIA5CACASQgAQlgIgAkHIAWogD0IAIBNCABCWAiACKQP4ASIMIAJBkAJqKQMAIAIpA4gCIhogAkGgAmopAwB8IiEgGlStfHwiGiAMVK0gAkHQAWopAwAgAkHgAWopAwAgAkGAAmopAwAgDiAVfiAQIBR+fCAPIBJ+fHwgESATfnx8fHwgAkHwAWopAwAgAikD6AEiDiAhfCIUIA5UrXwiDiAafCIPIA5UrXwgAikD2AEiDiAPfCIPIA5UrXwgDyACKQPIASIRfCIOIBFUrXwhEX5CAloEQCARQn+FIg8gAikDmAIiDEIAIBR9Ig2EUCIBIA5Cf4UiDiABrXwiECAOVHEiA618IA8gAxshESANIBRCf4UgDFAbIRQgECAOIAEbIQ4LAn4gEUIAWQRAIBFCIIYgDkIgiIQhEiAOQiCGIBRCIIiEIQ4gEUIgiCEVQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqI/BACACQegKahCkASACKQOwCyEPAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRIgAikDwAshEwwBCyACKQO4CyESIA9QRQRAIA9CAX0hDyACKQPACyETDAELIAIpA8ALIRMgElANASASQgF9IRJCfyEPCyAMQgF9DAELIBNQDRhCfyESIBNCAX0hE0J/IQ9CfwshDCASQn+FIBFCIIiEIRUgEUIghiAOQiCIhCAPQn+FhCESIA5CIIYgFEIgiIQgDEJ/hYQhDiATQn+FCyEUIAJB6ApqQdyawQBBHhB2IAIoAugKDRFCIIYgJkIgiIQhESASIAIpA/gKfCIPIBJUIQEgAikDgAsgDiAOIAIpA/AKfCITWAR+IAGtBSAPQgF8Ig9QrSABrXwLIQwgFXwiDiAVVCEDQf8BIQFB/wEgHiARfSAkfCIRIB0gFyAnfSIShCAWhIRCAFIgEUIAUxsCQCACKQOICyINIBR8IAxQBH4gA60FIA4gDCAOfCIOVq0gA618CyIMIA0gFHx8IAxQGyIUQgBTDQBBASEBIA8gE4QgDoRCAFINACAUUA0RC8AgAcBtIAIgEUIAUwR+IBJCf4VCACASfSINQgAgHX0iHUIAUiIBGyESIBZCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRYgASAMIA1Wca0gEUJ/hXwFIBELNwPgCiACIBY3A9gKIAIgEjcD0AogAiAdNwPICiACIBRCAFMEfiAPQn+FQgAgD30iDEIAIBN9IhNCAFIiARshDyAOQn+FIhEgDFAgAUF/c3EiAa18IgwgESABGyEOIAEgDCARVHGtIBRCf4V8BSAUCzcDwAsgAiAONwO4CyACIA83A7ALIAIgEzcDqAsgAkHoCmogAkHICmogAkGoC2oQcSACKQOACyEUIAIpA/gKIRMgAikD8AohDiACKQPoCiERQf8BcUECTwRAIBRCf4UiFEIAIA59IgxQQgAgEX0iEUIAUiIDQX9zcSIBIBNCf4UiDyABrXwiDSAPVHEiBK18IBQgBBshFCANIA8gARshEyAOQn+FIAwgAxshDgsgAkHoCmpBjJvBAEErEHYgAigC6AoNEiACKQOICyEVQn8gDiARhCATIBSEhEIAUq0gFEIAUyIBGyACKQOACyEQIAIpA/gKIRIgAikD8AohDyABBEAgDkJ/hUIAIA59IhZCACARfSIRQgBSIgEbIQ4gE0J/hSIMIBZQIAFBf3NxIgGtfCIWIAwgARshEyABIAwgFlZxrSAUQn+FfCEUC0J/IA8gEoQgEIQgFYRCAFKtIBVCAFMiARsgAQRAIBJCf4VCACASfSIXQgAgD30iD0IAUiIBGyESIBBCf4UiDCAXUCABQX9zcSIBrXwiFyAMIAEbIRAgASAMIBdWca0gFUJ/hXwhFQsgAkG4AWogD0IAIBFCABCWAiACQagBaiAPQgAgDkIAEJYCIAJBmAFqIA9CACATQgAQlgIgAkGIAWogEkIAIBFCABCWAiACQfgAaiASQgAgDkIAEJYCIAJB6ABqIBBCACARQgAQlgIgAikDmAEiDCACQbABaikDACACKQOoASIXIAJBwAFqKQMAfCIZIBdUrXx8IhcgDFStIAJB8ABqKQMAIAJBgAFqKQMAIAJBoAFqKQMAIBIgE34gDyAUfnwgDiAQfnx8IBEgFX58fHx8IAJBkAFqKQMAIAIpA4gBIg4gGXwiFCAOVK18Ig4gF3wiDyAOVK18IAIpA3giDiAPfCIPIA5UrXwgAikDaCIOIA98IhMgDlStfCEQIAIpA7gBIRV+QgJaBEAgEEJ/hSIPQgAgFH0iEVBCACAVfSIVQgBSIgNBf3NxIgEgE0J/hSIOIAGtfCIMIA5UcSIErXwgDyAEGyEQIAwgDiABGyETIBRCf4UgESADGyEUCyACQegKakG3m8EAQccAEHYgAigC6AoNEyACKQOACyEPIAIpA/gKIQ4gAikD8AohEUJ/IRYgAikDiAsiEkIAWQRAIA4gEYQgDyAShIRCAFKtIRYLIBJCAFMEQCAOQn+FQgAgDn0iDUIAIBF9IhFCAFIiARshDiAPQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEPIAEgDCANVnGtIBJCf4V8IRILQn8gGyAchCAYhCAihEIAUq0gIkIAUyIBGyABBEAgG0J/hUIAIBt9IhdCACAcfSIcQgBSIgEbIRsgGEJ/hSIMIBdQIAFBf3NxIgGtfCIXIAwgARshGCABIAwgF1ZxrSAiQn+FfCEiCyACQdgAaiAcQgAgEUIAEJYCIAJByABqIBxCACAOQgAQlgIgAkE4aiAcQgAgD0IAEJYCIAJBKGogG0IAIBFCABCWAiACQRhqIBtCACAOQgAQlgIgAkEIaiAYQgAgEUIAEJYCIAIpAzgiDCACQdAAaikDACACKQNIIhcgAkHgAGopAwB8IhkgF1StfHwiFyAMVK0gAkEQaikDACACQSBqKQMAIAJBQGspAwAgDyAbfiASIBx+fCAOIBh+fHwgESAifnx8fHwgAkEwaikDACACKQMoIg8gGXwiDiAPVK18Ig8gF3wiESAPVK18IAIpAxgiDyARfCIRIA9UrXwgESACKQMIIhF8Ig8gEVStfCEYIAIpA1ghGyAWfkICWgR+IBhCf4UiEUIAIA59IgxQQgAgG30iG0IAUiIDQX9zcSIBIA9Cf4UiDyABrXwiDSAPVHEiBK18IBEgBBshGCANIA8gARshDyAOQn+FIAwgAxsFIA4LIBR8Ig4gFFQhASAPIBN8IhEgE1QhAyAVIBUgG3wiD1gEfiABrQUgDkIBfCIOUK0gAa18CyIUUAR+IAOtBSARIBEgFHwiEVatIAOtfAsiFFAEfiAQIBh8BSAQIBh8IBR8CyEMIAJB6ApqQf6bwQBByAAQdiACKALoCkUEQCAOIA4gAikD+Ap8IhRWIgGtIBRCf1GtIAGtfCAPIA8gAikD8Ap8WBshDyACKQOACyARfCIOIBFUIQFCACEUAn4gAikDiAsiESAMfCAPUAR+IAGtBSAOIA4gD3wiDlatIAGtfAsiDyAMIBF8fCAPUBsiEUIAWQRAIBFCEoYgDkIuiIQhDkIAIQ8gEUIuiAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQtEANwPoCiACQagLakGoj8EAIAJB6ApqEKQBIAIpA7ALIRQCfgJAAkACQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ8MAQsgAikDuAshDyAUUA0BIBRCAX0hFAsgFEJ/hSEYIAIpA8ALIRQMAQsgAikDwAshFCAPUA0BIA9CAX0hD0IAIRgLIA9Cf4UhD0IAIAx9DAELQgAhDyAUUA0XIBRCAX0hFEIAIRhCAAsgEUIShiAOQi6IhIQhDiAUQn+FIRQgGCARQi6IhAshESAAIBQ3AyAgACAPNwMYIAAgETcDECAAIA43AwhBACEBDBYLIAIgAigC7Ao2AqgLQcCVwQBBKyACQagLakHslcEAQcicwQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEGIn8EAEJcCAAsgAiACKALsCjYCqAtBwJXBAEErIAJBqAtqQeyVwQBB+J7BABCXAgALQcCVwQBBKyACQc8LakHYnsEAQeiewQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEHInsEAEJcCAAsgAiACKALsCjYCqAtBwJXBAEErIAJBqAtqQeyVwQBBuJ7BABCXAgALIAIgAigC7Ao2AqgLQcCVwQBBKyACQagLakHslcEAQaiewQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEGYnsEAEJcCAAsgAiACKALsCjYCqAtBwJXBAEErIAJBqAtqQeyVwQBBiJ7BABCXAgALIAIgAigC7Ao2AqgLQcCVwQBBKyACQagLakHslcEAQfidwQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEHoncEAEJcCAAsgAiACKALsCjYCqAtBwJXBAEErIAJBqAtqQeyVwQBB2J3BABCXAgALIAIgAigC7Ao2AqgLQcCVwQBBKyACQagLakHslcEAQcidwQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEG4ncEAEJcCAAsgAiACKALsCjYCqAtBwJXBAEErIAJBqAtqQeyVwQBBqJ3BABCXAgALIAIgAigC7Ao2AqgLQcCVwQBBKyACQagLakHslcEAQZidwQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEGIncEAEJcCAAtB/JrBABDLAgALIAIgAigC7Ao2AqgLQcCVwQBBKyACQagLakHslcEAQficwQAQlwIACyACIAIoAuwKNgKoC0HAlcEAQSsgAkGoC2pB7JXBAEHonMEAEJcCAAsgAiACKALsCjYCqAtBwJXBAEErIAJBqAtqQeyVwQBB2JzBABCXAgALDAELIAAgATYCACACQdALaiQADwsgAkEANgL4CiACQQE2AuwKIAJB5JDBADYC6AogAkIENwLwCiACQegKakG0kMEAEMUCAAuLZwIFfxZ+IwBBsAhrIgIkAAJAIAACfwJAAkAgASkDGCIUQgBZDQAgASkDCCENIAEpAxAhECACQgAgASkDAH0iEzcDkAggAiANQn+FQgAgDX0iDSATQgBSIgMbNwOYCCACIBBCf4UiEyANUCADQX9zcSIDrXwiDSATIAMbNwOgCCACIAMgDSATVHGtIBRCf4V8NwOoCCACQcgHakIANwMAIAJCADcDwAcgAkICNwO4ByACQr/WyeXw1I3nyAA3A7AHIAJBsAdqIAJBkAhqEJwCQf8BcUEBRg0AIABCADcDCCAAQSBqQgA3AwAgAEEYakIANwMAIABBEGpCADcDAAwBCyACQbAHakHUk8EAQRUQdiACKAKwBwRAIAIgAigCtAc2ApAIQcCVwQBBKyACQZAIakHslcEAQdyWwQAQlwIACyACKQPQByEOIAIpA8gHIQcgAikDwAchCCACKQO4ByEPIAEpAwAhEQJAAkACfwJAIBRCAFMEQCAOQgBTDQEgASkDECEKIAEpAwghDQwECyAOQgBTDQIgASkDCCENIAEpAxAhCiACIBQ3A6gIIAIgCjcDoAggAiANNwOYCCACIBE3A5AIIAIgDjcDyAcgAiAHNwPAByACIAg3A7gHIAIgDzcDsAcgAkGQCGogAkGwB2oQnAIMAQsgASkDCCENIAEpAxAhCiACQgAgEX0iEDcDkAggAiANQn+FQgAgDX0iEyAQQgBSIgMbNwOYCCACIApCf4UiECATUCADQX9zcSIDrXwiEyAQIAMbNwOgCCACIAMgECATVnGtIBRCf4V8NwOoCCACQgAgD30iEDcDsAcgAiAIQn+FQgAgCH0iEyAQQgBSIgMbNwO4ByACIAdCf4UiECATUCADQX9zcSIDrXwiEyAQIAMbNwPAByACIAMgECATVnGtIA5Cf4V8NwPIByACQbAHaiACQZAIahCcAgtB/wFxQQJPDQELIAJBATYCtAcgAkH8k8EANgKwByACQgE3ArwHIAIgAa1CgICAgOAOhDcDkAggAiACQZAIajYCuAcgACACQbAHakGElMEAENIBNgIEQQEMAgsgAkGwB2pBlJTBAEEBEHYCfgJAAn8CQAJAAkACQAJAIAIoArAHRQRAIApCDoYgDUIyiIQhECANQg6GIAIpA8gHIRMgAikDwAchDSACKQO4ByEMIAIpA9AHIgdCAFMEQCANQn+FQgAgDX0iD0IAIAx9IgxCAFIiAxshDSATQn+FIg4gD1AgA0F/c3EiA618Ig8gDiADGyETIAMgDiAPVnGtIAdCf4V8IQcLIBFCMoiEIQogEUIOhiEPIAIgBzcDiAggAiATNwOACCACIA03A/gHIAIgDDcD8AcgAkGoCGpCADcDACACQaAIakIANwMAIAJCADcDmAggAkISNwOQCCACQbAHaiACQfAHaiACQZAIahBpIAIpA8gHIQ1B/wEhBEH/ASEDIAogD4QgEIRCAFIgAyAQQgBZGyEDIAIpA7AHIQwgAikDuAchEyACKQPAByEHAkACQCANQgBTDQBBASEEIAwgE4QgB4RCAFINACANUA0BCyADwCAEwG0gAiAQQgBTBH4gCkJ/hSIOIA5CACAPfSIPUCIDrXwiCCAPQgBSGyEKIAMgCCAOVHGtIBBCf4V8BSAQCzcDiAggAiAKNwOACCACIA83A/gHIAJCADcD8AcgAiANQgBTBH4gE0J/hUIAIBN9IhBCACAMfSIMQgBSIgMbIRMgB0J/hSIPIBBQIANBf3NxIgOtfCIQIA8gAxshByADIA8gEFZxrSANQn+FfAUgDQs3A6gIIAIgBzcDoAggAiATNwOYCCACIAw3A5AIIAJBsAdqIAJB8AdqIAJBkAhqEHEgAikDyAchDCACKQPAByEKIAIpA7gHIRAgAikDsAchE0H/AXFBAk8EQCAMQn+FIgdCACAQfSIPUEIAIBN9IhNCAFIiBEF/c3EiBSAKQn+FIgggBa18Ig0gCFRxIgOtfCAHIAMbIQwgDSAIIAUbIQogEEJ/hSAPIAQbIRALIAEgDDcDGCABIAo3AxAgASAQNwMIIAEgEzcDACACQbAHakGolMEAQR0QdiACKAKwBw0DIBBCIIYgE0IgiIQhCSATQiCGIQcgAikD0AchDUH/ASEEQf8BIQMgCkIghiAQQiCIhCIPQgBZBEAgByAJhCAPhEIAUiEDCyACKQPIByEIIAIpA8AHIRIgAikDuAchCwJAIA1CAFMNAEEBIQQgCyAShCAIhEIAUg0AIA1QDQMLIAPAIATAbSACIA9CAFMEfiAJQn+FIhEgEUIAIAd9IgdQIgOtfCIOIAdCAFIbIQkgAyAOIBFUca0gD0J/hXwFIA8LNwOICCACIAk3A4AIIAIgBzcD+AcgAkIANwPwByACIA1CAFMEfiASQn+FQgAgEn0iD0IAIAt9IgtCAFIiAxshEiAIQn+FIgcgD1AgA0F/c3EiA618Ig8gByADGyEIIAMgByAPVnGtIA1Cf4V8BSANCzcDqAggAiAINwOgCCACIBI3A5gIIAIgCzcDkAggAkGwB2ogAkHwB2ogAkGQCGoQcSACKQPIByEJIAIpA8AHIQ8gAikDuAchDSACKQOwByEHQf8BcUECTwRAIAlCf4UiDkIAIA19IghQQgAgB30iB0IAUiIEQX9zcSIFIA9Cf4UiESAFrXwiDyARVHEiA618IA4gAxshCSAPIBEgBRshDyANQn+FIAggBBshDQsgAkGwB2pB2JTBAEEBEHYgAigCsAcNBCACKQPIByELIAIpA8AHIRIgAikDuAchCCACIAIpA9AHIhRCAFkiBAR+IBQFIBJCf4VCACASfSIOQgAgCH0iCEIAUiIDGyESIAtCf4UiESAOUCADQX9zcSIDrXwiDiARIAMbIQsgAyAOIBFUca0gFEJ/hXwLNwOICCACIAs3A4AIIAIgEjcD+AcgAiAINwPwByACQagIakIANwMAIAJBoAhqQgA3AwAgAkIANwOYCCACQt8ANwOQCCACQbAHaiACQfAHaiACQZAIahBpIAIpA7AHIQggAikDuAchEiACKQPAByEUIAIpA8gHIRcgBEUEQCAXQn+FIhtCACASfSIRUEIAIAh9IghCAFIiBEF/c3EiBSAUQn+FIhQgBa18Ig4gFFRxIgOtfCAbIAMbIRcgEkJ/hSARIAQbIRIgDiAUIAUbIRQLIA0gEnwiCyANVCEDIAcgByAIfFgEfiADrQUgC0IBfCILUK0gA618CyEHIA8gFHwiDSAPVCEDIAdQBH4gA60FIA0gByANfCINVq0gA618CyIPUAR+IAkgF3wFIAkgF3wgD3wLIQ9CACEJAn8CQAJAIA9CAFkEQCAPQiCGIA1CIIiEIQcgDUIghiALQiCIhCEbIA9CIIghEgwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakGoj8EAIAJBsAdqEKQBIAIpA5gIIQcCfgJAAkAgAikDkAgiCFBFBEAgAikDoAghEiACKQOoCCEJDAELIAIpA6AIIRIgB1BFBEAgB0IBfSEHIAIpA6gIIQkMAQsgAikDqAghCSASUA0BIBJCAX0hEkJ/IQcLIAhCAX0MAQsgCVANEEJ/IRIgCUIBfSEJQn8hB0J/CyEIIBJCf4UgD0IgiIQhEiAPQiCGIA1CIIiEIAdCf4WEIQcgDUIghiALQiCIhCAIQn+FhCEbIAlCAFkNASAJQn+FIQkLIBshDUEBDAELIAdCf4VCACAHfSIIQgAgG30iDUIAUiIDGyEHIBJCf4UiDyAIUCADQX9zcSIDrXwgDyADGyESQQALIAJBoAdqIA1CAEKY547PvLXe51FCABCWAiACQYAHaiAHQgBCmOeOz7y13udRQgAQlgIgAkHgBmogEkIAQpjnjs+8td7nUUIAEJYCIAJBkAdqIA1CAEL3r8iLC0IAEJYCIAJB8AZqIAdCAEL3r8iLC0IAEJYCIAIpA+AGIgcgAkGIB2opAwAgAikDgAciDSACQagHaikDAHwiDyANVK18fCINIAdUrSACQegGaikDACACQfgGaikDACAJQpjnjs+8td7nUX4gEkL3r8iLC358fHx8IA0gAkGYB2opAwAgAikDkAciDSAPfCIPIA1UrXwiB3wiDSAHVK18IA0gAikD8AYiDXwiByANVK18IQsgAikDoAchEkUEQCALQn+FIg5CACAPfSIIUEIAIBJ9IhJCAFIiBEF/c3EiBSAHQn+FIgcgBa18Ig0gB1RxIgOtfCAOIAMbIQsgDSAHIAUbIQcgD0J/hSAIIAQbIQ8LAn4gEiATWARAIA8gEFatIQkgECAPfQwBCyAPIBBWrSAPIBBRrXwhCSAQIA9Cf4V8CyENIAogB30hDwJAIAlQBEBCf0IAIAcgClYbIRAMAQtCf0IAIAcgClYbIAkgD1atfSEQIA8gCX0hDwsgASAPNwMQIAEgDTcDCCABIBMgEn0iEzcDACABIAwgC30gEHwiEDcDGCANQv3Po/OPAnwiCiANVCEBIBAgEyATQtDs/Ym3j4DoN3wiDFgEfiABrQUgCkIBfCIKUK0gAa18CyIHQgBSIgMgByAPfCIHIA9UcSIBrXwgECABGyEJIAcgDyADGyELAn4CQAJ/AkAgEEIAWQRAQQEhASAJQgBZIgNFDQEgEyEHIA0hEiAPIQggEAwEC0EBIAlCAFMNARogCiAMhCALhCAJhFAhAQwCCyANIBOEIA+EIBCEUCADcgshASAJQn+FIg5CACAKfSIIUEIAIAx9IgxCAFIiBEF/c3EiBSALQn+FIhEgBa18IgcgEVRxIgOtfCAOIAMbIQkgCkJ/hSAIIAQbIQogByARIAUbIQsgEyEHIA0hEiAPIQggECAQQgBZDQEaCyANQn+FQgAgDX0iCEIAIBN9IgdCAFIiAxshEiAPQn+FIhEgCFAgA0F/c3EiA618Ig4gESADGyEIIAMgDiARVHGtIBBCf4V8CyEUIAJB0AZqIAdCACAMQgAQlgIgAkHABmogB0IAIApCABCWAiACQbAGaiAHQgAgC0IAEJYCIAJBoAZqIBJCACAMQgAQlgIgAkGQBmogEkIAIApCABCWAiACQYAGaiAIQgAgDEIAEJYCIAIpA7AGIhUgAkHIBmopAwAgAikDwAYiDiACQdgGaikDAHwiESAOVK18fCIOIBVUrSACQYgGaikDACACQZgGaikDACACQbgGaikDACALIBJ+IAcgCX58IAggCn58fCAMIBR+fHx8fCACQagGaikDACACKQOgBiIHIBF8IhIgB1StfCIIIA58IgcgCFStfCACKQOQBiIIIAd8IgcgCFStfCAHIAIpA4AGIgd8IgwgB1StfCEKIAFFBEAgCkJ/hSIRIAIpA9AGIg5CACASfSIIhFAiAyAMQn+FIhQgA618IgcgFFRxIgGtfCARIAEbIQogByAUIAMbIQwgCCASQn+FIA5QGyESCwJ+IApCAFkEQCAKQiCGIAxCIIiEIQkgDEIghiASQiCIhCESQgAhCyAKQiCIDAELIAJByAdqQgA3AwAgAkHAB2pCADcDACACQgA3A7gHIAJCnwE3A7AHIAJBkAhqQaiPwQAgAkGwB2oQpAEgAikDmAghCQJ+AkACQCACKQOQCCIIUEUEQCACKQOgCCEHIAIpA6gIIQsMAQsgAikDoAghByAJUEUEQCAJQgF9IQkgAikDqAghCwwBCyACKQOoCCELIAdQDQEgB0IBfSEHQn8hCQsgCEIBfQwBCyALUA0OQn8hByALQgF9IQtCfyEJQn8LIQggCkIghiAMQiCIhCAJQn+FhCEJIAxCIIYgEkIgiIQgCEJ/hYQhEiALQn+FIQsgB0J/hSAKQiCIhAshByAJQvuugbmW2gB8IgogCVQhASASIBJClqzAxL69grIufSIMWAR+IAGtBSAKQgF8IgpQrSABrXwLIhJCAFIiAyAHIBJ8Ig4gB1RxIgGtIA4gByADGyEHIAogDXwiCSAKVCEDIAwgDCATfCIVWAR+IAOtBSAJQgF8IglQrSADrXwLIRIgC3wgByAPfCIIIAdUIQMgElAEfiADrQUgCCAIIBJ8IghWrSADrXwLIRQgCyABGyESIBRQBH4gECASfAUgECASfCAUfAsCfiAVQuy0lZHtwqTKln9aBEAgCUKL1fzsz5QBVK0hFyAJQovV/OzPlAF9DAELIAlCi9X87M+UAVStIAlCi9X87M+UAVGtfCEXIAlCjNX87M+UAX0LIQsgFUKUy+rukr3btekAfCEJIAggF30hFEJ/IRFCfyEOIBdCAFIgCCAXVHGtfSIIQgBZBEAgCSALhCAIIBSEhEIAUq0hDgsgCiAMhCAHhCAShEIAUq0gESASQgBZGyERIAhCAFMEQCAIQn+FIghC7LSVke3CpMqWfyAVfSIJQgAgC30iFYRQIgMgFEJ/hSIWIAOtfCIUIBZUcSIBrXwgCCABGyEIIBUgC0J/hSAJUBshCyAUIBYgAxshFAsgEkIAUwRAIApCf4VCACAKfSIVQgAgDH0iDEIAUiIBGyEKIAdCf4UiFiAVUCABQX9zcSIBrXwiFSAWIAEbIQcgASAVIBZUca0gEkJ/hXwhEgsgAkHwBWogDEIAIAlCABCWAiACQeAFaiAMQgAgC0IAEJYCIAJB0AVqIAxCACAUQgAQlgIgAkHABWogCkIAIAlCABCWAiACQbAFaiAKQgAgC0IAEJYCIAJBoAVqIAdCACAJQgAQlgIgAikD0AUiGCACQegFaikDACACKQPgBSIVIAJB+AVqKQMAfCIWIBVUrXx8IhUgGFStIAJBqAVqKQMAIAJBuAVqKQMAIAJB2AVqKQMAIAogFH4gCCAMfnwgByALfnx8IAkgEn58fHx8IAJByAVqKQMAIAIpA8AFIgcgFnwiEiAHVK18IgggFXwiByAIVK18IAIpA7AFIgggB3wiByAIVK18IAcgAikDoAUiB3wiDCAHVK18IQogDiARfkICWgRAIApCf4UiESACKQPwBSIOQgAgEn0iCIRQIgMgDEJ/hSIUIAOtfCIHIBRUcSIBrXwgESABGyEKIAcgFCADGyEMIAggEkJ/hSAOUBshEgsCfiAKQgBZBEAgCkIghiAMQiCIhCEJIAxCIIYgEkIgiIQhEkIAIQsgCkIgiAwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakGoj8EAIAJBsAdqEKQBIAIpA5gIIQkCfgJAAkAgAikDkAgiCFBFBEAgAikDoAghByACKQOoCCELDAELIAIpA6AIIQcgCVBFBEAgCUIBfSEJIAIpA6gIIQsMAQsgAikDqAghCyAHUA0BIAdCAX0hB0J/IQkLIAhCAX0MAQsgC1ANDkJ/IQcgC0IBfSELQn8hCUJ/CyEIIApCIIYgDEIgiIQgCUJ/hYQhCSAMQiCGIBJCIIiEIAhCf4WEIRIgC0J/hSELIAdCf4UgCkIgiIQLIQcgCUKi3e2d0P7hAnwiCiAJVCEBIBIgEkKwt5r/i+mA7eIAfSIMWAR+IAGtBSAKQgF8IgpQrSABrXwLIhIgB3wiDiAHIBJCAFIiARshEkJ/IQhCfyEUIAsgASAHIA5WcSIBrXwgCyABGyIJQgBZBEAgCiAMhCAJIBKEhEIAUq0hFAsgDSAThCAPIBCEhEIAUq0gCCAQQgBZGyAJQgBTBEAgCUJ/hSIRQgAgCn0iDlBCACAMfSIMQgBSIgNBf3NxIgQgEkJ/hSISIAStfCIHIBJUcSIBrXwgESABGyEJIApCf4UgDiADGyEKIAcgEiAEGyESCyAUfiATIQcgDSELIA8hCCAQIRQgEEIAUwRAIA1Cf4VCACANfSIIQgAgB30iB0IAUiIBGyELIA9Cf4UiESAIUCABQX9zcSIBrXwiDiARIAEbIQggASAOIBFUca0gEEJ/hXwhFAsgAkGQBWogB0IAIAxCABCWAiACQYAFaiAHQgAgCkIAEJYCIAJB8ARqIAdCACASQgAQlgIgAkHgBGogC0IAIAxCABCWAiACQdAEaiALQgAgCkIAEJYCIAJBwARqIAhCACAMQgAQlgIgAikD8AQiFSACQYgFaikDACACKQOABSIOIAJBmAVqKQMAfCIRIA5UrXx8Ig4gFVStIAJByARqKQMAIAJB2ARqKQMAIAJB+ARqKQMAIAsgEn4gByAJfnwgCCAKfnx8IAwgFH58fHx8IAJB6ARqKQMAIAIpA+AEIgcgEXwiCiAHVK18IgggDnwiByAIVK18IAIpA9AEIgggB3wiByAIVK18IAcgAikDwAQiB3wiDCAHVK18IQcgAikDkAUhFEICWgRAIAdCf4UiB0IAIAp9Ig5QQgAgFH0iFEIAUiIDQX9zcSIEIAxCf4UiESAErXwiCCARVHEiAa18IAcgARshByAKQn+FIA4gAxshCiAIIBEgBBshDAsgAkGwB2pB2ZTBAEEiEHYgAigCsAcNBSACKQPAByIIQiCIIREgAikDyAdCIIYgDCAIQiCGIAIpA7gHIghCIIiEfCIXIAxUIQEgCiAKIAhCIIZ8IhlYBH4gAa0FIBdCAXwiF1CtIAGtfAshCiARhCEIIApQBH4gByAIfAUgByAIfCAKfAshEiAQAn4gE0L81db+8PXy7LJ/WgRAIA1Cn53M4cAEfSEMIA1Cn53M4cAEVK0MAQsgDUKgnczhwAR9IQwgDUKfnczhwARUrSANQp+dzOHABFGtfAsiB0IAUiAHIA9Wca19IQsgE0KEqqmBj4qNk80AfCEKIA8gB30hCAJAIBBCAFMEQCALQgBZDQFBAQwJCyALQgBZDQBBACEEDAcLQQEhBCAQQgBZDQYgCiAMhCAIhCALhFAhAQwIC0GYlMEAEMsCAAsgAiACKAK0BzYCkAhBwJXBAEErIAJBkAhqQeyVwQBBzJbBABCXAgALQciUwQAQywIACyACIAIoArQHNgKQCEHAlcEAQSsgAkGQCGpB7JXBAEG8lsEAEJcCAAsgAiACKAK0BzYCkAhBwJXBAEErIAJBkAhqQeyVwQBBrJbBABCXAgALIAIgAigCtAc2ApAIQcCVwQBBKyACQZAIakHslcEAQZyWwQAQlwIAC0EBIQEgBARAIBMhByANIQkgDyERIBAMAwsgDSAThCAPhCAQhFAgBHILIQEgC0J/hSIRQvzV1v7w9fLssn8gE30iCkIAIAx9Ig6EUCIEIAhCf4UiCCAErXwiByAIVHEiA618IBEgAxshCyAOIAxCf4UgClAbIQwgByAIIAQbIQggEyEHIA0hCSAPIREgECAQQgBZDQEaCyANQn+FQgAgDX0iDkIAIBN9IgdCAFIiAxshCSAPQn+FIhUgDlAgA0F/c3EiA618Ig4gFSADGyERIAMgDiAVVHGtIBBCf4V8CyEOIAJBsARqIAdCACAKQgAQlgIgAkGgBGogB0IAIAxCABCWAiACQZAEaiAHQgAgCEIAEJYCIAJBgARqIAlCACAKQgAQlgIgAkHwA2ogCUIAIAxCABCWAiACQeADaiARQgAgCkIAEJYCIAIpA5AEIhggAkGoBGopAwAgAikDoAQiFSACQbgEaikDAHwiFiAVVK18fCIVIBhUrSACQegDaikDACACQfgDaikDACACQZgEaikDACAIIAl+IAcgC358IAwgEX58fCAKIA5+fHx8fCACQYgEaikDACACKQOABCIHIBZ8IgkgB1StfCIIIBV8IgcgCFStfCACKQPwAyIIIAd8IgcgCFStfCAHIAIpA+ADIgd8IgwgB1StfCEKIAFFBEAgCkJ/hSIRIAIpA7AEIg5CACAJfSIIhFAiAyAMQn+FIgsgA618IgcgC1RxIgGtfCARIAEbIQogByALIAMbIQwgCCAJQn+FIA5QGyEJCwJAAkACQAJAAkACfiAKQgBZBEAgCkIghiAMQiCIhCELIAxCIIYgCUIgiIQhCUIAIQggCkIgiAwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakGoj8EAIAJBsAdqEKQBIAIpA5gIIQsCfgJAAkAgAikDkAgiDlBFBEAgAikDoAghByACKQOoCCEIDAELIAIpA6AIIQcgC1BFBEAgC0IBfSELIAIpA6gIIQgMAQsgAikDqAghCCAHUA0BIAdCAX0hB0J/IQsLIA5CAX0MAQsgCFANCUJ/IQcgCEIBfSEIQn8hC0J/CyERIApCIIYgDEIgiIQgC0J/hYQhCyAMQiCGIAlCIIiEIBFCf4WEIQkgCEJ/hSEIIAdCf4UgCkIgiIQLIQcgC0LPo6bK9c4AfCIKIAtUIQEgCSAJQqeG8vO5u6TQN30iDFgEfiABrQUgCkIBfCIKUK0gAa18CyIJIAd8IgsgByAJQgBSIgEbIQlCfyERQn8hDiAIIAEgByALVnEiAa18IAggARsiC0IAWQRAIAogDIQgCSALhIRCAFKtIQ4LIA0gE4QgDyAQhIRCAFKtIBEgEEIAWRshESALQgBTBEAgC0J/hSILQgAgCn0iCFBCACAMfSIMQgBSIgNBf3NxIgQgCUJ/hSIJIAStfCIHIAlUcSIBrXwgCyABGyELIApCf4UgCCADGyEKIAcgCSAEGyEJCyAOIBF+IBMhByANIQggDyERIBAhDiAQQgBTBEAgCEJ/hUIAIAh9Ig5CACAHfSIHQgBSIgEbIQggD0J/hSIVIA5QIAFBf3NxIgGtfCIOIBUgARshESABIA4gFVRxrSAQQn+FfCEOCyACQdADaiAHQgAgDEIAEJYCIAJBwANqIAdCACAKQgAQlgIgAkGwA2ogB0IAIAlCABCWAiACQaADaiAIQgAgDEIAEJYCIAJBkANqIAhCACAKQgAQlgIgAkGAA2ogEUIAIAxCABCWAiACKQOwAyIYIAJByANqKQMAIAIpA8ADIhUgAkHYA2opAwB8IhYgFVStfHwiFSAYVK0gAkGIA2opAwAgAkGYA2opAwAgAkG4A2opAwAgCCAJfiAHIAt+fCAKIBF+fHwgDCAOfnx8fHwgAkGoA2opAwAgAikDoAMiCCAWfCIHIAhUrXwiDiAVfCIIIA5UrXwgAikDkAMiDiAIfCIIIA5UrXwgCCACKQOAAyIIfCIMIAhUrXwhCkICWgRAIApCf4UiCSACKQPQAyIRQgAgB30iDoRQIgMgDEJ/hSILIAOtfCIIIAtUcSIBrXwgCSABGyEKIAggCyADGyEMIA4gB0J/hSARUBshBwsCfgJ+IApCAFkEQCAKQiCGIAxCIIiEIQkgCkIgiCEIQgAhFiAMQiCGIAdCIIiEDAELIAJByAdqQgA3AwAgAkHAB2pCADcDACACQgA3A7gHIAJCnwE3A7AHIAJBkAhqQaiPwQAgAkGwB2oQpAEgAikDmAghCQJ+AkACQCACKQOQCCIIUEUEQCACKQOgCCELIAIpA6gIIREMAQsgAikDoAghCyAJUEUEQCAJQgF9IQkgAikDqAghEQwBCyACKQOoCCERIAtQDQEgC0IBfSELQn8hCQsgCEIBfQwBCyARUA0KQn8hCyARQgF9IRFCfyEJQn8LIQ4gC0J/hSAKQiCIhCEIIApCIIYgDEIgiIQgCUJ/hYQhCSARQn+FIRYgDEIghiAHQiCIhCAOQn+FhAsiB0LEk8f3pbaYqOoAWgRAIAlCz8bXkqHKBn0hDCAJQs/G15KhygZUrQwBCyAJQtDG15KhygZ9IQwgCULPxteSocoGVK0gCULPxteSocoGUa18CyELIAdCxJPH96W2mKjqAH0hCiAIIAt9IQlCfyERQn8hDiAWIAggC1StfSILQgBZBEAgCiAMhCAJIAuEhEIAUq0hDgsgDSAThCAPIBCEhEIAUq0gESAQQgBZGyERIAtCAFMEQCALQn+FIgtCxJPH96W2mKjqACAHfSIKQgAgDH0iCIRQIgMgCUJ/hSIJIAOtfCIHIAlUcSIBrXwgCyABGyELIAggDEJ/hSAKUBshDCAHIAkgAxshCQsgDiARfiATIQcgDSEIIA8hESAQIQ4gEEIAUwRAIAhCf4VCACAIfSIOQgAgB30iB0IAUiIBGyEIIA9Cf4UiFSAOUCABQX9zcSIBrXwiDiAVIAEbIREgASAOIBVUca0gEEJ/hXwhDgsgAkHwAmogB0IAIApCABCWAiACQeACaiAHQgAgDEIAEJYCIAJB0AJqIAdCACAJQgAQlgIgAkHAAmogCEIAIApCABCWAiACQbACaiAIQgAgDEIAEJYCIAJBoAJqIBFCACAKQgAQlgIgAikD0AIiGCACQegCaikDACACKQPgAiIVIAJB+AJqKQMAfCIWIBVUrXx8IhUgGFStIAJBqAJqKQMAIAJBuAJqKQMAIAJB2AJqKQMAIAggCX4gByALfnwgDCARfnx8IAogDn58fHx8IAJByAJqKQMAIAIpA8ACIgcgFnwiCSAHVK18IgggFXwiByAIVK18IAIpA7ACIgggB3wiByAIVK18IAcgAikDoAIiB3wiDCAHVK18IQpCAloEQCAKQn+FIhEgAikD8AIiDkIAIAl9IgiEUCIDIAxCf4UiCyADrXwiByALVHEiAa18IBEgARshCiAHIAsgAxshDCAIIAlCf4UgDlAbIQkLAn4gCkIAWQRAIApCIIYgDEIgiIQhCyAMQiCGIAlCIIiEIQlCACEIIApCIIgMAQsgAkHIB2pCADcDACACQcAHakIANwMAIAJCADcDuAcgAkKfATcDsAcgAkGQCGpBqI/BACACQbAHahCkASACKQOYCCELAn4CQAJAIAIpA5AIIg5QRQRAIAIpA6AIIQcgAikDqAghCAwBCyACKQOgCCEHIAtQRQRAIAtCAX0hCyACKQOoCCEIDAELIAIpA6gIIQggB1ANASAHQgF9IQdCfyELCyAOQgF9DAELIAhQDQlCfyEHIAhCAX0hCEJ/IQtCfwshESAKQiCGIAxCIIiEIAtCf4WEIQsgDEIghiAJQiCIhCARQn+FhCEJIAhCf4UhCCAHQn+FIApCIIiECyEHIAtCw+iHkLu3LHwiCiALVCEBIAkgCULblomW3pz0tDB9IgxYBH4gAa0FIApCAXwiClCtIAGtfAsiCSAHfCILIAcgCUIAUiIBGyEJQn8hEUJ/IQ4gCCABIAcgC1ZxIgGtfCAIIAEbIgtCAFkEQCAKIAyEIAkgC4SEQgBSrSEOCyANIBOEIA8gEISEQgBSrSARIBBCAFkbIREgC0IAUwRAIAtCf4UiC0IAIAp9IghQQgAgDH0iDEIAUiIDQX9zcSIEIAlCf4UiCSAErXwiByAJVHEiAa18IAsgARshCyAKQn+FIAggAxshCiAHIAkgBBshCQsgDiARfiATIQcgDSEIIA8hESAQIQ4gEEIAUwRAIAhCf4VCACAIfSIOQgAgB30iB0IAUiIBGyEIIA9Cf4UiFSAOUCABQX9zcSIBrXwiDiAVIAEbIREgASAOIBVUca0gEEJ/hXwhDgsgAkGQAmogB0IAIAxCABCWAiACQYACaiAHQgAgCkIAEJYCIAJB8AFqIAdCACAJQgAQlgIgAkHgAWogCEIAIAxCABCWAiACQdABaiAIQgAgCkIAEJYCIAJBwAFqIBFCACAMQgAQlgIgAikD8AEiGCACQYgCaikDACACKQOAAiIVIAJBmAJqKQMAfCIWIBVUrXx8IhUgGFStIAJByAFqKQMAIAJB2AFqKQMAIAJB+AFqKQMAIAggCX4gByALfnwgCiARfnx8IAwgDn58fHx8IAJB6AFqKQMAIAIpA+ABIgggFnwiByAIVK18Ig4gFXwiCCAOVK18IAIpA9ABIg4gCHwiCCAOVK18IAggAikDwAEiCHwiDCAIVK18IQpCAloEQCAKQn+FIgkgAikDkAIiEUIAIAd9Ig6EUCIDIAxCf4UiCyADrXwiCCALVHEiAa18IAkgARshCiAIIAsgAxshDCAOIAdCf4UgEVAbIQcLAn4gCkIAWQRAIAxCIIYgB0IgiIQhCyAKQiCIIQhCACEVIApCIIYgDEIgiIQMAQsgAkHIB2pCADcDACACQcAHakIANwMAIAJCADcDuAcgAkKfATcDsAcgAkGQCGpBqI/BACACQbAHahCkASACKQOYCCEJAn4CQAJAIAIpA5AIIghQRQRAIAIpA6AIIQsgAikDqAghEQwBCyACKQOgCCELIAlQRQRAIAlCAX0hCSACKQOoCCERDAELIAIpA6gIIREgC1ANASALQgF9IQtCfyEJCyAIQgF9DAELIBFQDQlCfyELIBFCAX0hEUJ/IQlCfwshDiALQn+FIApCIIiEIQggDEIghiAHQiCIhCAOQn+FhCELIBFCf4UhFSAKQiCGIAxCIIiEIAlCf4WECyEJIAtClf6k6/7jzNTRAH0hCiAIAn4gC0KV/qTr/uPM1NEAWgRAIAlCz+7nxrjksQF9IQwgCULP7ufGuOSxAVStDAELIAlC0O7nxrjksQF9IQwgCULP7ufGuOSxAVStIAlCz+7nxrjksQFRrXwLIhF9IQdCfyEOQn8hFiAVIAggEVStfSIJQgBZBEAgCiAMhCAHIAmEhEIAUq0hFgsgDSAThCAPIBCEhEIAUq0gDiAQQgBZGyAJQgBTBEAgCUJ/hSIRQpX+pOv+48zU0QAgC30iCkIAIAx9IgiEUCIDIAdCf4UiCyADrXwiByALVHEiAa18IBEgARshCSAIIAxCf4UgClAbIQwgByALIAMbIQcLIBBCAFMEQCANQn+FQgAgDX0iCEIAIBN9IhNCAFIiARshDSAPQn+FIhEgCFAgAUF/c3EiAa18IgggESABGyEPIAEgCCARVHGtIBBCf4V8IRALIAJBsAFqIBNCACAKQgAQlgIgAkGgAWogE0IAIAxCABCWAiACQZABaiATQgAgB0IAEJYCIAJBgAFqIA1CACAKQgAQlgIgAkHwAGogDUIAIAxCABCWAiACQeAAaiAPQgAgCkIAEJYCIAIpA5ABIgsgAkGoAWopAwAgAikDoAEiCCACQbgBaikDAHwiESAIVK18fCIIIAtUrSACQegAaikDACACQfgAaikDACACQZgBaikDACAHIA1+IAkgE358IAwgD358fCAKIBB+fHx8fCACQYgBaikDACACKQOAASINIBF8Ig8gDVStfCITIAh8Ig0gE1StfCACKQNwIhMgDXwiDSATVK18IAIpA2AiEyANfCINIBNUrXwhECAWfkICWgRAIBBCf4UiECACKQOwASIHQgAgD30iE4RQIgMgDUJ/hSIIIAOtfCINIAhUcSIBrXwgECABGyEQIBMgD0J/hSAHUBshDyANIAggAxshDQsCfiAQQgBZBEAgDUIghiAPQiCIhCEKIBBCIIghD0IAIQwgEEIghiANQiCIhAwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakGoj8EAIAJBsAdqEKQBIAIpA5gIIRMCfgJAAn4CQAJAIAIpA5AIIghQRQRAIAIpA6AIIQoMAQsgAikDoAghCiATUA0BIBNCAX0hEwsgAikDqAghDCATQn+FDAELIAIpA6gIIQwgClANASAKQgF9IQpCAAshEyAKQn+FIQdCACAIfQwBC0IAIQcgDFANCSAMQgF9IQxCACETQgALIA1CIIYgD0IgiISEIQogDEJ/hSEMIAcgEEIgiIQhDyATIBBCIIYgDUIgiISECyITIBNCq7OeiruBxgJ8Ig1WIQEgDCAKIApC1/rJ0rKZqtTHAHwiE1gEfiABrQUgDUIBfCINUK0gAa18CyIQQgBSIgMgDyAQfCIHIA9UcSIBrXwgDCABGyEQQf8BIQFB/wEhBCAUIBmEIBeEIBKEQgBSIAQgEkIAWRsgByAPIAMbIQ8CQCAQQgBTDQBBASEBIA0gE4QgD4RCAFINACAQUA0BC8AgAcBtIAIgEkIAUwR+IBlCf4VCACAZfSIHQgAgFH0iFEIAUiIBGyEZIBdCf4UiCCAHUCABQX9zcSIBrXwiByAIIAEbIRcgASAHIAhUca0gEkJ/hXwFIBILNwOICCACIBc3A4AIIAIgGTcD+AcgAiAUNwPwByACIBBCAFMEfiANQn+FQgAgDX0iB0IAIBN9IhNCAFIiARshDSAPQn+FIgggB1AgAUF/c3EiAa18IgcgCCABGyEPIAEgByAIVHGtIBBCf4V8BSAQCzcDqAggAiAPNwOgCCACIA03A5gIIAIgEzcDkAggAkGwB2ogAkHwB2ogAkGQCGoQcSACKQPIByEKIAIpA8AHIQ8gAikDuAchDSACKQOwByEQQf8BcUECTwRAIA1Cf4VCACANfSITQgAgEH0iEEIAUiIBGyENIA9Cf4UiByATUCABQX9zcSIBrXwiEyAHIAEbIQ8gASAHIBNWca0gCkJ/hXwhCgsgAkGwB2oiAUGMlcEAQTEQjgEgAigCsAcNAUIAIRIgAkHQAGogAikDuAciHEIAIBBCABCWAiACQSBqIBxCACANQgAQlgIgAiAcQgAgD0IAEJYCIAJBQGsgAikDwAciDEIAIBBCABCWAiACQRBqIAxCACANQgAQlgIgAkEwaiACKQPIByIZQgAgEEIAEJYCIAIgAikDUDcDkAggAkEIaikDACEaIAIpA9AHIRggAkEYaikDACEWIAJBOGopAwAhFSACQShqKQMAIQsgAikDACEXIAIgAikDQCIOIAIpAyAiCCACQdgAaikDAHwiB3wiEzcDmAggAiACKQMwIgkgAikDECIUIAJByABqKQMAIA4gE1atfCIRIBcgCyAHIAhUrXx8Ig58Igh8Igd8IhM3A6AIIAIgCSATVq0gByAUVK0gCCARVK0gDiAXVK0gFSAWIBogDCAPfiAKIBx+fCANIBl+fHwgECAYfnx8fHx8fHw3A6gIIAFBvZXBAEEDEHYgAigCsAdFBEBCACEQQgAhDUIAIQ8gAikDuAcgG30iB6ciBEH/AUsNBSACQZAIaiAEQQZ2IgVBA3RqKQMAIRMgBUEBaiIDQQRGBEAMBAsgAkGQCGoiBiADQQN0aikDACAHQj+DIhCIIQ0gBUECaiIBQQRGDQMgAUEDdCAGaikDACAQiCEPIAVBA2oiAUEERg0EIAJBkAhqIAFBA3RqKQMAIBCIIRIMBAsgAiACKAK0BzYC8AdBwJXBAEErIAJB8AdqQeyVwQBB/JXBABCXAgALQfyUwQAQywIACyACIAIoArQHNgKQCEHAlcEAQSsgAkGQCGpB7JXBAEGMlsEAEJcCAAsLIBMgB4ghECAEQT9xRSAEQb8BS3INACACQZAIaiIBIANBA3RqKQMAQgAgB30iE4YgEHwhECADQQNGDQAgASAFQQJqIgFBA3RqKQMAIBNCP4MiE4YgDXwhDSABQQNGDQAgBUEDdCACakGoCGopAwAgE4YgD3whDwsgACASNwMgIAAgDzcDGCAAIA03AxAgACAQNwMIC0EACzYCACACQbAIaiQADwsgAkEANgLAByACQQE2ArQHIAJB5JDBADYCsAcgAkIENwK4ByACQbAHakG0kMEAEMUCAAv6NwIOfxJ+IwBBsAVrIgYkACABKQO4BSEXIAEpA7AFIRUgASkDqAUhFCABKQOgBSEWAkACQCABKQM4IhlCAFkEQCABKQMwIRggASkDKCEbIAEpAyAhGiAGIBk3A/AEIAYgGDcD6AQgBiAbNwPgBCAGIBo3A9gEIAZB6AFqQgA3AwAgBkHgAWpCADcDACAGQdgBakIANwMAIAZCADcD0AEgBkHYBGogBkHQAWoQnAJB/wFxQQFGDQELIAZB6AFqQgA3AwAgBkHgAWpCADcDACAGQdgBakIANwMAIAZCADcD0AEMAQsgBiAZNwPoASAGIBg3A+ABIAYgGzcD2AEgBiAaNwPQAQsgBkGABWogBkHQAWoQtAECQAJAAkACQCAAAn8CQAJAAkACQAJAAkACQCAGKAKABQ0AIBQgBikDkAV8IhggFFQhByAGKQOYBSEbIBYgFiAGKQOIBXwiGVgEfiAHrQUgGEIBfCIYUK0gB618CyEUIAYpA6AFIRogFSAVIBt8IhVWIQcgFFAEfiAHrQUgFSAUIBV8IhVWrSAHrXwLIRYgFyAafCIUIBdUIQcCQCAWUARAIAYgFDcDwAIgBiAVNwO4AiAGIBg3A7ACIAYgGTcDqAIgB0UNAQwMCyAGIBU3A7gCIAYgGDcDsAIgBiAZNwOoAiAGIBQgFnwiFTcDwAIgByAUIBVWcg0LCyAGQRI6AMgCIAZB6AFqIAFBIGoiB0EYaikDADcDACAGQeABaiAHQRBqKQMANwMAIAZB2AFqIAdBCGopAwA3AwAgBiAHKQMANwPQASAGQYAFaiIIIAZBqAJqIAZB0AFqEMoBIAYoAoAFDQAgBkHwAmogBkGoBWopAwA3AwAgBkHoAmogBkGgBWopAwA3AwAgBkHgAmogBkGYBWopAwA3AwAgBkHYAmogBkGQBWopAwA3AwAgBiAGKQOIBTcD0AIgCCABEIEBIAYoAoAFDQAgBikDoAUhHSAGKQOYBSEhIAYpA5AFIRogBikDiAUhHiAGQcgEaiABQdgBaikDADcDACAGQcAEaiABQdABaikDADcDACAGQbgEaiABQcgBaikDADcDACAGQRI6ANAEIAYgASkDwAE3A7AEIAZBwAFqIAFBmAVqKQMANwMAIAZBuAFqIAFBkAVqKQMANwMAIAZBsAFqIAFBiAVqKQMANwMAIAYgASkDgAU3A6gBIAZBEjoAyAEgBkHYBGogBkGoAWogBkHQAmoQxgEgCEHYx8AAQQQQsAEgBigCgAUNASAGKQOYBSEYIAYpA5AFIRcgASkD0AYhFCABKQPIBiEVAn4gBikDiAUiHyABKQPABiIcWgRAIBcgFX0hGSAVIBdWrQwBCyAXIBVCf4V8IRkgFSAXVq0gFSAXUa18CyEWIAYpA6AFISAgASkD2AYhGyAYIBR9IRcCQCAWUARAIBQgGFatIRgMAQsgFiAXVq0gFCAYVq18IRggFyAWfSEXCyAgIBt9IRYCQCAYUARAIBsgIFgNAQwNCyAWIBhUIBsgIFZyDQwgFiAYfSEWCyAGQRI6AKAFIAYgFjcDmAUgBiAXNwOQBSAGIBk3A4gFIAYgHyAcfTcDgAUgBkHQAWogBkHYBGogBkGABWoQbiAGKALQAQ0CIAZBgARqIAZB+AFqKQMANwMAIAZB+ANqIAZB8AFqKQMANwMAIAZB8ANqIAZB6AFqKQMANwMAIAZB6ANqIAZB4AFqKQMANwMAIAYgBikD2AE3A+ADIAZBiARqIAZBsARqIAZB4ANqIAZBqAFqEHQgBikDmAQhGCAGKQOQBCEXAn4gBikDiAQiICAeWARAIBogF30hGSAXIBpWrQwBCyAaIBdCf4V8IRkgFyAaVq0gFyAaUa18CyEWIAYpA6AEIRogISAYfSEXAkAgFlAEQCAYICFWrSEYDAELIBYgF1atIBggIVatfCEYIBcgFn0hFwsgHSAafSEWAkAgGFAEQCAaIB1YDQEMDQsgFiAYVCAaIB1Wcg0MIBYgGH0hFgsgBkESOgCYAyAGIBY3A5ADIAYgFzcDiAMgBiAZNwOAAyAGIB4gIH03A/gCIAZBgAVqQdjHwABBBBCwAQJAAkACQCAGKAKABUUEQCAGQfABaiAGQagFaikDADcDACAGQegBaiAGQaAFaikDADcDACAGQeABaiAGQZgFaikDADcDACAGQdgBaiAGQZAFaikDADcDACAGIAYpA4gFNwPQASAGQfgCaiAGQdABahCcAkH/AXEiBw4DAgEKAQsgBiAGKAKEBTYC2ARB7cTAAEErIAZB2ARqQZjFwABB8OTAABCXAgALIAdBAkkNAQwICyAGLQCYAyAGLQDwAUkNBwsgBkGoBGogBkGYA2opAwA3AwAgBkGgBGogBkGQA2opAwA3AwAgBkGYBGogBkGIA2opAwA3AwAgBkGQBGogBkGAA2opAwA3AwAgBiAGKQP4AjcDiAQgBkGABWoiCEHYx8AAQQQQsAEgBigCgAUNAyAGQfgEaiAGQagFaikDADcDACAGQfAEaiAGQaAFaikDADcDACAGQegEaiAGQZgFaikDADcDACAGQeAEaiAGQZAFaikDADcDACAGIAYpA4gFNwPYBCAIQdjHwABBBBCwASAGKAKABQ0EIAYpA5gFIRggBikDkAUhFwJ+IBwgBikDiAUiHVgEQCAXIBV9IRkgFSAXVq0MAQsgFyAVQn+FfCEZIBUgF1atIBUgF1GtfAshFiAGKQOgBSEaIBggFH0hFQJAIBZQBEAgFCAYVq0hFAwBCyAVIBZUrSAUIBhWrXwhFCAVIBZ9IRULIBogG30hFwJAIBRQBEAgGiAbWg0BDA0LIBogG1QgFCAXVnINDCAXIBR9IRcLIAZBEjoAoAUgBiAXNwOYBSAGIBU3A5AFIAYgGTcDiAUgBiAdIBx9NwOABSAGQbAEaiIIIAZB2ARqIAZBgAVqEMQBIAZB0AFqIAZBiARqIAgQbiAGKALQAQ0FDAgLIAYoAoQFDAYLIAYgBigChAU2AsADQe3EwABBKyAGQcADakGYxcAAQYDlwAAQlwIACyAGKALUAQwECyAGIAYoAoQFNgLYBEHtxMAAQSsgBkHYBGpBmMXAAEHA5MAAEJcCAAsgBiAGKAKEBTYCsARB7cTAAEErIAZBsARqQZjFwABBsOTAABCXAgALIAYoAtQBDAELIAZBqARqIAZBmANqKQMANwMAIAZBoARqIAZBkANqKQMANwMAIAZBmARqIAZBiANqKQMANwMAIAZBkARqIAZBgANqKQMANwMAIAYgBikD+AI3A4gEIAZBgAVqIghB2MfAAEEEELABAkAgBigCgAVFBEAgBkH4BGogBkGoBWopAwA3AwAgBkHwBGogBkGgBWopAwA3AwAgBkHoBGogBkGYBWopAwA3AwAgBkHgBGogBkGQBWopAwA3AwAgBiAGKQOIBTcD2AQgCEHYx8AAQQQQsAEgBigCgAVFDQEgBiAGKAKEBTYCsARB7cTAAEErIAZBsARqQZjFwABB0OTAABCXAgALIAYgBigChAU2AtgEQe3EwABBKyAGQdgEakGYxcAAQeDkwAAQlwIACyAGKQOYBSEYIAYpA5AFIRcCfiAcIAYpA4gFIh1YBEAgFyAVfSEZIBUgF1atDAELIBcgFUJ/hXwhGSAVIBdWrSAVIBdRrXwLIRYgBikDoAUhGiAYIBR9IRUCQCAWUARAIBQgGFatIRQMAQsgFSAWVK0gFCAYVq18IRQgFSAWfSEVCyAaIBt9IRcCQCAUUARAIBogG1oNAQwGCyAaIBtUIBQgF1ZyDQUgFyAUfSEXCyAGQRI6AKAFIAYgFzcDmAUgBiAVNwOQBSAGIBk3A4gFIAYgHSAcfTcDgAUgBkGwBGoiCCAGQdgEaiAGQYAFahDFASAGQdABaiAGQYgEaiAIEG4gBigC0AFFDQEgBigC1AELNgIEIABBATYCAAwBCyAGKQPwASEYIAYpA+gBIRcgBikD4AEhFSABKQOQASEbIAEpA4gBIRQCfiAGKQPYASIcIAEpA4ABIh1aBEAgFSAUfSEZIBQgFVatDAELIBUgFEJ/hXwhGSAUIBVWrSAUIBVRrXwLIRYgASkDmAEhGiAXIBt9IRUCQCAWUARAIBcgG1StIRQMAQsgFSAWVK0gFyAbVK18IRQgFSAWfSEVCyAYIBp9IRcCQCAUUARAIBggGloNAQwECyAYIBpUIBQgF1ZyDQMgFyAUfSEXCyAGQSxqIAZBgwJqKAAANgAAIAZBKGoiB0ESOgAAIAZBIGoiCCAXNwMAIAZBGGoiCiAVNwMAIAZBEGoiCyAZNwMAIAYgBigAgAI2ACkgBiAcIB19IhQ3AwggBkHwAWogBykDADcDACAGQegBaiAXNwMAIAZB4AFqIBU3AwAgBkHYAWogGTcDACAGIBQ3A9ABIAZBgAVqIAEgBkHQAWogAxB1IAYoAoAFRQRAIAAgBikDCDcDCCAAQShqIAcpAwA3AwAgAEEgaiAIKQMANwMAIABBGGogCikDADcDACAAQRBqIAspAwA3AwAgAEEANgIADAELIAZBgAVqQQRyEO0CAkACQCADKQMYIhVCAFkEQCADKQMQIRQgAykDCCEWIAMpAwAhFyAGIBU3A8gEIAYgFDcDwAQgBiAWNwO4BCAGIBc3A7AEIAZB8ARqQgA3AwAgBkHoBGpCADcDACAGQeAEakIANwMAIAZCADcD2AQgBkGwBGogBkHYBGoQnAJB/wFxQQFGDQELIAZB8ARqQgA3AwAgBkHoBGpCADcDACAGQeAEakIANwMAIAZCADcD2AQMAQsgBiAVNwPwBCAGIBQ3A+gEIAYgFjcD4AQgBiAXNwPYBAsgBkGABWoiDCAGQdgEahC0AQJAAkAgBigCgAUNACAGQcgCaiAGQagFaikDADcDACAGQcACaiAGQaAFaiIIKQMANwMAIAZBuAJqIAZBmAVqIgopAwA3AwAgBkGwAmogBkGQBWoiCykDADcDACAGIAYpA4gFNwOoAiAGQdgCaiINIAFBwAFqIgdBCGopAwA3AwAgBkHgAmoiCSAHQRBqKQMANwMAIAZB6AJqIg4gB0EYaikDADcDACAGIAcpAwA3A9ACIAZB8AJqIg9BEjoAACAIIA8pAwA3AwAgCiAOKQMANwMAIAsgCSkDADcDACAGQYgFaiANKQMANwMAIAYgBikD0AI3A4AFIAZBgAJqIgkgBkGoAmogDBDEASAMIAEQjwEgBigCgAUNACAGQdgDaiAIKQMANwMAIAZB0ANqIAopAwA3AwAgBkHIA2ogCykDADcDACAGIAYpA4gFNwPAAyAGQfgCaiIIIAZBwANqIAkQ7AEgBkESOgCYAyAGQeADaiAGQdACaiAIEMcBIAZB8ARqIAFB+ANqKQMANwMAIAZB6ARqIAFB8ANqKQMANwMAIAZB4ARqIAFB6ANqKQMANwMAIAZBEjoA+AQgBiABKQPgAzcD2AQgDEHYx8AAQQQQsAEgBigCgAVFBEAgBikDmAUhFiAGKQOQBSEUIAIpAxAhGCACKQMIIRcCfiAGKQOIBSIdIAIpAwAiGloEQCAUIBd9IRkgFCAXVK0MAQsgFCAXQn+FfCEZIBQgF1StIBQgF1GtfAshFSAGKQOgBSEcIAIpAxghGyAWIBh9IRQCQCAVUARAIBYgGFStIRYMAQsgFCAVVK0gFiAYVK18IRYgFCAVfSEUCyAcIBt9IRUCQCAWUARAIBsgHFgNAQwHCyAVIBZUIBsgHFZyDQYgFSAWfSEVCyAGQRI6AKAFIAYgFTcDmAUgBiAUNwOQBSAGIBk3A4gFIAYgHSAafTcDgAUgBkGIBGogBkHYBGoiCSAGQYAFaiILEMcBIAZB8ARqIAFBuARqKQMANwMAIAZB6ARqIAFBsARqKQMANwMAIAZB4ARqIAFBqARqKQMANwMAIAZBEjoA+AQgBiABKQOgBDcD2AQgBkGgBWogBkGoBGopAwA3AwAgBkGYBWogBkGgBGoiAikDADcDACAGQZAFaiAGQZgEaiIIKQMANwMAIAZBiAVqIAZBkARqIgopAwA3AwAgBiAGKQOIBDcDgAUgBkGwBGogCSALEMcBIAgpAwAhFiAKKQMAIRQCfiAGKQOIBCIdIBpYBEAgFyAUfSEZIBQgF1atDAELIBcgFEJ/hXwhGSAUIBdWrSAUIBdRrXwLIRUgAikDACEcIBggFn0hFAJAIBVQBEAgFiAYVq0hFgwBCyAUIBVUrSAWIBhWrXwhFiAUIBV9IRQLIBsgHH0hFQJAIBZQBEAgBiAVNwO4AyAGIBQ3A7ADIAYgGTcDqAMgBiAaIB19NwOgAyAbIBxUDQEMBAsgBiAUNwOwAyAGIBk3A6gDIAYgFSAWfTcDuAMgBiAaIB19NwOgAyAbIBxUDQAgFSAWWg0DCwwFCyAGIAYoAoQFNgKwBEHtxMAAQSsgBkGwBGpBmMXAAEGQ5cAAEJcCAAsgACAGKAKEBTYCBCAAQQE2AgAMAQsgBkGABWoiAiAGQaADaiAGQbAEahDsASAGQRI6AKAFIAZB2AFqIgggBkHgA2ogAhDEASAGQThqIAZB4AFqKQMANwMAIAZBQGsgBkHoAWopAwA3AwAgBkHIAGogBkHwAWopAwA3AwAgBkHQAGogBkH4AWopAwA3AwAgBiAGKQPYATcDMCACIAEgBkEwaiADEHUCQCAGKAKABUUEQCAGQfgAaiAGQagFaikDADcDACAGQfAAaiAGQaAFaikDADcDACAGQegAaiAGQZgFaikDADcDACAGQeAAaiAGQZAFaikDADcDACAGIAYpA4gFNwNYIAVBByAEGyINRQ0BIAFB4ANqIQUgF0J/hSEiIAEpA6gEIhxCf4UhIyAGQYgFaiECIAghBCABKQO4BCEdIAEpA7AEISEgASkDoAQhIANAIAZBgAVqIgkgASAGQTBqEHgCQAJAAkACQAJAIAYoAoAFRQRAIAZBgARqIAJBIGoiDikDADcDACAGQfgDaiACQRhqIg8pAwA3AwAgBkHwA2ogAkEQaiIMKQMANwMAIAZB6ANqIAJBCGoiEikDADcDACAGIAIpAwA3A+ADIAZB8ARqIgggBUEYaikDADcDACAGQegEaiIKIAVBEGopAwA3AwAgBkHgBGoiCyAFQQhqKQMANwMAIAZBEjoA+AQgBiAFKQMANwPYBCAJQdjHwABBBBCwASAGKAKABQ0EIAYpA5AFIRQCfiAaIAYpA4gFIh9YBEAgFCAXfSEZIBQgF1StDAELIBQgInwhGSAUIBdUrSAUIBdRrXwLIRUgBikDmAUiFiAYfSEUAkAgFVAEQCAWIBhUrSEWDAELIBQgFVStIBYgGFStfCEWIBQgFX0hFAsgBikDoAUiHiAbfSEVAkAgFlAEQCAbIB5YDQEMDQsgFSAWVCAbIB5Wcg0MIBUgFn0hFQsgBkESOgCgBSAGIBU3A5gFIAYgFDcDkAUgBiAZNwOIBSAGIB8gGn03A4AFIAZBsARqIAZB2ARqIAZBgAVqIgkQxwEgCUHYx8AAQQQQsAECQCAGKAKABUUEQCAGKQOQBSEUAn4gICAGKQOIBSIfWARAIBQgHH0hGSAUIBxUrQwBCyAUICN8IRkgFCAcVK0gFCAcUa18CyEVIAYpA5gFIhYgIX0hFAJAIBVQBEAgFiAhVK0hFgwBCyAUIBVUrSAWICFUrXwhFiAUIBV9IRQLIAYpA6AFIh4gHX0hFQJAIBZQBEAgHSAeWA0BDA8LIBUgFlQgHSAeVnINDiAVIBZ9IRULIAZBEjoAoAUgBiAVNwOYBSAGIBQ3A5AFIAYgGTcDiAUgBiAfICB9NwOABSAGQdgEaiIJIAZBsARqIAZBgAVqIhAQxwEgBkGYBWogB0EYaikDADcDACAGQZAFaiAHQRBqKQMANwMAIAIgB0EIaikDADcDACAGQRI6AKAFIAYgBykDADcDgAUgBkGIBGoiESAJIBAQxAEgBkHgA2ogERCcAkH/AXEiCQ4DAwEEAQsgBiAGKAKEBTYC2ARB7cTAAEErIAZB2ARqQZjFwABBrOfAABCXAgALIAlBAUsNAgwFCyAGIAYoAoQFNgLUAQwCCyAGLQCABCAGLQCoBE8NAwsgBkEANgKQBSAGQQE2AoQFIAZBlOfAADYCgAUgBkIENwKIBSAGIAZBgAVqQZznwAAQ0gE2AtQBCyAGQQE2AtABIAZB0AFqQQRyEO0CDAQLIAYgBigChAU2ArAEQe3EwABBKyAGQbAEakGYxcAAQbznwAAQlwIACyAGKQOQBCEVIAYpA+gDIRQCfiAGKQPgAyIkIAYpA4gEIiVaBEAgFCAVfSEeIBQgFVStDAELIBQgFUJ/hXwhHiAUIBVUrSAUIBVRrXwLIRYgBikD8AMiFSAGKQOYBCIZfSEUAkAgFlAEQCAVIBlUrSEZDAELIBQgFlStIBUgGVStfCEZIBQgFn0hFAsgBikD+AMiFiAGKQOgBCIffSEVAkAgGVAEQCAWIB9aDQEMBwsgFiAfVCAVIBlUcg0GIBUgGX0hFQsgBkESOgD4ASAGIBU3A/ABIAYgFDcD6AEgBiAeNwPgASAGICQgJX03A9gBIAZBiAFqIARBCGopAwA3AwAgBkGQAWogBEEQaikDADcDACAGQZgBaiAEQRhqKQMANwMAIAZBoAFqIARBIGopAwA3AwAgBiAEKQMANwOAASAGQYAFaiIJIAZB2ABqIAZBgAFqEMQBIAZB0AFqIAZBMGogCRDsASAIIAZB6AFqIhApAwA3AwAgCiAGQeABaiIRKQMANwMAIAsgBCkDADcDACAGQRI6APgEIAYgBikD0AE3A9gEAkACQAJAIAZB2ARqIAZBCGoQnAIiCUH/AXEOAwABAgELIAYtAPgEIgkgBi0AKCITSQ0BIAkgE0chCQsgCUH/AXFBAUYNAwsgBkHwAWogBkH4BGoiCSkDADcDACAQIAgpAwA3AwAgESAKKQMANwMAIAQgCykDADcDACAGIAYpA9gENwPQASAGQYAFaiABIAZB0AFqIAMQdSAGKAKABUUEQCAGQfgAaiAOKQMANwMAIAZB8ABqIA8pAwA3AwAgBkHoAGogDCkDADcDACAGQeAAaiASKQMANwMAIAZBOGogCykDADcDACAGQUBrIAopAwA3AwAgBkHIAGogCCkDADcDACAGQdAAaiAJKQMANwMAIAYgBikD2AQ3AzAgBiACKQMANwNYIA1BAWsiDQ0BDAMLCyAGQYAFakEEchDtAgwBCyAAIAYoAoQFNgIEIABBATYCAAwBCyAAIAYpAzA3AwggAEEANgIAIABBKGogBkHQAGopAwA3AwAgAEEgaiAGQcgAaikDADcDACAAQRhqIAZBQGspAwA3AwAgAEEQaiAGQThqKQMANwMACyAGQbAFaiQADwsgBkEANgKQBSAGQQE2AoQFIAZB4IfBADYCgAUgBkIENwKIBSAGQYAFakH0hcEAEMUCAAsgBkEANgKQBSAGQQE2AoQFIAZB5MTAADYCgAUgBkIENwKIBSAGQYAFakG0xMAAEMUCAAvfKQIKfw5+IwBB4ANrIgMkACADQTBqIAJBIGopAwA3AwAgA0EoaiACQRhqKQMANwMAIANBIGogAkEQaikDADcDACADQRhqIAJBCGopAwA3AwAgAyACKQMANwMQIANB8AJqIAFB2AVqKQMANwMAIANB6AJqIAFB0AVqKQMANwMAIANB4AJqIAFByAVqKQMANwMAIANBEjoA+AIgAyABKQPABTcD2AICQAJAAkACQCADQRBqIANB2AJqEJwCQf8BcSICBEAgAkH/AUcNAQwCCyADLQAwIAMtAPgCSQ0BCyADQfgBaiADQTBqKQMANwMAIANB8AFqIANBKGopAwA3AwAgA0HoAWogA0EgaikDADcDACADQeABaiADQRhqKQMANwMAIAMgAykDEDcD2AEgA0HwAmoiAiABQdgBaikDADcDACADQegCaiIEIAFB0AFqKQMANwMAIANB4AJqIAFByAFqKQMANwMAIANBEjoA+AIgAyABKQPAATcD2AIgA0E4aiADQdgBaiADQdgCaiIFEMABIAUgARCAAQJAAkACQAJAAkACQAJAAkACQAJAAkAgAygC2AINACADQYABaiADQYADaikDADcDACADQfgAaiADQfgCaikDADcDACADQfAAaiACKQMANwMAIANB6ABqIAQpAwA3AwAgAyADKQPgAjcDYCADQaACaiABQZgFaikDADcDACADQZgCaiABQZAFaikDADcDACADQZACaiABQYgFaikDADcDACADQRI6AKgCIAMgASkDgAU3A4gCIANBsANqIAFBGGopAwA3AwAgA0GoA2ogAUEQaikDADcDACADQaADaiABQQhqKQMANwMAIANBEjoAuAMgAyABKQMANwOYAyADQdgDaiABQThqKQMANwMAIANB0ANqIAFBMGopAwA3AwAgA0HIA2ogAUEoaikDADcDACADIAEpAyA3A8ADIAUgA0GYA2ogA0HAA2oQygEgAygC2AINACADKQPoAiIOIAMpA0B8Ig0gDlQhAiADKQPwAiEOIAMpA0ghEiADKQPgAiIQIAMpAzh8IhEgEFoEfiACrQUgDUIBfCINUK0gAq18CyEQIAMpA/gCIQ8gAykDUCEUIA4gDiASfCIOViECIBBQBH4gAq0FIA4gDiAQfCIOVq0gAq18CyEQIA8gDyAUfCIPViECAkAgEFAEQCADIA83A8gCIAMgDjcDwAIgAyANNwO4AiADIBE3A7ACIAJFDQEMDAsgAyAONwPAAiADIA03A7gCIAMgETcDsAIgAyAPIBB8Ig43A8gCIAIgDiAPVHINCwsgA0ESOgDQAiADQbABaiADQYgCaiADQbACahDDASADQdgCakHQgcAAQQQQrwEgAygC2AINASADKQPwAiERIAMpA+gCIQ0gASkD0AYhDyABKQPIBiEOAn4gAykD4AIiFSABKQPABiIWWgRAIA0gDn0hEiANIA5UrQwBCyANIA5Cf4V8IRIgDSAOVK0gDSAOUa18CyEQIAMpA/gCIRMgASkD2AYhFCARIA99IQ0CQCAQUARAIA8gEVatIREMAQsgDSAQVK0gDyARVq18IREgDSAQfSENCyATIBR9IRACQCARUARAIBMgFFoNAQwPCyATIBRUIBAgEVRyDQ4gECARfSEQCyADQRI6APgCIAMgEDcD8AIgAyANNwPoAiADIBI3A+ACIAMgFSAWfTcD2AIgA0HYAWoiCCADQbABaiADQdgCaiIJEG0CQAJAIAMoAtgBRQRAIANBqAFqIgQgA0GAAmopAwA3AwAgA0GgAWoiBSADQfgBaiIKKQMANwMAIANBmAFqIgYgA0HwAWoiCykDADcDACADQZABaiIHIANB6AFqIgwpAwA3AwAgAyADKQPgATcDiAEgA0GwA2ogAUHAAWoiAkEYaikDADcDACADQagDaiACQRBqKQMANwMAIANBoANqIAJBCGopAwA3AwAgA0ESOgC4AyADIAIpAwA3A5gDIAogBCkDADcDACALIAUpAwA3AwAgDCAGKQMANwMAIANB4AFqIAcpAwA3AwAgAyADKQOIATcD2AEgA0HwAmogAUGABWoiAkEYaikDADcDACADQegCaiACQRBqKQMANwMAIANB4AJqIAJBCGopAwA3AwAgA0ESOgD4AiADIAIpAwA3A9gCIANBsAJqIANBmANqIAggCRB6IAcgA0G4AmopAwA3AwAgBiADQcACaikDADcDACAFIANByAJqKQMANwMAIAQgA0HQAmopAwA3AwAgAyADKQOwAjcDiAEgA0HgAGogA0GIAWoQnAJB/wFxIgJFDQEgAkH/AUcNAgwKCyADKALcASEBDAoLIAMtAIABIAMtAKgBSQ0ICyADKQOYASESIAMpA5ABIRAgAykDcCETIAMpA2ghDQJ+IAMpA2AiGSADKQOIASIaWgRAIA0gEH0hGCANIBBUrQwBCyANIBBCf4V8IRggDSAQVK0gDSAQUa18CyERIAMpA6ABIRUgAykDeCEXIBMgEn0hDQJAIBFQBEAgEiATVq0hEgwBCyANIBFUrSASIBNWrXwhEiANIBF9IQ0LIBcgFX0hEAJAIBJQBEAgFSAXWA0BDA8LIBAgElQgFSAXVnINDiAQIBJ9IRALIANBEjoA0AEgAyAQNwPIASADIA03A8ABIAMgGDcDuAEgAyAZIBp9NwOwASADQdgCakHQgcAAQQQQrwECQAJAAkAgAygC2AJFBEAgA0H4AWogA0GAA2opAwA3AwAgA0HwAWogA0H4AmopAwA3AwAgA0HoAWogA0HwAmopAwA3AwAgA0HgAWogA0HoAmopAwA3AwAgAyADKQPgAjcD2AEgA0GwAWogA0HYAWoQnAJB/wFxIgIOAwIBCQELIAMgAygC3AI2ApgDQayCwABBKyADQZgDakHYgsAAQdCFwAAQlwIACyACQQJJDQEMBwsgAy0A0AEgAy0A+AFJDQYLIANBqAJqIANB0AFqKQMANwMAIANBoAJqIANByAFqKQMANwMAIANBmAJqIANBwAFqKQMANwMAIANBkAJqIANBuAFqKQMANwMAIAMgAykDsAE3A4gCIANB2AJqIgJB0IHAAEEEEK8BIAMoAtgCDQIgA0G4A2ogA0GAA2opAwA3AwAgA0GwA2ogA0H4AmopAwA3AwAgA0GoA2ogA0HwAmopAwA3AwAgA0GgA2ogA0HoAmopAwA3AwAgAyADKQPgAjcDmAMgAkHQgcAAQQQQrwEgAygC2AINAyADKQPwAiERIAMpA+gCIQ0CfiAWIAMpA+ACIhVYBEAgDSAOfSESIA0gDlStDAELIA0gDkJ/hXwhEiANIA5UrSANIA5RrXwLIRAgAykD+AIhEyARIA99IQ4CQCAQUARAIA8gEVatIQ8MAQsgDiAQVK0gDyARVq18IQ8gDiAQfSEOCyATIBR9IQ0CQCAPUARAIBMgFFoNAQwPCyANIA9UIBMgFFRyDQ4gDSAPfSENCyADQRI6APgCIAMgDTcD8AIgAyAONwPoAiADIBI3A+ACIAMgFSAWfTcD2AIgA0GwAmoiAiADQZgDaiADQdgCahDBASADQdgBaiADQYgCaiACEG0gAygC2AENBAwGCyADKALcAiEBDAcLIAMgAygC3AI2ApgDQayCwABBKyADQZgDakHYgsAAQeCFwAAQlwIACyADIAMoAtwCNgKYA0GsgsAAQSsgA0GYA2pB2ILAAEHohMAAEJcCAAsgAyADKALcAjYCsAJBrILAAEErIANBsAJqQdiCwABB2ITAABCXAgALIAMoAtwBIQEMAwsgA0GoAmogA0HQAWopAwA3AwAgA0GgAmogA0HIAWopAwA3AwAgA0GYAmogA0HAAWopAwA3AwAgA0GQAmogA0G4AWopAwA3AwAgAyADKQOwATcDiAIgA0HYAmoiAkHQgcAAQQQQrwECQCADKALYAkUEQCADQbgDaiADQYADaikDADcDACADQbADaiADQfgCaikDADcDACADQagDaiADQfACaikDADcDACADQaADaiADQegCaikDADcDACADIAMpA+ACNwOYAyACQdCBwABBBBCvASADKALYAkUNASADIAMoAtwCNgKwAkGsgsAAQSsgA0GwAmpB2ILAAEGwhcAAEJcCAAsgAyADKALcAjYCmANBrILAAEErIANBmANqQdiCwABBwIXAABCXAgALIAMpA/ACIREgAykD6AIhDQJ+IBYgAykD4AIiFVgEQCANIA59IRIgDSAOVK0MAQsgDSAOQn+FfCESIA0gDlStIA0gDlGtfAshECADKQP4AiETIBEgD30hDgJAIBBQBEAgDyARVq0hDwwBCyAOIBBUrSAPIBFWrXwhDyAOIBB9IQ4LIBMgFH0hDQJAAkAgD1AEQCATIBRaDQEMAgsgDSAPVCATIBRUcg0BIA0gD30hDQsgA0ESOgD4AiADIA03A/ACIAMgDjcD6AIgAyASNwPgAiADIBUgFn03A9gCIANBsAJqIgIgA0GYA2ogA0HYAmoQwAEgA0HYAWogA0GIAmogAhBtIAMoAtgBRQRADAILIAMoAtwBIQEMAwsMBwsgA0HQAWogA0GAAmopAwA3AwAgA0HIAWogA0H4AWopAwA3AwAgA0HAAWogA0HwAWopAwA3AwAgA0G4AWogA0HoAWopAwA3AwAgAyADKQPgATcDsAEgA0HwAmogAUGYAWopAwA3AwAgA0HoAmogAUGQAWopAwA3AwAgA0HgAmogAUGIAWopAwA3AwAgA0ESOgD4AiADIAEpA4ABNwPYAgJAAkAgA0HYAmogA0GwAWoQnAJB/wFxIgIEQCACQf8BRw0BDAILIAMtANABQRJLDQELIAEpA5ABIQ8gASkDiAEhDiADKQPAASESIAMpA7gBIQ0CfiABKQOAASITIAMpA7ABIhVaBEAgDiANfSERIA0gDlatDAELIA4gDUJ/hXwhESANIA5WrSANIA5RrXwLIRAgASkDmAEhFCADKQPIASEWIA8gEn0hDgJAIBBQBEAgDyASVK0hDwwBCyAOIBBUrSAPIBJUrXwhDyAOIBB9IQ4LIBQgFn0hDQJAAkAgD1AEQCAUIBZaDQEMAgsgFCAWVCANIA9Ucg0BIA0gD30hDQsgA0G4A2oiAiADQTBqKQMANwMAIANBsANqIgQgA0EoaikDADcDACADQagDaiIFIANBIGopAwA3AwAgA0GgA2oiBiADQRhqKQMANwMAIAMgAykDEDcDmAMgA0ESOgCAAyADIA03A/gCIAMgDjcD8AIgAyARNwPoAiADIBMgFX0iEzcD4AIgA0IBNwPYAiADQdgBaiABIANBmANqIgcgA0HYAmoiCBCjAgJAAn8CQAJAAkACQAJAIAMoAtgBRQRAIANB0AJqIANBgAJqKQMANwMAIANByAJqIANB+AFqKQMANwMAIANBwAJqIANB8AFqKQMANwMAIANBuAJqIANB6AFqKQMANwMAIAMgAykD4AE3A7ACIAggARCDASADKALYAg0BIAIgA0GAA2opAwA3AwAgBCADQfgCaikDADcDACAFIANB8AJqKQMANwMAIAYgA0HoAmopAwA3AwAgAyADKQPgAjcDmAMgA0GwAmogBxCcAiICQf8BcQ4DAgMEAwsgAygC3AEhASAAQQE2AgAgACABNgIEDA4LIAMoAtwCDAQLIAMtANACIgIgAy0AuAMiBEkNASACIARHIQILIAJB/wFxQQFGDQELIANB+AFqIANBMGopAwA3AwAgA0HwAWogA0EoaikDADcDACADQegBaiADQSBqKQMANwMAIANB4AFqIANBGGopAwA3AwAgAyADKQMQNwPYASADQdgCaiABIANB2AFqEKYBIAMoAtgCRQ0CIAMoAtwCIQEgAEEBNgIAIAAgATYCBAwKCyADQQA2AugCIANBATYC3AIgA0GIjMAANgLYAiADQgQ3AuACIANB2AJqQZCMwAAQ0gELIQEgAEEBNgIAIAAgATYCBAwICyADKQPwAiEUIAMpA+gCIQ8CfiADKQPgAiIVIBNYBEAgESAPfSESIA8gEVatDAELIBEgD0J/hXwhEiAPIBFWrSAPIBFRrXwLIRAgAykD+AIhFiAOIBR9IQ8CQCAQUARAIA4gFFStIREMAQsgDyAQVK0gDiAUVK18IREgDyAQfSEPCyANIBZ9IQ4CQAJAIBFQBEAgDSAWWg0BDAILIA0gFlQgDiARVHINASAOIBF9IQ4LIABBEjoAKCAAIA43AyAgACAPNwMYIAAgEjcDECAAQQA2AgAgACATIBV9NwMIDAgLDAgLDAcLIANB8AJqIAFBgAFqIgFBGGopAwA3AwAgA0HoAmogAUEQaikDADcDACADQeACaiABQQhqKQMANwMAIANBAjYC3AEgA0GQhcAANgLYASADQgI3AuQBIANBEjoA+AIgA0KAgICAICIOIANBsAFqrYQ3A6ADIAMgDiADQdgCaq2ENwOYAyADIAEpAwA3A9gCIAMgA0GYA2o2AuABIANBjANqIgEgA0HYAWoQjAIgAUGghcAAEIYCIQEMAQsgA0ECNgLcAiADQbiEwAA2AtgCIANCAjcC5AIgA0KAgICAICIOIANBiAFqrYQ3A+ABIAMgDiADQeAAaq2ENwPYASADIANB2AFqNgLgAiADQZgDaiIBIANB2AJqENMBIANBCGogAUG0uMAAQciEwAAQpgIgAygCDCECIAMoAgghBCADQeACaiIFIANBoANqKAIANgIAQZngwQAtAAAaIAMgAykCmAM3A9gCQRhBBBD3AiIBRQ0BIAEgBDYCBCABQZy5wAA2AgAgASADKQPYAjcCDCABIAI2AgggAUEUaiAFKAIANgIACyAAQQE2AgAgACABNgIEDAMLQQRBGBCoAwALIANBADYC6AIgA0EBNgLcAiADQdTBwAA2AtgCIANCBDcC4AIgA0HYAmpB8L7AABDFAgALIANBADYC6AIgA0EBNgLcAiADQciLwAA2AtgCIANCBDcC4AIgA0HYAmpB0IvAABDSASEBIABBATYCACAAIAE2AgQLIANB4ANqJAAPCyADQQA2AugCIANBATYC3AIgA0HAlMAANgLYAiADQgQ3AuACIANB2AJqQZCUwAAQxQIAC4AoAgp/Dn4jAEHQBGsiBSQAIAVBEGoiBiABIAMgBBC2ASAFQeADakHohsAAQQEQrwECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAUoAuADRQRAIAVBuAJqIAVBiARqKQMANwMAIAVBsAJqIAVBgARqKQMANwMAIAVBqAJqIAVB+ANqKQMANwMAIAVBoAJqIAVB8ANqKQMANwMAIAUgBSkD6AM3A5gCIAYgBUGYAmoQnAIiBEH/AXEOAwECAwILIAUgBSgC5AM2AmBBrILAAEErIAVB4ABqQdiCwABBlJPAABCXAgALIAUtADAiAyAFLQC4AiIESQ0BIAMgBEchBAsgBEH/AXFBAUYNAQsgBUHgA2pB6IbAAEEBEK8BIAUoAuADDQEgACAFKQPoAzcDCCAAQShqIAVBiARqKQMANwMAIABBIGogBUGABGopAwA3AwAgAEEYaiAFQfgDaikDADcDACAAQRBqIAVB8ANqKQMANwMADAgLIAVBgARqIgYgBUEwaikDADcDACAFQfgDaiIDIAVBKGopAwA3AwAgBUHwA2oiBCAFQSBqKQMANwMAIAVB6ANqIgggBUEYaikDADcDACAFIAUpAxA3A+ADIAVBOGoiByACIAVB4ANqIgIQwgEgAiABEIABIAUoAuADDQkgBUGwAWogBUGIBGopAwA3AwAgBUGoAWogBikDADcDACAFQaABaiADKQMANwMAIAVBmAFqIAQpAwA3AwAgBSAFKQPoAzcDkAEgAyABQZgBaikDADcDACAEIAFBkAFqKQMANwMAIAggAUGIAWopAwA3AwAgBUESOgCABCAFIAEpA4ABNwPgAwJAIAIgBxCcAkH/AXEiAgRAIAJB/wFHDQEMDQsgBS0AgAQgBS0AWEkNDAsgASkDkAEhEiABKQOIASEPIAUpA0ghFiAFKQNAIRECfiABKQOAASIVIAUpAzgiF1oEQCAPIBF9IRQgDyARVK0MAQsgDyARQn+FfCEUIA8gEVStIA8gEVGtfAshECABKQOYASETIAUpA1AhGCASIBZ9IRECQCAQUARAIBIgFlStIRIMAQsgECARVq0gEiAWVK18IRIgESAQfSERCyATIBh9IQ8CQCASUARAIBMgGFoNAQwRCyATIBhUIA8gElRyDRAgDyASfSEPCyAFQRI6ANgDIAUgDzcD0AMgBSARNwPIAyAFIBQ3A8ADIAUgFSAXfTcDuAMgBUHgA2pB0IHAAEEEEK8BIAUoAuADDQQgBSkD+AMhEyAFKQPwAyEPIAEpA9AGIRIgASkDyAYhEQJ+IAUpA+gDIhcgASkDwAYiGFoEQCAPIBF9IRQgDyARVK0MAQsgDyARQn+FfCEUIA8gEVStIA8gEVGtfAshECAFKQOABCEVIAEpA9gGIRYgEyASfSEPAkAgEFAEQCASIBNWrSETDAELIA8gEFStIBIgE1atfCETIA8gEH0hDwsgFSAWfSEQAkAgE1AEQCAVIBZaDQEMEQsgFSAWVCAQIBNUcg0QIBAgE30hEAsgBUESOgCABCAFIBA3A/gDIAUgDzcD8AMgBSAUNwPoAyAFIBcgGH03A+ADIAVBmAJqIAVBuANqIAVB4ANqEG0CQAJAIAUoApgCRQRAIAVB2AFqIAVBwAJqKQMANwMAIAVB0AFqIAVBuAJqKQMANwMAIAVByAFqIAVBsAJqKQMANwMAIAVBwAFqIAVBqAJqKQMANwMAIAUgBSkDoAI3A7gBIAVBkAFqIAVBuAFqEJwCQf8BcSICRQ0BIAJB/wFHDQIMDQsgBSgCnAIhAQwOCyAFLQCwASAFLQDYAUkNCwsgBSkDyAEhFCAFKQPAASEQIAUpA6ABIRUgBSkDmAEhDwJ+IAUpA5ABIhsgBSkDuAEiHFoEQCAPIBB9IRogDyAQVK0MAQsgDyAQQn+FfCEaIA8gEFStIA8gEFGtfAshEyAFKQPQASEXIAUpA6gBIRkgFSAUfSEPAkAgE1AEQCAUIBVWrSEUDAELIA8gE1StIBQgFVatfCEUIA8gE30hDwsgGSAXfSEQAkAgFFAEQCAXIBlYDQEMEQsgECAUVCAXIBlWcg0QIBAgFH0hEAsgBUESOgDYAyAFIBA3A9ADIAUgDzcDyAMgBSAaNwPAAyAFIBsgHH03A7gDIAVBsAJqIgIgAUGYBWopAwA3AwAgBUGoAmoiAyABQZAFaikDADcDACAFQaACaiIEIAFBiAVqKQMANwMAIAVBEjoAuAIgBSABKQOABTcDmAIgBUH4A2oiBiABQdgBaikDADcDACAFQfADaiIIIAFB0AFqKQMANwMAIAVB6ANqIAFByAFqKQMANwMAIAVBEjoAgAQgBSABKQPAATcD4AMgBUHwAWoiByAFQbgDaiAFQZgCaiIJIAVB4ANqIgoQcyAKQdCBwABBBBCvAQJAAkACQCAFKALgA0UEQCAFQbgCaiAFQYgEaikDADcDACACIAVBgARqKQMANwMAIAMgBikDADcDACAEIAgpAwA3AwAgBSAFKQPoAzcDmAIgByAJEJwCQf8BcSICDgMCAQkBCyAFIAUoAuQDNgK4A0GsgsAAQSsgBUG4A2pB2ILAAEGEhMAAEJcCAAsgAkECSQ0BDAcLIAUtAJACIAUtALgCSQ0GCyAFQegCaiAFQZACaikDADcDACAFQeACaiAFQYgCaikDADcDACAFQdgCaiAFQYACaikDADcDACAFQdACaiAFQfgBaikDADcDACAFIAUpA/ABNwPIAiAFQeADaiICQdCBwABBBBCvASAFKALgAw0BIAVB2ANqIAVBiARqKQMANwMAIAVB0ANqIAVBgARqKQMANwMAIAVByANqIAVB+ANqKQMANwMAIAVBwANqIAVB8ANqKQMANwMAIAUgBSkD6AM3A7gDIAJB0IHAAEEEEK8BIAUoAuADDQIgBSkD+AMhEyAFKQPwAyEPAn4gGCAFKQPoAyIXWARAIA8gEX0hFCAPIBFUrQwBCyAPIBFCf4V8IRQgDyARVK0gDyARUa18CyEQIAUpA4AEIRUgEyASfSERAkAgEFAEQCASIBNWrSESDAELIBAgEVatIBIgE1atfCESIBEgEH0hEQsgFSAWfSEPAkAgElAEQCAVIBZaDQEMEQsgFSAWVCAPIBJUcg0QIA8gEn0hDwsgBUESOgCABCAFIA83A/gDIAUgETcD8AMgBSAUNwPoAyAFIBcgGH03A+ADIAVB8AJqIgIgBUG4A2ogBUHgA2oQwQEgBUGYAmogBUHIAmogAhBtIAUoApgCDQMMBgsgBSAFKALkAzYCmAJBrILAAEErIAVBmAJqQdiCwABBhJPAABCXAgALIAUgBSgC5AM2ArgDQayCwABBKyAFQbgDakHYgsAAQfiCwAAQlwIACyAFIAUoAuQDNgLwAkGsgsAAQSsgBUHwAmpB2ILAAEHogsAAEJcCAAsgBSgCnAIhAQwICyAFIAUoAuQDNgLwAkGsgsAAQSsgBUHwAmpB2ILAAEGUhMAAEJcCAAsgBUHoAmogBUGQAmopAwA3AwAgBUHgAmogBUGIAmopAwA3AwAgBUHYAmogBUGAAmopAwA3AwAgBUHQAmogBUH4AWopAwA3AwAgBSAFKQPwATcDyAIgBUHgA2oiAkHQgcAAQQQQrwECQCAFKALgA0UEQCAFQdgDaiAFQYgEaikDADcDACAFQdADaiAFQYAEaikDADcDACAFQcgDaiAFQfgDaikDADcDACAFQcADaiAFQfADaikDADcDACAFIAUpA+gDNwO4AyACQdCBwABBBBCvASAFKALgA0UNASAFIAUoAuQDNgLwAkGsgsAAQSsgBUHwAmpB2ILAAEHkg8AAEJcCAAsgBSAFKALkAzYCuANBrILAAEErIAVBuANqQdiCwABB9IPAABCXAgALIAUpA/gDIRMgBSkD8AMhDwJ+IBggBSkD6AMiF1gEQCAPIBF9IRQgDyARVK0MAQsgDyARQn+FfCEUIA8gEVStIA8gEVGtfAshECAFKQOABCEVIBMgEn0hEQJAIBBQBEAgEiATVq0hEgwBCyAQIBFWrSASIBNWrXwhEiARIBB9IRELIBUgFn0hDwJAAkAgElAEQCAVIBZaDQEMAgsgFSAWVCAPIBJUcg0BIA8gEn0hDwsgBUESOgCABCAFIA83A/gDIAUgETcD8AMgBSAUNwPoAyAFIBcgGH03A+ADIAVB8AJqIgIgBUG4A2ogBUHgA2oQwAEgBUGYAmogBUHIAmogAhBtIAUoApgCRQRADAILIAUoApwCIQEMBwsMCQsgBUGQAmogBUHAAmopAwA3AwAgBUGIAmogBUG4AmopAwA3AwAgBUGAAmogBUGwAmopAwA3AwAgBUH4AWogBUGoAmopAwA3AwAgBSAFKQOgAjcD8AEgBUG4AmogBUGQAmoiAykDADcDACAFQbACaiIEIAVBiAJqIgYpAwA3AwAgBUGoAmoiCCAFQYACaiIHKQMANwMAIAVBoAJqIgogBUH4AWoiCSkDADcDACAFIAUpA/ABNwOYAiAFQfgDaiILIAFBgAVqIgJBGGopAwA3AwAgBUHwA2oiDCACQRBqKQMANwMAIAVB6ANqIAJBCGopAwA3AwAgBUESOgCABCAFIAIpAwA3A+ADIAVBuANqIg0gBUGYAmoiAiAFQeADaiIOEMEBIAkgBUHAA2oiCSkDADcDACAHIAVByANqIgcpAwA3AwAgBiAFQdADaiIGKQMANwMAIAMgBUHYA2oiAykDADcDACAFIAUpA7gDNwPwASAEIAFBGGopAwA3AwAgCCABQRBqKQMANwMAIAogAUEIaikDADcDACAFQRI6ALgCIAUgASkDADcDmAIgBUGIA2ogAUE4aikDADcDACAFQYADaiABQTBqKQMANwMAIAVB+AJqIAFBKGopAwA3AwAgBSABKQMgNwPwAiAOIAIgBUHwAmoQygEgBSgC4AMNAiABQSBqIQIgAyAFQYgEaikDADcDACAGIAVBgARqKQMANwMAIAcgCykDADcDACAJIAwpAwA3AwAgBSAFKQPoAzcDuAMCQCAFQfABaiANEJwCQf8BcSIDBEAgA0H/AUcNAQwDCyAFLQCQAiAFLQDYA0kNAgsgBUGYBGogBUH4AWopAwA3AwAgBUGgBGogBUGAAmopAwA3AwAgBUGoBGogBUGIAmopAwA3AwAgBSAFKQPwATcDkAQgBUGwAmogAUEYaikDADcDACAFQagCaiABQRBqKQMANwMAIAVBoAJqIAFBCGopAwA3AwAgBUESOgC4AiAFIAEpAwA3A5gCIAVB0ANqIAJBGGopAwA3AwAgBUHIA2ogAkEQaikDADcDACAFQcADaiACQQhqKQMANwMAIAUgAikDADcDuAMgBUHgA2ogBUGYAmogBUG4A2oQygEgBSgC4AMNAiAFQcgEaiAFQYAEaikDADcDACAFQcAEaiAFQfgDaikDADcDACAFQbgEaiAFQfADaikDADcDACAFIAUpA+gDNwOwBCAFQegAaiAFQZAEaiAFQbAEahDeASAFQYgBaiIBQRI6AAAgAEEoaiABKQMANwMAIABBIGogBUGAAWopAwA3AwAgAEEYaiAFQfgAaikDADcDACAAQRBqIAVB8ABqKQMANwMAIAAgBSkDaDcDCAsgAEEANgIADAULIAVBsAJqIAFBGGopAwA3AwAgBUGoAmogAUEQaikDADcDACAFQaACaiABQQhqKQMANwMAIAVBEjoAuAIgBSABKQMANwOYAiAFQYgDaiACQRhqKQMANwMAIAVBgANqIAJBEGopAwA3AwAgBUH4AmogAkEIaikDADcDACAFIAIpAwA3A/ACIAVB4ANqIAVBmAJqIAVB8AJqEMoBIAUoAuADDQAgBUHYA2ogBUGIBGopAwA3AwAgBUHQA2ogBUGABGopAwA3AwAgBUHIA2ogBUH4A2opAwA3AwAgBUHAA2ogBUHwA2opAwA3AwAgBSAFKQPoAzcDuAMgBUEDNgLMAiAFQbyDwAA2AsgCIAVCAjcC1AIgBUKAgICAICIQIAVBuANqrYQ3A7ADIAUgECAFQfABaq2ENwOoAyAFIAVBqANqNgLQAiAFQZwDaiIBIAVByAJqEIwCIAFB1IPAABCGAiEBDAMLIAUoAuQDIQEMAgsgBUEDNgLkAyAFQYSCwAA2AuADIAVCAjcC7AMgBUKAgICAICIQIAVBuAFqrYQ3A6ACIAUgECAFQZABaq2ENwOYAiAFIAVBmAJqNgLoAyAFQeQBaiIBIAVB4ANqENMBIAFBnILAABCGAiEBDAELIAVB+ANqIAFBgAFqIgFBGGopAwA3AwAgBUHwA2ogAUEQaikDADcDACAFQegDaiICIAFBCGopAwA3AwAgBUEDNgKcAiAFQbSAwAA2ApgCIAVCAjcCpAIgBUESOgCABCAFQoCAgIAgIhAgBUE4aq2ENwPAAyAFIBAgBUHgA2qthDcDuAMgBSABKQMANwPgAyAFIAVBuANqNgKgAiAFQfACaiIBIAVBmAJqENMBIAVBCGogAUG0uMAAQcCBwAAQpgIgBSgCDCEDIAUoAgghBCACIAVB+AJqKAIANgIAQZngwQAtAAAaIAUgBSkC8AI3A+ADQRhBBBD3AiIBRQ0CIAEgBDYCBCABQZy5wAA2AgAgASAFKQPgAzcCDCABIAM2AgggAUEUaiACKAIANgIACyAAQQE2AgAgACABNgIECyAFQdAEaiQADwtBBEEYEKgDAAsgBUEANgLwAyAFQQE2AuQDIAVBwJTAADYC4AMgBUIENwLoAyAFQeADakGQlMAAEMUCAAuDIQINfw5+IwBBoANrIgMkACADQbACaiABEIIBAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKwAkUEQCADQTBqIANB2AJqKQMANwMAIANBKGogA0HQAmopAwA3AwAgA0EgaiADQcgCaikDADcDACADQRhqIANBwAJqKQMANwMAIAMgAykDuAI3AxAgASkDiAEiESACKQMIfCIQIBFUIQQgAikDECEUIAEpA5ABIREgASkDgAEiEiACKQMAfCIXIBJaBH4gBK0FIBBCAXwiEFCtIAStfAshEiACKQMYIRUgASkDmAEhEyARIBEgFHwiEVYhAiASUAR+IAKtBSARIBEgEnwiEVatIAKtfAshEiATIBMgFXwiE1YhAgJAIBJQBEAgAyATNwOgAiADIBE3A5gCIAMgEDcDkAIgAyAXNwOIAiACRQ0BDAwLIAMgETcDmAIgAyAQNwOQAiADIBc3A4gCIAMgEiATfCIRNwOgAiACIBEgE1RyDQsLIANBEjoAqAIgA0GwAmpB2MfAAEEEELABIAMoArACDQEgAykDyAIhFCADKQPAAiEQIAEpA9AGIRMgASkDyAYhEQJ+IAMpA7gCIhggASkDwAYiGVoEQCAQIBF9IRUgECARVK0MAQsgECARQn+FfCEVIBAgEVStIBAgEVGtfAshEiADKQPQAiEWIAEpA9gGIRcgFCATfSEQAkAgElAEQCATIBRWrSEUDAELIBAgElStIBMgFFatfCEUIBAgEn0hEAsgFiAXfSESAkAgFFAEQCAWIBdaDQEMDQsgFiAXVCASIBRUcg0MIBIgFH0hEgsgA0ESOgDQAiADIBI3A8gCIAMgEDcDwAIgAyAVNwO4AiADIBggGX03A7ACIANBiAFqIANBiAJqIANBsAJqEG4CQAJAIAMoAogBRQRAIANB2ABqIANBsAFqKQMANwMAIANB0ABqIANBqAFqKQMANwMAIANByABqIANBoAFqKQMANwMAIANBQGsgA0GYAWopAwA3AwAgAyADKQOQATcDOCADQRBqIANBOGoQnAJB/wFxIgJFDQEgAkH/AUcNAgwKCyADKAKMASEBIABBATYCACAAIAE2AgQMCgsgAy0AMCADLQBYSQ0ICyADKQNIIRUgAykDQCESIAMpAyAhFiADKQMYIRACfiADKQMQIhwgAykDOCIdWgRAIBAgEn0hGyAQIBJUrQwBCyAQIBJCf4V8IRsgECASVK0gECASUa18CyEUIAMpA1AhGCADKQMoIRogFiAVfSEQAkAgFFAEQCAVIBZWrSEVDAELIBAgFFStIBUgFlatfCEVIBAgFH0hEAsgGiAYfSESAkAgFVAEQCAYIBpYDQEMDQsgEiAVVCAYIBpWcg0MIBIgFX0hEgsgA0ESOgCoAiADIBI3A6ACIAMgEDcDmAIgAyAbNwOQAiADIBwgHX03A4gCIANBoAFqIgIgAUGYBWopAwA3AwAgA0GYAWoiBCABQZAFaikDADcDACADQZABaiIFIAFBiAVqKQMANwMAIANBEjoAqAEgAyABKQOABTcDiAEgA0HIAmoiBiABQdgBaikDADcDACADQcACaiIIIAFB0AFqKQMANwMAIANBuAJqIAFByAFqKQMANwMAIANBEjoA0AIgAyABKQPAATcDsAIgA0HgAGoiByADQYgCaiADQYgBaiIJIANBsAJqIgoQdCAKQdjHwABBBBCwAQJAAkACQCADKAKwAkUEQCADQagBaiADQdgCaikDADcDACACIANB0AJqKQMANwMAIAQgBikDADcDACAFIAgpAwA3AwAgAyADKQO4AjcDiAEgByAJEJwCQf8BcSICDgMCAQkBCyADIAMoArQCNgKIAkHtxMAAQSsgA0GIAmpBmMXAAEH49MAAEJcCAAsgAkECSQ0BDAcLIAMtAIABIAMtAKgBSQ0GCyADQdgBaiADQYABaikDADcDACADQdABaiADQfgAaikDADcDACADQcgBaiADQfAAaikDADcDACADQcABaiADQegAaikDADcDACADIAMpA2A3A7gBIANBsAJqIgJB2MfAAEEEELABIAMoArACDQIgA0GoAmogA0HYAmopAwA3AwAgA0GgAmogA0HQAmopAwA3AwAgA0GYAmogA0HIAmopAwA3AwAgA0GQAmogA0HAAmopAwA3AwAgAyADKQO4AjcDiAIgAkHYx8AAQQQQsAEgAygCsAINAyADKQPIAiEUIAMpA8ACIRACfiAZIAMpA7gCIhhYBEAgECARfSEVIBAgEVStDAELIBAgEUJ/hXwhFSAQIBFUrSAQIBFRrXwLIRIgAykD0AIhFiAUIBN9IRECQCASUARAIBMgFFatIRMMAQsgESASVK0gEyAUVq18IRMgESASfSERCyAWIBd9IRACQCATUARAIBYgF1oNAQwNCyAQIBNUIBYgF1RyDQwgECATfSEQCyADQRI6ANACIAMgEDcDyAIgAyARNwPAAiADIBU3A7gCIAMgGCAZfTcDsAIgA0HgAWoiAiADQYgCaiADQbACahDFASADQYgBaiADQbgBaiACEG4gAygCiAENBAwGCyADKAK0AiEBIABBATYCACAAIAE2AgQMBwsgAyADKAK0AjYC4AFB7cTAAEErIANB4AFqQZjFwABBiPXAABCXAgALIAMgAygCtAI2AogCQe3EwABBKyADQYgCakGYxcAAQbj0wAAQlwIACyADIAMoArQCNgLgAUHtxMAAQSsgA0HgAWpBmMXAAEGo9MAAEJcCAAsgAygCjAEhASAAQQE2AgAgACABNgIEDAMLIANB2AFqIANBgAFqKQMANwMAIANB0AFqIANB+ABqKQMANwMAIANByAFqIANB8ABqKQMANwMAIANBwAFqIANB6ABqKQMANwMAIAMgAykDYDcDuAEgA0GwAmoiAkHYx8AAQQQQsAECQCADKAKwAkUEQCADQagCaiADQdgCaikDADcDACADQaACaiADQdACaikDADcDACADQZgCaiADQcgCaikDADcDACADQZACaiADQcACaikDADcDACADIAMpA7gCNwOIAiACQdjHwABBBBCwASADKAKwAkUNASADIAMoArQCNgLgAUHtxMAAQSsgA0HgAWpBmMXAAEHY9MAAEJcCAAsgAyADKAK0AjYCiAJB7cTAAEErIANBiAJqQZjFwABB6PTAABCXAgALIAMpA8gCIRQgAykDwAIhEAJ+IBkgAykDuAIiGFgEQCAQIBF9IRUgECARVK0MAQsgECARQn+FfCEVIBAgEVStIBAgEVGtfAshEiADKQPQAiEWIBQgE30hEQJAIBJQBEAgEyAUVq0hEwwBCyARIBJUrSATIBRWrXwhEyARIBJ9IRELIBYgF30hEAJAAkAgE1AEQCAWIBdaDQEMAgsgECATVCAWIBdUcg0BIBAgE30hEAsgA0ESOgDQAiADIBA3A8gCIAMgETcDwAIgAyAVNwO4AiADIBggGX03A7ACIANB4AFqIgIgA0GIAmogA0GwAmoQxAEgA0GIAWogA0G4AWogAhBuIAMoAogBRQRADAILIAMoAowBIQEgAEEBNgIAIAAgATYCBAwDCwwFCyADQYABaiADQbABaikDADcDACADQfgAaiADQagBaikDADcDACADQfAAaiADQaABaikDADcDACADQegAaiADQZgBaikDADcDACADIAMpA5ABNwNgIANBqAFqIANBgAFqIgQpAwA3AwAgA0GgAWoiBSADQfgAaiIGKQMANwMAIANBmAFqIgggA0HwAGoiBykDADcDACADQZABaiIJIANB6ABqIgopAwA3AwAgAyADKQNgNwOIASADQcgCaiILIAFBgAVqIgJBGGopAwA3AwAgA0HAAmoiDCACQRBqKQMANwMAIANBuAJqIAJBCGopAwA3AwAgA0ESOgDQAiADIAIpAwA3A7ACIANBiAJqIg0gA0GIAWoiDiADQbACaiIPEMUBIAogA0GQAmoiAikDADcDACAHIANBmAJqIgcpAwA3AwAgBiADQaACaiIGKQMANwMAIAQgA0GoAmoiBCkDADcDACADIAMpA4gCNwNgIAUgAUEYaikDADcDACAIIAFBEGopAwA3AwAgCSABQQhqKQMANwMAIANBEjoAqAEgAyABKQMANwOIASADQfgBaiABQThqKQMANwMAIANB8AFqIAFBMGopAwA3AwAgA0HoAWogAUEoaikDADcDACADIAEpAyA3A+ABIA8gDiADQeABahDKAQJAAkACQAJAAkACQAJAIAMoArACRQRAIAQgA0HYAmopAwA3AwAgBiADQdACaikDADcDACAHIAspAwA3AwAgAiAMKQMANwMAIAMgAykDuAI3A4gCIA0gA0HgAGoQnAIiAkH/AXEOAwECAwILIAMoArQCIQEgAEEBNgIAIAAgATYCBAwICyADLQCoAiICIAMtAIABIgRJDQEgAiAERyECCyACQf8BcUEBRg0BCyADQbACakHsxMAAQQEQsAEgAygCsAINAiAAIAMpA7gCNwMIIABBKGogA0HYAmopAwA3AwAgAEEgaiADQdACaikDADcDACAAQRhqIANByAJqKQMANwMAIABBEGogA0HAAmopAwA3AwAMAQsgA0GgAWogAUEYaikDADcDACADQZgBaiABQRBqKQMANwMAIANBkAFqIAFBCGopAwA3AwAgA0ESOgCoASADIAEpAwA3A4gBIANBoAJqIAFBIGoiAUEYaikDADcDACADQZgCaiABQRBqKQMANwMAIANBkAJqIAFBCGopAwA3AwAgAyABKQMANwOIAiADQbACaiADQYgBaiADQYgCahDKASADKAKwAg0CIANBmANqIANB0AJqKQMANwMAIANBkANqIANByAJqKQMANwMAIANBiANqIANBwAJqKQMANwMAIANB6AJqIANB6ABqKQMANwMAIANB8AJqIANB8ABqKQMANwMAIANB+AJqIANB+ABqKQMANwMAIAMgAykDuAI3A4ADIAMgAykDYDcD4AIgAEEIaiADQYADaiADQeACahDgASAAQRI6ACgLIABBADYCAAwDCyADIAMoArQCNgKIAUHtxMAAQSsgA0GIAWpBmMXAAEHI9MAAEJcCAAsgAygCtAIhASAAQQE2AgAgACABNgIEDAELIANBAzYCtAIgA0GA9MAANgKwAiADQgI3ArwCIANCgICAgIAIIhEgA0E4aq2ENwOQASADIBEgA0EQaq2ENwOIASADIANBiAFqNgK4AiADQYgCaiIBIANBsAJqENMBIANBCGogAUG8hsEAQZj0wAAQpgIgAygCDCECIAMoAgghBCADQbgCaiIFIANBkAJqKAIANgIAQZngwQAtAAAaIAMgAykCiAI3A7ACQRhBBBD3AiIBRQ0BIAEgBDYCBCABQaSHwQA2AgAgASADKQOwAjcCDCABIAI2AgggAUEUaiAFKAIANgIAIABBATYCACAAIAE2AgQLIANBoANqJAAPC0EEQRgQqAMACyADQQA2AsACIANBATYCtAIgA0Hgh8EANgKwAiADQgQ3ArgCIANBsAJqQfSFwQAQxQIACyADQQA2AsACIANBATYCtAIgA0HkxMAANgKwAiADQgQ3ArgCIANBsAJqQbTEwAAQxQIAC8keAgp/Dn4jAEHQA2siBSQAIAVCADcD4AEgBUG4A2ogAkEgaikDADcDACAFQbADaiACQRhqKQMANwMAIAVBqANqIAJBEGopAwA3AwAgBUGgA2ogAkEIaikDADcDACAFIAIpAwA3A5gDIAVBOGogASAFQZgDaiAFQeABaiIKEL0BAkACQAJAAkACQAJAAkACQAJAIAUoAjhFBEAgBUGIAWogBUHgAGopAwA3AwAgBUGAAWogBUHYAGopAwA3AwAgBUH4AGogBUHQAGopAwA3AwAgBUHwAGogBUHIAGopAwA3AwAgBSAFKQNANwNoIAVBmAFqIgYgAUHIAWopAwA3AwAgBUGgAWoiByABQdABaikDADcDACAFQagBaiIIIAFB2AFqKQMANwMAIAUgASkDwAE3A5ABIAVBsAFqIglBEjoAACAFQYACaiILIAkpAwA3AwAgBUH4AWoiDCAIKQMANwMAIAVB8AFqIg0gBykDADcDACAFQegBaiIOIAYpAwA3AwAgBSAFKQOQATcD4AEgBUEQaiAFQegAaiAKEMQBIAsgCSkDADcDACAMIAgpAwA3AwAgDSAHKQMANwMAIA4gBikDADcDACAFIAUpA5ABNwPgASAFQbgBaiACIAoQxAEgASkDCCIPIAUpA8ABfCIUIA9UIQIgBSkD0AEgASkDECIQIAUpA8gBfCISIBBUIQYCfgJ+IAEpAwAiDyAFKQO4AXwiEyAPVCIIRQRAIBQhESACrQwBCyAUQgF8IhFQrSACrXwLIg9QBEAgEiEWIAatDAELIA8gEnwiFiASVK0gBq18CyEQIAEpAxgiFXwiDyAVVCEHAkAgEFAEQCAPIRAgB0UNAQwJCyAHDQggDyAQfCIQIA9UDQgLIAVBEjoAgAIgBSAQNwP4ASAFIBY3A/ABIAUgETcD6AEgBSATNwPgASAFQeABaiAFQRBqEJwCQf8BcSIJRQ0BIAlB/wFHDQIMAwsgBSgCPCEBIABBATYCACAAIAE2AgQMBAsgBS0AgAIgBS0AMEkNAQsCQAJAIAgEfiAUQgF8IhRQrSACrXwFIAKtCyIQUAR+IAatBSASIBAgEnwiElatIAatfAsiEFAEQCAHRQ0BDAILIAcNASAPIA8gEHwiD1YNAQsgBSkDICEVIAUpAxghEAJ+IAUpAxAiGSATWARAIBQgEH0hFiAQIBRWrQwBCyAUIBBCf4V8IRYgECAUVq0gECAUUa18CyERIAUpAyghFyASIBV9IRQCQCARUARAIBIgFVStIRAMAQsgESAUVq0gEiAVVK18IRAgFCARfSEUCyAPIBd9IRICQAJAIBBQBEAgDyAXWg0BDAILIA8gF1QgECASVnINASASIBB9IRILIAEpA8gDIg8gAykDCHwiECAPVCECIAMpAxAhGCABKQPQAyEPIAEpA8ADIhEgAykDAHwiFyARWgR+IAKtBSAQQgF8IhBQrSACrXwLIREgAykDGCEbIAEpA9gDIRUgDyAPIBh8Ig9WIQIgEVAEfiACrQUgDyAPIBF8Ig9WrSACrXwLIREgFSAVIBt8IhVWIQICQAJAIBFQBEAgBSAVNwO4AiAFIA83A7ACIAUgEDcDqAIgBSAXNwOgAiACRQ0BDAILIAUgDzcDsAIgBSAQNwOoAiAFIBc3A6ACIAUgESAVfCIPNwO4AiACIA8gFVRyDQELIAVBEjoAwAIgBUE4akHsxMAAQQEQdiAFKAI4BEAgBSAFKAI8NgKYA0HtxMAAQSsgBUGYA2pBmMXAAEHcz8AAEJcCAAsgBUGwA2ogBUHYAGopAwA3AwAgBUGoA2ogBUHQAGoiAikDADcDACAFQaADaiAFQcgAaiIDKQMANwMAIAUgBSkDQDcDmAMgAiAFQZgDaiICIAQgBCACENABQf8BcUEBRhsiAkEYaikDADcDACADIAJBEGopAwA3AwAgBUFAayACQQhqKQMANwMAIAUgAikDADcDOCAFKQM4IQ8CfiAFQThqQajDwABBIBCuAwRAIAUpA1BCf4UiEEIAIAUpA0AiEX0iF1BCACAPfSIPQgBSIgNBf3NxIgIgBSkDSEJ/hSIVIAKtfCIYIBVUcSIErXwgECAEGyEQIBggFSACGyEVIBFCf4UgFyADGwwBCyAFKQNQIRAgBSkDSCEVIAUpA0ALIREgBSAQNwOwAyAFIBU3A6gDIAUgETcDoAMgBSAPNwOYAyAFQeABaiIGIAVBmANqELQBAkACQCAAAn8CQAJAAkAgBSgC4AFFBEAgBUHoAmogBUGIAmopAwA3AwAgBUHgAmogBUGAAmoiAikDADcDACAFQdgCaiAFQfgBaiIDKQMANwMAIAVB0AJqIAVB8AFqIgQpAwA3AwAgBSAFKQPoATcDyAIgAiAFQbABaikDADcDACADIAVBqAFqKQMANwMAIAQgBUGgAWopAwA3AwAgBUHoAWogBUGYAWopAwA3AwAgBSAFKQOQATcD4AEgBUE4aiAFQcgCaiAGEMQBIBYgBSkDQHwiECAWVCECIAUpA0ggEyAZfSIZIAUpAzh8IhUgGVoEfiACrQUgEEIBfCIQUK0gAq18CyERIAUpA1AhFyAUfCITIBRUIQIgEVAEfiACrQUgEyARIBN8IhNWrSACrXwLIREgEiAXfCIPIBJUIQICQCARUARAIAUgDzcDiAMgBSATNwOAAyAFIBA3A/gCIAUgFTcD8AIgAkUNAQwICyAFIBM3A4ADIAUgEDcD+AIgBSAVNwPwAiAFIA8gEXwiEzcDiAMgAiAPIBNWcg0HCyAFQRI6AJADIAVBgAJqIAVBsAFqKQMANwMAIAVB+AFqIAVBqAFqKQMANwMAIAVB8AFqIAVBoAFqKQMANwMAIAVB6AFqIAVBmAFqKQMANwMAIAUgBSkDkAE3A+ABIAVBOGogBUGgAmogBUHgAWoQxAEgBSkDQCITIAEpA6gFIhB8Ig8gE1QhAiABKQOwBSEVIAUpA0ghEyAFKQM4IhEgASkDoAUiG3wiGiARWgR+IAKtBSAPQgF8Ig9QrSACrXwLIREgASkDuAUhFyAFKQNQIRggEyATIBV8IhNWIQEgEVAEfiABrQUgEyARIBN8IhNWrSABrXwLIREgGCAXIBh8IhhWIQECQCARUARAIAUgGDcDsAMgBSATNwOoAyAFIA83A6ADIAUgGjcDmAMgAUUNAQwSCyAFIBM3A6gDIAUgDzcDoAMgBSAaNwOYAyAFIBEgGHwiDzcDsAMgASAPIBhUcg0RCyAFQRI6ALgDIAVB8AJqIAVBmANqEJwCQf8BcSIBDgMDAQIBCyAFKALkASECDAoLIAFBAkkNAQsgBUEANgLwASAFQQE2AuQBIAVBxM/AADYC4AEgBUIENwLoASAAIAVB4AFqQczPwAAQ0gE2AgRBAQwBCyAFQYACaiAFQbABaikDADcDACAFQfgBaiAFQagBaikDADcDACAFQfABaiAFQaABaikDADcDACAFQegBaiAFQZgBaikDADcDACAFIAUpA5ABNwPgASAFQThqIAVByAJqIAVB4AFqEMQBIBYgBSkDQHwiEyAWVCEBIAUpA0ggGSAZIAUpAzh8IhpYBH4gAa0FIBNCAXwiE1CtIAGtfAshESAFKQNQIRYgFHwiDyAUVCEBIBFQBH4gAa0FIA8gDyARfCIPVq0gAa18CyERIBIgFnwiFCASVCEBAkAgEVAEQCABRQ0BDA4LIAENDSAUIBEgFHwiFFYNDQsgBUHgAWogBUGgAmogBUGQAWoQxAEgBSkD8AEhGSAFKQPoASESAn4gBSkD4AEiHCAaWARAIBIgE1atIRYgEyASfQwBCyASIBNWrSASIBNRrXwhFiATIBJCf4V8CyERIAUpA/gBIRggDyAZfSESAkAgFlAEQCAPIBlUrSETDAELIBIgFlStIA8gGVStfCETIBIgFn0hEgsgFCAYfSEPAkAgE1AEQCAUIBhaDQEMAwsgFCAYVCAPIBNUcg0CIA8gE30hDwsgEiAVfSEUAkACfiAbIBogHH0iGVgEQCARIBB9IRYgECARVq0MAQsgESAQQn+FfCEWIBAgEVatIBAgEVGtfAsiE1AEQCASIBVUrSEQDAELIBMgFFatIBIgFVStfCEQIBQgE30hFAsgDyAXfSESAkAgEFAEQCAPIBdaDQEMDQsgDyAXVCAQIBJWcg0MIBIgEH0hEgsgAEESOgAoIAAgEjcDICAAIBQ3AxggACAWNwMQIAAgGSAbfTcDCEEACzYCAAwHCyAFQQA2AkggBUEBNgI8IAVB5MTAADYCOCAFQgQ3AkAgBUE4akG0xMAAEMUCAAsMCQsMCAsMBgsMBgsCQCAIBH4gFEIBfCIUUK0gAq18BSACrQsiEFAEfiAGrQUgEiAQIBJ8IhJWrSAGrXwLIhBQBEAgBSAPNwNQIAUgEjcDSCAFIBQ3A0AgBSATNwM4IAdFDQEMBwsgBSASNwNIIAUgFDcDQCAFIBM3AzggBSAPIBB8IhI3A1AgByAPIBJWcg0GCyAFQRI6AFggBUKAgICAkAgiDyAFQRBqrYQ3A/gCIAUgDyAFQThqrYQ3A/ACIAVBnAJqQQM6AAAgBUGYAmpBBDYCACAFQZACakKggICAEDcCACAFQYgCakECNgIAIAVBAjYCrAMgBUECNgKcAyAFQfzOwAA2ApgDIAVBAjYCgAIgBUEDOgD8ASAFQQQ2AvgBIAVCIDcC8AEgBUECNgLoASAFQQI2AuABIAUgBUHgAWo2AqgDIAVBAjYCpAMgBSAFQfACajYCoAMgBUHEA2oiASAFQZgDahDTASAFQQhqIAFBvIbBAEGMz8AAEKYCIAUoAgwhASAFKAIIIQMgBUHoAWoiBCAFQcwDaigCADYCAEGZ4MEALQAAGiAFIAUpAsQDNwPgAUEYQQQQ9wIiAkUNAiACIAM2AgQgAkGkh8EANgIAIAIgBSkD4AE3AgwgAiABNgIIIAJBFGogBCgCADYCAAsgAEEBNgIAIAAgAjYCBAsgBUHQA2okAA8LQQRBGBCoAwALIAVBADYCSCAFQQE2AjwgBUHgh8EANgI4IAVCBDcCQCAFQThqQfSFwQAQxQIACyAFQQA2AvABIAVBATYC5AEgBUHkxMAANgLgASAFQgQ3AugBIAVB4AFqQbTEwAAQxQIACyAFQQA2AvABIAVBATYC5AEgBUHgh8EANgLgASAFQgQ3AugBIAVB4AFqQfSFwQAQxQIAC70cAgN/G34jAEGAB2siAyQAAkACQAJAIAIpAwBCAFINACACKQMIQgBSDQAgAikDEEIAUg0AIAIpAxhQDQELIANB2AZqQgA3AwAgA0HQBmpCADcDACADQgA3A8gGIANCATcDwAYgA0H4BmogAkEYaikDACIWNwMAIANB8AZqIAJBEGopAwAiGTcDACADQegGaiACQQhqKQMAIhw3AwAgAyACKQMAIhs3A+AGIAEpAxghBiABKQMQIQggASkDCCENIAEpAwAhDEIBIRIDQEEYIQICQAJAA0AgAkF4Rg0BIANB4AZqIAJqIQEgA0HABmogAmohBSACQQhrIQJBfyAFKQMAIgogASkDACIHUiAHIApUGyIBRQ0ACyABQf8BcUEBRg0BCyADQfABaiASQgAgDEIAEJYCIANB4AFqIBJCACANQgAQlgIgA0HQAWogEkIAIAhCABCWAiADQcABaiASQgAgBkIAEJYCIANBsAFqIBdCACAMQgAQlgIgA0GgAWogF0IAIA1CABCWAiADQZABaiAXQgAgCEIAEJYCIANBgAFqIBdCACAGQgAQlgIgA0HwAGogGkIAIAxCABCWAiADQeAAaiAaQgAgDUIAEJYCIANB0ABqIBpCACAIQgAQlgIgA0FAayAaQgAgBkIAEJYCIANBMGogFUIAIAxCABCWAiADQSBqIBVCACANQgAQlgIgA0EQaiAVQgAgCEIAEJYCIAMgFUIAIAZCABCWAiADKQPwASEKAn9BASADKQMgIhwgA0E4aikDACADKQMwIhkgAykDYCIHIANB+ABqKQMAIAMpA3AiFiADKQOgASIJIANBuAFqKQMAIAMpA7ABIgYgAykD4AEiCCADQfgBaikDAHwiDXwiDCAGVK18IgYgAykD0AEiEiADQegBaikDACAIIA1WrXx8Igh8Ig18Ihd8IhogFlStfCIVIAMpA5ABIhsgA0GoAWopAwAgCSAXVq18IgkgBiANVq18IhYgAykDwAEiBiADQdgBaikDACAIIBJUrXx8Igh8Ig18IhJ8Ihd8Igt8Ig4gGVStfCIQIAMpA1AiDyADQegAaikDACAHIAtWrXwiByAVIBdWrXwiGSADKQOAASIXIANBmAFqKQMAIBIgG1StfCISIA0gFlQgCSAWVnKtfCIWIANByAFqKQMAIAYgCFatfHwiCXwiBnwiCHwiDXwiFXwiG0IAUg0AGkEBIAMpAxAiCyADQShqKQMAIBsgHFStfCIbIBAgFVatfCIcIAMpA0AiFSADQdgAaikDACANIA9UrXwiDSAIIBlUIAcgGVZyrXwiGSAGIBdUrSADQYgBaikDACAJIBZUIBIgFlZyrXx8fCIHfCIJfCIWfCIGQgBSDQAaQQEgAykDACIIIANBGGopAwAgBiALVK18IgYgFiAcVCAbIBxWcq18IhYgCSAVVK0gA0HIAGopAwAgByAZVCANIBlWcq18fHwiGXwiHEIAUg0AGiADQQhqKQMAIAggHFatfEIAIAYgFlYgFiAZVnKtfVILIQIgACAONwMYIAAgGjcDECAAIAw3AwggACAKNwMAIAAgAiAEckEBcToAIAwDCwJAIBunQQFxRQRAIANBkANqIAxCACAMQgAQlgIgA0GAA2ogDEIAIA1CABCWAiADQeACaiAIQgAgDEIAEJYCIANBsAJqIAZCACAMQgAQlgIgA0HwAmogDUIAIA1CABCWAiADQdACaiAIQgAgDUIAEJYCIANBoAJqIAZCACANQgAQlgIgA0HAAmogCEIAIAhCABCWAiADQZACaiAGQgAgCEIAEJYCIANBgAJqIAZCACAGQgAQlgJBASECAkAgAykDoAIiCiADQbgCaikDACIOIAMpA7ACIgcgAykD0AIiCSADQegCaikDACILIAMpA+ACIgYgAykD8AIiDCADQYgDaikDACIQIAMpA4ADIgggCCADQZgDaikDAHwiD3wiDSAIVK18IhEgBiAIIA9WrSAQfHwiEHwiD3wiE3wiCCAGVK18IhQgCSADQfgCaikDACAMIBNWrXwiEyAPIBFUrXwiDCAHIAYgEFatIAt8fCIQfCIPfCIRfCILfCIYfCIGIAdUrXwiHSADKQPAAiIfIANB2AJqKQMAIh4gCSAYVq18IhggCyAUVK18IgsgCiAJIBFWrSAefCIRIAwgE1QgDCAPVnKtfCIJIAcgEFatIA58fCIOfCIQfCIPfCITfCIMfCIUQgBSDQAgAykDkAIiByADQagCaikDACIeIAogFFatfCIUIAwgHVStfCIMIAcgA0HIAmopAwAgEyAfVK18IhMgCyAYVCALIA9Wcq18IgsgCiAQVq0gCSARVCAJIA5Wcq0gHnx8fCIJfCIOfCIKfCIQQgBSDQAgAykDgAIiDyADQZgCaikDACIRIAcgEFatfCIQIAwgFFQgCiAMVHKtfCIKIAcgDlatIAsgE1QgCSALVHKtIBF8fHwiB3wiCUIAUg0AIANBiAJqKQMAIAkgD1StfEIAIAogEFQgByAKVHKtfVIhAgsgAykDkAMhDAwBCyADQbAGaiASQgAgDEIAEJYCIANBoAZqIBJCACANQgAQlgIgA0GQBmogEkIAIAhCABCWAiADQYAGaiASQgAgBkIAEJYCIANB8AVqIBdCACAMQgAQlgIgA0HgBWogF0IAIA1CABCWAiADQdAFaiAXQgAgCEIAEJYCIANBwAVqIBdCACAGQgAQlgIgA0GwBWogGkIAIAxCABCWAiADQaAFaiAaQgAgDUIAEJYCIANBkAVqIBpCACAIQgAQlgIgA0GABWogGkIAIAZCABCWAiADQfAEaiAVQgAgDEIAEJYCIANB4ARqIBVCACANQgAQlgIgA0HQBGogFUIAIAhCABCWAiADQcAEaiAVQgAgBkIAEJYCQQEhAQJ/QQEgAykD4AQiCSADQfgEaikDACADKQPwBCIHIAMpA6AFIhIgA0G4BWopAwAgAykDsAUiCiADKQPgBSIVIANB+AVqKQMAIAMpA/AFIhogAykDoAYiCyADQbgGaikDAHwiDnwiFyAaVK18IhAgAykDkAYiDyADQagGaikDACALIA5WrXx8Igt8Ig58IhF8IhogClStfCITIAMpA9AFIhQgA0HoBWopAwAgESAVVK18IhEgDiAQVK18IgogAykDgAYiDiADQZgGaikDACALIA9UrXx8Igt8IhB8Ig98Ihh8Ih18IhUgB1StfCIfIAMpA5AFIh4gA0GoBWopAwAgEiAdVq18IhIgEyAYVq18IgcgAykDwAUiEyADQdgFaikDACAPIBRUrXwiDyAKIBFUIAogEFZyrXwiCiADQYgGaikDACALIA5UrXx8Igt8Ig58IhB8IhF8IhR8IhhCAFINABpBASADKQPQBCIdIANB6ARqKQMAIAkgGFatfCIYIBQgH1StfCIJIAMpA4AFIhQgA0GYBWopAwAgESAeVK18IhEgByASVCAHIBBWcq18IgcgDiATVK0gA0HIBWopAwAgCiAPVCAKIAtWcq18fHwiEnwiC3wiCnwiDkIAUg0AGkEBIAMpA8AEIhAgA0HYBGopAwAgDiAdVK18Ig4gCSAYVCAJIApWcq18IgogCyAUVK0gA0GIBWopAwAgByARVCAHIBJWcq18fHwiB3wiCUIAUg0AGiADQcgEaikDACAJIBBUrXxCACAKIA5UIAcgClRyrX1SCyECIAMpA7AGIRIgA0HQA2ogDEIAIAxCABCWAiADQcADaiAMQgAgDUIAEJYCIANBsANqIAhCACAMQgAQlgIgA0GgA2ogBkIAIAxCABCWAiADQYAEaiANQgAgDUIAEJYCIANB8ANqIAhCACANQgAQlgIgA0HgA2ogBkIAIA1CABCWAiADQaAEaiAIQgAgCEIAEJYCIANBkARqIAZCACAIQgAQlgIgA0GwBGogBkIAIAZCABCWAiADKQPQAyEMAkAgAykD4AMiCiADQagDaikDACIQIAMpA6ADIgcgAykD8AMiCSADQbgDaikDACIOIAMpA7ADIgYgAykDgAQiCyADQcgDaikDACIPIAMpA8ADIgggCCADQdgDaikDAHwiEXwiDSAIVK18IhMgBiAIIBFWrSAPfHwiD3wiEXwiFHwiCCAGVK18IhggCSADQYgEaikDACALIBRWrXwiFCARIBNUrXwiCyAHIAYgD1atIA58fCIPfCIRfCITfCIOfCIdfCIGIAdUrXwiHyADKQOgBCIeIANB+ANqKQMAIiAgCSAdVq18Ih0gDiAYVK18Ig4gCiAJIBNWrSAgfCITIAsgFFQgCyARVnKtfCIJIAcgD1atIBB8fCIQfCIPfCIRfCIUfCILfCIYQgBSDQAgAykDkAQiByADQegDaikDACIgIAogGFatfCIYIAsgH1StfCILIAcgA0GoBGopAwAgFCAeVK18IhQgDiAdVCAOIBFWcq18Ig4gCiAPVq0gCSATVCAJIBBWcq0gIHx8fCIJfCIQfCIKfCIPQgBSDQAgAykDsAQiESADQZgEaikDACITIAcgD1atfCIPIAsgGFQgCiALVHKtfCIKIAcgEFatIA4gFFQgCSAOVHKtIBN8fHwiB3wiCUIAUg0AIANBuARqKQMAIAkgEVStfEIAIAogD1QgByAKVHKtfVIhAQsgG0IBfSEbIAEgAnIhAgsgAyAWQgGIIgo3A/gGIAMgFkI/hiAZQgGIhCIHNwPwBiADIBlCP4YgHEIBiIQiCTcD6AYgAyAcQj+GIBtCAYiEIhs3A+AGIAIgBHIhBCAKIRYgByEZIAkhHAwACwALIABCADcDCCAAQQA6ACAgAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwALIANBgAdqJAALzSMCFH8TfiMAQeAFayIDJABBgAQhBSABKQM4IhghFwJ+AkACQCAYUEUNAEHAAyEFIAEpAzAiF0IAUg0AQYADIQUgASkDKCIXQgBSDQBBwAIhBSABKQMgIhdCAFINAEGAAiEFIAEpAxgiF0IAUg0AQcABIQUgASkDECIXQgBSDQBBgAEhBSABKQMIIhdQDQELIBd5DAELQcAAIQUgASkDAHkLIRpBgAQhBAJAAkACQAJAAkACQAJ/AkACQCACKQM4IhdCAFINAEHAAyEEIAIpAzAiF0IAUg0AQYADIQQgAikDKCIXQgBSDQBBwAIhBCACKQMgIhdCAFINAEGAAiEEIAIpAxgiF0IAUg0AQcABIQQgAikDECIXQgBSDQBBgAEhBCACKQMIIhdQDQELIAQgF3mnawwBCyACKQMAeaciBEHAAEYNAUHAACAEawsiBCAFIBqnayIKSw0BIARBwQBPBEAgA0HIA2ogAkE4aikDADcDACADQcADaiACQTBqKQMANwMAIANBuANqIAJBKGopAwA3AwAgA0GwA2ogAkEgaikDADcDACADQagDaiACQRhqKQMANwMAIANBoANqIAJBEGopAwA3AwAgA0GYA2ogAkEIaikDADcDACADIAIpAwA3A5ADIANBkANqIgYgBEEBa0EGdiIPQQN0aiILKQMAeSIhpyISIQcjAEFAaiIEQThqQgA3AwAgBEEwakIANwMAIARBKGpCADcDACAEQSBqQgA3AwAgBEEYakIANwMAIARBEGoiCUIANwMAIARBCGoiDUIANwMAIARCADcDACAEIAdBBnYiCEEDdCIFaiACKQMAIhogB60iF4Y3AwAgBSANaiINIAIpAwgiGyAXhiIcNwMAIAUgCWoiBSACKQMQIh0gF4YiIDcDACAEIAhBA2oiCUEDdGoiDiACKQMYIh4gF4YiIjcDACAHQT9xIRACQCAIQQRqIgdBCEYNACAEIAdBA3RqIAIpAyAgF0I/gyIYhjcDACAIQQVqIgxBCEYNACAEIAxBA3RqIAIpAyggGIY3AwAgCEEGaiIMQQhGDQAgBCAMQQN0aiACKQMwIBiGNwMAIAhBB2oiDEEIRg0AIAQgDEEDdGogAikDOCAYhjcDAAsCQCAQRQ0AIAUgICAbQgAgF30iF4h8NwMAIA0gHCAaIBeIfDcDACAOICIgHSAXiHw3AwAgCUEHRg0AIAQgB0EDdGoiBSAFKQMAIB4gF0I/gyIXiHw3AwAgB0EHRg0AIAQgCEEFaiIHQQN0aiIFIAUpAwAgAikDICAXiHw3AwAgB0EHRg0AIAQgCEEGaiIHQQN0aiIFIAUpAwAgAikDKCAXiHw3AwAgB0EHRg0AIAhBA3QgBGpBOGoiCCAIKQMAIAIpAzAgF4h8NwMACyAGIAQpAwA3AwAgBkE4aiAEQThqKQMANwMAIAZBMGogBEEwaikDADcDACAGQShqIARBKGopAwA3AwAgBkEgaiAEQSBqKQMANwMAIAZBGGogBEEYaikDADcDACAGQRBqIARBEGopAwA3AwAgBkEIaiAEQQhqKQMANwMAIApBAWtBBnYhBEHAACASayIGrSEXIAEgBkEGdiIIQQN0aiICKQMAIRggASAIQQZqIgdBA3RqKQMAISIgAkEoaikDACEkIAJBIGopAwAhJSACQRhqKQMAISYgAkEQaikDACEnIAJBCGopAwAhGSAGQT9xIQIgCEEHaiIFQQhHDQMMBQsgAikDACIXUA0DIAEpAyghGiABKQMgIRsgASkDGCEhIAEpAxAhHCABKQMIIR0gASkDACEgIANB0AFqIAEpAzAiHiAYIBggF4AiGCAXfn0gFxC+AiADQcABaiADKQPQASIiIANB2AFqKQMAIBdCABCWAiADQbABaiAaIB4gAykDwAF9IBcQvgIgA0GgAWogAykDsAEiHiADQbgBaikDACAXQgAQlgIgA0GQAWogGyAaIAMpA6ABfSAXEL4CIANBgAFqIAMpA5ABIhogA0GYAWopAwAgF0IAEJYCIANB8ABqICEgGyADKQOAAX0gFxC+AiADQeAAaiADKQNwIhsgA0H4AGopAwAgF0IAEJYCIANB0ABqIBwgISADKQNgfSAXEL4CIANBQGsgAykDUCIhIANB2ABqKQMAIBdCABCWAiADQTBqIB0gHCADKQNAfSAXEL4CIANBIGogAykDMCIcIANBOGopAwAgF0IAEJYCIANBEGogICAdIAMpAyB9IBcQvgIgAyADKQMQIh0gA0EYaikDACAXQgAQlgIgAEIANwNIIAAgGDcDOCAAQdAAakIANwMAIABB2ABqQgA3AwAgAEHgAGpCADcDACAAQegAakIANwMAIABB8ABqQgA3AwAgAEH4AGpCADcDACAAICI3AzAgACAeNwMoIAAgGjcDICAAIBs3AxggACAhNwMQIAAgHDcDCCAAIB03AwAgACAgIAMpAwB9NwNADAULIANBADYC6AQgA0EBNgLcBCADQcS1wQA2AtgEIANCBDcC4AQgA0HYBGpBhLbBABDFAgALIABCADcDACAAQThqQgA3AwAgAEEwakIANwMAIABBKGpCADcDACAAQSBqQgA3AwAgAEEYakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgACABKQMANwNAIABByABqIAFBCGopAwA3AwAgAEHQAGogAUEQaikDADcDACAAQdgAaiABQRhqKQMANwMAIABB4ABqIAFBIGopAwA3AwAgAEHoAGogAUEoaikDADcDACAAQfAAaiABQTBqKQMANwMAIABB+ABqIAFBOGopAwA3AwAMAwsgASAFQQN0aikDACAXiCEfDAELQYS2wQAQywIACyAEIA9rIQYgGCAXiCEYICIgF4ghGiAkIBeIIRsgJSAXiCEcICYgF4ghHSAnIBeIISAgGSAXiCEeIA9BAWohCiABKQMAISMCQCACRQ0AICJCACAXfSIXhiAbfCEbICQgF4YgHHwhHCAlIBeGIB18IR0gJiAXhiAgfCEgICcgF4YgHnwhHiAZIBeGIBh8IRggB0EHRg0AIAEgBUEDdGopAwAgF4YgGnwhGgsgAyAfNwOQBCADIBo3A4gEIAMgGzcDgAQgAyAcNwP4AyADIB03A/ADIAMgIDcD6AMgAyAeNwPgAyADIBg3A9gDIAMgIyAhhjcD0AMgA0HQBGpCADcDACADQcgEakIANwMAIANBwARqQgA3AwAgA0G4BGpCADcDACADQbAEakIANwMAIANBqARqQgA3AwAgA0GgBGpCADcDACADQgA3A5gEIANB0ANqIARBA3QiAiAPQQN0IgFraiEIICFCP4MhGiAKQQN0QQhqQQN2IQkgASADakGIA2opAwAhHCALKQMAIRsgAykDyAMhHSADKQPAAyEgIAMpA7gDIR4gAykDsAMhIiADKQOoAyEkIAMpA6ADISUgAykDmAMhJiADKQOQAyEnIAZBCkkhFCABIAJrQcgAakEDdiIVIQ0gBiEBAkACQANAAkACQCABIgcgCmoiAkEJSQRAQn8hGCADQdADaiACQQN0aiIQKQMAIhcgG1oNAiABIA9qIgRBCUkNAUF/QQlBhLbBABCgAgALIAJBCUGEtsEAEKACAAsgAkECayIBQQhNBEAgA0GAA2ogA0HQA2oiAiAEQQN0aikDACIZIBcgGxC+AiADQfACaiADKQOAAyIYIANBiANqKQMAIBtCABCWAiAZIAMpA/ACfSEXIAFBA3QgAmopAwAhGQNAIANB4AJqIBhCACAcQgAQlgIgGSADKQPgAlogFyADQegCaikDACIfViAXIB9RGw0CIBhCAX0hGCAXIBcgG3wiF1gNAAsMAQsgAUEJQYS2wQAQoAIACyADQdACaiAnQgAgGEIAEJYCIANBwAJqICZCACAYQgAQlgIgA0GwAmogJUIAIBhCABCWAiADQaACaiAkQgAgGEIAEJYCIANBkAJqICJCACAYQgAQlgIgA0GAAmogHkIAIBhCABCWAiADQfABaiAgQgAgGEIAEJYCIANB4AFqIB1CACAYQgAQlgIgAyADKQPQAjcD2AQgAyADKQPAAiIXIANB2AJqKQMAfCIZNwPgBCADIANByAJqKQMAIBcgGVatfCIXIAMpA7ACfCIZNwPoBCADIANBuAJqKQMAIBcgGVatfCIXIAMpA6ACfCIZNwPwBCADIANBqAJqKQMAIBcgGVatfCIXIAMpA5ACfCIZNwP4BCADIANBmAJqKQMAIBcgGVatfCIXIAMpA4ACfCIZNwOABSADIANBiAJqKQMAIBcgGVatfCIXIAMpA/ABfCIZNwOIBSADIANB+AFqKQMAIBcgGVatfCIXIAMpA+ABfCIZNwOQBSADIANB6AFqKQMAIBcgGVatfDcDmAUgFEUNAQJAQcgAIAdBA3QiDGtBA3YiASAJIAEgCUkbRQ0AIA1B/////wFxIQsgEyAVakH/////AXEiDiAJIAkgDksbIgFBAXECfyABQQFGBEBCACEXQQAMAQtBACAJIAsgCSALSRtB/v///wBxayERQgAhF0EAIQQgA0HYBGohAiAIIQEDQCABIAEpAwAiGSACKQMAIh8gF3wiF303AwAgAUEIaiIFIAUpAwAiIyACQQhqKQMAIiggFyAfVCAXIBlWcq18Ihd9NwMAIBcgKFQgFyAjVnIiBa0hFyABQRBqIQEgAkEQaiECIBEgBEECayIERw0AC0EAIARrCyEBIANB0ANqIAxqIREEQCARIAFBA3QiAWoiAiACKQMAIhkgA0HYBGogAWopAwAiHyAXfCIXfTcDACAXIB9UIBcgGVZyIQULIAVBAXFFDQBBACECAkAgB0EJRg0AIA4gCiAKIA5LGyIBQQFxAn8gAUEBRgRAQgAhF0EADAELQQAgCiALIAogC0kbQf7//z9xayELQgAhF0EAIQFBACEEA0AgASAIaiICIAIpAwAiGSAXIANBkANqIAFqIgUpAwAiH3wiF3wiIzcDACACQQhqIgIgAikDACIoIAVBCGopAwAiKSAXIB9UIBkgI1ZyrXwiF3wiGTcDACAXIClUIBkgKFRyIgKtIRcgAUEQaiEBIAsgBEECayIERw0AC0EAIARrCyEBRQ0AIBEgAUEDdCIBaiICIAIpAwAiGSAXIANBkANqIAFqKQMAIh98Ihd8IiM3AwAgFyAfVCAZICNWciECCyAQIBApAwAgAq1CAYN8NwMAIBhCAX0hGAsgBkEISQRAIAdBAWshASADQZgEaiAMaiAYNwMAIAhBCGshCCANQQFqIQ0gE0EBaiETIAdFDQMMAQsLIAZBCEGEtsEAEKACAAsgBkEJQYS2wQAQjQMACyADQdgEaiADQdADakHIABCsAxogAyADKQPYBCAaiDcDoAUgAyADKQPgBCAaiDcDqAUgAyADKQPoBCAaiDcDsAUgAyADKQPwBCAaiDcDuAUgAyADKQP4BCAaiDcDwAUgAyADKQOABSAaiDcDyAUgAyADKQOIBSAaiDcD0AUgAyADKQOQBSAaiDcD2AUCQCASBEBCACAhfUI/gyEXQQEhAQNAQQghBEEHIQIgAUEHSyIGRQRAIAFBAWsiAkEHSw0DIAFBAWohBAsgA0GgBWogAkEDdGoiAiACKQMAIANB2ARqIAFBA3RqKQMAIBeGhDcDACAEIQEgBkUNAAsLIAAgAykDoAU3A0AgAEH4AGogA0HYBWopAwA3AwAgAEHwAGogA0HQBWopAwA3AwAgAEHoAGogA0HIBWopAwA3AwAgAEHgAGogA0HABWopAwA3AwAgAEHYAGogA0G4BWopAwA3AwAgAEHQAGogA0GwBWopAwA3AwAgAEHIAGogA0GoBWopAwA3AwAgAEE4aiADQdAEaikDADcDACAAQTBqIANByARqKQMANwMAIABBKGogA0HABGopAwA3AwAgAEEgaiADQbgEaikDADcDACAAQRhqIANBsARqKQMANwMAIABBEGogA0GoBGopAwA3AwAgAEEIaiADQaAEaikDADcDACAAIAMpA5gENwMADAELQX9BCEGEtsEAEKACAAsgA0HgBWokAAurJAIJfwF+IwBBEGsiCCQAAkACQAJAAkACQAJAAkAgAEH1AU8EQCAAQc3/e08NByAAQQtqIgBBeHEhBUGE5MEAKAIAIglFDQRBACAFayEDAn9BACAFQYACSQ0AGkEfIAVB////B0sNABogBUEGIABBCHZnIgBrdkEBcSAAQQF0a0E+agsiB0ECdEHo4MEAaigCACICRQRAQQAhAAwCC0EAIQAgBUEZIAdBAXZrQQAgB0EfRxt0IQQDQAJAIAIoAgRBeHEiBiAFSQ0AIAYgBWsiBiADTw0AIAIhASAGIgMNAEEAIQMgASEADAQLIAIoAhQiBiAAIAYgAiAEQR12QQRxakEQaigCACICRxsgACAGGyEAIARBAXQhBCACDQALDAELQYDkwQAoAgAiAkEQIABBC2pB+ANxIABBC0kbIgVBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiIBQQN0IgBB+OHBAGoiBCAAQYDiwQBqKAIAIgAoAggiA0cEQCADIAQ2AgwgBCADNgIIDAELQYDkwQAgAkF+IAF3cTYCAAsgAEEIaiEDIAAgAUEDdCIBQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAcLIAVBiOTBACgCAE0NAwJAAkAgAUUEQEGE5MEAKAIAIgBFDQYgAGhBAnRB6ODBAGooAgAiASgCBEF4cSAFayEDIAEhAgNAAkAgASgCECIADQAgASgCFCIADQAgAigCGCEHAkACQCACIAIoAgwiAEYEQCACQRRBECACKAIUIgAbaigCACIBDQFBACEADAILIAIoAggiASAANgIMIAAgATYCCAwBCyACQRRqIAJBEGogABshBANAIAQhBiABIgBBFGogAEEQaiAAKAIUIgEbIQQgAEEUQRAgARtqKAIAIgENAAsgBkEANgIACyAHRQ0EIAIgAigCHEECdEHo4MEAaiIBKAIARwRAIAdBEEEUIAcoAhAgAkYbaiAANgIAIABFDQUMBAsgASAANgIAIAANA0GE5MEAQYTkwQAoAgBBfiACKAIcd3E2AgAMBAsgACgCBEF4cSAFayIBIAMgASADSSIBGyEDIAAgAiABGyECIAAhAQwACwALAkBBAiAAdCIEQQAgBGtyIAEgAHRxaCIBQQN0IgBB+OHBAGoiBCAAQYDiwQBqKAIAIgAoAggiA0cEQCADIAQ2AgwgBCADNgIIDAELQYDkwQAgAkF+IAF3cTYCAAsgACAFQQNyNgIEIAAgBWoiBiABQQN0IgEgBWsiBEEBcjYCBCAAIAFqIAQ2AgBBiOTBACgCACIDBEAgA0F4cUH44cEAaiEBQZDkwQAoAgAhAgJ/QYDkwQAoAgAiBUEBIANBA3Z0IgNxRQRAQYDkwQAgAyAFcjYCACABDAELIAEoAggLIQMgASACNgIIIAMgAjYCDCACIAE2AgwgAiADNgIICyAAQQhqIQNBkOTBACAGNgIAQYjkwQAgBDYCAAwICyAAIAc2AhggAigCECIBBEAgACABNgIQIAEgADYCGAsgAigCFCIBRQ0AIAAgATYCFCABIAA2AhgLAkACQCADQRBPBEAgAiAFQQNyNgIEIAIgBWoiBCADQQFyNgIEIAMgBGogAzYCAEGI5MEAKAIAIgZFDQEgBkF4cUH44cEAaiEAQZDkwQAoAgAhAQJ/QYDkwQAoAgAiBUEBIAZBA3Z0IgZxRQRAQYDkwQAgBSAGcjYCACAADAELIAAoAggLIQYgACABNgIIIAYgATYCDCABIAA2AgwgASAGNgIIDAELIAIgAyAFaiIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDAELQZDkwQAgBDYCAEGI5MEAIAM2AgALIAJBCGohAwwGCyAAIAFyRQRAQQAhAUECIAd0IgBBACAAa3IgCXEiAEUNAyAAaEECdEHo4MEAaigCACEACyAARQ0BCwNAIAAgASAAKAIEQXhxIgQgBWsiBiADSSIHGyEJIAAoAhAiAkUEQCAAKAIUIQILIAEgCSAEIAVJIgAbIQEgAyAGIAMgBxsgABshAyACIgANAAsLIAFFDQAgBUGI5MEAKAIAIgBNIAMgACAFa09xDQAgASgCGCEHAkACQCABIAEoAgwiAEYEQCABQRRBECABKAIUIgAbaigCACICDQFBACEADAILIAEoAggiAiAANgIMIAAgAjYCCAwBCyABQRRqIAFBEGogABshBANAIAQhBiACIgBBFGogAEEQaiAAKAIUIgIbIQQgAEEUQRAgAhtqKAIAIgINAAsgBkEANgIACyAHRQ0CIAEgASgCHEECdEHo4MEAaiICKAIARwRAIAdBEEEUIAcoAhAgAUYbaiAANgIAIABFDQMMAgsgAiAANgIAIAANAUGE5MEAQYTkwQAoAgBBfiABKAIcd3E2AgAMAgsCQAJAAkACQAJAIAVBiOTBACgCACIBSwRAIAVBjOTBACgCACIATwRAIAVBr4AEakGAgHxxIgJBEHZAACEAIAhBBGoiAUEANgIIIAFBACACQYCAfHEgAEF/RiICGzYCBCABQQAgAEEQdCACGzYCACAIKAIEIgFFBEBBACEDDAoLIAgoAgwhBkGY5MEAIAgoAggiA0GY5MEAKAIAaiIANgIAQZzkwQBBnOTBACgCACICIAAgACACSRs2AgACQAJAQZTkwQAoAgAiAgRAQejhwQAhAANAIAEgACgCACIEIAAoAgQiB2pGDQIgACgCCCIADQALDAILQaTkwQAoAgAiAEEAIAAgAU0bRQRAQaTkwQAgATYCAAtBqOTBAEH/HzYCAEH04cEAIAY2AgBB7OHBACADNgIAQejhwQAgATYCAEGE4sEAQfjhwQA2AgBBjOLBAEGA4sEANgIAQYDiwQBB+OHBADYCAEGU4sEAQYjiwQA2AgBBiOLBAEGA4sEANgIAQZziwQBBkOLBADYCAEGQ4sEAQYjiwQA2AgBBpOLBAEGY4sEANgIAQZjiwQBBkOLBADYCAEGs4sEAQaDiwQA2AgBBoOLBAEGY4sEANgIAQbTiwQBBqOLBADYCAEGo4sEAQaDiwQA2AgBBvOLBAEGw4sEANgIAQbDiwQBBqOLBADYCAEHE4sEAQbjiwQA2AgBBuOLBAEGw4sEANgIAQcDiwQBBuOLBADYCAEHM4sEAQcDiwQA2AgBByOLBAEHA4sEANgIAQdTiwQBByOLBADYCAEHQ4sEAQcjiwQA2AgBB3OLBAEHQ4sEANgIAQdjiwQBB0OLBADYCAEHk4sEAQdjiwQA2AgBB4OLBAEHY4sEANgIAQeziwQBB4OLBADYCAEHo4sEAQeDiwQA2AgBB9OLBAEHo4sEANgIAQfDiwQBB6OLBADYCAEH84sEAQfDiwQA2AgBB+OLBAEHw4sEANgIAQYTjwQBB+OLBADYCAEGM48EAQYDjwQA2AgBBgOPBAEH44sEANgIAQZTjwQBBiOPBADYCAEGI48EAQYDjwQA2AgBBnOPBAEGQ48EANgIAQZDjwQBBiOPBADYCAEGk48EAQZjjwQA2AgBBmOPBAEGQ48EANgIAQazjwQBBoOPBADYCAEGg48EAQZjjwQA2AgBBtOPBAEGo48EANgIAQajjwQBBoOPBADYCAEG848EAQbDjwQA2AgBBsOPBAEGo48EANgIAQcTjwQBBuOPBADYCAEG448EAQbDjwQA2AgBBzOPBAEHA48EANgIAQcDjwQBBuOPBADYCAEHU48EAQcjjwQA2AgBByOPBAEHA48EANgIAQdzjwQBB0OPBADYCAEHQ48EAQcjjwQA2AgBB5OPBAEHY48EANgIAQdjjwQBB0OPBADYCAEHs48EAQeDjwQA2AgBB4OPBAEHY48EANgIAQfTjwQBB6OPBADYCAEHo48EAQeDjwQA2AgBB/OPBAEHw48EANgIAQfDjwQBB6OPBADYCAEGU5MEAIAFBD2pBeHEiAEEIayICNgIAQfjjwQBB8OPBADYCAEGM5MEAIANBKGsiBCABIABrakEIaiIANgIAIAIgAEEBcjYCBCABIARqQSg2AgRBoOTBAEGAgIABNgIADAgLIAIgBEkgASACTXINACAAKAIMIgRBAXENACAEQQF2IAZGDQMLQaTkwQBBpOTBACgCACIAIAEgACABSRs2AgAgASADaiEEQejhwQAhAAJAAkADQCAEIAAoAgBHBEAgACgCCCIADQEMAgsLIAAoAgwiB0EBcQ0AIAdBAXYgBkYNAQtB6OHBACEAA0ACQCACIAAoAgAiBE8EQCAEIAAoAgRqIgcgAksNAQsgACgCCCEADAELC0GU5MEAIAFBD2pBeHEiAEEIayIENgIAQYzkwQAgA0EoayIJIAEgAGtqQQhqIgA2AgAgBCAAQQFyNgIEIAEgCWpBKDYCBEGg5MEAQYCAgAE2AgAgAiAHQSBrQXhxQQhrIgAgACACQRBqSRsiBEEbNgIEQejhwQApAgAhCiAEQRBqQfDhwQApAgA3AgAgBCAKNwIIQfThwQAgBjYCAEHs4cEAIAM2AgBB6OHBACABNgIAQfDhwQAgBEEIajYCACAEQRxqIQADQCAAQQc2AgAgAEEEaiIAIAdJDQALIAIgBEYNByAEIAQoAgRBfnE2AgQgAiAEIAJrIgBBAXI2AgQgBCAANgIAIABBgAJPBEAgAiAAEOoBDAgLIABBeHFB+OHBAGohAQJ/QYDkwQAoAgAiBEEBIABBA3Z0IgBxRQRAQYDkwQAgACAEcjYCACABDAELIAEoAggLIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDAcLIAAgATYCACAAIAAoAgQgA2o2AgQgAUEPakF4cUEIayICIAVBA3I2AgQgBEEPakF4cUEIayIDIAIgBWoiAGshBSADQZTkwQAoAgBGDQMgA0GQ5MEAKAIARg0EIAMoAgQiAUEDcUEBRgRAIAMgAUF4cSIBENgBIAEgBWohBSABIANqIgMoAgQhAQsgAyABQX5xNgIEIAAgBUEBcjYCBCAAIAVqIAU2AgAgBUGAAk8EQCAAIAUQ6gEMBgsgBUF4cUH44cEAaiEBAn9BgOTBACgCACIEQQEgBUEDdnQiA3FFBEBBgOTBACADIARyNgIAIAEMAQsgASgCCAshBCABIAA2AgggBCAANgIMIAAgATYCDCAAIAQ2AggMBQtBjOTBACAAIAVrIgE2AgBBlOTBAEGU5MEAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAwwIC0GQ5MEAKAIAIQACQCABIAVrIgJBD00EQEGQ5MEAQQA2AgBBiOTBAEEANgIAIAAgAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBC0GI5MEAIAI2AgBBkOTBACAAIAVqIgQ2AgAgBCACQQFyNgIEIAAgAWogAjYCACAAIAVBA3I2AgQLIABBCGohAwwHCyAAIAMgB2o2AgRBlOTBAEGU5MEAKAIAIgBBD2pBeHEiAUEIayICNgIAQYzkwQBBjOTBACgCACADaiIEIAAgAWtqQQhqIgE2AgAgAiABQQFyNgIEIAAgBGpBKDYCBEGg5MEAQYCAgAE2AgAMAwtBlOTBACAANgIAQYzkwQBBjOTBACgCACAFaiIBNgIAIAAgAUEBcjYCBAwBC0GQ5MEAIAA2AgBBiOTBAEGI5MEAKAIAIAVqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAAsgAkEIaiEDDAMLQQAhA0GM5MEAKAIAIgAgBU0NAkGM5MEAIAAgBWsiATYCAEGU5MEAQZTkwQAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIaiEDDAILIAAgBzYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABKAIUIgJFDQAgACACNgIUIAIgADYCGAsCQCADQRBPBEAgASAFQQNyNgIEIAEgBWoiACADQQFyNgIEIAAgA2ogAzYCACADQYACTwRAIAAgAxDqAQwCCyADQXhxQfjhwQBqIQICf0GA5MEAKAIAIgRBASADQQN2dCIDcUUEQEGA5MEAIAMgBHI2AgAgAgwBCyACKAIICyEEIAIgADYCCCAEIAA2AgwgACACNgIMIAAgBDYCCAwBCyABIAMgBWoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsgAUEIaiEDCyAIQRBqJAAgAwuIGgIMfxJ+IwBBsAJrIgUkACAFQYgCaiIJQezEwABBARB2AkACQAJAAkACQAJAAkACQAJAIAUoAogCRQRAIAVByAFqIAVBqAJqKQMANwMAIAVBwAFqIAVBoAJqIgYpAwA3AwAgBUG4AWogBUGYAmoiBykDADcDACAFIAUpA5ACNwOwASAGIAVBsAFqIgYgBCAEIAYQ0AFB/wFxQQFGGyIEQRhqKQMANwMAIAcgBEEQaikDADcDACAFQZACaiAEQQhqKQMANwMAIAUgBCkDADcDiAIgBSkDiAIhEgJ+IAlBqMPAAEEgEK4DBEAgBSkDoAJCf4UiEUIAIAUpA5ACIhZ9IhhQQgAgEn0iEkIAUiIHQX9zcSIGIAUpA5gCQn+FIh0gBq18IhUgHVRxIgStfCARIAQbIREgFkJ/hSAYIAcbIRQgFSAdIAYbDAELIAUpA6ACIREgBSkDkAIhFCAFKQOYAgshEyAFIBE3A8gBIAUgEzcDwAEgBSAUNwO4ASAFIBI3A7ABIAVB2AFqIgggBUGwAWoQtAEgBSgC2AFFBEAgBUEoaiAFQYACaikDADcDACAFQSBqIAVB+AFqIgkpAwA3AwAgBUEYaiAFQfABaiIGKQMANwMAIAVBEGogBUHoAWoiBykDADcDACAFIAUpA+ABNwMIIAggARCPASAFKALYAQ0CIAVB2ABqIgRBEjoAACAFKQP4ASEfIAUpA/ABISAgBSkD4AEhHSAFKQPoASEWIAVBQGsgAUHIAWopAwAiGDcDACAFQcgAaiABQdABaikDACIVNwMAIAVB0ABqIAFB2AFqKQMAIhE3AwAgBSABKQPAASISNwM4IAkgBCkDADcDACAGIBE3AwAgByAVNwMAIAVB4AFqIBg3AwAgBSASNwPYASAFQYgCaiAFQQhqIAgQxAEgFiAFKQOQAnwiFyAWVCEEIAUpA5gCIB0gHSAFKQOIAnwiFVgEfiAErQUgF0IBfCIXUK0gBK18CyETIAUpA6ACIREgIHwiEiAgVCEEIBNQBH4gBK0FIBIgEiATfCISVq0gBK18CyETIBEgH3wiESAfVCEEAkAgE1AEQCAERQ0BDAwLIAQNCyARIBEgE3wiEVYNCwsgBUESOgDQASAFIBE3A8gBIAUgEjcDwAEgBSAXNwO4ASAFIBU3A7ABIAVB2AFqIghB1M3AAEEEELABIAUoAtgBDQMgBUGoAmoiByAFQYACaiIEKQMANwMAIAVBoAJqIgogBUH4AWoiCykDADcDACAFQZgCaiIMIAVB8AFqIg0pAwA3AwAgBUGQAmoiDiAFQegBaiIJKQMANwMAIAUgBSkD4AE3A4gCIAggBUGwAWoiECAFQThqIAVBiAJqIg8QeyAFIAUoAPkBNgIwIAUgBUH8AWooAAA2ADMgBSkD2AEhIiAFKQPgASEfIAUpA+gBISAgBSkD8AEhHSAFLQD4ASEGIAhB2MfAAEEEELABIAUoAtgBDQQgByAEKQMANwMAIAogCykDADcDACAMIA0pAwA3AwAgDiAJKQMANwMAIAUgBSkD4AE3A4gCIAVB4ABqIA8gAhDEASAKIAFBuARqKQMANwMAIAwgAUGwBGopAwA3AwAgDiABQagEaikDADcDACAFQZABaiIHIAFB6ANqKQMANwMAIAVBmAFqIgQgAUHwA2opAwA3AwAgBUGgAWoiAiABQfgDaikDADcDACAFQRI6AKgCIAUgASkDoAQ3A4gCIAUgASkD4AM3A4gBIAVBqAFqIgFBEjoAACALIAEpAwA3AwAgDSACKQMANwMAIAkgBCkDADcDACAFQeABaiAHKQMANwMAIAUgBSkDiAE3A9gBIBAgDyAIEMcBIAhB2MfAAEEEELABIAUoAtgBDQUgBSkD8AEhHiAFKQPoASEWIAMpAxAhESADKQMIIRICfiAFKQPgASIYIAMpAwAiFVoEQCASIBZWrSEUIBYgEn0MAQsgEiAWVq0gEiAWUa18IRQgFiASQn+FfAshGSAFKQP4ASEaIAMpAxghFiAeIBF9IRICQCAUUARAIBEgHlatIRMMAQsgEiAUVK0gESAeVq18IRMgEiAUfSESCyAaIBZ9IRECQCATUARAIBYgGlgNAQwLCyARIBNUIBYgGlZyDQogESATfSERCyAFQRI6APgBIAUgETcD8AEgBSASNwPoASAFIBk3A+ABIAUgGCAVfTcD2AEgBUGIAmogBUGwAWogBUHYAWoQxwEgBSkDaCISIAUpA5ACfCIUIBJUIQEgBSkDmAIgBSkDcCEWIAUpA2AiEiAFKQOIAnwiHiASWgR+IAGtBSAUQgF8IhRQrSABrXwLIRcgBSkDoAIhESAFKQN4IRggFnwiEiAWVCEBIBdQBH4gAa0FIBIgEiAXfCISVq0gAa18CyEXIBEgGHwiESAYVCEBAkAgF1AEQCABRQ0BDAwLIAENCyARIBEgF3wiEVYNCwsgBUHYAWpB2MfAAEEEELABIAUoAtgBDQYgBSkD8AEhGCAFKQPoASEVAn4gBSkD4AEiFiAeWARAIBQgFX0hFyAUIBVUrQwBCyAUIBVCf4V8IRcgFCAVVK0gFCAVUa18CyEbIAUpA/gBIRUgEiAYfSEUAkAgG1AEQCASIBhUrSETDAELIBQgG1StIBIgGFStfCETIBQgG30hFAsgESAVfSESAkAgE1AEQCARIBVaDQEMCwsgESAVVCASIBNUcg0KIBIgE30hEgsgBUHYAWoiAUHYx8AAQQQQsAEgBSgC2AENByAFQagCaiAFQYACaikDADcDACAFQaACaiAFQfgBaikDADcDACAFQZgCaiAFQfABaikDADcDACAFQZACaiAFQegBaikDADcDACAFIAUpA+ABNwOIAiAFQbABaiAFQYgCaiADEMQBIAFB2MfAAEEEELABIAUoAtgBRQRAIAUpA/ABIRMgBSkD6AEhGSAFKQPAASEcIAUpA7gBIRECfiAFKQOwASIYIAUpA+ABIhVaBEAgESAZVK0hGyARIBl9DAELIBEgGVStIBEgGVGtfCEbIBEgGUJ/hXwLIRogBSkD+AEhISAFKQPIASEZIBwgE30hEQJAIBtQBEAgEyAcVq0hHAwBCyARIBtUrSATIBxWrXwhHCARIBt9IRELIBkgIX0hEwJAIBxQBEAgGSAhWg0BDAwLIBkgIVQgEyAcVHINCyATIBx9IRMLIAVBEjoA+AEgBSATNwPwASAFIBE3A+gBIAUgGjcD4AEgBSAYIBV9NwPYASAFQYgCaiAFQYgBaiAFQdgBahDHASAFKQOYAiEaIAUpA5ACIRECfiAeIBZ9IhggBSkDiAIiFVoEQCARIBdWrSETIBcgEX0MAQsgESAXVq0gESAXUa18IRMgFyARQn+FfAshGSAFKQOgAiEWIBQgGn0hEQJAIBNQBEAgFCAaVK0hFwwBCyARIBNUrSAUIBpUrXwhFyARIBN9IRELIBIgFn0hFAJAIBdQBEAgEiAWWg0BDAwLIBIgFlQgFCAXVHINCyAUIBd9IRQLIAVBEjoA0AEgBSAUNwPIASAFIBE3A8ABIAUgGTcDuAEgBSAYIBV9NwOwASAFQfwBaiAFKAAzNgAAIAUgBjoA+AEgBSAdNwPwASAFICA3A+gBIAUgHzcD4AEgBSAiNwPYASAFIAUoAjA2APkBIAVBiAJqIAVB2AFqIAVBsAFqEMQBIAUgBUGsAmooAAA2ADMgBSAFKACpAjYCMCAFLQCoAiEBIAUpA4gCIRUgBSkDkAIhESAFKQOYAiESIAAgBSkDoAI3AyAgACASNwMYIAAgETcDECAAIBU3AwggACAFKAIwNgApIABBLGogBSgAMzYAACAAIAE6ACggAEEANgIADAkLIAUgBSgC3AE2AogCQe3EwABBKyAFQYgCakGYxcAAQdjNwAAQlwIACyAFKALcASEBIABBATYCACAAIAE2AgQMBwsgBSAFKAKMAjYCsAFB7cTAAEErIAVBsAFqQZjFwABBuM7AABCXAgALIAUoAtwBIQEgAEEBNgIAIAAgATYCBAwFCyAFIAUoAtwBNgKIAkHtxMAAQSsgBUGIAmpBmMXAAEGozsAAEJcCAAsgBSAFKALcATYCiAJB7cTAAEErIAVBiAJqQZjFwABBmM7AABCXAgALIAUgBSgC3AE2AogCQe3EwABBKyAFQYgCakGYxcAAQYjOwAAQlwIACyAFIAUoAtwBNgKIAkHtxMAAQSsgBUGIAmpBmMXAAEH4zcAAEJcCAAsgBSAFKALcATYCiAJB7cTAAEErIAVBiAJqQZjFwABB6M3AABCXAgALIAVBsAJqJAAPCyAFQQA2AugBIAVBATYC3AEgBUHkxMAANgLYASAFQgQ3AuABIAVB2AFqQbTEwAAQxQIACyAFQQA2AugBIAVBATYC3AEgBUHgh8EANgLYASAFQgQ3AuABIAVB2AFqQfSFwQAQxQIAC9MaAgl/DX4jAEHQA2siAyQAQgEhDAJAAkACQCABLQAgIgQOAgIBAAtCCiEMQgEhDgNAIANB8ABqIAxCASAEQQFxIgUbIA1CACAFGyAOIA8QlgIgA0GAAWogDCANIAwgDRCWAiAEQQNLIANBiAFqKQMAIQ0gA0H4AGopAwAhDyADKQOAASEMIAMpA3AhDiAEQQF2IQQNAAsgA0HgAGogDiAPIAwgDRCWAiADQegAaikDACENIAMpA2AhDAwBC0IKIQwLIANBkAJqIgQgDTcDACADIAw3A4gCIANBATYClAMgA0HIlMAANgKQAyADQgE3ApwDIAMgA0GIAmqtQoCAgIDwAIQ3A/ACIAMgA0HwAmo2ApgDIANB4AFqIANBkANqENMBIANBqAFqQgA3AwAgA0IANwOgASAEKQMAIQwgAykDiAIhDSADKALgASIFBEAgAygC5AEgBRCLAwsgA0ESOgCwASADIAw3A5gBIAMgDTcDkAEgA0GgAmoiCiACQRhqKQMANwMAIANBmAJqIgcgAkEQaiIIKQMANwMAIAQgAkEIaikDADcDACADIAIpAwA3A4gCIANBqANqIgRCADcDACADQaADaiIJQgA3AwAgA0GYA2oiBUIANwMAIANCADcDkAMCQAJAAkACQAJAAkACQAJAAkACQCADQYgCaiILIANBkANqIgYQnAJB/wFxQf8BRwRAIAogAkEYaikDADcDACAHIAgpAwA3AwAgA0GQAmogAkEIaikDADcDACADIAIpAwA3A4gCIARCADcDACAJQgA3AwAgBUIANwMAIANCADcDkAMgCyAGQSAQrgNFDQEgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOQAyABIAZBIBCuA0UNAiAGIAIQqAEgAygCkAMNAyADKQOwAyEOIAMpA6gDIQ8gAykDoAMhDSADKQOYAyEMIANBsANqIAFBIGopAwA3AwAgBCABQRhqKQMANwMAIAkgAUEQaikDADcDACAFIAFBCGopAwA3AwAgAyABKQMANwOQAyALIAYQqAEgAygCiAINBCADQcgCaiADQagCaikDADcDACADQcACaiAKKQMANwMAIANBuAJqIAcpAwA3AwAgAyADKQOQAjcDsAIgA0HgAWogA0GwAmoQYiADKALgAQ0FIAMpA4ACIRBCfyAMIA2EIA+EIA6EQgBSrSAOQgBTIgEbIAMpA/gBIRMgAykD8AEhESADKQPoASESIAEEQCANQn+FQgAgDX0iF0IAIAx9IgxCAFIiARshDSAPQn+FIhQgF1AgAUF/c3EiAa18IhcgFCABGyEPIAEgFCAXVnGtIA5Cf4V8IQ4LQn8gESAShCAThCAQhEIAUq0gEEIAUyIBGyABBEAgEUJ/hUIAIBF9IhVCACASfSISQgBSIgEbIREgE0J/hSIUIBVQIAFBf3NxIgGtfCIVIBQgARshEyABIBQgFVZxrSAQQn+FfCEQCyADQdAAaiASQgAgDEIAEJYCIANBQGsgEkIAIA1CABCWAiADQTBqIBJCACAPQgAQlgIgA0EgaiARQgAgDEIAEJYCIANBEGogEUIAIA1CABCWAiADIBNCACAMQgAQlgIgAykDMCIUIANByABqKQMAIAMpA0AiFSADQdgAaikDAHwiGCAVVK18fCIVIBRUrSADQQhqKQMAIANBGGopAwAgA0E4aikDACAPIBF+IA4gEn58IA0gE358fCAMIBB+fHx8fCADQShqKQMAIAMpAyAiDCAYfCINIAxUrXwiDCAVfCIOIAxUrXwgAykDECIMIA58Ig4gDFStfCADKQMAIgwgDnwiDiAMVK18IQwgAykDUCEPfkICWgRAIAxCf4UiDEIAIA19IhFQQgAgD30iD0IAUiICQX9zcSIBIA5Cf4UiDiABrXwiECAOVHEiBK18IAwgBBshDCAQIA4gARshDiANQn+FIBEgAhshDQsgA0GQA2ogA0GQAWoQqAEgAygCkAMNCUH/ASEEQf8BIA0gD4QgDoQgDIRCAFIgDEIAUxshASADKQOoAyETIAMpA6ADIREgAykDmAMhECADKQOwAyISQgBTDQZBASEEIBAgEYQgEiAThIRCAFINBkGwmsAAEMsCAAsgA0GIA2ogAkEYaiIEKQMANwMAIANBgANqIAgpAwA3AwAgA0H4AmogAkEIaiIFKQMANwMAIAMgAikDADcD8AIgA0H4AWogBCkDADcDACADQfABaiAIKQMANwMAIANB6AFqIAUpAwA3AwAgAyACKQMANwPgASADQaACaiIGQgA3AwAgB0IANwMAIANBkAJqIgdCADcDACADQgA3A4gCAkAgA0HwAmogA0GIAmoQnAJB/wFxQf8BRwRAIAYgBCkDADcDACADQZgCaiACQRBqKQMANwMAIAcgBSkDADcDACADIAIpAwA3A4gCDAELIANBiAJqIANB4AFqEMsBCyADQRI6AKgCIANBkANqIgIgASADQYgCaiIBEG0gAygCkAMNBiADQdgBaiADQbgDaikDADcDACADQdABaiADQbADaikDACIMNwMAIANByAFqIANBqANqIgQpAwAiDTcDACADQcABaiADQaADaiIFKQMAIg43AwAgAyADKQOYAyIPNwO4ASADQaACaiAMNwMAIANBmAJqIA03AwAgA0GQAmogDjcDACADIA83A4gCIARCADcDACAFQgA3AwAgA0GYA2pCADcDACADQgA3A5ADIAEgAkEgEK4DRQ0HIABBCGogA0GQAWogA0G4AWoQwAEgAEEANgIADAkLIAAgAykDkAE3AwggAEEANgIAIABBKGogA0GwAWopAwA3AwAgAEEgaiADQagBaikDADcDACAAQRhqIANBoAFqKQMANwMAIABBEGogA0GYAWopAwA3AwAMCAsgAEIANwMIIABBEjoAKCAAQQA2AgAgAEEgakIANwMAIABBGGpCADcDACAAQRBqQgA3AwAMBwsgAygClAMhASAAQQE2AgAgACABNgIEDAYLIAMoAowCIQEgAEEBNgIAIAAgATYCBAwFCyADKALkASEBIABBATYCACAAIAE2AgQMBAsgAcAgBMBtIQIgAyAMQgBTBH4gDUJ/hUIAIA19IhZCACAPfSIPQgBSIgEbIQ0gDkJ/hSIUIBZQIAFBf3NxIgGtfCIWIBQgARshDiABIBQgFlZxrSAMQn+FfAUgDAs3A/gBIAMgDjcD8AEgAyANNwPoASADIA83A+ABIAMgEkIAUwR+IBFCf4VCACARfSINQgAgEH0iEEIAUiIBGyERIBNCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRMgASAMIA1Wca0gEkJ/hXwFIBILNwOgAiADIBM3A5gCIAMgETcDkAIgAyAQNwOIAiADQZADaiADQeABaiADQYgCahBxIAMpA6gDIQ0gAykDoAMhDiADKQOYAyEMIAMpA5ADIQ8gAyACQf8BcUECTwR+IAxCf4VCACAMfSIQQgAgD30iD0IAUiIBGyEMIA5Cf4UiESAQUCABQX9zcSIBrXwiECARIAEbIQ4gASAQIBFUca0gDUJ/hXwFIA0LNwOgAiADIA43A5gCIAMgDDcDkAIgAyAPNwOIAiADQZADaiADQYgCahBjIAMoApADRQRAIAMpA6gDIQ0gAykDoAMhDCADKQOYAyEOIAMgAykDsAMiD0IAWSIEBH4gDwUgDEJ/hUIAIAx9IhBCACAOfSIOQgBSIgEbIQwgDUJ/hSIRIBBQIAFBf3NxIgGtfCIQIBEgARshDSABIBAgEVRxrSAPQn+FfAs3A+gCIAMgDTcD4AIgAyAMNwPYAiADIA43A9ACIANB0AJqIQIjAEHgAGsiASQAAkAgBEUEQCABQdgAaiIEQgA3AwAgAUHQAGoiBUIANwMAIAFByABqIgZCADcDACABQgA3A0AgASABQUBrEJ4BIAIgAUEgEK4DRQRAIARB4JbAACkDADcDACAFQdiWwAApAwA3AwAgBkHQlsAAKQMANwMAIAFByJbAACkDADcDQAwCCyABQThqIAJBGGopAwA3AwAgAUEwaiACQRBqKQMANwMAIAFBKGogAkEIaikDADcDACABIAIpAwA3AyAgAUFAayABQSBqEMsBDAELIAFB2ABqIAJBGGopAwA3AwAgAUHQAGogAkEQaikDADcDACABQcgAaiACQQhqKQMANwMAIAEgAikDADcDQAsgACABKQNANwMIIABBADYAKSAAQRI6ACggAEEANgIAIABBLGpBADYAACAAQSBqIAFB2ABqKQMANwMAIABBGGogAUHQAGopAwA3AwAgAEEQaiABQcgAaikDADcDACABQeAAaiQADAQLIAMoApQDIQEgAEEBNgIAIAAgATYCBAwDCyADKAKUAyEBIABBATYCACAAIAE2AgQMAgsgA0EANgKgAyADQQE2ApQDIANBmJnAADYCkAMgA0IENwKYAyADQZADakHAmsAAENIBIQEgAEEBNgIAIAAgATYCBAwBCyADKAKUAyEBIABBATYCACAAIAE2AgQLIANB0ANqJAAL0xoCCX8NfiMAQdADayIDJABCASEMAkACQAJAIAEtACAiBA4CAgEAC0IKIQxCASEOA0AgA0HwAGogDEIBIARBAXEiBRsgDUIAIAUbIA4gDxCWAiADQYABaiAMIA0gDCANEJYCIARBA0sgA0GIAWopAwAhDSADQfgAaikDACEPIAMpA4ABIQwgAykDcCEOIARBAXYhBA0ACyADQeAAaiAOIA8gDCANEJYCIANB6ABqKQMAIQ0gAykDYCEMDAELQgohDAsgA0GQAmoiBCANNwMAIAMgDDcDiAIgA0EBNgKUAyADQYz+wAA2ApADIANCATcCnAMgAyADQYgCaq1CgICAgOAIhDcD8AIgAyADQfACajYCmAMgA0HgAWogA0GQA2oQ0wEgA0GoAWpCADcDACADQgA3A6ABIAQpAwAhDCADKQOIAiENIAMoAuABIgUEQCADKALkASAFEIsDCyADQRI6ALABIAMgDDcDmAEgAyANNwOQASADQaACaiIKIAJBGGopAwA3AwAgA0GYAmoiByACQRBqIggpAwA3AwAgBCACQQhqKQMANwMAIAMgAikDADcDiAIgA0GoA2oiBEIANwMAIANBoANqIglCADcDACADQZgDaiIFQgA3AwAgA0IANwOQAwJAAkACQAJAAkACQAJAAkACQAJAIANBiAJqIgsgA0GQA2oiBhCcAkH/AXFB/wFHBEAgCiACQRhqKQMANwMAIAcgCCkDADcDACADQZACaiACQQhqKQMANwMAIAMgAikDADcDiAIgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOQAyALIAZBIBCuA0UNASAEQgA3AwAgCUIANwMAIAVCADcDACADQgA3A5ADIAEgBkEgEK4DRQ0CIAYgAhCpASADKAKQAw0DIAMpA7ADIQ4gAykDqAMhDyADKQOgAyENIAMpA5gDIQwgA0GwA2ogAUEgaikDADcDACAEIAFBGGopAwA3AwAgCSABQRBqKQMANwMAIAUgAUEIaikDADcDACADIAEpAwA3A5ADIAsgBhCpASADKAKIAg0EIANByAJqIANBqAJqKQMANwMAIANBwAJqIAopAwA3AwAgA0G4AmogBykDADcDACADIAMpA5ACNwOwAiADQeABaiADQbACahBiIAMoAuABDQUgAykDgAIhEEJ/IAwgDYQgD4QgDoRCAFKtIA5CAFMiARsgAykD+AEhEyADKQPwASERIAMpA+gBIRIgAQRAIA1Cf4VCACANfSIXQgAgDH0iDEIAUiIBGyENIA9Cf4UiFCAXUCABQX9zcSIBrXwiFyAUIAEbIQ8gASAUIBdWca0gDkJ/hXwhDgtCfyARIBKEIBOEIBCEQgBSrSAQQgBTIgEbIAEEQCARQn+FQgAgEX0iFUIAIBJ9IhJCAFIiARshESATQn+FIhQgFVAgAUF/c3EiAa18IhUgFCABGyETIAEgFCAVVnGtIBBCf4V8IRALIANB0ABqIBJCACAMQgAQlgIgA0FAayASQgAgDUIAEJYCIANBMGogEkIAIA9CABCWAiADQSBqIBFCACAMQgAQlgIgA0EQaiARQgAgDUIAEJYCIAMgE0IAIAxCABCWAiADKQMwIhQgA0HIAGopAwAgAykDQCIVIANB2ABqKQMAfCIYIBVUrXx8IhUgFFStIANBCGopAwAgA0EYaikDACADQThqKQMAIA8gEX4gDiASfnwgDSATfnx8IAwgEH58fHx8IANBKGopAwAgAykDICIMIBh8Ig0gDFStfCIMIBV8Ig4gDFStfCADKQMQIgwgDnwiDiAMVK18IAMpAwAiDCAOfCIOIAxUrXwhDCADKQNQIQ9+QgJaBEAgDEJ/hSIMQgAgDX0iEVBCACAPfSIPQgBSIgJBf3NxIgEgDkJ/hSIOIAGtfCIQIA5UcSIErXwgDCAEGyEMIBAgDiABGyEOIA1Cf4UgESACGyENCyADQZADaiADQZABahCpASADKAKQAw0JQf8BIQRB/wEgDSAPhCAOhCAMhEIAUiAMQgBTGyEBIAMpA6gDIRMgAykDoAMhESADKQOYAyEQIAMpA7ADIhJCAFMNBkEBIQQgECARhCASIBOEhEIAUg0GQfyBwQAQywIACyADQYgDaiACQRhqIgQpAwA3AwAgA0GAA2ogCCkDADcDACADQfgCaiACQQhqIgUpAwA3AwAgAyACKQMANwPwAiADQfgBaiAEKQMANwMAIANB8AFqIAgpAwA3AwAgA0HoAWogBSkDADcDACADIAIpAwA3A+ABIANBoAJqIgZCADcDACAHQgA3AwAgA0GQAmoiB0IANwMAIANCADcDiAICQCADQfACaiADQYgCahCcAkH/AXFB/wFHBEAgBiAEKQMANwMAIANBmAJqIAJBEGopAwA3AwAgByAFKQMANwMAIAMgAikDADcDiAIMAQsgA0GIAmogA0HgAWoQzAELIANBEjoAqAIgA0GQA2oiAiABIANBiAJqIgEQbiADKAKQAw0GIANB2AFqIANBuANqKQMANwMAIANB0AFqIANBsANqKQMAIgw3AwAgA0HIAWogA0GoA2oiBCkDACINNwMAIANBwAFqIANBoANqIgUpAwAiDjcDACADIAMpA5gDIg83A7gBIANBoAJqIAw3AwAgA0GYAmogDTcDACADQZACaiAONwMAIAMgDzcDiAIgBEIANwMAIAVCADcDACADQZgDakIANwMAIANCADcDkAMgASACQSAQrgNFDQcgAEEIaiADQZABaiADQbgBahDEASAAQQA2AgAMCQsgACADKQOQATcDCCAAQQA2AgAgAEEoaiADQbABaikDADcDACAAQSBqIANBqAFqKQMANwMAIABBGGogA0GgAWopAwA3AwAgAEEQaiADQZgBaikDADcDAAwICyAAQgA3AwggAEESOgAoIABBADYCACAAQSBqQgA3AwAgAEEYakIANwMAIABBEGpCADcDAAwHCyADKAKUAyEBIABBATYCACAAIAE2AgQMBgsgAygCjAIhASAAQQE2AgAgACABNgIEDAULIAMoAuQBIQEgAEEBNgIAIAAgATYCBAwECyABwCAEwG0hAiADIAxCAFMEfiANQn+FQgAgDX0iFkIAIA99Ig9CAFIiARshDSAOQn+FIhQgFlAgAUF/c3EiAa18IhYgFCABGyEOIAEgFCAWVnGtIAxCf4V8BSAMCzcD+AEgAyAONwPwASADIA03A+gBIAMgDzcD4AEgAyASQgBTBH4gEUJ/hUIAIBF9Ig1CACAQfSIQQgBSIgEbIREgE0J/hSIMIA1QIAFBf3NxIgGtfCINIAwgARshEyABIAwgDVZxrSASQn+FfAUgEgs3A6ACIAMgEzcDmAIgAyARNwOQAiADIBA3A4gCIANBkANqIANB4AFqIANBiAJqEHEgAykDqAMhDSADKQOgAyEOIAMpA5gDIQwgAykDkAMhDyADIAJB/wFxQQJPBH4gDEJ/hUIAIAx9IhBCACAPfSIPQgBSIgEbIQwgDkJ/hSIRIBBQIAFBf3NxIgGtfCIQIBEgARshDiABIBAgEVRxrSANQn+FfAUgDQs3A6ACIAMgDjcDmAIgAyAMNwOQAiADIA83A4gCIANBkANqIANBiAJqEGMgAygCkANFBEAgAykDqAMhDSADKQOgAyEMIAMpA5gDIQ4gAyADKQOwAyIPQgBZIgQEfiAPBSAMQn+FQgAgDH0iEEIAIA59Ig5CAFIiARshDCANQn+FIhEgEFAgAUF/c3EiAa18IhAgESABGyENIAEgECARVHGtIA9Cf4V8CzcD6AIgAyANNwPgAiADIAw3A9gCIAMgDjcD0AIgA0HQAmohAiMAQeAAayIBJAACQCAERQRAIAFB2ABqIgRCADcDACABQdAAaiIFQgA3AwAgAUHIAGoiBkIANwMAIAFCADcDQCABIAFBQGsQnwEgAiABQSAQrgNFBEAgBEHo/MAAKQMANwMAIAVB4PzAACkDADcDACAGQdj8wAApAwA3AwAgAUHQ/MAAKQMANwNADAILIAFBOGogAkEYaikDADcDACABQTBqIAJBEGopAwA3AwAgAUEoaiACQQhqKQMANwMAIAEgAikDADcDICABQUBrIAFBIGoQzAEMAQsgAUHYAGogAkEYaikDADcDACABQdAAaiACQRBqKQMANwMAIAFByABqIAJBCGopAwA3AwAgASACKQMANwNACyAAIAEpA0A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogAUHYAGopAwA3AwAgAEEYaiABQdAAaikDADcDACAAQRBqIAFByABqKQMANwMAIAFB4ABqJAAMBAsgAygClAMhASAAQQE2AgAgACABNgIEDAMLIAMoApQDIQEgAEEBNgIAIAAgATYCBAwCCyADQQA2AqADIANBATYClAMgA0HkgMEANgKQAyADQgQ3ApgDIANBkANqQYyCwQAQ0gEhASAAQQE2AgAgACABNgIEDAELIAMoApQDIQEgAEEBNgIAIAAgATYCBAsgA0HQA2okAAvlGAINfwl+IwBB8ANrIgQkACAEQThqIAFB2AVqKQMANwMAIARBMGogAUHQBWopAwA3AwAgBEEoaiIHIAFByAVqKQMANwMAIARBEjoAQCAEIAEpA8AFNwMgAkACQAJAAkACQAJAAkACQAJAIAIgBEEgahCcAkH/AXEiBUH/AUYNACAFRQRAIAItACAgBC0AQEkNAQsgBEEgakHsxMAAQQEQsAEgBCgCIA0BIARB6ANqIgUgBEHIAGopAwA3AwAgBEHgA2ogBEFAaykDADcDACAEQdgDaiAEQThqKQMANwMAIARB0ANqIARBMGopAwA3AwAgBCAEKQMoNwPIAyADLQAgIQYgAyAEQcgDakEgEK4DRQRAIAYgBS0AAEYNAwsgBEGAAWogA0EYaikDADcDACAEQfgAaiADQRBqKQMANwMAIARB8ABqIANBCGopAwA3AwAgBCADKQMANwNoIAQgAygAITYCYCAEIANBJGooAAA2AGMMAwsgBEHgA2ogAUHABWoiAUEYaikDADcDACAEQdgDaiABQRBqKQMANwMAIARB0ANqIAFBCGopAwA3AwAgBEESOgDoAyAEQoCAgICQCCITIARByANqrYQ3A4ADIAQgEyACrYQ3A/gCIAQgASkDADcDyAMgBEHcAGpBAzoAACAEQdgAakEENgIAIARB0ABqQqCAgIAQNwIAIARByABqQQI2AgAgBEECNgJAIARBAzoAPCAEQQQ2AjggBEIgNwIwIARBAjYCKCAEQQI2AiAgBEECNgK0AyAEQQI2AqQDIARBmOjAADYCoAMgBCAEQSBqNgKwAyAEQQI2AqwDIAQgBEH4Amo2AqgDIARB0AJqIgEgBEGgA2oQ0wEgBEEYaiABQbyGwQBBmOnAABCmAiAEKAIcIQIgBCgCGCEBIAcgBEHYAmooAgA2AgBBmeDBAC0AABogBCAEKQLQAjcDIEEYQQQQ9wIiA0UNByADIAE2AgQgA0Gkh8EANgIAIAMgBCkDIDcCDCADIAI2AgggA0EUaiAEQShqKAIANgIAIABBATYCACAAIAM2AgQMBgsgBCAEKAIkNgLIA0HtxMAAQSsgBEHIA2pBmMXAAEHs68AAEJcCAAsgBEGAAWogAUHYAWopAwA3AwAgBEH4AGogAUHQAWopAwA3AwAgBEHwAGogAUHIAWopAwA3AwAgBCABKQPAATcDaEESIQYLIARBIGoiCCABIAIQZwJAAkACQAJAAkAgBCgCIEUEQCAEQagBaiAEQcgAaikDACIRNwMAIARBoAFqIARBQGsiCSkDACISNwMAIARBmAFqIARBOGoiCikDACIYNwMAIARBkAFqIARBMGoiCykDACIZNwMAIAQgBCkDKCITNwOIASAEQegDaiIMIBE3AwAgBEHgA2oiDSASNwMAIARB2ANqIg4gGDcDACAEQdADaiIPIBk3AwAgBCATNwPIAyAEQcgBaiIQIAFB2AFqKQMANwMAIARBwAFqIgcgAUHQAWopAwA3AwAgBEG4AWoiBSABQcgBaikDADcDACAEIAEpA8ABNwOwASAEQdABaiIDQRI6AAAgCSADKQMANwMAIAogECkDADcDACALIAcpAwA3AwAgBEEoaiAFKQMANwMAIAQgBCkDsAE3AyAgBEGgA2oiAyAEQcgDaiAIEMYBIAMgAhCcAiIDQf8BcQ4DAQIDAgsgBCgCJCEBIABBATYCACAAIAE2AgQMCAsgBC0AwAMiBSACLQAgIgNJDQEgAyAFRyEDCyADQf8BcUEBRg0BCyAMIAJBIGopAwA3AwAgDSACQRhqKQMANwMAIA4gAkEQaikDADcDACAPIAJBCGopAwA3AwAgBCACKQMANwPIAyAEQSBqIAEgBEHIA2oQvgEgBCgCIEUNASAEKAIkIQEMBAsgBEECNgIkIARBnOrAADYCICAEQgI3AiwgBEKAgICAgAgiEyAEQYgBaq2ENwPQAyAEIBMgAq2ENwPIAyAEIARByANqNgIoIARBoANqIgEgBEEgahDTASAEQQhqIAFBvIbBAEGs6sAAEKYCIAQoAgwhAyAEKAIIIQIgBEEoaiIBIARBqANqKAIANgIAQZngwQAtAAAaIAQgBCkCoAM3AyBBGEEEEPcCIgVFDQUgBSACNgIEIAVBpIfBADYCACAFIAQpAyA3AgwgBSADNgIIIAVBFGogASgCADYCACAAQQE2AgAgACAFNgIEDAQLIARBoAJqIARByABqKQMANwMAIARBmAJqIARBQGsiBykDADcDACAEQZACaiAEQThqIgUpAwA3AwAgBEGIAmogBEEwaiIDKQMANwMAIAQgBCkDKDcDgAIgByAEQdABaikDADcDACAFIARByAFqKQMANwMAIAMgBEHAAWopAwA3AwAgBEEoaiAEQbgBaikDADcDACAEIAQpA7ABNwMgIARB2AFqIgMgBEGAAmogBEEgahDFAQJAIARBiAFqIAMQnAJB/wFxIgMEQCADQf8BRw0BDAMLIAQtAKgBIAQtAPgBSQ0CCyAEQewDaiAEKABjNgAAIARB4ANqIARBgAFqKQMANwMAIARB2ANqIARB+ABqKQMANwMAIARB0ANqIARB8ABqKQMANwMAIAQgBCkDaDcDyAMgBCAGOgDoAyAEIAQoAmA2AOkDIARBQGsgBEHQAWopAwA3AwAgBEE4aiAEQcgBaikDADcDACAEQTBqIARBwAFqKQMANwMAIARBKGogBEG4AWopAwA3AwAgBCAEKQOwATcDICAEQcgCagJ/IARByANqIARBIGogBEHIA2ogBEEgaiIFEJwCIgNB/wFxBH8gAwUgBSAELQBAIgUgBksNARogBSAGRwtB/wFxQQFGGwsiA0EgaikDADcDACAEQcACaiADQRhqKQMANwMAIARBuAJqIANBEGopAwA3AwAgBEGwAmogA0EIaikDADcDACAEIAMpAwA3A6gCIARBmANqIAJBIGopAwA3AwAgBEGQA2ogAkEYaikDADcDACAEQYgDaiACQRBqKQMANwMAIARBgANqIAJBCGopAwA3AwAgBCACKQMANwP4AiAEKQPoASEUIAQpA+ABIREgBCkDmAEhFSAEKQOQASESAn4gBCkDiAEiGSAEKQPYASITWgRAIBEgElatIRYgEiARfQwBCyARIBJWrSARIBJRrXwhFiASIBFCf4V8CyEYIAQpA/ABIREgBCkDoAEhEiAVIBR9IRcCQCAWUARAIBQgFVatIRQMAQsgFiAXVq0gFCAVVq18IRQgFyAWfSEXCyASIBF9IRUCQCAUUARAIBEgElgNAQwCCyAUIBVWIBEgElZyDQEgFSAUfSEVCyAEQRI6AMADIAQgFTcDuAMgBCAXNwOwAyAEIBg3A6gDIAQgGSATfTcDoAMgBEHgA2ogBEGAAWopAwA3AwAgBEHYA2ogBEH4AGopAwA3AwAgBEHQA2ogBEHwAGopAwA3AwAgBEHsA2ogBCgAYzYAACAEIAQpA2g3A8gDIAQgBjoA6AMgBCAEKAJgNgDpAyAEQUBrIARByAJqKQMANwMAIARBOGogBEHAAmopAwA3AwAgBEEwaiAEQbgCaikDADcDACAEQShqIARBsAJqKQMANwMAIAQgBCkDqAI3AyAgBEHQAmoiAiABIARB+AJqIARBoANqIARByANqIARBIGoQmAEgAEEIaiACIARBsAFqEMYBIABBADYCAAwDCyAEQQA2AjAgBEEBNgIkIARB5MTAADYCICAEQgQ3AiggBEEgakG0xMAAEMUCAAsgBEE4aiABQeADaiIBQRhqKQMANwMAIARBMGogAUEQaikDADcDACAEQShqIgUgAUEIaikDADcDACAEQQM2AqQDIARBxOvAADYCoAMgBEIDNwKsAyAEQRI6AEAgBCABKQMANwMgIARCgICAgIAIIhMgBEGIAWqthDcD2AMgBCATIARBIGqthDcD0AMgBCATIARB2AFqrYQ3A8gDIAQgBEHIA2o2AqgDIARB+AJqIgEgBEGgA2oQ0wEgBEEQaiABQbyGwQBB3OvAABCmAiAEKAIUIQMgBCgCECECIAUgBEGAA2ooAgA2AgBBmeDBAC0AABogBCAEKQL4AjcDIEEYQQQQ9wIiAQRAIAEgAjYCBCABQaSHwQA2AgAgASAEKQMgNwIMIAEgAzYCCCABQRRqIAUoAgA2AgAMAQsMAgsgAEEBNgIAIAAgATYCBAsgBEHwA2okAA8LQQRBGBCoAwALuRgCD38DfiMAQfAcayICJAAgAkGQEGoiAyABEAIgARADELwBAkACQAJAIAIoApAQRQRAIAJBKGogAkGYCGpBBHIgAkGYEGpB8AcQrANB8AcQrAMaIAIgARANNgKoGyADIAJBqBtqQYiwwAAQrAECQAJAAkACQAJAAkACQCACKAKQEEUEQCACQbQIaiACQbAQaikDACIRNwIAIAJBrAhqIAJBqBBqKQMAIhI3AgAgAkGkCGogAkGgEGopAwAiEzcCACACQZAYaiATNwMAIAJBmBhqIBI3AwAgAkGgGGogETcDACACIAIpA5gQIhE3ApwIIAIgETcDiBggAkESOgCoGCACKAKoGyIDQYQBTwRAIAMQAAsgAiABECg2AqgbIAJBkBBqIAJBqBtqQZiwwAAQrAEgAigCkBANASACQbQIaiACQbAQaikDACIRNwIAIAJBrAhqIAJBqBBqKQMAIhI3AgAgAkGkCGogAkGgEGopAwAiEzcCACACQbgYaiATNwMAIAJBwBhqIBI3AwAgAkHIGGogETcDACACIAIpA5gQIhE3ApwIIAIgETcDsBggAigCqBsiA0GEAU8EQCADEAALIAIgARAnNgKoGyACQZAQaiACQagbakGosMAAEKwBIAIoApAQDQIgAkG0CGogAkGwEGopAwAiETcCACACQawIaiACQagQaikDACISNwIAIAJBpAhqIAJBoBBqKQMAIhM3AgAgAkGAGWogEzcDACACQYgZaiASNwMAIAJBkBlqIBE3AwAgAkHoGGogETcDACACQdgYaiATNwMAIAJB4BhqIBI3AwAgAiACKQOYECIRNwKcCCACIBE3A/gYIAIgETcD0BggAkESOgDwGCACKAKoGyIDQYQBTwRAIAMQAAsgAiABEA4iAzYCqBsgAkGQEGogAkGoG2pBuLDAABCsASACKAKQEA0DIAJBtAhqIAJBsBBqKQMAIhE3AgAgAkGsCGogAkGoEGopAwAiEjcCACACQaQIaiACQaAQaikDACITNwIAIAJBoBlqIBM3AwAgAkGoGWogEjcDACACQbAZaiARNwMAIAIgAikDmBAiETcCnAggAiARNwOYGSACQRI6ALgZIANBhAFPBEAgAxAACyACIAEQDyIDNgKoGyACQZAQaiACQagbakHIsMAAEKwBIAIoApAQDQQgAkG0CGogAkGwEGopAwAiETcCACACQawIaiACQagQaikDACISNwIAIAJBpAhqIAJBoBBqKQMAIhM3AgAgAkHIGWogEzcDACACQdAZaiASNwMAIAJB2BlqIBE3AwAgAiACKQOYECIRNwKcCCACIBE3A8AZIANBhAFPBEAgAxAACyACQZAQaiIDIAJBKGoiBBCcASACQZgIaiADQdiwwAAQkAIgAigCmAgNByACQdgcaiACQagIaikDADcDACACQeAcaiACQbAIaikDADcDACACQegcaiACQbgIaikDADcDACACIAIpA6AINwPQHCACQeAZaiIFIAQgAkHAGWoQ2wEgAkESOgCAGiACQZgZaiAFEJwCQf8BcUEBRg0FIANB6LDAAEEBEK8BIAIoApAQDQkgAkGoGmogAkG4EGopAwA3AwAgAkGgGmogAkGwEGopAwA3AwAgAkGYGmogAkGoEGopAwA3AwAgAkGQGmogAkGgEGopAwA3AwAgAiACKQOYEDcDiBoMBgsgAkGwCGogAkGsEGooAgAiAzYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAM2AgAgAiACKQKUECIRNwOYCCACIBE3AwggAigCqBsiA0GEAUkNCiADEAAMCgsgAkGwCGogAkGsEGooAgAiAzYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAM2AgAgAiACKQKUECIRNwOYCCACIBE3AwggAigCqBsiA0GEAUkNCSADEAAMCQsgAkGwCGogAkGsEGooAgAiAzYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAM2AgAgAiACKQKUECIRNwOYCCACIBE3AwggAigCqBsiA0GEAUkNCCADEAAMCAsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAQ2AgAgAiACKQKUECIRNwOYCCACIBE3AwggA0GEAUkNByADEAAMBwsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAQ2AgAgAiACKQKUECIRNwOYCCACIBE3AwggA0GEAUkNBiADEAAMBgsgAkH4G2ogAkGgGWopAwA3AwAgAkGAHGogAkGoGWopAwA3AwAgAkGIHGogAkGwGWopAwA3AwAgAkGYHGogAkHoGWopAwA3AwAgAkGgHGogAkHwGWopAwA3AwAgAkGoHGogAkH4GWopAwA3AwAgAiACKQOYGTcD8BsgAiACKQPgGTcDkBwgAkGYCGoiAyACQfAbaiACQZAcahDfASACQRI6ALgIIAJBqBBqIAJBwAZqKQMANwMAIAJBoBBqIAJBuAZqKQMANwMAIAJBmBBqIAJBsAZqKQMANwMAIAIgAikDqAY3A5AQIAJBEjoAsBAgAkGIGmogAyACQZAQahDAAQsgAkGQEGoiBSACQbAYaiACQfgYahDfASACQRI6ALAQIAJBmAhqIgYgAkGIGGoiCCAFEMMBIAJBsBpqIgsgBiACQdAYahDAASAFQemwwABBBBCvASACKAKQEA0DIAJByBxqIAJBsBBqIgkpAwA3AwAgAkHAHGogAkGoEGoiAykDADcDACACQbgcaiACQaAQaiIEKQMANwMAIAIgAikDmBA3A7AcIAUgAkGwHGogAkHQHGoQ3wEgAkESOgCwECAGIAggBRDDASAJIAJBqBpqIgwpAwA3AwAgAyACQaAaaiINKQMANwMAIAQgAkGYGmoiDikDADcDACACQZgQaiIHIAJBkBpqIg8pAwA3AwAgAiACKQOIGjcDkBAgAkHYGmoiCiAGIAUQwwEgAyACQaAEaikDADcDACAEIAJBmARqKQMANwMAIAcgAkGQBGopAwA3AwAgAiACKQOIBDcDkBAgAkESOgCwECACQYAbaiIQIAogBRDDASAJIAwpAwA3AwAgAyANKQMANwMAIAQgDikDADcDACAHIA8pAwA3AwAgAiACKQOIGjcDkBAgBiAIIAUQwwEgAyACQcAEaikDADcDACAEIAJBuARqKQMANwMAIAcgAkGwBGopAwA3AwAgAiACKQOoBDcDkBAgAkESOgCwECACQagbaiIDIAYgBRDDASACQdAbaiIEIAsgChDrASAGIAQgEBDfASAFIAYgAxDrASACQRI6ALAQIAJBCGogBUHwsMAAELgBDAQLIAJBwBtqIAJBtAhqKAIAIgM2AgAgAkEQaiACQaQIaikCADcDACACQRhqIAJBrAhqKQIANwMAIAJBIGogAzYCACACIAIpApwINwMIDAMLIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMIDAILIAIgAigClBA2ApgIQYCxwABBKyACQZgIakGsscAAQcyxwAAQlwIACyACIAIoApQQNgKYCEGAscAAQSsgAkGYCGpBrLHAAEG8scAAEJcCAAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEAgAigCDCEDQQAMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQEEEAIQMgAkGQEGoQ5QELIQEgACAEQQJHNgIIIAAgATYCBCAAIAM2AgAgAkHwHGokAAuuFwIUfw9+IwBBgANrIgMkAEGAAiEFIAEpAxgiGyEYAn4CQAJAIBtQRQ0AQcABIQUgASkDECIYQgBSDQBBgAEhBSABKQMIIhhQDQELIBh5DAELQcAAIQUgASkDAHkLIRpBgAIhBAJAAkACQAJAAkACQAJ/AkACQCACKQMYIhhCAFINAEHAASEEIAIpAxAiGEIAUg0AQYABIQQgAikDCCIYUA0BCyAEIBh5p2sMAQsgAikDAHmnIgRBwABGDQFBwAAgBGsLIgQgBSAap2siBksNASAEQcEATwRAIANB6AFqIAJBGGopAwAiHzcDACADQeABaiACQRBqKQMAIhc3AwAgA0HYAWogAkEIaikDACIYNwMAIAMgAikDACIaNwPQASADQdABaiAEQQFrQQZ2Ig1BA3RqIgopAwAhHCADQdACakIANwMAIANByAJqQgA3AwAgA0HAAmoiBEIANwMAIAQgHHkiHKciD0EGdiICQQN0IgdqIgUgGCAchiIgNwMAIANCADcDuAIgA0G4AmoiBCAHaiAaIByGNwMAIAJBAnIiB0EDdCAEaiIIIBcgHIYiITcDACAGQQFrIQQgHEI/gyEeIA9BP3EhBiACQQNqIgJBBEcNAwwFCyACKQMAIhdQDQMgASkDCCEYIAEpAwAhGiADQdAAaiABKQMQIhwgGyAbIBeAIh4gF359IBcQvgIgA0FAayADKQNQIhsgA0HYAGopAwAgF0IAEJYCIANBMGogGCAcIAMpA0B9IBcQvgIgA0EgaiADKQMwIhwgA0E4aikDACAXQgAQlgIgA0EQaiAaIBggAykDIH0gFxC+AiADIAMpAxAiGCADQRhqKQMAIBdCABCWAiAAQgA3AyggACAeNwMYIABBMGpCADcDACAAQThqQgA3AwAgACAbNwMQIAAgHDcDCCAAIBg3AwAgACAaIAMpAwB9NwMgDAULIANBADYCyAIgA0EBNgK8AiADQcS1wQA2ArgCIANCBDcCwAIgA0G4AmpB9LXBABDFAgALIABCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3AyAgAEEoaiABQQhqKQMANwMAIABBMGogAUEQaikDADcDACAAQThqIAFBGGopAwA3AwAMAwsgA0G4AmogAkEDdGogHyAehjcDAAwBC0H0tcEAEMsCAAsgBEEGdiEEAkAgBkUNACAIICEgGEIAIBx9IhiIfDcDACAFICAgGiAYiHw3AwAgB0EDRg0AIANBuAJqIAJBA3RqIgIgAikDACAXIBiIfDcDAAsgBCANayEGIANB6AFqIANB0AJqKQMANwMAIANB4AFqIANByAJqKQMANwMAIANB2AFqIANBwAJqKQMANwMAIAMgAykDuAI3A9ABIBtBwAAgD2siAq0iGIhCACACQQZ2IgdBA2oiCEEERxshHyABIAdBAmoiCUEDdGopAwAiICAYiCEbIAEgB0EDdGoiBUEIaikDACIhIBiIIRcgBSkDACAYiCEaIAEpAwAhIwJAIAJBP3FFDQAgIEIAIBh9IhiGIBd8IRcgISAYhiAafCEaIAlBA0YNACABIAhBA3RqKQMAIBiGIBt8IRsLIA1BAWohCSADIB83A5ACIAMgGzcDiAIgAyAXNwOAAiADIBo3A/gBIAMgIyAehjcD8AEgA0GwAmpCADcDACADQagCakIANwMAIANBoAJqQgA3AwAgA0IANwOYAiADQfABaiAEQQN0IgIgDUEDdCIBa2ohByABQRBqQQN2IQggASADakHIAWopAwAhGyAKKQMAIRogAykD6AEhHyADKQPgASEgIAMpA9gBISEgAykD0AEhIyAGQQZJIRQgASACa0EoakEDdiIVIRAgBiEBAkACQANAAkACQCABIgogCWoiAkEFSQRAQn8hGCADQfABaiACQQN0aiISKQMAIhcgGloNAiABIA1qIgRBBUkNAUF/QQVB9LXBABCgAgALIAJBBUH0tcEAEKACAAsgAkECayIBQQRNBEAgA0HAAWogA0HwAWoiAiAEQQN0aikDACIZIBcgGhC+AiADQbABaiADKQPAASIYIANByAFqKQMAIBpCABCWAiAZIAMpA7ABfSEXIAFBA3QgAmopAwAhGQNAIANBoAFqIBhCACAbQgAQlgIgGSADKQOgAVogFyADQagBaikDACIdViAXIB1RGw0CIBhCAX0hGCAXIBcgGnwiF1gNAAsMAQsgAUEFQfS1wQAQoAIACyADQZABaiAjQgAgGEIAEJYCIANBgAFqICFCACAYQgAQlgIgA0HwAGogIEIAIBhCABCWAiADQeAAaiAfQgAgGEIAEJYCIAMgAykDkAE3A7gCIAMgAykDgAEiFyADQZgBaikDAHwiGTcDwAIgAyADQYgBaikDACAXIBlWrXwiFyADKQNwfCIZNwPIAiADIANB+ABqKQMAIBcgGVatfCIXIAMpA2B8Ihk3A9ACIAMgA0HoAGopAwAgFyAZVq18NwPYAiAURQ0BAkBBKCAKQQN0IhNrQQN2IgEgCCABIAhJG0UNACAQQf////8BcSELIBEgFWpB/////wFxIgwgCCAIIAxLGyIBQQFxAn8gAUEBRgRAQgAhF0EADAELQQAgCCALIAggC0kbQf7//z9xayEOQgAhF0EAIQQgA0G4AmohAiAHIQEDQCABIAEpAwAiGSACKQMAIh0gF3wiF303AwAgAUEIaiIFIAUpAwAiIiACQQhqKQMAIiQgFyAdVCAXIBlWcq18Ihd9NwMAIBcgJFQgFyAiVnIiBa0hFyABQRBqIQEgAkEQaiECIA4gBEECayIERw0AC0EAIARrCyEBIANB8AFqIBNqIQ4EQCAOIAFBA3QiAWoiAiACKQMAIhkgA0G4AmogAWopAwAiHSAXfCIXfTcDACAXIB1UIBcgGVZyIQULIAVBAXFFDQBBACECAkAgCkEFRg0AIAwgCSAJIAxLGyIBQQFxAn8gAUEBRgRAQgAhF0EADAELQQAgCSALIAkgC0kbQf7//z9xayELQgAhF0EAIQFBACEEA0AgASAHaiICIAIpAwAiGSAXIANB0AFqIAFqIgUpAwAiF3wiHXwiIjcDACACQQhqIgIgAikDACIkIAVBCGopAwAiJSAXIB1WIBkgIlZyrXwiF3wiGTcDACAXICVUIBkgJFRyIgKtIRcgAUEQaiEBIAsgBEECayIERw0AC0EAIARrCyEBRQ0AIA4gAUEDdCIBaiICIAIpAwAiGSAXIANB0AFqIAFqKQMAIhd8Ih18IiI3AwAgFyAdViAZICJWciECCyASIBIpAwAgAq1CAYN8NwMAIBhCAX0hGAsgBkEESQRAIApBAWshASADQZgCaiATaiAYNwMAIAdBCGshByAQQQFqIRAgEUEBaiERIApFDQMMAQsLIAZBBEH0tcEAEKACAAsgBkEFQfS1wQAQjQMACyADQdgCaiADQZACaikDADcDACADQdACaiADQYgCaikDACIXNwMAIANByAJqIANBgAJqKQMAIhg3AwAgA0HAAmogA0H4AWopAwAiGjcDACADIAMpA/ABIhs3A7gCIAMgGyAeiDcD4AIgAyAaIB6INwPoAiADIBggHog3A/ACIAMgFyAeiDcD+AICQCAPBEBCACAcfUI/gyEXQQEhAQNAQQQhBEEDIQIgAUEDSyIGRQRAIAFBAWsiAkEDSw0DIAFBAWohBAsgA0HgAmogAkEDdGoiAiACKQMAIANBuAJqIAFBA3RqKQMAIBeGhDcDACAEIQEgBkUNAAsLIAAgAykD4AI3AyAgAEE4aiADQfgCaikDADcDACAAQTBqIANB8AJqKQMANwMAIABBKGogA0HoAmopAwA3AwAgAEEYaiADQbACaikDADcDACAAQRBqIANBqAJqKQMANwMAIABBCGogA0GgAmopAwA3AwAgACADKQOYAjcDAAwBC0F/QQRB9LXBABCgAgALIANBgANqJAALsRcCC38OfiMAQfACayIFJAAgBUHoAmogA0EgaikDADcDACAFQeACaiADQRhqKQMANwMAIAVB2AJqIANBEGopAwA3AwAgBUHQAmogA0EIaikDADcDACAFIAMpAwA3A8gCIAVBsAJqIAFB2AFqKQMANwMAIAVBqAJqIAFB0AFqKQMANwMAIAVBoAJqIAFByAFqKQMANwMAIAVBEjoAuAIgBSABKQPAATcDmAIgBUEgagJ/IAVByAJqIAVBmAJqIAVByAJqIAVBmAJqIgcQnAIiBkH/AXEEfyAGBSAHIAUtAOgCIgcgBS0AuAIiCEkNARogByAIRwtB/wFxQQFGGwsiBkEgaikDADcDACAFQRhqIAZBGGopAwA3AwAgBUEQaiAGQRBqKQMANwMAIAVBCGogBkEIaikDADcDACAFIAYpAwA3AwAgBUGYAmoiCSABIAIQZwJAAkACQAJAAkACQAJAAkACQCAFKAKYAkUEQCAFKQO4AiEVIAUpA7ACIRAgBSkDqAIhEiAFKQOgAiEWIAVB6AJqIAJBIGopAwA3AwAgBUHgAmogAkEYaikDADcDACAFQdgCaiACQRBqKQMANwMAIAVB0AJqIAJBCGopAwA3AwAgBSACKQMANwPIAiAJIAEgBUHIAmoQvgEgBSgCmAINAiAFQfAAaiAFQcACaikDADcDACAFQegAaiAFQbgCaiIHKQMANwMAIAVB4ABqIAVBsAJqIggpAwA3AwAgBUHYAGogBUGoAmoiCikDADcDACAFIAUpA6ACNwNQIAVBgAFqIgsgAUHAAWoiBkEIaikDADcDACAFQYgBaiIMIAZBEGopAwA3AwAgBUGQAWoiDSAGQRhqKQMANwMAIAUgBikDADcDeCAFQZgBaiIGQRI6AAAgByAGKQMANwMAIAggDSkDADcDACAKIAwpAwA3AwAgBUGgAmogCykDADcDACAFIAUpA3g3A5gCIAVB8AFqIAVB0ABqIAkQxQEgBSkDgAIhESAFKQP4ASETAn4gBSkD8AEiGCAWWARAIBIgE30hFyASIBNUrQwBCyASIBNCf4V8IRcgEiATVK0gEiATUa18CyEUIAUpA4gCIRIgECARfSETAkAgFFAEQCAQIBFUrSEQDAELIBMgFFStIBAgEVStfCEQIBMgFH0hEwsgFSASfSERAkAgEFAEQCASIBVYDQEMCwsgEiAVViAQIBFWcg0KIBEgEH0hEQsgBUESOgDAASAFIBE3A7gBIAUgEzcDsAEgBSAXNwOoASAFIBYgGH03A6ABIAVBkAJqIAVBIGopAwA3AwAgBUGIAmogBUEYaikDADcDACAFQYACaiAFQRBqKQMANwMAIAVB+AFqIAVBCGopAwA3AwAgBSAFKQMANwPwASAFQegCaiIGIAJBIGopAwA3AwAgBUHgAmoiByACQRhqKQMANwMAIAVB2AJqIgggAkEQaikDADcDACAFQdACaiIKIAJBCGopAwA3AwAgBSACKQMANwPIAiAFQbgCaiILIANBIGopAwA3AwAgBUGwAmoiDCADQRhqKQMANwMAIAVBqAJqIg0gA0EQaikDADcDACAFQaACaiADQQhqKQMANwMAIAUgAykDADcDmAIgBUEoaiIJIAEgBUHIAmoiDiAFQaABaiAFQZgCaiIPIAVB8AFqEJgBIA9B7MTAAEEBELABIAUoApgCDQMgBiAFQcACaikDADcDACAHIAspAwA3AwAgCCAMKQMANwMAIAogDSkDADcDACAFIAUpA6ACNwPIAiAJIA5BIBCuA0UEQCAFLQBIIAUtAOgCRg0CCwJ+IAQpAwBQBEAgBUGYAmogARCcASAFKAKYAkUEQCAFKQO4AiEWIAUpA7ACIRggBSkDoAIhFyAFKQOoAgwCCyAFKAKcAiEBIABBATYCACAAIAE2AgQMCAsgBCkDICEWIAQpAxghGCAEKQMIIRcgBCkDEAshESAFQZgCaiAFIAMQxQEgBSkDoAIiEiABKQOIBHwiFSASVCEDIAEpA5AEIRMgBSkDqAIhEiAFKQOYAiIQIAEpA4AEfCIbIBBaBH4gA60FIBVCAXwiFVCtIAOtfAshECABKQOYBCEZIAUpA7ACIRQgEiATfCITIBJUIQMgEFAEfiADrQUgEyAQIBN8IhNWrSADrXwLIRAgFCAZfCISIBRUIQMCQCAQUARAIANFDQEMCgsgAw0JIBIgECASfCISVg0JCyAFQZgCaiIDIAEgAhB4IAUoApgCDQQgBUHoAWogBUHAAmopAwA3AwAgBUHgAWogBUG4AmopAwA3AwAgBUHYAWogBUGwAmopAwA3AwAgBUHQAWogBUGoAmopAwA3AwAgBSAFKQOgAjcDyAEgBUGgAWogBUHIAWogBUH4AGoQxgEgBUHgAmogAUH4A2opAwA3AwAgBUHYAmogAUHwA2opAwA3AwAgBUHQAmogAUHoA2opAwA3AwAgBUESOgDoAiAFIAEpA+ADNwPIAiADQdjHwABBBBCwASAFKAKYAkUEQCAFKQOwAiEZIAUpA6gCIRQCfiAXIAUpA6ACIh1YBEAgFCARfSEcIBEgFFatDAELIBQgEUJ/hXwhHCARIBRWrSARIBRRrXwLIRAgBSkDuAIhGiAZIBh9IRECQCAQUARAIBggGVatIRQMAQsgECARVq0gGCAZVq18IRQgESAQfSERCyAaIBZ9IRACQCAUUARAIBYgGlgNAQwMCyAQIBRUIBYgGlZyDQsgECAUfSEQCyAFQRI6ALgCIAUgEDcDsAIgBSARNwOoAiAFIBw3A6ACIAUgHSAXfTcDmAIgBUHwAWogBUHIAmogBUGYAmoQxgEgBSkDsAEhFCAFKQOoASERAn4gBSkDoAEiGCAbWARAIBUgEX0hFiARIBVWrQwBCyAVIBFCf4V8IRYgESAVVq0gESAVUa18CyEQIAUpA7gBIRcgEyAUfSERAkAgEFAEQCATIBRUrSEVDAELIBAgEVatIBMgFFStfCEVIBEgEH0hEQsgEiAXfSETAkAgFVAEQCASIBdaDQEMDAsgEiAXVCATIBVUcg0LIBMgFX0hEwsgFiAFKQP4AXwiFSAWVCEBIAUpA4ACIRIgGyAYfSIQIAUpA/ABfCIUIBBaBH4gAa0FIBVCAXwiFVCtIAGtfAshECAFKQOIAiEWIBEgEnwiEiARVCEBIBBQBH4gAa0FIBIgECASfCISVq0gAa18CyERIBMgEyAWfCITViEBAkAgEVAEQCAAIBM3AyAgACASNwMYIAAgFTcDECAAIBQ3AwggAUUNAQwKCyAAIBI3AxggACAVNwMQIAAgFDcDCCAAIBEgE3wiEjcDICABIBIgE1RyDQkLIABBADYCACAAQRI6ACgMBwsgBSAFKAKcAjYC8AFB7cTAAEErIAVB8AFqQZjFwABB/OvAABCXAgALIAUoApwCIQEgAEEBNgIAIAAgATYCBAwFCyAFQZgCakHsxMAAQQEQsAEgBSgCmAJFDQMgBSAFKAKcAjYCyAJB7cTAAEErIAVByAJqQZjFwABBjOzAABCXAgALIAUoApwCIQEgAEEBNgIAIAAgATYCBAwDCyAFIAUoApwCNgLwAUHtxMAAQSsgBUHwAWpBmMXAAEGc7MAAEJcCAAsgBSgCnAIhASAAQQE2AgAgACABNgIEDAELIAAgBSkDoAI3AwggAEEoaiAFQcACaikDADcDACAAQSBqIAVBuAJqKQMANwMAIABBGGogBUGwAmopAwA3AwAgAEEQaiAFQagCaikDADcDACAAQQA2AgALIAVB8AJqJAAPCyAFQQA2AqgCIAVBATYCnAIgBUHgh8EANgKYAiAFQgQ3AqACIAVBmAJqQfSFwQAQxQIACyAFQQA2AtgCIAVBATYCzAIgBUHgh8EANgLIAiAFQgQ3AtACIAVByAJqQfSFwQAQxQIACyAFQQA2AqgCIAVBATYCnAIgBUHkxMAANgKYAiAFQgQ3AqACIAVBmAJqQbTEwAAQxQIAC50XAhV/Fn4jAEHQBGsiBCQAIARB2ANqIgogA0EYaiIOKQMANwMAIARB0ANqIgsgA0EQaiIPKQMANwMAIARByANqIgwgA0EIaiIQKQMANwMAIAQgAykDADcDwAMgBEGYAmoiBUIANwMAIARBkAJqIgZCADcDACAEQYgCaiIHQgA3AwAgBEIANwOAAgJAIARBwANqIgkgBEGAAmoiCEEgEK4DBEAgCiABQRhqIg0pAwA3AwAgCyABQRBqIhEpAwA3AwAgDCABQQhqIhIpAwA3AwAgBCABKQMANwPAAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAkgCBCcAiETIAogAkEYaiIUKQMANwMAIAsgAkEQaiIVKQMANwMAIAwgAkEIaiIWKQMANwMAIAQgAikDADcDwAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwOAAiAJIAgQnAIhFyAKIA4pAwA3AwAgCyAPKQMANwMAIAwgECkDADcDACAEIAMpAwA3A8ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcDgAIgCSAIEJwCIRggBSANKQMANwMAIAYgESkDADcDACAHIBIpAwA3AwAgBCABKQMANwOAAiAEQYAEaiINIAgQngEgBSAUKQMANwMAIAYgFSkDADcDACAHIBYpAwA3AwAgBCACKQMANwOAAiAJIAgQngEgBEEwaiAEKQOABCIaQgAgBCkDwAMiGUIAEJYCIARB4ABqIAQpA4gEIhtCACAZQgAQlgIgBEHQAGogBCkDkAQiHUIAIBlCABCWAiAEQUBrIAQpA5gEIhxCACAZQgAQlgIgBEEgaiAEKQPIAyIZQgAgGkIAEJYCIARBkAFqIBlCACAbQgAQlgIgBEHAAWogGUIAIB1CABCWAiAEQfABaiAZQgAgHEIAEJYCIARBEGogBCkD0AMiGUIAIBpCABCWAiAEQYABaiAZQgAgG0IAEJYCIARBsAFqIBlCACAdQgAQlgIgBEHgAWogGUIAIBxCABCWAiAEIAQpA9gDIhlCACAaQgAQlgIgBEHwAGogGUIAIBtCABCWAiAEQaABaiAZQgAgHUIAEJYCIARB0AFqIBlCACAcQgAQlgIgBCAEKQMwNwOAAyAEQegAaikDACEcIAQpA1AhGiAEIAQpAyAiJCAEKQNgIh8gBEE4aikDAHwiHnwiIDcDiAMgBEGYAWopAwAhISAEQdgAaikDACEiIAQpA0AhGSAEKQPAASEbIARByAFqKQMAISMgBEHIAGopAwAhJSAEKQPwASEdIAQgBCkDECIoIAQpA5ABIiYgBEEoaikDACAgICRUrXwiICAaIBwgHiAfVK18fCIefCIffCInfCIpNwOQAyAEQYgBaikDACEqIAQpA7ABIRwgBEG4AWopAwAhKyAEQfgBaikDACEsIAQpA+ABISQgBCAEKQMAIi0gBCkDgAEiLiAEQRhqKQMAICggKVatfCIoIBsgISAmICdWrXwiISAfICBUrXwiHyAZICIgGiAeVq18fCIefCIgfCIifCIafCImfCInNwOYAyAEIAQpA3AiKSAEQQhqKQMAICcgLVStfCInIBwgKiAmIC5UrXwiJiAaIChUrXwiGiAdICMgGyAiVq18IiIgHyAhVCAfICBWcq18IhsgJSAZIB5WrXx8Ih98Ih58IiB8IiF8Ihl8IiM3A6ADIAQgBCkDoAEiJSAEQfgAaikDACAjIClUrXwiIyAZICdUrXwiGSAkICsgHCAhVq18IhwgGiAmVCAaICBWcq18IhogHSAeVq0gLCAbICJUIBsgH1ZyrXx8fCIbfCIdfCIffCIeNwOoAyAEQdgBaikDACEgIAQgBCkD0AEiISAEQagBaikDACAeICVUrXwiHiAZICNUIBkgH1ZyrXwiGSAdICRUrSAEQegBaikDACAaIBxUIBogG1ZyrXx8fCIafCIbNwOwAyAEIBsgIVStICAgGSAeVCAZIBpWcq18fDcDuAMgBSAOKQMANwMAIAYgDykDADcDACAHIBApAwA3AwAgBCADKQMANwOAAiANIAgQngEgBEHoA2pCADcDACAEQfADakIANwMAIARB+ANqQgA3AwAgBEIANwPgAyAEIAQpA5gENwPYAyAEIAQpA5AENwPQAyAEIAQpA4gENwPIAyAEIAQpA4AENwPAAyAIIARBgANqIAkQagJAAkAgBCkDuAIgBCkDsAIgBCkDqAIgBCkDoAKEhIRQBEAgBCkDgAIhGiAEKQOIAiEZIAQpA5ACIRsgBCkDwAIhJCAEKQPIAiEfIAQpA9ACIR4gBCkD2AIhICAEKQPgAiEhIAQpA+gCISIgBCkD8AIhIyAEKQP4AiElIAQgBCkDmAI3A7gEIAQgGzcDsAQgBCAZNwOoBCAEIBo3A6AEIBdB/wFxQf8BRiAYQf8BcUH/AUdzIBNB/wFxQf8BRnMiAUUEQCAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAkgCBCeASAEQaAEaiAJQSAQrgMNAiAKQeCWwAApAwA3AwAgC0HYlsAAKQMANwMAIAxB0JbAACkDADcDACAEQciWwAApAwA3A8ADDAMLIARB2ANqIARBuARqKQMANwMAIARB0ANqIARBsARqKQMANwMAIARByANqIARBqARqKQMANwMAIAQgBCkDoAQ3A8ADDAILIAQgAzYCzAQgBCACNgLIBCAEIAE2AsQEIwBBMGsiACQAIABBAzYCBCAAQdiZwAA2AgAgAEIDNwIMIAAgBEHEBGoiATUCCEKAgICAIIQ3AyggACABNQIEQoCAgIAghDcDICAAIAE1AgBCgICAgCCENwMYIAAgAEEYajYCCCAAQfCZwAAQ0gEhASAAQTBqJAAgBCABNgKAAkHolcAAQSsgBEGAAmpBlJbAAEHwmMAAEJcCAAsgBSAEQbgEaikDADcDACAGIARBsARqKQMANwMAIAcgBEGoBGopAwA3AwAgBCAEKQOgBDcDgAIgBEHAA2ogBEGAAmoQywELIAQpA9gDIR0gBCkD0AMhGyAEKQPIAyEaIAQpA8ADIRwgBEGYA2oiAkIANwMAIARBkANqIgNCADcDACAEQgA3A4gDIAQgHyAkhCAehCAghCAhhCAihCAjhCAlhEIAUq03A4ADAkAgAUUEQCAEQZgCakIANwMAIARBkAJqQgA3AwAgBEGIAmoiAUIANwMAIARCADcDgAIgBEHAA2oiAiAEQYACahCeASAEQYADaiACQSAQrgNFBEAgBEHYA2pB4JbAACkDADcDACAEQdADakHYlsAAKQMANwMAIARByANqQdCWwAApAwA3AwAgBEHIlsAAKQMANwPAAwwCCyAEQZgCaiAEQZgDaikDADcDACAEQZACaiAEQZADaikDADcDACABIARBiANqKQMANwMAIAQgBCkDgAM3A4ACIARBwANqIARBgAJqEMsBDAELIARB2ANqIAIpAwA3AwAgBEHQA2ogAykDADcDACAEQcgDaiAEQYgDaikDADcDACAEIAQpA4ADNwPAAwsgGiAaIAQpA8gDfCIZViEBIBsgBCkD0AMgG3wiGlYhAiAdIAQpA9gDIB18IhtWIQMCQCAcIBwgBCkDwAN8Ih1YBH4gAa0FIBlCAXwiGVCtIAGtfAsiHFAEfiACrQUgGiAaIBx8IhpWrSACrXwLIhxQBEAgACAbNwMYIAAgGjcDECAAIBk3AwggACAdNwMAIANFDQEMAwsgACAaNwMQIAAgGTcDCCAAIB03AwAgACAbIBx8Iho3AxggAyAaIBtUcg0CCyAAQRI6ACAgBEHQBGokAA8LIARBADYCkAIgBEEBNgKEAiAEQZiZwAA2AoACIARCBDcCiAIgBEGAAmpBoJnAABDFAgALIARBADYCkAIgBEEBNgKEAiAEQdTBwAA2AoACIARCBDcCiAIgBEGAAmpB8L7AABDFAgALoBcCFX8WfiMAQdAEayIEJAAgBEHYA2oiCiADQRhqIg4pAwA3AwAgBEHQA2oiCyADQRBqIg8pAwA3AwAgBEHIA2oiDCADQQhqIhApAwA3AwAgBCADKQMANwPAAyAEQZgCaiIFQgA3AwAgBEGQAmoiBkIANwMAIARBiAJqIgdCADcDACAEQgA3A4ACAkAgBEHAA2oiCSAEQYACaiIIQSAQrgMEQCAKIAFBGGoiDSkDADcDACALIAFBEGoiESkDADcDACAMIAFBCGoiEikDADcDACAEIAEpAwA3A8ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcDgAIgCSAIEJwCIRMgCiACQRhqIhQpAwA3AwAgCyACQRBqIhUpAwA3AwAgDCACQQhqIhYpAwA3AwAgBCACKQMANwPAAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAkgCBCcAiEXIAogDikDADcDACALIA8pAwA3AwAgDCAQKQMANwMAIAQgAykDADcDwAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwOAAiAJIAgQnAIhGCAFIA0pAwA3AwAgBiARKQMANwMAIAcgEikDADcDACAEIAEpAwA3A4ACIARBgARqIg0gCBCfASAFIBQpAwA3AwAgBiAVKQMANwMAIAcgFikDADcDACAEIAIpAwA3A4ACIAkgCBCfASAEQTBqIAQpA4AEIhpCACAEKQPAAyIZQgAQlgIgBEHgAGogBCkDiAQiG0IAIBlCABCWAiAEQdAAaiAEKQOQBCIdQgAgGUIAEJYCIARBQGsgBCkDmAQiHEIAIBlCABCWAiAEQSBqIAQpA8gDIhlCACAaQgAQlgIgBEGQAWogGUIAIBtCABCWAiAEQcABaiAZQgAgHUIAEJYCIARB8AFqIBlCACAcQgAQlgIgBEEQaiAEKQPQAyIZQgAgGkIAEJYCIARBgAFqIBlCACAbQgAQlgIgBEGwAWogGUIAIB1CABCWAiAEQeABaiAZQgAgHEIAEJYCIAQgBCkD2AMiGUIAIBpCABCWAiAEQfAAaiAZQgAgG0IAEJYCIARBoAFqIBlCACAdQgAQlgIgBEHQAWogGUIAIBxCABCWAiAEIAQpAzA3A4ADIARB6ABqKQMAIRwgBCkDUCEaIAQgBCkDICIkIAQpA2AiHyAEQThqKQMAfCIefCIgNwOIAyAEQZgBaikDACEhIARB2ABqKQMAISIgBCkDQCEZIAQpA8ABIRsgBEHIAWopAwAhIyAEQcgAaikDACElIAQpA/ABIR0gBCAEKQMQIiggBCkDkAEiJiAEQShqKQMAICAgJFStfCIgIBogHCAeIB9UrXx8Ih58Ih98Iid8Iik3A5ADIARBiAFqKQMAISogBCkDsAEhHCAEQbgBaikDACErIARB+AFqKQMAISwgBCkD4AEhJCAEIAQpAwAiLSAEKQOAASIuIARBGGopAwAgKCApVq18IiggGyAhICYgJ1atfCIhIB8gIFStfCIfIBkgIiAaIB5WrXx8Ih58IiB8IiJ8Ihp8IiZ8Iic3A5gDIAQgBCkDcCIpIARBCGopAwAgJyAtVK18IicgHCAqICYgLlStfCImIBogKFStfCIaIB0gIyAbICJWrXwiIiAfICFUIB8gIFZyrXwiGyAlIBkgHlatfHwiH3wiHnwiIHwiIXwiGXwiIzcDoAMgBCAEKQOgASIlIARB+ABqKQMAICMgKVStfCIjIBkgJ1StfCIZICQgKyAcICFWrXwiHCAaICZUIBogIFZyrXwiGiAdIB5WrSAsIBsgIlQgGyAfVnKtfHx8Iht8Ih18Ih98Ih43A6gDIARB2AFqKQMAISAgBCAEKQPQASIhIARBqAFqKQMAIB4gJVStfCIeIBkgI1QgGSAfVnKtfCIZIB0gJFStIARB6AFqKQMAIBogHFQgGiAbVnKtfHx8Ihp8Ihs3A7ADIAQgGyAhVK0gICAZIB5UIBkgGlZyrXx8NwO4AyAFIA4pAwA3AwAgBiAPKQMANwMAIAcgECkDADcDACAEIAMpAwA3A4ACIA0gCBCfASAEQegDakIANwMAIARB8ANqQgA3AwAgBEH4A2pCADcDACAEQgA3A+ADIAQgBCkDmAQ3A9gDIAQgBCkDkAQ3A9ADIAQgBCkDiAQ3A8gDIAQgBCkDgAQ3A8ADIAggBEGAA2ogCRBqAkACQCAEKQO4AiAEKQOwAiAEKQOoAiAEKQOgAoSEhFAEQCAEKQOAAiEaIAQpA4gCIRkgBCkDkAIhGyAEKQPAAiEkIAQpA8gCIR8gBCkD0AIhHiAEKQPYAiEgIAQpA+ACISEgBCkD6AIhIiAEKQPwAiEjIAQpA/gCISUgBCAEKQOYAjcDuAQgBCAbNwOwBCAEIBk3A6gEIAQgGjcDoAQgF0H/AXFB/wFGIBhB/wFxQf8BR3MgE0H/AXFB/wFGcyIBRQRAIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcDgAIgCSAIEJ8BIARBoARqIAlBIBCuAw0CIApB6PzAACkDADcDACALQeD8wAApAwA3AwAgDEHY/MAAKQMANwMAIARB0PzAACkDADcDwAMMAwsgBEHYA2ogBEG4BGopAwA3AwAgBEHQA2ogBEGwBGopAwA3AwAgBEHIA2ogBEGoBGopAwA3AwAgBCAEKQOgBDcDwAMMAgsgBCADNgLMBCAEIAI2AsgEIAQgATYCxAQjAEEwayIAJAAgAEEDNgIEIABBpIHBADYCACAAQgM3AgwgACAEQcQEaiIBNQIIQoCAgICACIQ3AyggACABNQIEQoCAgICACIQ3AyAgACABNQIAQoCAgICACIQ3AxggACAAQRhqNgIIIABBvIHBABDSASEBIABBMGokACAEIAE2AoACQfT7wABBKyAEQYACakGg/MAAQbyAwQAQlwIACyAFIARBuARqKQMANwMAIAYgBEGwBGopAwA3AwAgByAEQagEaikDADcDACAEIAQpA6AENwOAAiAEQcADaiAEQYACahDMAQsgBCkD2AMhHSAEKQPQAyEbIAQpA8gDIRogBCkDwAMhHCAEQZgDaiICQgA3AwAgBEGQA2oiA0IANwMAIARCADcDiAMgBCAfICSEIB6EICCEICGEICKEICOEICWEQgBSrTcDgAMCQCABRQRAIARBmAJqQgA3AwAgBEGQAmpCADcDACAEQYgCaiIBQgA3AwAgBEIANwOAAiAEQcADaiICIARBgAJqEJ8BIARBgANqIAJBIBCuA0UEQCAEQdgDakHo/MAAKQMANwMAIARB0ANqQeD8wAApAwA3AwAgBEHIA2pB2PzAACkDADcDACAEQdD8wAApAwA3A8ADDAILIARBmAJqIARBmANqKQMANwMAIARBkAJqIARBkANqKQMANwMAIAEgBEGIA2opAwA3AwAgBCAEKQOAAzcDgAIgBEHAA2ogBEGAAmoQzAEMAQsgBEHYA2ogAikDADcDACAEQdADaiADKQMANwMAIARByANqIARBiANqKQMANwMAIAQgBCkDgAM3A8ADCyAaIBogBCkDyAN8IhlWIQEgGyAEKQPQAyAbfCIaViECIB0gBCkD2AMgHXwiG1YhAwJAIBwgHCAEKQPAA3wiHVgEfiABrQUgGUIBfCIZUK0gAa18CyIcUAR+IAKtBSAaIBogHHwiGlatIAKtfAsiHFAEQCAAIBs3AxggACAaNwMQIAAgGTcDCCAAIB03AwAgA0UNAQwDCyAAIBo3AxAgACAZNwMIIAAgHTcDACAAIBsgHHwiGjcDGCADIBogG1RyDQILIABBEjoAICAEQdAEaiQADwsgBEEANgKQAiAEQQE2AoQCIARB5IDBADYCgAIgBEIENwKIAiAEQYACakHsgMEAEMUCAAsgBEEANgKQAiAEQQE2AoQCIARB4IfBADYCgAIgBEIENwKIAiAEQYACakH0hcEAEMUCAAu3FgICfxF+IwBB4AJrIgQkACAEQcgBaiIFIAEgAhB5AkACQAJAAkACQAJAIAQoAsgBRQRAIARBOGogBEHwAWopAwA3AwAgBEEwaiAEQegBaikDADcDACAEQShqIARB4AFqKQMANwMAIARBIGogBEHYAWopAwA3AwAgBCAEKQPQATcDGCAEQRI6AOgBIAQgASkDGCIINwPgASAEIAEpAxAiBzcD2AEgBCABKQMIIgY3A9ABIAQgASkDACILNwPIASAFIARBGGoQnAJB/wFxIgJFDQEgAkH/AUcNAgwDCyAEKALMASEBIABBATYCACAAIAE2AgQMAwsgBC0A6AEgBC0AOEkNAQsgBCkDKCENIAQpAyAhCgJ+IAQpAxgiDiALWARAIAYgCn0hDyAGIApUrQwBCyAGIApCf4V8IQ8gBiAKVK0gBiAKUa18CyEJIAQpAzAhBiAHIA19IQwCQCAJUARAIAcgDVStIQcMAQsgCSAMVq0gByANVK18IQcgDCAJfSEMCyAIIAZ9IQoCQAJAIAdQBEAgBiAIWA0BDAILIAYgCFYgByAKVnINASAKIAd9IQoLIARBEjoAYCAEIAo3A1ggBCAMNwNQIAQgDzcDSCAEIAsgDn0iFDcDQAJAAkAgAykDGCIGQgBZBEAgAykDECEHIAMpAwghCCADKQMAIQkgBCAGNwPIAiAEIAc3A8ACIAQgCDcDuAIgBCAJNwOwAiAEQaACakIANwMAIARBmAJqQgA3AwAgBEGQAmpCADcDACAEQgA3A4gCIARBsAJqIARBiAJqEJwCQf8BcUEBRg0BCyAEQaACakIANwMAIARBmAJqQgA3AwAgBEGQAmpCADcDACAEQgA3A4gCDAELIAQgBjcDoAIgBCAHNwOYAiAEIAg3A5ACIAQgCTcDiAILIARByAFqIgIgBEGIAmoQtAECQAJAAkACQAJAIAQoAsgBRQRAIARBsAFqIARB8AFqKQMANwMAIARBqAFqIARB6AFqKQMANwMAIARBoAFqIARB4AFqKQMANwMAIARBmAFqIARB2AFqKQMANwMAIAQgBCkD0AE3A5ABIARBEjoA6AEgBCABKQPYAyIJNwPgASAEIAEpA9ADIgs3A9gBIAQgASkDyAMiBjcD0AEgBCABKQPAAyIONwPIASACIARBkAFqEJwCQf8BcSICRQ0BIAJB/wFHDQIMAwsgBCgCzAEhAQwDCyAELQDoASAELQCwAUkNAQsgBCkDmAEhByAEKQOoASEQIAsgBCkDoAEiEX0hCAJAAn4gBCkDkAEiEyAOWARAIAYgB30hEiAGIAdUrQwBCyAGIAdCf4V8IRIgBiAHVK0gBiAHUa18CyINUARAIAsgEVStIQYMAQsgCCANVK0gCyARVK18IQYgCCANfSEICyAJIBB9IQcCQAJAIAZQBEAgCSAQWg0BDAILIAkgEFQgBiAHVnINASAHIAZ9IQcLIARBEjoAqAIgBCAHNwOgAiAEIAg3A5gCIAQgEjcDkAIgBCAOIBN9NwOIAiAEQeABaiABQdgBaikDADcDACAEQdgBaiABQdABaikDADcDACAEQdABaiABQcgBaikDADcDACAEQRI6AOgBIAQgASkDwAE3A8gBIARB6ABqIARBiAJqIARByAFqEMQBIAQpA3AiCCABKQOoBSILfCIJIAhUIQIgASkDsAUhESAEKQN4IQ0gBCkDaCISIAEpA6AFIhV8IhYgEloEfiACrQUgCUIBfCIJUK0gAq18CyEHIAEpA7gFIRAgBCkDgAEhDiANIBF8IgYgDVQhASAHUAR+IAGtBSAGIAYgB3wiBlatIAGtfAshByAOIBB8IhMgDlQhAQJAAkAgB1AEQCAEIBM3A+ABIAQgBjcD2AEgBCAJNwPQASAEIBY3A8gBIAFFDQEMAgsgBCAGNwPYASAEIAk3A9ABIAQgFjcDyAEgBCAHIBN8IgY3A+ABIAEgBiATVHINAQsgBEESOgDoAQJAIAACfwJAAkACQCAEQUBrIARByAFqEJwCQf8BcSIBDgMCAAEACyABQQJJDQELIARBADYC2AEgBEEBNgLMASAEQejmwAA2AsgBIARCBDcC0AEgACAEQcgBakHw5sAAENIBNgIEQQEMAQsCfiASIBRYBEAgCCAPVq0hCSAPIAh9DAELIAggD1atIAggD1GtfCEJIA8gCEJ/hXwLIQYgDCANfSEHAkAgCVAEQCAMIA1UrSEIDAELIAcgCVStIAwgDVStfCEIIAcgCX0hBwsgCiAOfSEMAkAgCFAEQCAKIA5aDQEMAwsgCiAOVCAIIAxWcg0CIAwgCH0hDAsgByARfSEIAkACfiAVIBQgEn0iD1gEQCAGIAt9IQkgBiALVK0MAQsgBiALQn+FfCEJIAYgC1StIAYgC1GtfAsiClAEQCAHIBFUrSEGDAELIAggClStIAcgEVStfCEGIAggCn0hCAsgDCAQfSEKAkAgBlAEQCAMIBBaDQEMDQsgDCAQVCAGIApWcg0MIAogBn0hCgsgAEESOgAoIAAgCjcDICAAIAg3AxggACAJNwMQIAAgDyAVfTcDCEEACzYCAAwICwwJCyAEQQA2ApgCIARBATYCjAIgBEHgh8EANgKIAiAEQgQ3ApACIARBiAJqQfSFwQAQxQIACwwHCyAEQRI6AKgCIAQgCTcDoAIgBCALNwOYAiAEIAY3A5ACIAQgDjcDiAIgBEKAgICAkAgiBiAEQZABaq2ENwPAASAEIAYgBEGIAmqthDcDuAEgBEGEAmpBAzoAACAEQYACakEENgIAIARB+AFqQqCAgIAQNwIAIARB8AFqQQI2AgAgBEECNgLoASAEQQM6AOQBIARBBDYC4AEgBEIgNwLYASAEQQI2AtABIARBAjYCyAEgBEECNgLEAiAEQQM2ArQCIARBmObAADYCsAIgBCAEQcgBajYCwAIgBEECNgK8AiAEIARBuAFqNgK4AiAEQdQCaiIBIARBsAJqENMBIARBCGogAUG8hsEAQbDmwAAQpgIgBCgCDCECIAQoAgghAyAEQdABaiIFIARB3AJqKAIANgIAQZngwQAtAAAaIAQgBCkC1AI3A8gBQRhBBBD3AiIBRQ0BIAEgAzYCBCABQaSHwQA2AgAgASAEKQPIATcCDCABIAI2AgggAUEUaiAFKAIANgIACyAAQQE2AgAgACABNgIEDAMLQQRBGBCoAwALDAMLIARBEjoAqAIgBCAINwOgAiAEIAc3A5gCIAQgBjcDkAIgBCALNwOIAiAEQoCAgICQCCIGIARBGGqthDcDcCAEIAYgBEGIAmqthDcDaCAEQYQCakEDOgAAIARBgAJqQQQ2AgAgBEH4AWpCoICAgBA3AgAgBEHwAWpBAjYCACAEQQI2AugBIARBAzoA5AEgBEEENgLgASAEQiA3AtgBIARBAjYC0AEgBEECNgLIASAEQQI2AqQBIARBAjYClAEgBEHI5cAANgKQASAEIARByAFqNgKgASAEQQI2ApwBIAQgBEHoAGo2ApgBIARBQGsiASAEQZABahDTASAEQRBqIAFBvIbBAEHY5cAAEKYCIAQoAhQhAiAEKAIQIQMgBEHQAWoiBSAEQcgAaigCADYCAEGZ4MEALQAAGiAEIAQpAkA3A8gBQRhBBBD3AiIBRQ0BIAEgAzYCBCABQaSHwQA2AgAgASAEKQPIATcCDCABIAI2AgggAUEUaiAFKAIANgIAIABBATYCACAAIAE2AgQLIARB4AJqJAAPC0EEQRgQqAMACyAEQQA2AtgBIARBATYCzAEgBEHkxMAANgLIASAEQgQ3AtABIARByAFqQbTEwAAQxQIAC+cSAgt/DX4jAEHwAmsiAyQAIAMgAjYCgAIgAyABNgL8ASADQQA2AoQCAkACfwJAIAJFBEBCASEWDAELIAEgAmohCyADQZACaiIKQRBqIQxCASEWAkACQAJAA0ACQAJ/IAEsAAAiAkEATgRAIAJB/wFxIQIgAUEBagwBCyABLQABQT9xIQQgAkEfcSEFIAJBX00EQCAFQQZ0IARyIQIgAUECagwBCyABLQACQT9xIARBBnRyIQQgAkFwSQRAIAQgBUEMdHIhAiABQQNqDAELIAVBEnRBgIDwAHEgAS0AA0E/cSAEQQZ0cnIiAkGAgMQARg0BIAFBBGoLIQEgAyACNgKwAgJAIAJBMGsiBUEKTwRAIAJB5QBHBEAgAkEtRgRAIApCADcDACAKQQhqQgA3AwAgDEIANwMAIANCATcDiAJCf0IAIANBiAJqQYiPwQBBIBCuAyICGyESQn9CASACGyEWDAMLIAYgAkEuR3JFBEBBASEGDAMLIAJB3wBGDQIMBQsgCUEBIQkNBAwBCwJAIAlFBEAgEEIAWSIERQRAIA9Cf4VCACAPfSIVQgAgE30iE0IAUiICGyEPIBFCf4UiDiAVUCACQX9zcSICrXwiFSAOIAIbIREgAiAOIBVWca0gEEJ/hXwhEAsgA0HoAWogE0IAQgpCABCWAiADQdgBaiAPQgBCCkIAEJYCIANByAFqIBFCAEIKQgAQlgIgAykDyAEiEyADQeABaikDACADKQPYASIPIANB8AFqKQMAfCIOIA9UrXx8Ig8gE1StIANB0AFqKQMAIBBCCn58fCEQIAMpA+gBIREgBEUEQCAQQn+FIhBCACAOfSITUEIAIBF9IhFCAFIiBEF/c3EiAiAPQn+FIg8gAq18IhUgD1RxIg2tfCAQIA0bIRAgFSAPIAIbIQ8gDkJ/hSATIAQbIQ4LIBAgESAFrXwiEyARVCIFIA5CAXwiFVBxIgIgDyACrXwiESAPVHEiBK18IBAgBBshECARIA8gAhshESAVIA4gBRshDwwBCyADIAUgB0EKbGoiBzYChAILIAZBACEGRQ0AQQEhBiAIIAlBf3NBAXFqIQgLIAEgC0cNAQsLIAcgCEkNASASQgBTDQIgEiEODAMLIANBATYCjAIgA0G8k8EANgKIAiADQgE3ApQCIAMgA0GwAmqtQoCAgICgDoQ3A9ACIAMgA0HQAmo2ApACIANBiAJqQcSTwQAQ0gEhASAAQQE2AgAgACABNgIEDAQLIANBAjYCjAIgA0H8ksEANgKIAiADQgI3ApQCIAMgA0H8AWqtQoCAgICwDoQ3A9gCIAMgA0GEAmqtQoCAgIDQDoQ3A9ACIAMgA0HQAmo2ApACIANBiAJqQYyTwQAQ0gEhASAAQQE2AgAgACABNgIEDAMLQn8hGCASIQ5CfyEVQQAMAQsgDiAWhCAShEIAUq0hFUEBCyAQQgBTBH5CfwUgDyAThCAQIBGEhEIAUq0LIRlFBEAgDkJ/hUIAIA59IhRCACAWfSIWQgBSIgEbIQ4gEkJ/hSIXIBRQIAFBf3NxIgGtfCIUIBcgARshEiABIBQgF1RxrSAYQn+FfCEYCyAQQgBTBEAgD0J/hUIAIA99IhRCACATfSITQgBSIgEbIQ8gEUJ/hSIXIBRQIAFBf3NxIgGtfCIUIBcgARshESABIBQgF1RxrSAQQn+FfCEQCyADQbgBaiATQgAgFkIAEJYCIANBqAFqIBNCACAOQgAQlgIgA0GYAWogE0IAIBJCABCWAiADQYgBaiAPQgAgFkIAEJYCIANB+ABqIA9CACAOQgAQlgIgA0HoAGogEUIAIBZCABCWAiADKQOYASIXIANBsAFqKQMAIAMpA6gBIhQgA0HAAWopAwB8IhogFFStfHwiFCAXVK0gA0HwAGopAwAgA0GAAWopAwAgA0GgAWopAwAgDyASfiATIBh+fCAOIBF+fHwgECAWfnx8fHwgA0GQAWopAwAgAykDiAEiDiAafCIPIA5UrXwiDiAUfCISIA5UrXwgAykDeCIOIBJ8IhIgDlStfCADKQNoIg4gEnwiFiAOVK18IQ4gAykDuAEhECAVIBl+QgJaBEAgDkJ/hSIOQgAgD30iE1BCACAQfSIQQgBSIgJBf3NxIgEgFkJ/hSISIAGtfCIRIBJUcSIGrXwgDiAGGyEOIBEgEiABGyEWIA9Cf4UgEyACGyEPCyADQcACakIANwMAIANByAJqQgA3AwAgA0IANwO4AiADQgo3A7ACIANB6AJqQgA3AwAgA0HgAmpCADcDACADQgA3A9gCIAMgByAIa603A9ACIANBiAJqIANBsAJqIANB0AJqEGkgAykDoAIhFUJ/IRhCfyEZIA8gEIQgFoQgDoRCAFKtIBkgDkIAWRshGSADKQOIAiETIAMpA5ACIREgAykDmAIhEiARIBOEIBKEIBWEQgBSrSAYIBVCAFkbIRggDkIAUwRAIA9Cf4VCACAPfSIUQgAgEH0iEEIAUiIBGyEPIBZCf4UiFyAUUCABQX9zcSIBrXwiFCAXIAEbIRYgASAUIBdUca0gDkJ/hXwhDgsgFUIAUwRAIBFCf4VCACARfSIUQgAgE30iE0IAUiIBGyERIBJCf4UiFyAUUCABQX9zcSIBrXwiFCAXIAEbIRIgASAUIBdUca0gFUJ/hXwhFQsgA0HYAGogE0IAIBBCABCWAiADQcgAaiATQgAgD0IAEJYCIANBOGogE0IAIBZCABCWAiADQShqIBFCACAQQgAQlgIgA0EYaiARQgAgD0IAEJYCIANBCGogEkIAIBBCABCWAiADKQM4IhcgA0HQAGopAwAgAykDSCIUIANB4ABqKQMAfCIaIBRUrXx8IhQgF1StIANBEGopAwAgA0EgaikDACADQUBrKQMAIBEgFn4gDiATfnwgDyASfnx8IBAgFX58fHx8IANBMGopAwAgAykDKCIOIBp8IhAgDlStfCIOIBR8IhIgDlStfCADKQMYIg4gEnwiEiAOVK18IAMpAwgiDiASfCIPIA5UrXwhDiADKQNYIRMgACAYIBl+QgJaBH4gEEJ/hUIAIBB9IhFCACATfSITQgBSIgEbIRAgD0J/hSISIBFQIAFBf3NxIgGtfCIRIBIgARshDyABIBEgElRxrSAOQn+FfAUgDgs3AyAgACAPNwMYIAAgEDcDECAAIBM3AwggAEEANgIACyADQfACaiQAC+tRAhp/Cn4jAEGQG2siAyQAIANBkBBqIAEQAiABEAMQvAECQAJAIAMoApAQRQRAIANBKGogA0GYCGpBBHIgA0GYEGpB8AcQrANB8AcQrAMaIAMgARAkIgU2AqQZIAMgBUEARzYCoBkCQAJAIAVFBEAgA0GwEGpCADcDACADQagQakIANwMAIANBoBBqQgA3AwAgA0IANwOYEAwBCyADQZAQaiADQaQZakGwrMAAEKwBIAMoAqQZIQIgAygCoBkhBCADKAKQEA0BCyADQbQIaiADQbAQaikDACIcNwIAIANBrAhqIANBqBBqKQMAIh03AgAgA0GkCGogA0GgEGopAwAiHjcCACADQZAYaiAeNwMAIANBmBhqIB03AwAgA0GgGGogHDcDACADIAMpA5gQIhw3ApwIIAMgHDcDiBggA0ESOgCoGCAERSACQYQBSXJFBEAgAhAACyADIAEQJSIENgKkGUEAIQIgAyAEQQBHNgKgGSAERQRAIANBsBBqQgA3AwAgA0GoEGpCADcDACADQaAQakIANwMAIANCADcDmBBBACEEDAMLIANBkBBqIANBpBlqQcCswAAQrAEgAygCpBkhAiADKAKgGSEEIAMoApAQRQ0CIANBsAhqIANBrBBqKAIAIgU2AgAgA0GoCGogA0GkEGopAgAiHDcDACADQaAIaiADQZwQaikCACIdNwMAIANBEGogHTcDACADQRhqIBw3AwAgA0EgaiAFNgIAIAMgAykClBAiHDcDmAggAyAcNwMIIARFIAJBhAFJcg0DIAIQAAwDCyADQbAIaiADQawQaigCACIFNgIAIANBqAhqIANBpBBqKQIAIhw3AwAgA0GgCGogA0GcEGopAgAiHTcDACADQRBqIB03AwAgA0EYaiAcNwMAIANBIGogBTYCACADIAMpApQQIhw3A5gIIAMgHDcDCCAERSACQYQBSXINAiACEAAMAgsgA0GwCGogA0GsEGooAgAiBDYCACADQRBqIANBnBBqKQIANwMAIANBGGogA0GkEGopAgA3AwAgA0EgaiAENgIAIAMgAykClBA3AwgMAQsgA0G0CGogA0GwEGopAwAiHDcCACADQawIaiADQagQaikDACIdNwIAIANBpAhqIANBoBBqKQMAIh43AgAgA0G4GGogHjcDACADQcAYaiAdNwMAIANByBhqIBw3AwAgAyADKQOYECIcNwKcCCADIBw3A7AYIANBEjoA0BggBEUgAkGEAUlyRQRAIAIQAAsCQCABECYiBEUEQCADQfAYakHorMAAKQMANwMAIANB6BhqQeCswAApAwA3AwAgA0HgGGpB2KzAACkDADcDACADQdCswAApAwA3A9gYDAELIAMgBDYCoBkgA0GQEGogA0GgGWpB+KzAABCsASADKAKQEARAIANBEGogA0GcEGopAgA3AwAgA0EYaiADQaQQaikCADcDACADQSBqIANBrBBqKAIANgIAIAMgAykClBA3AwggBEGEAUkNAiAEEAAMAgsgA0HgGGogA0GgEGopAwA3AwAgA0HoGGogA0GoEGopAwA3AwAgA0HwGGogA0GwEGopAwA3AwAgAyADKQOYEDcD2BggBEGEAUkNACAEEAALIAMgARAhIgQ2AvQZIANB6BpqIgUgA0H0GWpBiK3AABCsAQJAAkACQAJAIAMoAugaRQRAIANB7BlqIANBiBtqIgcpAwAiHDcCACADQeQZaiADQYAbaiICKQMAIh03AgAgA0HcGWogA0H4GmoiBikDACIeNwIAIANBgBpqIB43AwAgA0GIGmogHTcDACADQZAaaiAcNwMAIAMgAykD8BoiHDcC1BkgAyAcNwP4GSADIAEQIiIENgLkGiAFIANB5BpqQZitwAAQrAEgAygC6BoNAiADQdwaaiAHKQMAIhw3AgAgA0HUGmogAikDACIdNwIAIANBzBpqIAYpAwAiHjcCACADQaAaaiAeNwMAIANBqBpqIB03AwAgA0GwGmogHDcDACADIAMpA/AaIhw3AsQaIAMgHDcDmBogA0ESOgC4GiACIANB8BhqKQMANwMAIAYgA0HoGGopAwA3AwAgA0HwGmogA0HgGGopAwA3AwAgA0GMG2pBADYAACADIAMpA9gYNwPoGiADQQA2AIkbIANBEjoAiBsgA0GQEGohDCADQfgZaiEWIANBmBpqIRQgA0GIGGohFyADQbAYaiECIAEQI0EARyEHIwBB4BFrIgYkACAGQfAIaiIIIANBKGoiBBCcAQJAAkACQAJAAn8CQAJAAkACQCAGKALwCEUEQCAGQdgRaiAGQZgJaikDADcDACAGQdARaiAGQZAJaikDADcDACAGQcgRaiAGQYgJaiIKKQMANwMAIAZBwBFqIAZBgAlqIgkpAwA3AwAgBiAGKQP4CDcDuBEgCiAEQZgGaikDADcDACAJIARBkAZqKQMANwMAIAZB+AhqIARBiAZqKQMANwMAIAZBEjoAkAkgBiAEKQOABjcD8AggBkGIAWogBkG4EWogCBDPASAGQRBqIAZBkAFqKQMANwMAIAZBGGogBkGYAWopAwA3AwAgBkEgaiAGQaABaikDADcDACAGQShqIAZBqAFqKQMANwMAIAYgBikDiAE3AwgCQCAGQQhqIAIQnAJB/wFxIggEQCAIQf8BRw0BDAoLIAYtACggAi0AIEkNCQsCQAJAAkAgBkEIaiAFEJwCIgJB/wFxDgMAAQIBCyAGLQAoIgIgBS0AICIFSQ0BIAIgBUchAgsgAkH/AXFBAUYNCQsgBkHIAGogBEG4AWopAwA3AwAgBkFAayAEQbABaikDADcDACAGQThqIARBqAFqKQMANwMAIAZBEjoAUCAGIAQpA6ABNwMwIAZB8AhqIhIgBCAWEIQBIAYoAvAIDQEgBkH4AGogBkGYCWopAwA3AwAgBkHwAGogBkGQCWopAwA3AwAgBkHoAGogBkGICWopAwA3AwAgBkHgAGogBkGACWopAwA3AwAgBiAGKQP4CDcDWCMAQfAIayIIJAAgCEGQAWogBEHYBWopAwA3AwAgCEGIAWogBEHQBWopAwA3AwAgCEGAAWogBEHIBWopAwA3AwAgCEESOgCYASAIIAQpA8AFNwN4IBICfwJAAkAgFCAIQfgAahCcAkH/AXEiAgRAIAJB/wFHDQEMAgsgFC0AIEESSQ0BCwJAAkACQCAHRQRAIAhB+ABqIBQQ1wEgCCgCeA0BIAhBIGogCEGYAWopAwA3AwAgCEEYaiAIQZABaikDADcDACAIQRBqIAhBiAFqKQMANwMAIAggCCkDgAE3AwgMAwsgCEGQAWogBEHYAWopAwA3AwAgCEGIAWogBEHQAWopAwA3AwAgCEGAAWogBEHIAWopAwA3AwAgCEESOgCYASAIIAQpA8ABNwN4IAhB0ABqIgIgFCAIQfgAahDEASAIQShqIAIQ1wEgCCgCKEUNASASIAgoAiw2AgRBAQwECyASIAgoAnw2AgRBAQwDCyAIQSBqIAhByABqKQMANwMAIAhBGGogCEFAaykDADcDACAIQRBqIAhBOGopAwA3AwAgCCAIKQMwNwMICyAIQfgAaiEHIwBBwAdrIgUkACAFQSBqIARBGGopAwA3AwAgBUEYaiAEQRBqKQMANwMAIAVBEGogBEEIaikDADcDACAFQThqIARBiAFqKQMANwMAIAVBQGsgBEGQAWopAwA3AwAgBUHIAGogBEGYAWopAwA3AwAgBUESOgAoIAUgBCkDADcDCCAFIAQpA4ABNwMwIAQpAyAhHCAFQeAAaiAEQagFaikDADcDACAFQegAaiAEQbAFaikDADcDACAFQfAAaiAEQbgFaikDADcDACAFQRI6AFAgBUESOgB4IAUgBCkDoAU3A1ggBUGoAWogBEEwaikDADcDACAFQbABaiAEQThqKQMANwMAIAUgHDcDmAEgBSAEKQMoNwOgASAFQcAGaiEKIAVBCGohDiAFQZgBaiEJIAVBMGohESAFQdgAaiEQIwBBsANrIgIkACACQSBqIg1CADcDACACQRhqIg9CADcDACACQRBqIhNCADcDACACQgA3AwgCQAJAAkACQAJAAkAgCEEIaiILIAJBCGoiFUEgEK4DBEAgFSAOENcBIAIoAggNASACKQMYIhwgCykDCHwiHSAcVCENIAIpAyAiHiALKQMQfCIcIB5UIQ8gAikDECIeIAspAwB8Ih8gHloEfiANrQUgHUIBfCIdUK0gDa18CyIeUAR+IA+tBSAcIBwgHnwiHFatIA+tfAshISACKQMoISIgCykDGCEkIAJBCGoiDSAQENcBIAIoAggNAiACKQMoIR4gAikDICEjIAIpAxghICACKQMQISUCQAJ/ICIgJHwiIiAhICJ8ICFQGyIhQgBTBEAgHkIAWQ0GIAJCACAffSIiNwOIAyACIB1Cf4VCACAdfSIkICJCAFIiCxs3A5ADIAIgHEJ/hSIiICRQIAtBf3NxIgutfCIkICIgCxs3A5gDIAIgCyAiICRWca0gIUJ/hXw3A6ADIAJCACAlfSIlNwMIIAIgIEJ/hUIAICB9IiIgJUIAUiILGzcDECACICNCf4UiICAiUCALQX9zcSILrXwiIyAgIAsbNwMYIAIgCyAgICNWca0gHkJ/hXw3AyAgDSACQYgDahCcAgwBCyAeQgBTDQEgAiAhNwOgAyACIBw3A5gDIAIgHTcDkAMgAiAfNwOIAyACIB43AyAgAiAjNwMYIAIgIDcDECACICU3AwggAkGIA2ogAkEIahCcAgtB/wFxQf8BRg0ECyACICE3A6ADIAIgHDcDmAMgAiAdNwOQAyACIB83A4gDIAJBCGoiDSACQYgDaiILELQBIAIoAggNBCACQZgBaiIVIAJBMGopAwA3AwAgAkGQAWoiGCACQShqIhMpAwA3AwAgAkGIAWoiGSACQSBqIg8pAwA3AwAgAkGAAWoiGiACQRhqIhApAwA3AwAgAiACKQMQNwN4IAkpAwAhHAJAAkACQAJAAkAgCSkDGCIdQgBTDQAgCSkDCCEeIAkpAxAhHyACIB03A6ADIAIgHzcDmAMgAiAeNwOQAyACIBw3A4gDIA9CADcDACAQQgA3AwAgAkEQaiIbQgA3AwAgAkIANwMIIAsgDRCcAkH/AXFBAk8NACACQaADaiAJQRhqKQMANwMAIAJBmANqIAlBEGopAwA3AwAgAkGQA2ogCUEIaikDADcDACACIAkpAwA3A4gDIA0gCxC0ASACKAIIDQEgAkHAAWogAkEwaikDADcDACACQbgBaiATKQMANwMAIAJBsAFqIA8pAwA3AwAgAkGoAWogECkDADcDACACIAIpAxA3A6ABIBMgFSkDADcDACAPIBgpAwA3AwAgECAZKQMANwMAIBsgGikDADcDACACIAIpA3g3AwggCyANIAJBoAFqIA4QeyACQfABaiALENcBIAIoAvABDQIgAikDkAIhHSACKQOIAiEeIAIpA4ACIR8gAikD+AEhHAwKCwJAIAlBqMPAAEEgEK4DBEAgCSkDCCIeQn+FQgAgHn0iH0IAIBx9IhxCAFIiCxshHiAJKQMQQn+FIiAgH1AgC0F/c3EiCa18IiEgICAJGyEfIAkgICAhVnGtIB1Cf4V8IR0MAQsgCSkDECEfIAkpAwghHgsgAiAdNwOgAyACIB83A5gDIAIgHjcDkAMgAiAcNwOIAyACQQhqIgsgAkGIA2oiCRC0ASACKAIIDQIgAkHoAWogAkEwaikDADcDACACQeABaiACQShqIg0pAwA3AwAgAkHYAWogAkEgaiIPKQMANwMAIAJB0AFqIAJBGGoiECkDADcDACACIAIpAxA3A8gBIA0gAkGYAWopAwA3AwAgDyACQZABaikDADcDACAQIAJBiAFqKQMANwMAIAJBEGogAkGAAWopAwA3AwAgAiACKQN4NwMIIAkgCyACQcgBaiAOEHQgAkHwAWogCRDXASACKALwAUUNAyACKAL0ASEJIApBATYCACAKIAk2AgQMCgsgAigCDCEJIApBATYCACAKIAk2AgQMCQsgAigC9AEhCSAKQQE2AgAgCiAJNgIEDAgLIAIoAgwhCSAKQQE2AgAgCiAJNgIEDAcLIAJBsAJqIAJBkAJqKQMANwMAIAJBqAJqIAJBiAJqKQMANwMAIAJBoAJqIAJBgAJqKQMANwMAIAIgAikD+AE3A5gCIAIpA5gCIRwgAkGYAmpBqMPAAEEgEK4DBEAgAikDoAIiHUJ/hUIAIB19Ih5CACAcfSIcQgBSIgkbIR8gAikDqAJCf4UiHSAeUCAJQX9zcSIJrXwiICAdIAkbIR4gCSAdICBWca0gAikDsAJCf4V8IR0MBgsgAikDsAIhHSACKQOoAiEeIAIpA6ACIR8MBQsgAkHIAGogDkEgaikDADcDACACQUBrIA5BGGopAwA3AwAgAkE4aiAOQRBqKQMANwMAIAJBMGogDkEIaikDADcDACATIAlBCGopAwA3AwAgDyAJQRBqKQMANwMAIA0gCUEYaikDADcDACACIA4pAwA3AyggAiAJKQMANwMIIAJB8ABqIBFBIGopAwA3AwAgAkHoAGogEUEYaikDADcDACACQeAAaiARQRBqKQMANwMAIAJB2ABqIBFBCGopAwA3AwAgAiARKQMANwNQIApBCGogAkEIakHwABCsAxogCkEANgIADAULIAIoAgwhCSAKQQE2AgAgCiAJNgIEDAQLIAIgAigCDDYCiANB7cTAAEErIAJBiANqQZjFwABB4NjAABCXAgALIAJBADYCGCACQQE2AgwgAkHI2MAANgIIIAJCBDcCECACQQhqQdDYwAAQ0gEhCSAKQQE2AgAgCiAJNgIEDAILIAIoAgwhCSAKQQE2AgAgCiAJNgIEDAELIAJBoANqIgkgBEEYaikDADcDACACQZgDaiIOIARBEGopAwA3AwAgAkGQA2oiCyAEQQhqKQMANwMAIAJBEjoAqAMgAiAEKQMANwOIAyACQYgCaiAEQThqKQMANwMAIAJBgAJqIARBMGopAwA3AwAgAkH4AWogBEEoaikDADcDACACIAQpAyA3A/ABIAJBCGoiDSACQYgDaiIPIAJB8AFqIhAQygECQCACKAIIRQRAIAJB2AJqIAJBMGopAwA3AwAgAkHQAmogAkEoaiITKQMANwMAIAJByAJqIAJBIGopAwA3AwAgAkHAAmogAkEYaikDADcDACACIAIpAxA3A7gCIAIgHTcDiAIgAiAeNwOAAiACIB83A/gBIAIgHDcD8AEgAkGoA2ogAkGYAWoiFSkDADcDACAJIAJBkAFqKQMANwMAIA4gAkGIAWopAwA3AwAgCyACQYABaikDADcDACACIAIpA3g3A4gDIA0gDyAQEMoBIAIoAggNASACQYADaiACQTBqKQMANwMAIAJB+AJqIBMpAwA3AwAgAkHwAmogAkEgaikDADcDACACQegCaiACQRhqKQMANwMAIAIgAikDEDcD4AIgCkHQAGogESACQeACaiACQbgCahB7IAogHTcDICAKIB43AxggCiAfNwMQIAogHDcDCCAKQQA2AgAgCkHIAGogFSkDADcDACAKQUBrIAJBkAFqKQMANwMAIApBOGogAkGIAWopAwA3AwAgCkEwaiACQYABaikDADcDACAKIAIpA3g3AygMAgsgAigCDCEJIApBATYCACAKIAk2AgQMAQsgAigCDCEJIApBATYCACAKIAk2AgQLIAJBsANqJAACfiAFKALABkUEQCAFQegFaiAFQfAGaikDADcDACAFQfAFaiAFQfgGaikDADcDACAFQfgFaiAFQYAHaikDADcDACAFQYgBaiAFQdgGaikDADcDACAFQZABaiAFQeAGaikDADcDACAFQYgGaiAFQZgHaikDADcDACAFQZAGaiAFQaAHaikDADcDACAFQZgGaiAFQagHaikDADcDACAFIAUpA+gGNwPgBSAFIAUpA9AGNwOAASAFIAUpA5AHNwOABiAFKQPIBgwBCyAFQZgBaiICQezEwABBARCwAQJAIAUoApgBRQRAIAVBuAZqIgogBUG4AWoiCSkDADcDACAFQbAGaiIOIAVBsAFqIhEpAwA3AwAgBUGoBmoiCyAFQagBaiINKQMANwMAIAUgBSkDoAE3A6AGIAJB7MTAAEEBELABIAUoApgBRQ0BIAUgBSgCnAE2AtwFQe3EwABBKyAFQdwFakGYxcAAQYjcwAAQlwIACyAFIAUoApwBNgKgBkHtxMAAQSsgBUGgBmpBmMXAAEGY3MAAEJcCAAsgBUGYBmogCSkDADcDACAFQZAGaiARKQMANwMAIAVBiAZqIA0pAwA3AwAgBUHoBWogCykDADcDACAFQfAFaiAOKQMANwMAIAVB+AVqIAopAwA3AwAgBSAFKQOgATcDgAYgBSAFKQOgBjcD4AUgBUGQAWpCADcDACAFQYgBakIANwMAIAVCADcDgAEgBUHABmpBBHIQ7QJCAAshHCAHIAQpA0A3A0ggByAEKQNgNwNoIAcgBCkDoAE3A6gBIAdB4ABqIARB2ABqKQMANwMAIAdB2ABqIARB0ABqKQMANwMAIAdB0ABqIARByABqKQMANwMAIAdB8ABqIARB6ABqKQMANwMAIAdB+ABqIARB8ABqKQMANwMAIAdBgAFqIARB+ABqKQMANwMAIAdBsAFqIARBqAFqKQMANwMAIAdBuAFqIARBsAFqKQMANwMAIAdBwAFqIARBuAFqKQMANwMAIAdB4AFqIARB2AFqKQMANwMAIAdB2AFqIARB0AFqKQMANwMAIAdB0AFqIARByAFqKQMANwMAIAcgBCkDwAE3A8gBIAdBgAJqIARB+AFqKQMANwMAIAdB+AFqIARB8AFqKQMANwMAIAdB8AFqIARB6AFqKQMANwMAIAcgBCkD4AE3A+gBIAdBoAJqIARBmAJqKQMANwMAIAdBmAJqIARBkAJqKQMANwMAIAdBkAJqIARBiAJqKQMANwMAIAcgBCkDgAI3A4gCIAdBwAJqIARBuAJqKQMANwMAIAdBuAJqIARBsAJqKQMANwMAIAdBsAJqIARBqAJqKQMANwMAIAcgBCkDoAI3A6gCIAdB4AJqIARB2AJqKQMANwMAIAdB2AJqIARB0AJqKQMANwMAIAdB0AJqIARByAJqKQMANwMAIAcgBCkDwAI3A8gCIAdBgANqIARB+AJqKQMANwMAIAdB+AJqIARB8AJqKQMANwMAIAdB8AJqIARB6AJqKQMANwMAIAcgBCkD4AI3A+gCIAdBoANqIARBmANqKQMANwMAIAdBmANqIARBkANqKQMANwMAIAdBkANqIARBiANqKQMANwMAIAcgBCkDgAM3A4gDIAdBwANqIARBuANqKQMANwMAIAdBuANqIARBsANqKQMANwMAIAdBsANqIARBqANqKQMANwMAIAcgBCkDoAM3A6gDIAdB4ANqIARB2ANqKQMANwMAIAdB2ANqIARB0ANqKQMANwMAIAdB0ANqIARByANqKQMANwMAIAcgBCkDwAM3A8gDIAVByARqIARB4AZqENACIAVB3ARqIARB9AZqENACIAVB8ARqIARBiAdqENACIAVB4AJqIARB+ARqKQMANwMAIAVB2AJqIARB8ARqKQMANwMAIAVB0AJqIARB6ARqKQMANwMAIAVB8AJqIARBiAVqKQMANwMAIAVB+AJqIARBkAVqKQMANwMAIAVBgANqIARBmAVqKQMANwMAIAVBkANqIARBoAVqIgJBCGopAwA3AwAgBUGYA2ogAkEQaikDADcDACAFQaADaiACQRhqKQMANwMAIAUgBCkD4AQ3A8gCIAUgBCkDgAU3A+gCIAUgAikDADcDiAMgBUHAA2ogBEHYBWopAwA3AwAgBUG4A2ogBEHQBWopAwA3AwAgBUGwA2ogBEHIBWopAwA3AwAgBUHgA2ogBEH4BWopAwA3AwAgBUHYA2ogBEHwBWopAwA3AwAgBUHQA2ogBEHoBWopAwA3AwAgBUGABGogBEGYBmopAwA3AwAgBUH4A2ogBEGQBmopAwA3AwAgBUHwA2ogBEGIBmopAwA3AwAgBSAEKQPABTcDqAMgBSAEKQPgBTcDyAMgBSAEKQOABjcD6AMgBUGgBGogBEG4BmopAwA3AwAgBUGYBGogBEGwBmopAwA3AwAgBUGQBGogBEGoBmopAwA3AwAgBSAEKQOgBjcDiAQgBUHABGogBEHYBmopAwA3AwAgBUG4BGogBEHQBmopAwA3AwAgBUGwBGogBEHIBmopAwA3AwAgBSAEKQPABjcDqAQgBUGEBWogBEGcB2oQ0AIgBUGYBWogBEGwB2oQ0AIgBUGsBWogBEHEB2oQ0AIgBUHABWogBEHYB2oQ0AIgBUH4BmogBEGYBGopAwA3AwAgBUHwBmogBEGQBGopAwA3AwAgBUHoBmogBEGIBGopAwA3AwAgBUGIB2ogBEGoBGopAwA3AwAgBUGQB2ogBEGwBGopAwA3AwAgBUGYB2ogBEG4BGopAwA3AwAgBUGoB2ogBEHIBGopAwA3AwAgBUGwB2ogBEHQBGopAwA3AwAgBUG4B2ogBEHYBGopAwA3AwAgBSAEKQOABDcD4AYgBSAEKQOgBDcDgAcgBSAEKQPABDcDoAcgBUHYBmogBEH4A2opAwA3AwAgBUHQBmogBEHwA2opAwA3AwAgBUHIBmogBEHoA2opAwA3AwAgBSAEKQPgAzcDwAYgBUHIAWoiAiAFQcAGakGAARCsAxogB0EgaiAFQfgFaikDADcDACAHQRhqIAVB8AVqKQMANwMAIAdBEGogBUHoBWopAwA3AwAgByAFKQPgBTcDCCAHIBw3AyggByAFKQOAATcDMCAHQThqIAVBiAFqKQMANwMAIAdBQGsgBUGQAWopAwA3AwAgByAFKQOABjcDiAEgB0GQAWogBUGIBmopAwA3AwAgB0GYAWogBUGQBmopAwA3AwAgB0GgAWogBUGYBmopAwA3AwAgB0HoA2ogAkGQBBCsAxogB0EANgIAIAVBwAdqJAAgCCgCeEUEQCASQQhqIAhBgAFqQfAHEKwDGkEADAILIBIgCCgCfDYCBEEBDAELIAhBADYCiAEgCEEBNgJ8IAhBjNfAADYCeCAIQgQ3AoABIBIgCEH4AGpBlNfAABDSATYCBEEBCzYCACAIQfAIaiQAIAYoAvAIDQIgBkGAAWoiAiAGQfgIakHwBxCsAxogEiACIBYQhAECQAJAIAYoAvAIRQRAIAZBiBFqIAZBmAlqKQMANwMAIAZBgBFqIAZBkAlqKQMANwMAIAZB+BBqIAZBiAlqKQMANwMAIAZB8BBqIAZBgAlqKQMANwMAIAYgBikD+Ag3A+gQIAZB6BBqIAZB2ABqEJwCQf8BcSICRQ0BIAJB/wFHDQIMCgsgBigC9AghBCAMQQE2AgAgDCAENgIEDAsLIAYtAIgRIAYtAHhJDQgLIAYpA2ghHyAGKQNgIRwgBikD+BAhICAGKQPwECEdAn4gBikD6BAiJSAGKQNYIiJaBEAgHCAdVq0hHiAdIBx9DAELIBwgHVatIBwgHVGtfCEeIB0gHEJ/hXwLISQgBikDcCEhIAYpA4ARISMgICAffSEcAkAgHlAEQCAfICBWrSEdDAELIBwgHlStIB8gIFatfCEdIBwgHn0hHAsgIyAhfSEeAkAgHVAEQCAhICNYDQEMCAsgISAjViAdIB5Wcg0HIB4gHX0hHgsgBkESOgDYESAGIB43A9ARIAYgHDcDyBEgBiAkNwPAESAGICUgIn03A7gRIAZBkAlqIAZB+ABqKQMANwMAIAZBiAlqIgIgBkHwAGopAwA3AwAgBkGACWoiBSAGQegAaikDADcDACAGQfgIaiIHIAZB4ABqKQMANwMAIAYgBikDWDcD8AggBkGQEWoiCCAGQbgRaiAGQTBqIAZB8AhqIgoQeyACIARB2AVqKQMANwMAIAUgBEHQBWopAwA3AwAgByAEQcgFaikDADcDACAGQRI6AJAJIAYgBCkDwAU3A/AIAkAgCCAKEJwCQf8BcSIEBEAgBEH/AUcNAQwGCyAGLQCwEUESSQ0FCyAGQZAJaiAGQbARaikDADcDACAGQYgJaiAGQagRaikDADcDACAGQYAJaiAGQaARaikDADcDACAGQfgIaiAGQZgRaikDADcDACAGIAYpA5ARNwPwCCAGQbgRaiIEIBQgBkHwCGoQxAECQCAEIBcQnAJB/wFxIgQEQCAEQf8BRw0BDAULIAYtANgRIBctACBJDQQLIAwgBikDkBE3AwggDEEANgIAIAxBKGogBkGwEWopAwA3AwAgDEEgaiAGQagRaikDADcDACAMQRhqIAZBoBFqKQMANwMAIAxBEGogBkGYEWopAwA3AwAMCQsgBigC9AghBCAMQQE2AgAgDCAENgIEDAgLIAYoAvQIIQQgDEEBNgIAIAwgBDYCBAwHCyAGKAL0CCEEIAxBATYCACAMIAQ2AgQMBgsgBkEANgKACSAGQQE2AvQIIAZBpNbAADYC8AggBkIENwL4CCAGQfAIakGs1sAAENIBDAELIAZBADYCgAkgBkEBNgL0CCAGQeDVwAA2AvAIIAZCBDcC+AggBkHwCGpB6NXAABDSAQshBCAMQQE2AgAgDCAENgIEDAMLIAZBADYCgAkgBkEBNgL0CCAGQeTEwAA2AvAIIAZCBDcC+AggBkHwCGpBtMTAABDFAgALIAZBADYCgAkgBkEBNgL0CCAGQZDVwAA2AvAIIAZCBDcC+AggBkHwCGpBmNXAABDSASEEIAxBATYCACAMIAQ2AgQMAQsgBkEANgKACSAGQQE2AvQIIAZBsNPAADYC8AggBkIENwL4CCAGQfAIakGk1MAAENIBIQQgDEEBNgIAIAwgBDYCBAsgBkHgEWokACADQZgIaiAMQaitwAAQkAIgAygCmAgNASADQcQZaiADQcAIaikDACIcNwIAIANBvBlqIANBuAhqKQMAIh03AgAgA0G0GWogA0GwCGopAwAiHjcCACADQawZaiADQagIaikDACIfNwIAIANBgBlqIB83AwAgA0GIGWogHjcDACADQZAZaiAdNwMAIANBmBlqIBw3AwAgAyADKQOgCCIcNwKkGSADIBw3A/gYIAMoAuQaIgRBhAFPBEAgBBAACyADKAL0GSIEQYQBTwRAIAQQAAsgA0EIaiADQfgYakG4rcAAELgBDAULIANB6BlqIANBhBtqKAIAIgI2AgAgA0HgGWogA0H8GmopAgAiHDcDACADQdgZaiADQfQaaikCACIdNwMAIANBEGogHTcDACADQRhqIBw3AwAgA0EgaiACNgIAIAMgAykC7BoiHDcD0BkgAyAcNwMIDAMLIANBuBlqIANBtAhqKAIAIgQ2AgAgA0GwGWogA0GsCGopAgAiHDcDACADQagZaiADQaQIaikCACIdNwMAIANBEGogHTcDACADQRhqIBw3AwAgA0EgaiAENgIAIAMgAykCnAgiHDcDoBkgAyAcNwMIIAMoAuQaIQQMAQsgA0HYGmogA0GEG2ooAgAiAjYCACADQdAaaiADQfwaaikCACIcNwMAIANByBpqIANB9BpqKQIAIh03AwAgA0EQaiAdNwMAIANBGGogHDcDACADQSBqIAI2AgAgAyADKQLsGiIcNwPAGiADIBw3AwgLIARBhAFPBEAgBBAACyADKAL0GSEECyAEQYQBSQ0AIAQQAAsgAUGDAUsEQCABEAALAn8gAygCCCIBQQJGBEAgAygCDCECQQAMAQsgA0GoEGogA0EgaigCADYCACADQaAQaiADQRhqKQMANwMAIANBmBBqIANBEGopAwA3AwAgAyADKQMINwOQEEEAIQIgA0GQEGoQ5QELIQQgACABQQJHNgIIIAAgBDYCBCAAIAI2AgAgA0GQG2okAAuTEgIJfw5+IwBBgARrIgMkACADQaADakHYx8AAQQQQsAECQAJAAkACQAJAAkACQAJAAkAgAygCoANFBEAgA0HAAmogA0HIA2opAwA3AwAgA0G4AmogA0HAA2opAwA3AwAgA0GwAmogA0G4A2opAwA3AwAgA0GoAmogA0GwA2opAwA3AwAgAyADKQOoAzcDoAIgA0EwaiABQcgBaikDADcDACADQThqIAFB0AFqKQMANwMAIANBQGsgAUHYAWopAwA3AwAgAyABKQPAATcDKCADQRI6AEggASkDiAEiDCACKQMIfCIOIAxUIQQgAikDECENIAEpA5ABIQwCfiABKQOAASIPIAIpAwB8IhQgD1QiCEUEQCAOIQ8gBK0MAQsgDkIBfCIPUK0gBK18CyERIAIpAxghEiAMIAwgDXwiDFYhAiABKQOYASITIBIgE3wiEFYhBQJAAn4gEVAEQCAMIQ0gAq0MAQsgDCARfCINIAxUrSACrXwLIhFQBEAgAyAQNwO4ASADIA03A7ABIAMgDzcDqAEgAyAUNwOgASAFRQ0BDAoLIAMgDTcDsAEgAyAPNwOoASADIBQ3A6ABIAMgECARfCINNwO4ASAFIA0gEFRyDQkLIANB8ABqIgZBEjoAACADQegAaiABKQPYBiITNwMAIANB4ABqIAEpA9AGIhI3AwAgA0HYAGogASkDyAYiDzcDACADQRI6AMABIAMgASkDwAYiFTcDUCADQegCaiAGKQMANwMAIANB4AJqIBM3AwAgA0HYAmogEjcDACADQdACaiAPNwMAIAMgFTcDyAIgA0GgA2oiByADQaABaiADQcgCahBuIAMoAqADDQEgA0GYAWogA0HIA2opAwA3AwAgA0GQAWogA0HAA2opAwA3AwAgA0GIAWogA0G4A2oiBikDADcDACADQYABaiADQbADaiIJKQMANwMAIAMgAykDqAM3A3ggA0H4AmoiCiADQShqIgsgA0H4AGoQxgEgAyADQaACaiAKEMUBIAYgAUGYBWopAwA3AwAgCSABQZAFaikDADcDACADQagDaiABQYgFaikDADcDACADQRI6AMADIAMgASkDgAU3A6ADIANB+AFqIAcgCxDFASAHIAEQggEgAygCoAMNAiADKQPAAyEXIAMpA7gDIRggAykDsAMhFiADKQOoAyEZAkAgCAR+IA5CAXwiDlCtIAStfAUgBK0LIg1QBH4gAq0FIAwgDCANfCIMVq0gAq18CyINUARAIAMgEDcDkAMgAyAMNwOIAyADIA43A4ADIAMgFDcD+AIgBUUNAQwJCyADIAw3A4gDIAMgDjcDgAMgAyAUNwP4AiADIA0gEHwiDDcDkAMgBSAMIBBUcg0ICyADQRI6AJgDIANBoANqQdjHwABBBBCwASADKAKgAw0DIAMpA7gDIQ4gAykDsAMhDAJ+IBUgAykDqAMiFFgEQCAMIA99IREgDCAPVK0MAQsgDCAPQn+FfCERIAwgD1StIAwgD1GtfAshDSADKQPAAyEQIA4gEn0hDAJAIA1QBEAgDiASVK0hDgwBCyAMIA1UrSAOIBJUrXwhDiAMIA19IQwLIBAgE30hDQJAIA5QBEAgECATWg0BDAsLIBAgE1QgDSAOVHINCiANIA59IQ0LIANBEjoAwAMgAyANNwO4AyADIAw3A7ADIAMgETcDqAMgAyAUIBV9NwOgAyADQcgCaiADQfgCaiADQaADahBuIAMoAsgCDQQgAykD4AIhDiADKQPYAiEMAn4gAykD0AIiFCAZWARAIBYgDH0hESAMIBZWrQwBCyAWIAxCf4V8IREgDCAWVq0gDCAWUa18CyENIAMpA+gCIRAgGCAOfSEMAkAgDVAEQCAOIBhWrSEODAELIAwgDVStIA4gGFatfCEOIAwgDX0hDAsgFyAQfSENAkAgDlAEQCAQIBdYDQEMCwsgDSAOVCAQIBdWcg0KIA0gDn0hDQsgA0ESOgDAAiADIA03A7gCIAMgDDcDsAIgAyARNwOoAiADIBkgFH03A6ACIANB0AFqIANB+AFqIANBoAJqEMYBIANBoANqQdjHwABBBBCwASADKAKgAw0FIAMpA7gDIQ4gAykDsAMhDAJ+IBUgAykDqAMiEFgEQCAMIA99IREgDCAPVK0MAQsgDCAPQn+FfCERIAwgD1StIAwgD1GtfAshDSADKQPAAyEPIA4gEn0hDAJAIA1QBEAgDiASVK0hDgwBCyAMIA1UrSAOIBJUrXwhDiAMIA19IQwLIA8gE30hDQJAIA5QBEAgDyATWg0BDAsLIA0gDlQgDyATVHINCiANIA59IQ0LIANBEjoAwAMgAyANNwO4AyADIAw3A7ADIAMgETcDqAMgAyAQIBV9NwOgAyADQcgCaiIBIANB0ABqIANBoANqEMUBIANBoAFqIANB0AFqIAEQbiADKAKgAUUEQCADQfADaiADQcgBaikDADcDACADQegDaiADQcABaikDADcDACADQeADaiADQbgBaikDADcDACADQdgDaiADQbABaikDADcDACADIAMpA6gBNwPQAyAAQQhqIAMgA0HQA2oQxgEgAEEANgIADAcLIAMoAqQBIQEgAEEBNgIAIAAgATYCBAwGCyADIAMoAqQDNgLIAkHtxMAAQSsgA0HIAmpBmMXAAEHM7MAAEJcCAAsgAygCpAMhASAAQQE2AgAgACABNgIEDAQLIAMoAqQDIQEgAEEBNgIAIAAgATYCBAwDCyADIAMoAqQDNgL8A0HtxMAAQSsgA0H8A2pBmMXAAEG87MAAEJcCAAsgAygCzAIhASAAQQE2AgAgACABNgIEDAELIAMgAygCpAM2AsgCQe3EwABBKyADQcgCakGYxcAAQazswAAQlwIACyADQYAEaiQADwsgA0EANgKwAyADQQE2AqQDIANB4IfBADYCoAMgA0IENwKoAyADQaADakH0hcEAEMUCAAsgA0EANgLYAiADQQE2AswCIANB4IfBADYCyAIgA0IENwLQAiADQcgCakH0hcEAEMUCAAsgA0EANgKwAyADQQE2AqQDIANB5MTAADYCoAMgA0IENwKoAyADQaADakG0xMAAEMUCAAukEQIPfw5+IwBBoANrIgMkACADQYgDaiACQSBqKQMANwMAIANBgANqIgYgAkEYaikDADcDACADQfgCaiIFIAJBEGopAwA3AwAgA0HwAmoiBCACQQhqKQMANwMAIAMgAikDADcD6AIgA0GoAmogASADQegCahC+AQJAAkAgAygCqAIEQCADKAKsAiEBIABBATYCACAAIAE2AgQMAQsgA0EwaiADQdACaiIMKQMANwMAIANBKGogA0HIAmoiBykDADcDACADQSBqIANBwAJqIggpAwA3AwAgA0EYaiADQbgCaiIJKQMANwMAIAMgAykDsAI3AxAgA0HoAGoiDSABQcgBaikDADcDACADQfAAaiIOIAFB0AFqKQMANwMAIANB+ABqIg8gAUHYAWopAwA3AwAgAyABKQPAATcDYCADQYABaiIQQRI6AAAgByAQKQMANwMAIAggDykDADcDACAJIA4pAwA3AwAgA0GwAmoiCiANKQMANwMAIAMgAykDYDcDqAIgA0E4aiADQRBqIhEgA0GoAmoiCxDFASAGIAFBuARqKQMANwMAIAUgAUGwBGopAwA3AwAgBCABQagEaikDADcDACADQRI6AIgDIAMgASkDoAQ3A+gCIAogESADQegCaiIGEMcBIANBuAFqIAkpAwA3AwAgA0HAAWogCCkDADcDACADQcgBaiAHKQMANwMAIANB0AFqIAwpAwA3AwAgAyADKQOwAjcDsAEgByAQKQMANwMAIAggDykDADcDACAJIA4pAwA3AwAgCiANKQMANwMAIAMgAykDYDcDqAIgA0GIAWogA0GwAWogCxDFASALIAEgAhBnAkACQAJAAkAgAygCqAJFBEAgA0H4AWogDCkDACIbNwMAIANB8AFqIAciBSkDACIVNwMAIANB6AFqIAgiBCkDACIUNwMAIANB4AFqIAkiASkDACIZNwMAIAMgAykDsAIiGDcD2AEgBSAbNwMAIAQgFTcDACABIBQ3AwAgCiAZNwMAIAMgGDcDqAIgBiALIANB4ABqEMYBAkACQAJAAkACQAJAIAYgAhCcAiIBQf8BcQ4DAAECAQsgAy0AiAMiBCACLQAgIgFJDQEgASAERyEBCyABQf8BcUEBRg0BCyADKQOQASEWIAMpA0AhFyADKQOgASEcIAMpA1AhHSADKQNIIhIgAykDmAEiE30hFAJ+An4gAykDOCIfIAMpA4gBIhtUIgJFBEAgFyAWfSEeIBYgF1atDAELIBcgFkJ/hXwhHiAWIBdWrSAWIBdRrXwLIhVQBEAgEiATVK0hGSAUDAELIBQgFVStIBIgE1StfCEZIBQgFX0LIRggHSAcfSEVAn4gGVAEQCAVIBwgHVgNARoMCQsgFSAZVCAcIB1Wcg0IIBUgGX0LIRkgA0ESOgDIAiADIBk3A8ACIAMgGDcDuAIgAyAeNwOwAiADIB8gG30iHjcDqAIgA0HYAWogA0GoAmoQnAJB/wFxIgFFDQEgAUH/AUcNAgwECyADQQA2ArgCIANBATYCrAIgA0Hs0cAANgKoAiADQgQ3ArACIANBqAJqQdzswAAQ0gEhAgwECyADLQD4ASADLQDIAkkNAgsCQAJ+IAJFBEAgFyAWfSEaIBYgF1atDAELIBcgFkJ/hXwhGiAWIBdWrSAWIBdRrXwLIhhQBEAgEiATVK0hEwwBCyAUIBhUrSASIBNUrXwhEyAUIBh9IRQLIAMpA/ABIR8gAykD6AEhGyADKQPgASESIAMpA9gBIRkCQCATUARAIBwgHVgNAQwICyAcIB1WIBMgFVZyDQcgFSATfSEVCwJ+IBkgHloEQCASIBpUrSETIBIgGn0MAQsgEiAaVK0gEiAaUa18IRMgEiAaQn+FfAshGCAbIBR9IRICQCATUARAIBQgG1atIRQMAQsgEiATVK0gFCAbVq18IRQgEiATfSESCyAfIBV9IRMCQCAUUARAIBUgH1gNAQwICyATIBRUIBUgH1ZyDQcgEyAUfSETCyAAQRI6ACggACATNwMgIAAgEjcDGCAAIBg3AxAgAEEANgIAIAAgGSAefTcDCAwFCyADKAKsAiECDAELAn4gAkUEQCAWIBdWrSEaIBcgFn0MAQsgFiAXVq0gFiAXUa18IRogFyAWQn+FfAshGAJAIBpQBEAgEiATVK0hEgwBCyAUIBpUrSASIBNUrXwhEiAUIBp9IRQLAkAgElAEQCAcIB1YDQEMBgsgHCAdViASIBVWcg0FIBUgEn0hFQsgA0ESOgCIAyADIBU3A4ADIAMgFDcD+AIgAyAYNwPwAiADIB43A+gCIANCgICAgJAIIhggA0HoAmqthDcDoAIgAyAYIANB2AFqrYQ3A5gCIANB5AJqQQM6AAAgA0HgAmpBBDYCACADQdgCakKggICAEDcCACADQdACakECNgIAIANBAjYCyAIgA0EDOgDEAiADQQQ2AsACIANCIDcCuAIgA0ECNgKwAiADQQI2AqgCIANBAjYClAIgA0ECNgKEAiADQZztwAA2AoACIAMgA0GoAmo2ApACIANBAjYCjAIgAyADQZgCajYCiAIgA0GUA2oiASADQYACahDTASADQQhqIAFBvIbBAEGs7cAAEKYCIAMoAgwhBSADKAIIIQQgA0GwAmoiASADQZwDaigCADYCAEGZ4MEALQAAGiADIAMpApQDNwOoAkEYQQQQ9wIiAkUNASACIAQ2AgQgAkGkh8EANgIAIAIgAykDqAI3AgwgAiAFNgIIIAJBFGogASgCADYCAAsgAEEBNgIAIAAgAjYCBAwCC0EEQRgQqAMACyADQQA2AvgCIANBATYC7AIgA0HkxMAANgLoAiADQgQ3AvACIANB6AJqQbTEwAAQxQIACyADQaADaiQADwsgA0EANgK4AiADQQE2AqwCIANB5MTAADYCqAIgA0IENwKwAiADQagCakG0xMAAEMUCAAu6EgIUfxZ+IwBB8ARrIgQkACAEQagDaiIKIANBGGoiDSkDADcDACAEQaADaiILIANBEGoiDikDADcDACAEQZgDaiIMIANBCGoiDykDADcDACAEIAMpAwA3A5ADIARB6ANqIgVCADcDACAEQeADaiIGQgA3AwAgBEHYA2oiB0IANwMAIARCADcD0AMgBEGQA2oiCSAEQdADaiIIQSAQrgMEQCAKIAFBGGoiECkDADcDACALIAFBEGoiESkDADcDACAMIAFBCGoiEikDADcDACAEIAEpAwA3A5ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCSAIEJwCIRMgCiACQRhqIhQpAwA3AwAgCyACQRBqIhUpAwA3AwAgDCACQQhqIhYpAwA3AwAgBCACKQMANwOQAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A9ADIAkgCBCcAiEXIAogDSkDADcDACALIA4pAwA3AwAgDCAPKQMANwMAIAQgAykDADcDkAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwPQAyAJIAgQnAIhCiAFIBApAwA3AwAgBiARKQMANwMAIAcgEikDADcDACAEIAEpAwA3A9ADIARB4AJqIgsgCBCeASAFIBQpAwA3AwAgBiAVKQMANwMAIAcgFikDADcDACAEIAIpAwA3A9ADIAkgCBCeASAEQTBqIAQpA+ACIhlCACAEKQOQAyIYQgAQlgIgBEHgAGogBCkD6AIiGkIAIBhCABCWAiAEQdAAaiAEKQPwAiIfQgAgGEIAEJYCIARBQGsgBCkD+AIiHEIAIBhCABCWAiAEQSBqIAQpA5gDIhhCACAZQgAQlgIgBEGQAWogGEIAIBpCABCWAiAEQcABaiAYQgAgH0IAEJYCIARB8AFqIBhCACAcQgAQlgIgBEEQaiAEKQOgAyIYQgAgGUIAEJYCIARBgAFqIBhCACAaQgAQlgIgBEGwAWogGEIAIB9CABCWAiAEQeABaiAYQgAgHEIAEJYCIAQgBCkDqAMiGEIAIBlCABCWAiAEQfAAaiAYQgAgGkIAEJYCIARBoAFqIBhCACAfQgAQlgIgBEHQAWogGEIAIBxCABCWAiAEIAQpAzA3A6ACIARB6ABqKQMAIRwgBCkDUCEZIAQgBCkDICIlIAQpA2AiHSAEQThqKQMAfCIbfCIeNwOoAiAEQZgBaikDACEgIARB2ABqKQMAISEgBCkDQCEYIAQpA8ABIRogBEHIAWopAwAhIiAEQcgAaikDACEmIAQpA/ABIR8gBCAEKQMQIicgBCkDkAEiIyAEQShqKQMAIB4gJVStfCIeIBkgHCAbIB1UrXx8Iht8Ih18IiR8Iig3A7ACIARBiAFqKQMAISkgBCkDsAEhHCAEQbgBaikDACEqIARB+AFqKQMAISsgBCkD4AEhJSAEIAQpAwAiLCAEKQOAASItIARBGGopAwAgJyAoVq18IicgGiAgICMgJFatfCIgIB0gHlStfCIdIBggISAZIBtWrXx8Iht8Ih58IiF8Ihl8IiN8IiQ3A7gCIAQgBCkDcCIoIARBCGopAwAgJCAsVK18IiQgHCApICMgLVStfCIjIBkgJ1StfCIZIB8gIiAaICFWrXwiISAdICBUIB0gHlZyrXwiGiAmIBggG1atfHwiHXwiG3wiHnwiIHwiGHwiIjcDwAIgBCAEKQOgASImIARB+ABqKQMAICIgKFStfCIiIBggJFStfCIYICUgKiAcICBWrXwiHCAZICNUIBkgHlZyrXwiGSAbIB9UrSArIBogIVQgGiAdVnKtfHx8Ihp8Ih98Ih18Ihs3A8gCIARB2AFqKQMAIR4gBCAEKQPQASIgIARBqAFqKQMAIBsgJlStfCIbIBggIlQgGCAdVnKtfCIYIB8gJVStIARB6AFqKQMAIBkgHFQgGSAaVnKtfHx8Ihl8Iho3A9ACIAQgGiAgVK0gHiAYIBtUIBggGVZyrXx8NwPYAiAFIA0pAwA3AwAgBiAOKQMANwMAIAcgDykDADcDACAEIAMpAwA3A9ADIAsgCBCeASAEQcgDakIANwMAIARBwANqQgA3AwAgBEG4A2pCADcDACAEQgA3A7ADIAQgBCkD+AI3A6gDIAQgBCkD8AI3A6ADIAQgBCkD6AI3A5gDIAQgBCkD4AI3A5ADIAggBEGgAmogCRBqAkACQCAEKQOIBCAEKQOABCAEKQP4AyAEKQPwA4SEhFAEQCAEKQPgAyEZIAQpA9gDIRggBCkD0AMhGiAEIAQpA+gDNwOYAiAEIBk3A5ACIAQgGDcDiAIgBCAaNwOAAiAXQf8BcUH/AUYgCkH/AXFB/wFHcyATQf8BcUH/AUZzRQRAIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCSAIEJ4BIARBgAJqIAlBIBCuAw0CIARB6ARqQeCWwAApAwA3AwAgBEHgBGpB2JbAACkDADcDACAEQdgEakHQlsAAKQMANwMAIARByJbAACkDADcD0AQMAwsgBEHoBGogBEGYAmopAwA3AwAgBEHgBGogBEGQAmopAwA3AwAgBEHYBGogBEGIAmopAwA3AwAgBCAEKQOAAjcD0AQMAgsgBCADNgKMAyAEIAI2AogDIAQgATYChAMjAEEwayIAJAAgAEEDNgIEIABB2JnAADYCACAAQgM3AgwgACAEQYQDaiIBNQIIQoCAgIAghDcDKCAAIAE1AgRCgICAgCCENwMgIAAgATUCAEKAgICAIIQ3AxggACAAQRhqNgIIIABBoJrAABDSASEBIABBMGokACAEIAE2AtADQeiVwABBKyAEQdADakGUlsAAQYCawAAQlwIACyAFIARBmAJqKQMANwMAIAYgBEGQAmopAwA3AwAgByAEQYgCaikDADcDACAEIAQpA4ACNwPQAyAEQdAEaiAEQdADahDLAQsgACAEKQPQBDcDACAAQQA2ACEgAEESOgAgIABBJGpBADYAACAAQRhqIARB6ARqKQMANwMAIABBEGogBEHgBGopAwA3AwAgAEEIaiAEQdgEaikDADcDACAEQfAEaiQADwsgBEEANgLgAyAEQQE2AtQDIARBmJnAADYC0AMgBEIENwLYAyAEQdADakGQmsAAEMUCAAu9EgIUfxZ+IwBB8ARrIgQkACAEQagDaiIKIANBGGoiDSkDADcDACAEQaADaiILIANBEGoiDikDADcDACAEQZgDaiIMIANBCGoiDykDADcDACAEIAMpAwA3A5ADIARB6ANqIgVCADcDACAEQeADaiIGQgA3AwAgBEHYA2oiB0IANwMAIARCADcD0AMgBEGQA2oiCSAEQdADaiIIQSAQrgMEQCAKIAFBGGoiECkDADcDACALIAFBEGoiESkDADcDACAMIAFBCGoiEikDADcDACAEIAEpAwA3A5ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCSAIEJwCIRMgCiACQRhqIhQpAwA3AwAgCyACQRBqIhUpAwA3AwAgDCACQQhqIhYpAwA3AwAgBCACKQMANwOQAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A9ADIAkgCBCcAiEXIAogDSkDADcDACALIA4pAwA3AwAgDCAPKQMANwMAIAQgAykDADcDkAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwPQAyAJIAgQnAIhCiAFIBApAwA3AwAgBiARKQMANwMAIAcgEikDADcDACAEIAEpAwA3A9ADIARB4AJqIgsgCBCfASAFIBQpAwA3AwAgBiAVKQMANwMAIAcgFikDADcDACAEIAIpAwA3A9ADIAkgCBCfASAEQTBqIAQpA+ACIhlCACAEKQOQAyIYQgAQlgIgBEHgAGogBCkD6AIiGkIAIBhCABCWAiAEQdAAaiAEKQPwAiIfQgAgGEIAEJYCIARBQGsgBCkD+AIiHEIAIBhCABCWAiAEQSBqIAQpA5gDIhhCACAZQgAQlgIgBEGQAWogGEIAIBpCABCWAiAEQcABaiAYQgAgH0IAEJYCIARB8AFqIBhCACAcQgAQlgIgBEEQaiAEKQOgAyIYQgAgGUIAEJYCIARBgAFqIBhCACAaQgAQlgIgBEGwAWogGEIAIB9CABCWAiAEQeABaiAYQgAgHEIAEJYCIAQgBCkDqAMiGEIAIBlCABCWAiAEQfAAaiAYQgAgGkIAEJYCIARBoAFqIBhCACAfQgAQlgIgBEHQAWogGEIAIBxCABCWAiAEIAQpAzA3A6ACIARB6ABqKQMAIRwgBCkDUCEZIAQgBCkDICIlIAQpA2AiHSAEQThqKQMAfCIbfCIeNwOoAiAEQZgBaikDACEgIARB2ABqKQMAISEgBCkDQCEYIAQpA8ABIRogBEHIAWopAwAhIiAEQcgAaikDACEmIAQpA/ABIR8gBCAEKQMQIicgBCkDkAEiIyAEQShqKQMAIB4gJVStfCIeIBkgHCAbIB1UrXx8Iht8Ih18IiR8Iig3A7ACIARBiAFqKQMAISkgBCkDsAEhHCAEQbgBaikDACEqIARB+AFqKQMAISsgBCkD4AEhJSAEIAQpAwAiLCAEKQOAASItIARBGGopAwAgJyAoVq18IicgGiAgICMgJFatfCIgIB0gHlStfCIdIBggISAZIBtWrXx8Iht8Ih58IiF8Ihl8IiN8IiQ3A7gCIAQgBCkDcCIoIARBCGopAwAgJCAsVK18IiQgHCApICMgLVStfCIjIBkgJ1StfCIZIB8gIiAaICFWrXwiISAdICBUIB0gHlZyrXwiGiAmIBggG1atfHwiHXwiG3wiHnwiIHwiGHwiIjcDwAIgBCAEKQOgASImIARB+ABqKQMAICIgKFStfCIiIBggJFStfCIYICUgKiAcICBWrXwiHCAZICNUIBkgHlZyrXwiGSAbIB9UrSArIBogIVQgGiAdVnKtfHx8Ihp8Ih98Ih18Ihs3A8gCIARB2AFqKQMAIR4gBCAEKQPQASIgIARBqAFqKQMAIBsgJlStfCIbIBggIlQgGCAdVnKtfCIYIB8gJVStIARB6AFqKQMAIBkgHFQgGSAaVnKtfHx8Ihl8Iho3A9ACIAQgGiAgVK0gHiAYIBtUIBggGVZyrXx8NwPYAiAFIA0pAwA3AwAgBiAOKQMANwMAIAcgDykDADcDACAEIAMpAwA3A9ADIAsgCBCfASAEQcgDakIANwMAIARBwANqQgA3AwAgBEG4A2pCADcDACAEQgA3A7ADIAQgBCkD+AI3A6gDIAQgBCkD8AI3A6ADIAQgBCkD6AI3A5gDIAQgBCkD4AI3A5ADIAggBEGgAmogCRBqAkACQCAEKQOIBCAEKQOABCAEKQP4AyAEKQPwA4SEhFAEQCAEKQPgAyEZIAQpA9gDIRggBCkD0AMhGiAEIAQpA+gDNwOYAiAEIBk3A5ACIAQgGDcDiAIgBCAaNwOAAiAXQf8BcUH/AUYgCkH/AXFB/wFHcyATQf8BcUH/AUZzRQRAIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCSAIEJ8BIARBgAJqIAlBIBCuAw0CIARB6ARqQej8wAApAwA3AwAgBEHgBGpB4PzAACkDADcDACAEQdgEakHY/MAAKQMANwMAIARB0PzAACkDADcD0AQMAwsgBEHoBGogBEGYAmopAwA3AwAgBEHgBGogBEGQAmopAwA3AwAgBEHYBGogBEGIAmopAwA3AwAgBCAEKQOAAjcD0AQMAgsgBCADNgKMAyAEIAI2AogDIAQgATYChAMjAEEwayIAJAAgAEEDNgIEIABBpIHBADYCACAAQgM3AgwgACAEQYQDaiIBNQIIQoCAgICACIQ3AyggACABNQIEQoCAgICACIQ3AyAgACABNQIAQoCAgICACIQ3AxggACAAQRhqNgIIIABB7IHBABDSASEBIABBMGokACAEIAE2AtADQfT7wABBKyAEQdADakGg/MAAQcyBwQAQlwIACyAFIARBmAJqKQMANwMAIAYgBEGQAmopAwA3AwAgByAEQYgCaikDADcDACAEIAQpA4ACNwPQAyAEQdAEaiAEQdADahDMAQsgACAEKQPQBDcDACAAQQA2ACEgAEESOgAgIABBJGpBADYAACAAQRhqIARB6ARqKQMANwMAIABBEGogBEHgBGopAwA3AwAgAEEIaiAEQdgEaikDADcDACAEQfAEaiQADwsgBEEANgLgAyAEQQE2AtQDIARB5IDBADYC0AMgBEIENwLYAyAEQdADakHcgcEAEMUCAAuCQwINfw5+IwBBoBBrIgQkACMAQbACayIFJAACQAJAAkACQCADKQMAUARAIAVBiAFqIQcjAEHwEmsiAyQAIANBKGogAkEgaikDADcDACADQSBqIAJBGGopAwA3AwAgA0EYaiACQRBqKQMANwMAIANBEGogAkEIaikDADcDACADIAIpAwA3AwggA0GQC2ogAUHYBWopAwA3AwAgA0GIC2ogAUHQBWopAwA3AwAgA0GAC2ogAUHIBWopAwA3AwAgA0ESOgCYCyADIAEpA8AFNwP4CgJAAkACQAJAAkAgA0EIaiADQfgKahCcAkH/AXEiBgRAIAZB/wFHDQEMAgsgAy0AKCADLQCYC0kNAQsgA0GoA2ogA0EoaikDADcDACADQaADaiADQSBqKQMANwMAIANBmANqIANBGGopAwA3AwAgA0GQA2ogA0EQaikDADcDACADIAMpAwg3A4gDIANBkAtqIgggAUHYAWopAwA3AwAgA0GIC2oiCSABQdABaikDADcDACADQYALaiABQcgBaikDADcDACADQRI6AJgLIAMgASkDwAE3A/gKIANBMGogA0GIA2ogA0H4CmoiBhDEASAGIAEQggECQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAvgKDQAgA0HYAWogA0GgC2opAwA3AwAgA0HQAWogA0GYC2opAwA3AwAgA0HIAWogCCkDADcDACADQcABaiAJKQMANwMAIAMgAykDgAs3A7gBIANByAJqIAFBmAVqKQMANwMAIANBwAJqIAFBkAVqKQMANwMAIANBuAJqIAFBiAVqKQMANwMAIANBEjoA0AIgAyABKQOABTcDsAIgA0GgAWogAUEYaikDADcDACADQZgBaiABQRBqKQMANwMAIANBkAFqIAFBCGopAwA3AwAgA0ESOgCoASADIAEpAwA3A4gBIANBgANqIAFBOGopAwA3AwAgA0H4AmogAUEwaikDADcDACADQfACaiABQShqKQMANwMAIAMgASkDIDcD6AIgBiADQYgBaiADQegCahDKASADKAL4Cg0AIAMpA4gLIhIgAykDOHwiESASVCEGIAMpA5ALIhMgAykDQHwiEiATVCEIIAMpA5gLIhQgAykDSHwiEyAUVCEJAkAgAykDgAsiFSADKQMwfCIUIBVaBH4gBq0FIBFCAXwiEVCtIAatfAsiFVAEfiAIrQUgEiASIBV8IhJWrSAIrXwLIhVQBEAgAyATNwNwIAMgEjcDaCADIBE3A2AgAyAUNwNYIAlFDQEMDAsgAyASNwNoIAMgETcDYCADIBQ3A1ggAyATIBV8IhE3A3AgCSARIBNUcg0LCyADQRI6AHggA0GIAmogA0GwAmogA0HYAGoQxwEgA0H4CmpB2MfAAEEEELABIAMoAvgKDQEgAykDiAshEiABKQPIBiETIAMpA5gLIRcgASkD2AYhFiADKQOQCyIUIAEpA9AGIhh9IRECQAJ+IAMpA4ALIhkgASkDwAYiGloEQCASIBN9IRUgEiATVK0MAQsgEiATQn+FfCEVIBIgE1StIBIgE1GtfAsiElAEQCAUIBhUrSEUDAELIBEgElStIBQgGFStfCEUIBEgEn0hEQsgFyAWfSESAkAgFFAEQCAWIBdYDQEMDwsgEiAUVCAWIBdWcg0OIBIgFH0hEgsgA0ESOgCYCyADIBI3A5ALIAMgETcDiAsgAyAVNwOACyADIBkgGn03A/gKIANBiANqIgwgA0GIAmogA0H4CmoiDRBuAkACQCADKAKIA0UEQCADQYACaiIIIANBsANqKQMANwMAIANB+AFqIgkgA0GoA2oiDikDADcDACADQfABaiIKIANBoANqIg8pAwA3AwAgA0HoAWoiCyADQZgDaiIQKQMANwMAIAMgAykDkAM3A+ABIANBoAFqIAFBwAFqIgZBGGopAwA3AwAgA0GYAWogBkEQaikDADcDACADQZABaiAGQQhqKQMANwMAIANBEjoAqAEgAyAGKQMANwOIASAOIAgpAwA3AwAgDyAJKQMANwMAIBAgCikDADcDACADQZADaiALKQMANwMAIAMgAykD4AE3A4gDIANBkAtqIAFBgAVqIgZBGGopAwA3AwAgA0GIC2ogBkEQaikDADcDACADQYALaiAGQQhqKQMANwMAIANBEjoAmAsgAyAGKQMANwP4CiADQdgAaiADQYgBaiAMIA0QeyALIANB4ABqKQMANwMAIAogA0HoAGopAwA3AwAgCSADQfAAaikDADcDACAIIANB+ABqKQMANwMAIAMgAykDWDcD4AEgA0G4AWogA0HgAWoQnAJB/wFxIgZFDQEgBkH/AUcNAgwKCyADKAKMAyEGDAoLIAMtANgBIAMtAIACSQ0ICyADKQPoASESIAMpA8ABIRQgAykD+AEhFyADKQPQASEZIAMpA8gBIhUgAykD8AEiG30hEQJAAn4gAykDuAEiHSADKQPgASIeWgRAIBQgEn0hHCASIBRWrQwBCyAUIBJCf4V8IRwgEiAUVq0gEiAUUa18CyISUARAIBUgG1StIRUMAQsgESASVK0gFSAbVK18IRUgESASfSERCyAZIBd9IRICQCAVUARAIBcgGVgNAQwPCyASIBVUIBcgGVZyDQ4gEiAVfSESCyADQRI6AKgCIAMgEjcDoAIgAyARNwOYAiADIBw3A5ACIAMgHSAefTcDiAIgA0H4CmpB2MfAAEEEELABAkACQAJAIAMoAvgKRQRAIANBqANqIANBoAtqKQMANwMAIANBoANqIANBmAtqKQMANwMAIANBmANqIANBkAtqKQMANwMAIANBkANqIANBiAtqKQMANwMAIAMgAykDgAs3A4gDIANBiAJqIANBiANqEJwCQf8BcSIGDgMCAQkBCyADIAMoAvwKNgKIAUHtxMAAQSsgA0GIAWpBmMXAAEHA8MAAEJcCAAsgBkECSQ0BDAcLIAMtAKgCIAMtAKgDSQ0GCyADQdACaiADQagCaikDADcDACADQcgCaiADQaACaikDADcDACADQcACaiADQZgCaikDADcDACADQbgCaiADQZACaikDADcDACADIAMpA4gCNwOwAiADQfgKaiIGQdjHwABBBBCwASADKAL4Cg0CIANBqAFqIANBoAtqKQMANwMAIANBoAFqIANBmAtqKQMANwMAIANBmAFqIANBkAtqKQMANwMAIANBkAFqIANBiAtqKQMANwMAIAMgAykDgAs3A4gBIAZB2MfAAEEEELABIAMoAvgKDQMgAykDiAshESADKQOYCyEUIAMpA5ALIhcgGH0hEgJAAn4gGiADKQOACyIZWARAIBEgE30hFSARIBNUrQwBCyARIBNCf4V8IRUgESATVK0gESATUa18CyIRUARAIBcgGFStIRMMAQsgESASVq0gFyAYVK18IRMgEiARfSESCyAUIBZ9IRECQCATUARAIBQgFloNAQwPCyARIBNUIBQgFlRyDQ4gESATfSERCyADQRI6AJgLIAMgETcDkAsgAyASNwOICyADIBU3A4ALIAMgGSAafTcD+AogA0HYAGoiBiADQYgBaiADQfgKahDFASADQYgDaiADQbACaiAGEG4gAygCiAMNBAwGCyADKAL8CiEGDAcLIAMgAygC/Ao2AogBQe3EwABBKyADQYgBakGYxcAAQdDwwAAQlwIACyADIAMoAvwKNgKIAUHtxMAAQSsgA0GIAWpBmMXAAEHk78AAEJcCAAsgAyADKAL8CjYCWEHtxMAAQSsgA0HYAGpBmMXAAEHU78AAEJcCAAsgAygCjAMhBgwDCyADQdACaiADQagCaikDADcDACADQcgCaiADQaACaikDADcDACADQcACaiADQZgCaikDADcDACADQbgCaiADQZACaikDADcDACADIAMpA4gCNwOwAiADQfgKaiIGQdjHwABBBBCwAQJAIAMoAvgKRQRAIANBqAFqIANBoAtqKQMANwMAIANBoAFqIANBmAtqKQMANwMAIANBmAFqIANBkAtqKQMANwMAIANBkAFqIANBiAtqKQMANwMAIAMgAykDgAs3A4gBIAZB2MfAAEEEELABIAMoAvgKRQ0BIAMgAygC/Ao2AlhB7cTAAEErIANB2ABqQZjFwABBoPDAABCXAgALIAMgAygC/Ao2AogBQe3EwABBKyADQYgBakGYxcAAQbDwwAAQlwIACyADKQOICyERIAMpA5gLIRQgAykDkAsiFyAYfSESAkACfiAaIAMpA4ALIhlYBEAgESATfSEVIBEgE1StDAELIBEgE0J/hXwhFSARIBNUrSARIBNRrXwLIhFQBEAgFyAYVK0hEwwBCyARIBJWrSAXIBhUrXwhEyASIBF9IRILIBQgFn0hEQJAAkAgE1AEQCAUIBZaDQEMAgsgESATVCAUIBZUcg0BIBEgE30hEQsgA0ESOgCYCyADIBE3A5ALIAMgEjcDiAsgAyAVNwOACyADIBkgGn03A/gKIANB2ABqIgYgA0GIAWogA0H4CmoQxAEgA0GIA2ogA0GwAmogBhBuIAMoAogDRQ0BIAMoAowDIQYMAwsMBwsgA0GoAmogA0GwA2opAwA3AwAgA0GgAmogA0GoA2opAwA3AwAgA0GYAmogA0GgA2opAwA3AwAgA0GQAmogA0GYA2opAwA3AwAgAyADKQOQAzcDiAIgA0GQC2ogAUGYAWopAwA3AwAgA0GIC2ogAUGQAWopAwA3AwAgA0GAC2ogAUGIAWopAwA3AwAgA0ESOgCYCyADIAEpA4ABNwP4CgJAAkAgA0H4CmogA0GIAmoQnAJB/wFxIgYEQCAGQf8BRw0BDAILIAMtAKgCQRJLDQELIAEpA4gBIREgAykDkAIhEyABKQOYASEVIAMpA6ACIRYgASkDkAEiGCADKQOYAiIafSESAkACfiABKQOAASIXIAMpA4gCIhlaBEAgESATfSEUIBEgE1StDAELIBEgE0J/hXwhFCARIBNUrSARIBNRrXwLIhFQBEAgGCAaVK0hEwwBCyARIBJWrSAYIBpUrXwhEyASIBF9IRILIBUgFn0hEQJAAkAgE1AEQCAVIBZaDQEMAgsgFSAWVCARIBNUcg0BIBEgE30hEQsgA0HQAmogA0EoaikDADcDACADQcgCaiADQSBqKQMANwMAIANBwAJqIANBGGopAwA3AwAgA0G4AmogA0EQaikDADcDACADIAMpAwg3A7ACIANBEjoAsAEgAyARNwOoASADIBI3A6ABIAMgFDcDmAEgAyAXIBl9Iho3A5ABIANCATcDiAEgA0H4CmogASADQbACaiADQYgBahB8AkAgAygC+AoEQCADKAL8CiEGDAELIANBiANqIgYgA0GAC2pB8AcQrAMaIANB2ABqIAYQnAEgAygCWARAIAMoAlwhBgwBCyADQagCaiADQYABaikDADcDACADQaACaiADQfgAaikDADcDACADQZgCaiADQfAAaikDADcDACADQZACaiADQegAaikDADcDACADIAMpA2A3A4gCIANB+ApqIAEQgwECQAJ/IAMoAvgKBEAgAygC/AoMAQsgA0GoAWogA0GgC2opAwA3AwAgA0GgAWogA0GYC2opAwA3AwAgA0GYAWogA0GQC2opAwA3AwAgA0GQAWogA0GIC2opAwA3AwAgAyADKQOACzcDiAECQAJAAkACQCADQYgCaiADQYgBahCcAiIGQf8BcQ4DAAECAQsgAy0AqAIiBiADLQCoASIISQ0BIAYgCEchBgsgBkH/AXFBAUYNAQsgA0GoA2ogA0EoaikDADcDACADQaADaiADQSBqKQMANwMAIANBmANqIANBGGopAwA3AwAgA0GQA2ogA0EQaikDADcDACADIAMpAwg3A4gDIANB+ApqIAEgA0GIA2oQpgEgAygC+ApFDQIgAygC/AohBiAHQQE2AgAgByAGNgIEDAsLIANBADYCiAsgA0EBNgL8CiADQezRwAA2AvgKIANCBDcCgAsgA0H4CmpB9NHAABDSAQshBiAHQQE2AgAgByAGNgIEDAkLIAMpA4gLIRYgAykDmAshGCASIAMpA5ALIhd9IRMCQAJ+IAMpA4ALIhkgGlgEQCAUIBZ9IRUgFCAWVK0MAQsgFCAWQn+FfCEVIBQgFlStIBQgFlGtfAsiFlAEQCASIBdUrSEUDAELIBMgFlStIBIgF1StfCEUIBMgFn0hEwsgESAYfSESAkACQCAUUARAIBEgGFoNAQwCCyARIBhUIBIgFFRyDQEgEiAUfSESCyAHQRI6ACggByASNwMgIAcgEzcDGCAHIBU3AxAgB0EANgIAIAcgGiAZfTcDCAwJCwwJCyAHQQE2AgAgByAGNgIEDAcLDAcLIANBkAtqIAFBgAFqIgZBGGopAwA3AwAgA0GIC2ogBkEQaikDADcDACADQYALaiAGQQhqKQMANwMAIANBAjYCjAMgA0GA8MAANgKIAyADQgI3ApQDIANBEjoAmAsgAyADQYgCaq1CgICAgIAIhDcDkAEgAyADQfgKaq1CgICAgIAIhDcDiAEgAyAGKQMANwP4CiADIANBiAFqNgKQAyADQdwCaiIGIANBiANqEIwCIAZBkPDAABCHAiEGDAELIANBAjYC/AogA0G078AANgL4CiADQgI3AoQLIAMgA0HgAWqtQoCAgICACIQ3A5ADIAMgA0G4AWqtQoCAgICACIQ3A4gDIAMgA0GIA2o2AoALIANBiAFqIgYgA0H4CmoQ0wEgAyAGQbyGwQBBxO/AABCmAiADKAIEIQggAygCACEJIANBgAtqIgogA0GQAWooAgA2AgBBmeDBAC0AABogAyADKQKIATcD+ApBGEEEEPcCIgZFDQEgBiAJNgIEIAZBpIfBADYCACAGIAMpA/gKNwIMIAYgCDYCCCAGQRRqIAooAgA2AgALIAdBATYCACAHIAY2AgQMAwtBBEEYEKgDAAsgA0EANgKICyADQQE2AvwKIANB4IfBADYC+AogA0IENwKACyADQfgKakH0hcEAEMUCAAsgA0EANgKICyADQQE2AvwKIANBrNHAADYC+AogA0IENwKACyADQfgKakG00cAAENIBIQYgB0EBNgIAIAcgBjYCBAsgA0HwEmokAAwBCyADQQA2AogLIANBATYC/AogA0HkxMAANgL4CiADQgQ3AoALIANB+ApqQbTEwAAQxQIACyAFKAKIAUUEQCAFQShqIAVBsAFqKQMANwMAIAVBIGogBUGoAWopAwA3AwAgBUEYaiAFQaABaikDADcDACAFQRBqIAVBmAFqKQMANwMAIAUgBSkDkAE3AwgMAgsgBSgCjAEhAiAEQQE2AgAgBCACNgIEDAILIAVBKGogA0EoaikDADcDACAFQSBqIANBIGopAwA3AwAgBUEYaiADQRhqKQMANwMAIAVBEGogA0EQaikDADcDACAFIAMpAwg3AwgLIAVCADcDiAEgBUGoAmogAkEgaikDADcDACAFQaACaiACQRhqKQMANwMAIAVBmAJqIAJBEGopAwA3AwAgBUGQAmogAkEIaikDADcDACAFIAIpAwA3A4gCIAVB2ABqIAEgBUGIAmogBUGIAWoiAxC9ASAFKAJYRQRAIAVB2AFqIAVBgAFqKQMANwMAIAVB0AFqIAVB+ABqKQMANwMAIAVByAFqIAVB8ABqKQMANwMAIAVBwAFqIAVB6ABqKQMANwMAIAUgBSkDYDcDuAEgBUHoAWoiByABQcgBaikDADcDACAFQfABaiIGIAFB0AFqKQMANwMAIAVB+AFqIgggAUHYAWopAwA3AwAgBSABKQPAATcD4AEgBUGAAmoiCUESOgAAIAVBqAFqIAkpAwA3AwAgBUGgAWogCCkDADcDACAFQZgBaiAGKQMANwMAIAVBkAFqIAcpAwA3AwAgBSAFKQPgATcDiAEgBUEwaiAFQbgBaiADEMQBIAMgAiAFQeABahDEASAFKQOYASEUIAUpA5ABIREgBSkDQCEVIAUpAzghEgJ+IAUpA4gBIhogBSkDMCIXWgRAIBEgElStIRMgESASfQwBCyARIBJUrSARIBJRrXwhEyARIBJCf4V8CyEZIAUpA6ABIRYgBSkDSCEYIBQgFX0hEQJAIBNQBEAgFCAVVK0hEgwBCyARIBNUrSAUIBVUrXwhEiARIBN9IRELIBYgGH0hEwJAIBJQBEAgFiAYWg0BDAQLIBYgGFQgEiATVnINAyATIBJ9IRMLIAQgBSkDCDcDMCAEQRI6ACggBCATNwMgIAQgETcDGCAEIBk3AxAgBEEANgIAIAQgGiAXfTcDCCAEQdAAaiAFQShqKQMANwMAIARByABqIAVBIGopAwA3AwAgBEFAayAFQRhqKQMANwMAIARBOGogBUEQaikDADcDAAwBCyAFKAJcIQIgBEEBNgIAIAQgAjYCBAsgBUGwAmokAAwBCyAFQQA2AmggBUEBNgJcIAVB5MTAADYCWCAFQgQ3AmAgBUHYAGpBtMTAABDFAgALIAACfyAEKAIARQRAIARB+A9qIARBIGopAwA3AwAgBEHwD2ogBEEYaiICKQMANwMAIARB6A9qIARBEGoiAykDADcDACAEQfgHaiAEQTFqKQAANwMAIARBgAhqIARBOWopAAA3AwAgBEGICGogBEHBAGopAAA3AwAgBEGPCGoiBSAEQcgAaiIHKQAANwAAIAQgBCkDCDcD4A8gBCAEKQApNwPwByAEQZgQaiAFKQAANwMAIARBkBBqIARBhwhqKQAANwMAIARBiBBqIARB/wdqKQAANwMAIAQgBCkA9wc3A4AQIARB8ApqIAFB4AZqENACIARBhAtqIAFB9AZqENACIARBmAtqIAFBiAdqENACIARBiAlqIAFB+ARqKQMANwMAIARBgAlqIAFB8ARqKQMANwMAIARB+AhqIAFB6ARqKQMANwMAIARBmAlqIAFBiAVqKQMANwMAIARBoAlqIAFBkAVqKQMANwMAIARBqAlqIAFBmAVqKQMANwMAIARBuAlqIAFBqAVqKQMANwMAIARBwAlqIAFBsAVqKQMANwMAIARByAlqIAFBuAVqKQMANwMAIAQgASkD4AQ3A/AIIAQgASkDgAU3A5AJIAQgASkDoAU3A7AJIARB6AlqIAFB2AVqKQMANwMAIARB4AlqIAFB0AVqKQMANwMAIARB2AlqIAFByAVqKQMANwMAIARBiApqIAFB+AVqKQMANwMAIARBgApqIAFB8AVqKQMANwMAIARB+AlqIAFB6AVqKQMANwMAIARBqApqIAFBmAZqKQMANwMAIARBoApqIAFBkAZqKQMANwMAIARBmApqIAFBiAZqKQMANwMAIAQgASkDwAU3A9AJIAQgASkD4AU3A/AJIAQgASkDgAY3A5AKIARByApqIAFBuAZqKQMANwMAIARBwApqIAFBsAZqKQMANwMAIARBuApqIAFBqAZqKQMANwMAIAQgASkDoAY3A7AKIARB6ApqIAFB2AZqKQMANwMAIARB4ApqIAFB0AZqKQMANwMAIARB2ApqIAFByAZqKQMANwMAIAQgASkDwAY3A9AKIARBrAtqIAFBnAdqENACIARBwAtqIAFBsAdqENACIARB1AtqIAFBxAdqENACIARB6AtqIAFB2AdqENACIARBOGogAUGYBGopAwA3AwAgBEEwaiABQZAEaikDADcDACAEQShqIAFBiARqKQMANwMAIAcgAUGoBGopAwA3AwAgBEHQAGogAUGwBGopAwA3AwAgBEHYAGogAUG4BGopAwA3AwAgBEHoAGogAUHIBGopAwA3AwAgBEHwAGogAUHQBGopAwA3AwAgBEH4AGogAUHYBGopAwA3AwAgBCABKQOABDcDICAEIAEpA6AENwNAIAQgASkDwAQ3A2AgAiABQfgDaikDADcDACADIAFB8ANqKQMANwMAIARBCGogAUHoA2opAwA3AwAgBCABKQPgAzcDACAEQfAHaiICIARBgAEQrAMaIARBuAxqIAFBOGopAwA3AwAgBEGwDGogAUEwaikDADcDACAEQagMaiABQShqKQMANwMAIARByAxqIAFByABqKQMANwMAIARB0AxqIAFB0ABqKQMANwMAIARB2AxqIAFB2ABqKQMANwMAIARB6AxqIAFB6ABqKQMANwMAIARB8AxqIAFB8ABqKQMANwMAIARB+AxqIAFB+ABqKQMANwMAIAQgASkDIDcDoAwgBCABKQNANwPADCAEIAEpA2A3A+AMIARBmA1qIAFBmAFqKQMANwMAIARBkA1qIAFBkAFqKQMANwMAIARBiA1qIAFBiAFqKQMANwMAIARBuA1qIAFBuAFqKQMANwMAIARBsA1qIAFBsAFqKQMANwMAIARBqA1qIAFBqAFqKQMANwMAIARB2A1qIAFB2AFqKQMANwMAIARB0A1qIAFB0AFqKQMANwMAIARByA1qIAFByAFqKQMANwMAIAQgASkDgAE3A4ANIAQgASkDoAE3A6ANIAQgASkDwAE3A8ANIARB+A1qIAFB+AFqKQMANwMAIARB8A1qIAFB8AFqKQMANwMAIARB6A1qIAFB6AFqKQMANwMAIAQgASkD4AE3A+ANIARBmA5qIAFBmAJqKQMANwMAIARBkA5qIAFBkAJqKQMANwMAIARBiA5qIAFBiAJqKQMANwMAIAQgASkDgAI3A4AOIARBuA5qIAFBuAJqKQMANwMAIARBsA5qIAFBsAJqKQMANwMAIARBqA5qIAFBqAJqKQMANwMAIAQgASkDoAI3A6AOIARB2A5qIAFB2AJqKQMANwMAIARB0A5qIAFB0AJqKQMANwMAIARByA5qIAFByAJqKQMANwMAIAQgASkDwAI3A8AOIARB+A5qIAFB+AJqKQMANwMAIARB8A5qIAFB8AJqKQMANwMAIARB6A5qIAFB6AJqKQMANwMAIAQgASkD4AI3A+AOIARBmA9qIAFBmANqKQMANwMAIARBkA9qIAFBkANqKQMANwMAIARBiA9qIAFBiANqKQMANwMAIAQgASkDgAM3A4APIARBuA9qIAFBuANqKQMANwMAIARBsA9qIAFBsANqKQMANwMAIARBqA9qIAFBqANqKQMANwMAIAQgASkDoAM3A6APIARB2A9qIAFB2ANqKQMANwMAIARB0A9qIAFB0ANqKQMANwMAIARByA9qIAFByANqKQMANwMAIAQgASkDwAM3A8APIARBmAxqIAFBGGopAwA3AwAgBEGQDGogAUEQaikDADcDACAEQYgMaiABQQhqKQMANwMAIAQgASkDADcDgAwgBEHgA2ogAkGQBBCsAxogBCAEQYAMakHgAxCsAyIBQYABaiABQYAQahDtASABIAFB4A9qEPABIABBCGogAUHwBxCsAxpBAAwBCyAAIAQoAgQ2AgRBAQs2AgAgBEGgEGokAAv6WgIrfw1+IwBBgBprIgMkACADQZAQaiIGIAEQAiABEAMQvAECQCADKAKQEEUEQCADQShqIANBmAhqQQRyIANBmBBqQfAHEKwDQfAHEKwDGiADIAEQDTYC0BkgBiADQdAZakGYr8AAEKwBAkACQAJAAkACQCADKAKQEEUEQCADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQZAYaiAtNwMAIANBmBhqIC43AwAgA0GgGGogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDiBggAygC0BkiBkGEAU8EQCAGEAALIAMgARAnIgU2AtAZIANBkBBqIANB0BlqQaivwAAQrAEgAygCkBANASADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQbAYaiAtNwMAIANBuBhqIC43AwAgA0HAGGogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDqBggBUGEAU8EQCAFEAALIAMgARAoIgU2AtAZIANBkBBqIANB0BlqQbivwAAQrAEgAygCkBANAiADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQdAYaiAtNwMAIANB2BhqIC43AwAgA0HgGGogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDyBggBUGEAU8EQCAFEAALIAMgARAOIgU2AtAZIANBkBBqIANB0BlqQcivwAAQrAEgAygCkBANAyADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQfAYaiAtNwMAIANB+BhqIC43AwAgA0GAGWogMTcDACADIAMpA5gQIi03ApwIIAMgLTcD6BggBUGEAU8EQCAFEAALIAMgARAPIgU2AtAZIANBkBBqIANB0BlqQdivwAAQrAEgAygCkBANBCADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQZAZaiAtNwMAIANBmBlqIC43AwAgA0GgGWogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDiBkgBUGEAU8EQCAFEAALIANBkBBqIQkgA0HoGGohDiADQYgZaiEMIwBB0BVrIgIkACACQSBqIANBiBhqIgVBGGopAwA3AwAgAkEYaiAFQRBqKQMANwMAIAJBEGogBUEIaikDADcDACACQThqIANBqBhqIgZBCGopAwA3AwAgAkFAayAGQRBqKQMANwMAIAJByABqIAZBGGopAwA3AwAgAkESOgAoIAIgBSkDADcDCCACIAYpAwA3AzAgAkHgAGogA0HIGGoiBkEIaikDADcDACACQegAaiAGQRBqKQMANwMAIAJB8ABqIAZBGGopAwA3AwAgAkESOgBQIAJBEjoAeCACIAYpAwA3A1ggAkHgAmogA0EoaiIEQdgFaikDADcDACACQdgCaiAEQdAFaikDADcDACACQdACaiAEQcgFaikDADcDACACQRI6AOgCIAIgBCkDwAU3A8gCAkACQAJAIAJBCGogAkHIAmoQnAJB/wFxIgYEQCAGQf8BRw0BDAILIAItACggAi0A6AJJDQELIAJBoA9qIhUgAkEoaiIIKQMANwMAIAJBmA9qIhsgAkEgaiIHKQMANwMAIAJBkA9qIhwgAkEYaiIQKQMANwMAIAJBiA9qIh4gAkEQaiIRKQMANwMAIAIgAikDCDcDgA8gAkHoFGoiCiAMQRhqIhMpAwA3AwAgAkHgFGoiEiAMQRBqIhQpAwA3AwAgAkHYFGoiFiAMQQhqIg8pAwA3AwAgAiAMKQMANwPQFCACQcgCaiINIAQgAkGAD2oiFyAOIAJB0BRqIhgQZgJAAkACQAJAAkACQAJAAkAgAigCyAJFBEAgAkGIFGoiCyACQegCaikDADcDACACQYAUaiIFIAJB4AJqKQMANwMAIAJB+BNqIgYgAkHYAmopAwA3AwAgAiACKQPQAjcD8BMgFSAIKQMANwMAIBsgBykDADcDACAcIBApAwA3AwAgHiARKQMANwMAIAIgAikDCDcDgA8gCiATKQMANwMAIBIgFCkDADcDACAWIA8pAwA3AwAgAiAMKQMANwPQFCANIAQgDiAYELYBIAJBgAFqIBcgDRDCASACQYASaiAEQeAGaiIgENACIAJBlBJqIARB9AZqIiEQ0AIgAkGoEmogBEGIB2oiIhDQAiACQZgQaiAEQfgEaikDADcDACACQZAQaiAEQfAEaikDADcDACACQYgQaiAEQegEaikDADcDACACQagQaiAEQYgFaikDADcDACACQbAQaiAEQZAFaikDADcDACACQbgQaiAEQZgFaikDADcDACACQcgQaiAEQagFaikDADcDACACQdAQaiAEQbAFaikDADcDACACQdgQaiAEQbgFaikDADcDACACIAQpA+AENwOAECACIAQpA4AFNwOgECACIAQpA6AFNwPAECACQfgQaiAEQcAFaiIZQRhqKQMANwMAIAJB8BBqIBlBEGopAwA3AwAgAkHoEGogGUEIaikDADcDACACQYgRaiAEQegFaikDADcDACACQZARaiAEQfAFaikDADcDACACQZgRaiAEQfgFaikDADcDACACQagRaiAEQYgGaikDADcDACACQbARaiAEQZAGaikDADcDACACQbgRaiAEQZgGaikDADcDACACIBkpAwA3A+AQIAIgBCkD4AU3A4ARIAIgBCkDgAY3A6ARIAJB2BFqIARBuAZqKQMANwMAIAJB0BFqIARBsAZqKQMANwMAIAJByBFqIARBqAZqKQMANwMAIAJB+BFqIARB2AZqKQMANwMAIAJB8BFqIARB0AZqKQMANwMAIAJB6BFqIARByAZqKQMANwMAIAIgBCkDoAY3A8ARIAIgBCkDwAY3A+ARIAJBvBJqIARBnAdqIiMQ0AIgAkHQEmogBEGwB2oiJBDQAiACQeQSaiAEQcQHaiIlENACIAJB+BJqIARB2AdqIiYQ0AIgAkGIFWogBEGYBGopAwA3AwAgAkGAFWogBEGQBGopAwA3AwAgAkH4FGogBEGIBGopAwA3AwAgAkGYFWogBEGoBGopAwA3AwAgAkGgFWogBEGwBGopAwA3AwAgAkGoFWogBEG4BGopAwA3AwAgAkG4FWogBEHIBGopAwA3AwAgAkHAFWogBEHQBGopAwA3AwAgAkHIFWogBEHYBGopAwA3AwAgAiAEKQOABDcD8BQgAiAEKQOgBDcDkBUgAiAEKQPABDcDsBUgCiAEQeADaiIaQRhqKQMANwMAIBIgGkEQaikDADcDACAWIBpBCGopAwA3AwAgAiAaKQMANwPQFCAXIBhBgAEQrAMaIAJBiAtqIARBKGopAwA3AwAgAkGQC2ogBEEwaikDADcDACACQZgLaiAEQThqKQMANwMAIAJBqAtqIARByABqKQMANwMAIAJBsAtqIARB0ABqKQMANwMAIAJBuAtqIARB2ABqKQMANwMAIAJByAtqIARB6ABqKQMANwMAIAJB0AtqIARB8ABqKQMANwMAIAJB2AtqIARB+ABqKQMANwMAIAIgBCkDIDcDgAsgAiAEKQNANwOgCyACIAQpA2A3A8ALIAJB+AtqIARBmAFqKQMANwMAIAJB8AtqIARBkAFqKQMANwMAIAJB6AtqIARBiAFqKQMANwMAIAJBiAxqIARBqAFqKQMANwMAIAJBkAxqIARBsAFqKQMANwMAIAJBmAxqIARBuAFqKQMANwMAIAJBqAxqIARByAFqKQMANwMAIAJBsAxqIARB0AFqKQMANwMAIAJBuAxqIARB2AFqKQMANwMAIAIgBCkDgAE3A+ALIAIgBCkDoAE3A4AMIAIgBCkDwAE3A6AMIAJB2AxqIARB+AFqKQMANwMAIAJB0AxqIARB8AFqKQMANwMAIAJByAxqIARB6AFqKQMANwMAIAJB+AxqIARBmAJqKQMANwMAIAJB8AxqIARBkAJqKQMANwMAIAJB6AxqIARBiAJqKQMANwMAIAJBmA1qIARBuAJqKQMANwMAIAJBkA1qIARBsAJqKQMANwMAIAJBiA1qIARBqAJqKQMANwMAIAIgBCkD4AE3A8AMIAIgBCkDgAI3A+AMIAIgBCkDoAI3A4ANIAJBuA1qIARB2AJqKQMANwMAIAJBsA1qIARB0AJqKQMANwMAIAJBqA1qIARByAJqKQMANwMAIAIgBCkDwAI3A6ANIAJB2A1qIARB+AJqKQMANwMAIAJB0A1qIARB8AJqKQMANwMAIAJByA1qIARB6AJqKQMANwMAIAIgBCkD4AI3A8ANIAJB+A1qIARBmANqKQMANwMAIAJB8A1qIARBkANqKQMANwMAIAJB6A1qIARBiANqKQMANwMAIAIgBCkDgAM3A+ANIAJBmA5qIARBuANqKQMANwMAIAJBkA5qIARBsANqKQMANwMAIAJBiA5qIARBqANqKQMANwMAIAIgBCkDoAM3A4AOIAJBuA5qIARB2ANqKQMANwMAIAJBsA5qIARB0ANqKQMANwMAIAJBqA5qIARByANqKQMANwMAIAIgBCkDwAM3A6AOIAJB+ApqIARBGGopAwA3AwAgAkHwCmogBEEQaikDADcDACACQegKaiAEQQhqKQMANwMAIAIgBCkDADcD4AogAkGoBmogF0GQBBCsAxogDSACQeAKakHgAxCsAxogAkG4E2ogAkGIAWopAwAiMjcDACACQcATaiACQZABaikDACIxNwMAIAJByBNqIAJBmAFqKQMAIi43AwAgAiACKQOAASItNwOwEyAbIC43AwAgHCAxNwMAIB4gMjcDACACIC03A4APIAJByANqIBcQ7QEgGyALKQMANwMAIBwgBSkDADcDACAeIAYpAwA3AwAgAiACKQPwEzcDgA8gDSAXEPABIBcgDRCcASACKAKADw0BIAJByAFqIAJBqA9qKQMANwMAIAJBwAFqIBUpAwA3AwAgAkG4AWogGykDADcDACACQbABaiAcKQMANwMAIAIgAikDiA83A6gBIwBBsAFrIgUkACAFQfgAaiIGQdjHwABBBBCwAQJAAkACQCAFKAJ4RQRAIAUpA5gBITggBSkDkAEhOSAFKQOIASE3IAUpA4ABITQgBUFAayAEQfgDaikDADcDACAFQThqIARB8ANqKQMANwMAIAVBMGogBEHoA2opAwA3AwAgBUESOgBIIAUgBCkD4AM3AyggBkHYx8AAQQQQsAEgBSgCeA0BIAUpA5gBITAgBSkDkAEhLyAFKQOIASEuIAUpA4ABITIgBiAEEJwBAkAgBSgCeEUEQCAFKQOQASE1IAUpA4gBIS0CfiAFKQOAASIxIDJYBEAgLSAuVq0hMyAuIC19DAELIC0gLlatIC0gLlGtfCEzIC4gLUJ/hXwLIS0gBSkDmAEhNiAvIDV9IS4CQCAzUARAIC8gNVStIS8MAQsgLiAzVK0gLyA1VK18IS8gLiAzfSEuCyAwIDZ9ITMCQCAvUARAIDAgNloNAQwGCyAwIDZUIC8gM1ZyDQUgMyAvfSEzCyAFQRI6AHAgBSAzNwNoIAUgLjcDYCAFIC03A1ggBSAyIDF9NwNQIAUgBUEoaiAFQdAAahDGASAFKQMIIS4gBSkDGCEyIDkgBSkDECIxfSEvAkACfiAFKQMAIi0gNFgEQCA3IC59ITMgLiA3Vq0MAQsgNyAuQn+FfCEzIC4gN1atIC4gN1GtfAsiLlAEQCAxIDlWrSEwDAELIC4gL1atIDEgOVatfCEwIC8gLn0hLwsgOCAyfSEuAkAgMFAEQCAyIDhYDQEMBgsgLiAwVCAyIDhWcg0FIC4gMH0hLgsgDUESOgAoIA0gLjcDICANIC83AxggDSAzNwMQIA1BADYCACANIDQgLX03AwgMAQsgBSgCfCEGIA1BATYCACANIAY2AgQLIAVBsAFqJAAMAwsgBSAFKAJ8NgJQQe3EwABBKyAFQdAAakGYxcAAQczdwAAQlwIACyAFIAUoAnw2AqwBQe3EwABBKyAFQawBakGYxcAAQbzdwAAQlwIACyAFQQA2AogBIAVBATYCfCAFQeTEwAA2AnggBUIENwKAASAFQfgAakG0xMAAEMUCAAsCQAJAAkAgAigCyAJFBEAgAkHwAWogAkHwAmopAwA3AwAgAkHoAWogAkHoAmopAwA3AwAgAkHgAWogAkHgAmopAwA3AwAgAkHYAWogAkHYAmopAwA3AwAgAiACKQPQAjcD0AEgAkGoAWogAkHQAWoQnAIiBkH/AXEOAwECAwILIAIoAswCIQYgCUEBNgIAIAkgBjYCBAwNCyACLQDIASIFIAItAPABIgZJDQEgBSAGRyEGCyAGQf8BcUEBRg0DCyACQaAPaiACQShqIicpAwA3AwAgAkGYD2ogAkEgaiIoKQMANwMAIAJBkA9qIAJBGGoiKSkDADcDACACQYgPaiACQRBqIiopAwA3AwAgAiACKQMINwOADyACQbgCaiIrIA5BGGoiLCkDADcDACACQbACaiINIA5BEGoiFykDADcDACACQagCaiIbIA5BCGoiHCkDADcDACACIA4pAwA3A6ACIAJB6BRqIh4gDEEYaiIKKQMANwMAIAJB4BRqIhIgDEEQaiIWKQMANwMAIAJB2BRqIhggDEEIaiIVKQMANwMAIAIgDCkDADcD0BQgAkHIAmoiHSAEIAJBgA9qIh8gAkGgAmoiCCACQdAUaiIHELIBIAIoAsgCDQMgAkGYAmoiECACQfACaiIRKQMANwMAIAJBkAJqIhMgAkHoAmoiFCkDADcDACACQYgCaiIPIAJB4AJqIgspAwA3AwAgAkGAAmoiBSACQdgCaiIGKQMANwMAIAIgAikD0AI3A/gBIAJBwA5qIAJB8BNqIAJB+AFqEOsBIAJB8BRqICcpAwA3AwAgHiAoKQMANwMAIBIgKSkDADcDACAYICopAwA3AwAgAiACKQMINwPQFCARIBApAwA3AwAgFCATKQMANwMAIAsgDykDADcDACAGIAUpAwA3AwAgAiACKQP4ATcD0AIgAkIBNwPIAiACQcgUaiAsKQMANwMAIAJBwBRqIBcpAwA3AwAgAkG4FGogHCkDADcDACACIA4pAwA3A7AUICsgCikDADcDACANIBYpAwA3AwAgGyAVKQMANwMAIAIgDCkDADcDoAIgAkGwFGohBiMAQeAAayIFJAAgHwJ/AkAgHSkDAFAEQCAFQTBqIAQgByAGIAgQsgEgBSgCMEUEQCAFQShqIAVB2ABqKQMANwMAIAVBIGogBUHQAGopAwA3AwAgBUEYaiAFQcgAaikDADcDACAFQRBqIAVBQGspAwA3AwAgBSAFKQM4NwMIDAILIB8gBSgCNDYCBEEBDAILIAVBKGogHUEoaikDADcDACAFQSBqIB1BIGopAwA3AwAgBUEYaiAdQRhqKQMANwMAIAVBEGogHUEQaikDADcDACAFIB0pAwg3AwgLIAVByABqIARBuARqKQMANwMAIAVBQGsgBEGwBGopAwA3AwAgBUE4aiAEQagEaikDADcDACAFQRI6AFAgBSAEKQOgBDcDMCAfQQhqIAVBCGogBUEwahDHAUEACzYCACAFQeAAaiQAIAIoAoAPDQQgAikDkA8hLyACKQPIDiEtIAIpA6APITUgAikD0A4iNCACKQOYDyIufSEwAkACfiACKQPADiIyIAIpA4gPIjFaBEAgLSAvfSE2IC0gL1StDAELIC0gL0J/hXwhNiAtIC9UrSAtIC9RrXwLIi1QBEAgLiA0Vq0hLgwBCyAtIDBWrSAuIDRWrXwhLiAwIC19ITALIAIpA9gOIi0gNX0hNAJAIC5QBEAgAiA0NwP4DiACIDA3A/AOIAIgNjcD6A4gAiAyIDF9NwPgDiAtIDVaDQEMCgsgAiAwNwPwDiACIDY3A+gOIAIgNCAufTcD+A4gAiAyIDF9NwPgDiAtIDVUIC4gNFZyDQkLIAJBgBJqICAQ0AIgAkGUEmogIRDQAiACQagSaiAiENACIAJBmBBqIARB4ARqIgtBGGopAwA3AwAgAkGQEGogC0EQaikDADcDACACQYgQaiALQQhqKQMANwMAIAJBqBBqIARBgAVqIgVBCGopAwA3AwAgAkGwEGogBUEQaikDADcDACACQbgQaiAFQRhqKQMANwMAIAJByBBqIARBoAVqIgZBCGopAwA3AwAgAkHQEGogBkEQaikDADcDACACQdgQaiAGQRhqKQMANwMAIAIgCykDADcDgBAgAiAFKQMANwOgECACIAYpAwA3A8AQIAJB+BBqIBlBGGopAwA3AwAgAkHwEGogGUEQaikDADcDACACQegQaiAZQQhqKQMANwMAIAJBiBFqIARB4AVqIgVBCGopAwA3AwAgAkGQEWogBUEQaikDADcDACACQZgRaiAFQRhqKQMANwMAIAJBqBFqIARBgAZqIgZBCGopAwA3AwAgAkGwEWogBkEQaikDADcDACACQbgRaiAGQRhqKQMANwMAIAIgGSkDADcD4BAgAiAFKQMANwOAESACIAYpAwA3A6ARIAJB2BFqIARBoAZqIgVBGGopAwA3AwAgAkHQEWogBUEQaikDADcDACACQcgRaiAFQQhqKQMANwMAIAJB+BFqIARBwAZqIgZBGGopAwA3AwAgAkHwEWogBkEQaikDADcDACACQegRaiAGQQhqKQMANwMAIAIgBSkDADcDwBEgAiAGKQMANwPgESACQbwSaiAjENACIAJB0BJqICQQ0AIgAkHkEmogJRDQAiACQfgSaiAmENACIAJBiBVqIARBgARqIgtBGGopAwA3AwAgAkGAFWogC0EQaikDADcDACACQfgUaiALQQhqKQMANwMAIAJBmBVqIARBoARqIgVBCGopAwA3AwAgAkGgFWogBUEQaikDADcDACACQagVaiAFQRhqKQMANwMAIAJBuBVqIARBwARqIgZBCGopAwA3AwAgAkHAFWogBkEQaikDADcDACACQcgVaiAGQRhqKQMANwMAIAIgCykDADcD8BQgAiAFKQMANwOQFSACIAYpAwA3A7AVIAJB6BRqIBpBGGopAwA3AwAgAkHgFGogGkEQaikDADcDACACQdgUaiAaQQhqKQMANwMAIAIgGikDADcD0BQgAkGAD2oiEyACQdAUakGAARCsAxogAkGoBmogE0GQBBCsAxogAkHIAmoiBSACQeAKakHgAxCsAxogAkHIA2ogAkGwE2oQ7QEgBSACQeAOahDwASATIAUQnAEgAigCgA8NBSACQcACaiACQagPaikDADcDACACQbgCaiACQaAPaiIGKQMANwMAIAJBsAJqIAJBmA9qIhQpAwA3AwAgAkGoAmogAkGQD2oiDykDADcDACACIAIpA4gPNwOgAiAFQdCBwABBBBCvAQJAAkACQCACKALIAkUEQCAGIAJB8AJqKQMANwMAIBQgAkHoAmopAwA3AwAgDyACQeACaikDADcDACACQYgPaiILIAJB2AJqKQMANwMAIAIgAikD0AI3A4APIAJBoAJqIBMQnAIiBkH/AXEOAwECAwILIAIgAigCzAI2AtAUQayCwABBKyACQdAUakHYgsAAQeSSwAAQlwIACyACLQDAAiIFIAItAKAPIgZJDQEgBSAGRyEGCyAGQf8BcUEBRg0HCyACQaAPaiITIAJBKGoiFikDADcDACAUIAJBIGoiGCkDADcDACAPIAJBGGoiFSkDADcDACALIAJBEGoiCCkDADcDACACIAIpAwg3A4APIAJB6BRqIhQgDEEYaikDADcDACACQeAUaiIPIAxBEGopAwA3AwAgAkHYFGoiCyAMQQhqKQMANwMAIAIgDCkDADcD0BQgAkHIAmohCiMAQfABayIHJAAgB0FAayACQdAUaiIFQRhqKQMANwMAIAdBOGogBUEQaikDADcDACAHQTBqIAVBCGopAwA3AwAgByAFKQMANwMoIAdB6ABqIAJBgA9qIhJBIGopAwA3AwAgB0HgAGogEkEYaikDADcDACAHQdgAaiASQRBqKQMANwMAIAdB0ABqIBJBCGopAwA3AwAgByASKQMANwNIIAdB8ABqIAQgDiAHQShqELYBIAdBwAFqQdCBwABBBBCvAQJAAkACQCAHKALAAUUEQCAHKQPYASEvIAcpA9ABIS4gBykDgAEhNSAHKQN4IS0CfiAHKQPIASIyIAcpA3AiMVoEQCAtIC5WrSEwIC4gLX0MAQsgLSAuVq0gLSAuUa18ITAgLiAtQn+FfAshLSAHKQPgASE2IAcpA4gBITQgLyA1fSEuAkAgMFAEQCAvIDVUrSEvDAELIC4gMFStIC8gNVStfCEvIC4gMH0hLgsgNiA0fSEzAkAgL1AEQCA0IDZYDQEMBAsgLyAzViA0IDZWcg0DIDMgL30hMwsgB0ESOgC4ASAHIDM3A7ABIAcgLjcDqAEgByAtNwOgASAHIDIgMX03A5gBIAdB2AFqIARB2AFqKQMANwMAIAdB0AFqIARB0AFqKQMANwMAIAdByAFqIARByAFqKQMANwMAIAdBEjoA4AEgByAEKQPAATcDwAEgByAHQcgAaiAHQZgBaiAHQcABaiIGEHMgBiAEIBIgDiAFEGYgCgJ/IAcoAsABRQRAIAcpAwgiLSAHKQPQAXwiMyAtVCEQIAcpAxAiLSAtIAcpA9gBfCIuViERIAcpAxgiLSAtIAcpA+ABfCIyViEGAkAgBykDACItIAcpA8gBfCIxIC1aBH4gEK0FIDNCAXwiM1CtIBCtfAsiLVAEfiARrQUgLiAtIC58Ii5WrSARrXwLIi1QBEAgCiAyNwMgIAogLjcDGCAKIDM3AxAgCiAxNwMIIAZFDQEMBQsgCiAuNwMYIAogMzcDECAKIDE3AwggCiAtIDJ8Ii03AyAgBiAtIDJUcg0ECyAKQRI6AChBAAwBCyAKIAcoAsQBNgIEQQELNgIAIAdB8AFqJAAMAwsgByAHKALEATYCmAFBrILAAEErIAdBmAFqQdiCwABB9JLAABCXAgALIAdBADYC0AEgB0EBNgLEASAHQdTBwAA2AsABIAdCBDcCyAEgB0HAAWpB8L7AABDFAgALIAdBADYC0AEgB0EBNgLEASAHQcCUwAA2AsABIAdCBDcCyAEgB0HAAWpBkJTAABDFAgALIAIoAsgCDQcgAkGoFGogAkHoAmoiBykDADcDACACQaAUaiACQeACaiIQKQMANwMAIAJBmBRqIAJB2AJqIhEpAwA3AwAgAiACKQPQAjcDkBQgEyAWKQMANwMAIAJBmA9qIBgpAwA3AwAgAkGQD2ogFSkDADcDACACQYgPaiAIKQMANwMAIAIgAikDCDcDgA8gAkHIFGogDkEYaikDADcDACACQcAUaiAOQRBqKQMANwMAIAJBuBRqIA5BCGopAwA3AwAgAiAOKQMANwOwFCAUIAxBGGopAwA3AwAgDyAMQRBqKQMANwMAIAsgDEEIaikDADcDACACIAwpAwA3A9AUIAogBCASIAJBsBRqIAUQsgEgAigCyAJFBEAgAkHoE2ogBykDADcDACACQeATaiAQKQMANwMAIAJB2BNqIBEpAwA3AwAgAiACKQPQAjcD0BMgAkGQE2oiCyACQZAUaiACQdATahDrASAHIBYpAwA3AwAgECAYKQMANwMAIBEgFSkDADcDACACQdACaiIFIAgpAwA3AwAgAiACKQMINwPIAiASIAQgCiAOIAwQugEgAkG4CmoiBiALIBIQ6wEgAkESOgDYCiAHIBYpAwA3AwAgECAYKQMANwMAIBEgFSkDADcDACAFIAgpAwA3AwAgAiACKQMINwPIAiAJQQhqIQcjAEGwAWsiCCQAIAhBoAFqIgsgCkEgaikDADcDACAIQZgBaiIQIApBGGopAwA3AwAgCEGQAWoiESAKQRBqKQMANwMAIAhBiAFqIhMgCkEIaikDADcDACAIIAopAwA3A4ABIAhB2ABqIhQgCEGAAWoiDyACQdgAaiACQTBqEHsgCEHQAGoiBUESOgAAIAhByABqIARB2AFqKQMAIjI3AwAgCEFAayAEQdABaikDACIxNwMAIAhBOGogBEHIAWopAwAiLjcDACAIIAQpA8ABIi03AzAgCyAFKQMANwMAIBAgMjcDACARIDE3AwAgEyAuNwMAIAggLTcDgAEgCEEIaiAUIA8QxAEgECAEQZgEaikDADcDACARIARBkARqKQMANwMAIBMgBEGIBGopAwA3AwAgCEESOgCgASAIIAQpA4AENwOAASAUIAogDyAIQTBqEHsgCCkDECItIAgpA2B8IjAgLVQhDyAIKQMYIi0gCCkDaHwiLyAtVCELIAgpAyAiLSAIKQNwfCIuIC1UIQUCQAJAAkAgCCkDCCItIAgpA1h8IjUgLVoEfiAPrQUgMEIBfCIwUK0gD618CyItUAR+IAutBSAvIC0gL3wiL1atIAutfAsiLVAEQCAIIC43AyAgCCAvNwMYIAggMDcDECAIIDU3AwggBUUNAQwCCyAIIC83AxggCCAwNwMQIAggNTcDCCAIIC0gLnwiLTcDICAFIC0gLlRyDQEgLSEuCyAIQRI6ACgCQAJAAkACQAJAAkACQCAIQQhqIAYQnAIiBUH/AXEOAwABAgELIAYtACAiBUESSw0BIAVBEkchBQsgBUH/AXFBAUYNAQsgCEGAAWpB7MTAAEEBELABIAgoAoABDQIgByAIKQOIATcDACAHQSBqIAhBqAFqKQMANwMAIAdBGGogCEGgAWopAwA3AwAgB0EQaiAIQZgBaikDADcDACAHQQhqIAhBkAFqKQMANwMADAELIAYpAxAhNiAGKQMIITICfiAGKQMAIi0gNVgEQCAwIDJ9ITEgMCAyVK0MAQsgMCAyQn+FfCExIDAgMlStIDAgMlGtfAshNCAGKQMYITIgLyA2fSEwAkAgNFAEQCAvIDZUrSEzDAELIDAgNFStIC8gNlStfCEzIDAgNH0hMAsgLiAyfSEvAkAgM1AEQCAuIDJaDQEMBAsgLiAyVCAvIDNUcg0DIC8gM30hLwsgB0ESOgAgIAcgLzcDGCAHIDA3AxAgByAxNwMIIAcgNSAtfTcDAAsgCEGwAWokAAwDCyAIIAgoAoQBNgJYQe3EwABBKyAIQdgAakGYxcAAQazdwAAQlwIACyAIQQA2ApABIAhBATYChAEgCEHkxMAANgKAASAIQgQ3AogBIAhBgAFqQbTEwAAQxQIACyAIQQA2ApABIAhBATYChAEgCEHgh8EANgKAASAIQgQ3AogBIAhBgAFqQfSFwQAQxQIACyAJQQA2AgAMCwsgAigCzAIhBiAJQQE2AgAgCSAGNgIEDAoLIAIoAswCIQYgCUEBNgIAIAkgBjYCBAwJCyACKAKEDyEGIAlBATYCACAJIAY2AgQMCAsgAkEANgLYAiACQQE2AswCIAJBiIzAADYCyAIgAkIENwLQAiACQcgCakHEksAAENIBIQYgCUEBNgIAIAkgBjYCBAwHCyACKALMAiEGIAlBATYCACAJIAY2AgQMBgsgAigChA8hBiAJQQE2AgAgCSAGNgIEDAULIAIoAoQPIQYgCUEBNgIAIAkgBjYCBAwECyACQQA2AtgCIAJBATYCzAIgAkGIjMAANgLIAiACQgQ3AtACIAJByAJqQdSSwAAQ0gEhBiAJQQE2AgAgCSAGNgIEDAMLIAIoAswCIQYgCUEBNgIAIAkgBjYCBAwCCyACQQA2AtgCIAJBATYCzAIgAkHAlMAANgLIAiACQgQ3AtACIAJByAJqQZCUwAAQxQIACyACQQA2AtgCIAJBATYCzAIgAkHIi8AANgLIAiACQgQ3AtACIAJByAJqQbSSwAAQ0gEhBiAJQQE2AgAgCSAGNgIECyACQdAVaiQAIANBmAhqIAlB6K/AABCQAiADKAKYCA0FIANB9BlqIANBwAhqKQMAIi03AgAgA0GwGWogA0GoCGopAwA3AwAgA0G4GWogA0GwCGopAwA3AwAgA0HAGWogA0G4CGopAwA3AwAgA0HIGWogLTcDACADIAMpA6AINwOoGSADQQhqIANBqBlqQfivwAAQuAEMBwsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggAygC0BkiBkGEAUkNBiAGEAAMBgsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNBSAFEAAMBQsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNBCAFEAAMBAsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNAyAFEAAMAwsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNAiAFEAAMAgsgA0HoGWogA0G0CGooAgAiBjYCACADQRBqIANBpAhqKQIANwMAIANBGGogA0GsCGopAgA3AwAgA0EgaiAGNgIAIAMgAykCnAg3AwgMAQsgA0GwCGogA0GsEGooAgAiBjYCACADQRBqIANBnBBqKQIANwMAIANBGGogA0GkEGopAgA3AwAgA0EgaiAGNgIAIAMgAykClBA3AwgLIAFBgwFLBEAgARAACwJ/IAMoAggiBkECRgRAIAMoAgwhBUEADAELIANBqBBqIANBIGooAgA2AgAgA0GgEGogA0EYaikDADcDACADQZgQaiADQRBqKQMANwMAIAMgAykDCDcDkBBBACEFIANBkBBqEOUBCyEBIAAgBkECRzYCCCAAIAE2AgQgACAFNgIAIANBgBpqJAALp04CF38WfiMAQcAbayIEJAAgBEGQEGoiAiABEAIgARADELwBAkACQAJAAkACQAJAAkACQCAEKAKQEEUEQCAEQShqIARBmAhqQQRyIARBmBBqQfAHEKwDQfAHEKwDGiAEIAEQTTYCtBkgAiAEQbQZakHMusAAEKwBIAQoApAQDQEgBEGsGWogBEGwEGoiAykDACIZNwIAIARBpBlqIARBqBBqIgYpAwAiGjcCACAEQZwZaiAEQaAQaiIHKQMAIhs3AgAgBEHAGWogGzcDACAEQcgZaiAaNwMAIARB0BlqIBk3AwAgBCAEKQOYECIZNwKUGSAEIBk3A7gZIAQgARBONgL8GSACIARB/BlqQdy6wAAQrAEgBCgCkBANAiAEQfQZaiADKQMAIhk3AgAgBEHsGWogBikDACIaNwIAIARB5BlqIAcpAwAiGzcCACAEQYgaaiAbNwMAIARBkBpqIBo3AwAgBEGYGmogGTcDACAEIAQpA5gQIhk3AtwZIAQgGTcDgBogBCABEE82AsQaIAIgBEHEGmpB7LrAABCtASAEKAKQEEUEQCAEQbwaaiADKQMAIhk3AgAgBEG0GmogBikDACIaNwIAIARBrBpqIAcpAwAiGzcCACAEQdAaaiAbNwMAIARB2BpqIBo3AwAgBEHgGmogGTcDACAEIAQpA5gQIhk3AqQaIAQgGTcDyBogARBQIgJFBEAgBEIANwOQEAwGCyAEIAI2AuwaIARBmBtqIARB7BpqQfy6wAAQrAEgBCgCmBtFDQQgBEEQaiAEQaQbaikCADcDACAEQRhqIARBrBtqKQIANwMAIARBIGogBEG0G2ooAgA2AgAgBCAEKQKcGzcDCCACQYQBSQ0GIAIQAAwGCyAEQbgaaiAEQawQaigCACICNgIAIARBsBpqIARBpBBqKQIAIhk3AwAgBEGoGmogBEGcEGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpApQQIhk3A6AaIAQgGTcDCAwFCyAEQbAIaiAEQawQaigCACICNgIAIARBEGogBEGcEGopAgA3AwAgBEEYaiAEQaQQaikCADcDACAEQSBqIAI2AgAgBCAEKQKUEDcDCAwHCyAEQagZaiAEQawQaigCACICNgIAIARBoBlqIARBpBBqKQIAIhk3AwAgBEGYGWogBEGcEGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpApQQIhk3A5AZIAQgGTcDCAwFCyAEQfAZaiAEQawQaigCACICNgIAIARB6BlqIARBpBBqKQIAIhk3AwAgBEHgGWogBEGcEGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpApQQIhk3A9gZIAQgGTcDCAwDCyAEQaAQaiAEQagbaikDADcDACAEQagQaiAEQbAbaikDADcDACAEQbAQaiAEQbgbaikDADcDACAEIAQpA6AbNwOYECAEQRI6ALgQIARCATcDkBAgAkGEAUkNACACEAALIARBmAhqIQYgBEGQEGohCCABEFEiAkH///8HRyEOIAJB/wFxIRAjAEGABWsiAiQAIAJBKGogBEG4GWoiA0EYaikDADcDACACQSBqIANBEGopAwA3AwAgAkEYaiADQQhqKQMANwMAIAJBEjoAMCACIAMpAwA3AxAgAkHQAGogBEGAGmoiA0EYaikDADcDACACQcgAaiADQRBqKQMANwMAIAJBQGsgA0EIaikDADcDACACQRI6AFggAiADKQMANwM4IARBKGoiBykDwAUhIiAHKQPIBSEdIAcpA9AFIR4gBykD2AUhISACQRI6AMgDIAIgITcDwAMgAiAeNwO4AyACIB03A7ADIAIgIjcDqAMgAkGoBGoiBSAHIAJBqANqIARByBpqIhEQdQJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCqARFBEAgAkESOgDIBCACICE3A8AEIAIgHjcDuAQgAiAdNwOwBCACICI3A6gEIAJBEGogBRCcAkH/AXEiBUUNASAFQf8BRg0DIAItADAhBQwCCyACQagEaiIDQQRyEO0CIAJBADYCuAQgAkEBNgKsBCACQYSQwAA2AqgEIAJCBDcCsAQgA0GwkcAAENIBIQMgBkEBNgIAIAYgAzYCBAwICyACLQAwIgUgAi0AyARJDQELIAIgITcDwAQgAiAeNwO4BCACIB03A7AEIAIgIjcDqAQgAkEQaiACQagEakEgEK4DIAVBEkdyDQEgBkESOgAoIAYgITcDICAGIB43AxggBiAdNwMQIAYgIjcDCCAGQQA2AgAMBgsgAkECNgKsAyACQcSPwAA2AqgDIAJCAjcCtAMgAkESOgDIBCACICE3A8AEIAIgHjcDuAQgAiAdNwOwBCACICI3A6gEIAIgAkGoBGqtQoCAgIAghDcD4AQgAiACQRBqrUKAgICAIIQ3A9gEIAIgAkHYBGo2ArADIAJBgARqIgMgAkGoA2oQ0wEgAkEIaiADQbS4wABB1I/AABCmAiACKAIMIQcgAigCCCEFIAJBsARqIgogAkGIBGooAgA2AgBBmeDBAC0AABogAiACKQKABDcDqARBGEEEEPcCIgNFDQEgAyAFNgIEIANBnLnAADYCACADIAIpA6gENwIMIAMgBzYCCCADQRRqIAooAgA2AgAgBkEBNgIAIAYgAzYCBAwFCyACKQMYIRkgAikDKCEbIAIpAyAiGiAefSEcAkACfiAiIAIpAxAiIFgEQCAZIB19IR8gGSAdVK0MAQsgGSAdQn+FfCEfIBkgHVStIBkgHVGtfAsiI1AEQCAaIB5UrSEZDAELIBwgI1StIBogHlStfCEZIBwgI30hHAsgGyAhfSEaAkAgGVAEQCAbICFaDQEMBwsgGyAhVCAZIBpWcg0GIBogGX0hGgsgAkESOgCIASACIBo3A4ABIAIgHDcDeCACIB83A3AgAiAgICJ9NwNoIAJBqARqIgVB6IbAAEEBEK8BIAIoAqgERQRAIAJByANqIg0gAkHQBGoiCikDADcDACACQcADaiACQcgEaiIJKQMANwMAIAJBuANqIAJBwARqIgspAwA3AwAgAkGwA2ogAkG4BGoiDCkDADcDACACIAIpA7AENwOoAyACQaABaiADIAdBwAFqIAMgDS0AAEESRhsgAkE4aiACQagDakEgEK4DGyIDQQhqKQMANwMAIAJBqAFqIANBEGopAwA3AwAgAkGwAWogA0EYaikDADcDACACIAMpAwA3A5gBIAUgBxCcASACKAKoBEUEQCACQdgBaiAKKQMANwMAIAJB0AFqIAkpAwA3AwAgAkHIAWogCykDADcDACACQcABaiAMKQMANwMAIAIgAikDsAQ3A7gBIAUgByACQbgBaiARIA4gEBBkAkACQCACKAKoBEUEQCACQYACaiAKKQMANwMAIAJB+AFqIAkpAwA3AwAgAkHwAWogCykDADcDACACQegBaiAMKQMANwMAIAIgAikDsAQ3A+ABIAJBzARqIAJB5ABqKAAANgAAIAJBEjoAyAQgAiAhNwPABCACIB43A7gEIAIgHTcDsAQgAiAiNwOoBCACIAIoAGE2AMkEIAJB4AFqIAUQnAJB/wFxIgNFDQEgA0H/AUcNAgwICyACKAKsBCEDIAZBATYCACAGIAM2AgQMCAsgAi0AgAIgAi0AyARJDQYLIAJB+ARqIAJBgAJqKQMANwMAIAJB8ARqIAJB+AFqKQMANwMAIAJB6ARqIAJB8AFqKQMANwMAIAJB4ARqIAJB6AFqKQMANwMAIAIgAikD4AE3A9gEIAJBwANqIAJBsAFqKQMANwMAIAJBuANqIAJBqAFqKQMANwMAIAJBsANqIAJBoAFqKQMANwMAIAIgAikDmAE3A6gDIAJBEjoAyAMgAkGoBGogByACQdgEaiACQagDahBvAkACQAJAAkAgAigCqARFBEAgAkGoAmogAkHQBGopAwA3AwAgAkGgAmogAkHIBGopAwA3AwAgAkGYAmogAkHABGopAwA3AwAgAkGQAmogAkG4BGopAwA3AwAgAiACKQOwBDcDiAIgAkGIAmogAkHoAGoQnAIiA0H/AXEOAwECAwILIAIoAqwEIQMgBkEBNgIAIAYgAzYCBAwKCyACLQCoAiIDIAItAIgBIgVJDQIgAyAFRyEDCyADQf8BcUEBRw0BCyACQcgDaiACQYgBaikDADcDACACQcADaiACQYABaikDADcDACACQbgDaiACQfgAaikDADcDACACQbADaiACQfAAaikDADcDACACIAIpA2g3A6gDIAJBwARqIAJBsAFqKQMANwMAIAJBuARqIAJBqAFqKQMANwMAIAJBsARqIAJBoAFqKQMANwMAIAIgAikDmAE3A6gEIAJBEjoAyAQgAkHYBGohBSACQagDaiEKIAJBuAFqIQsgAkGoBGohCSMAQcABayIDJAACQAJAAkACQAJAIAgpAwBQDQAgCCkDICEkIAgpAxghJSAIKQMQISMgCCkDCCEoIANB8ABqIAdB2AFqKQMANwMAIANB6ABqIAdB0AFqKQMANwMAIANB4ABqIAdByAFqKQMANwMAIANBEjoAeCADIAcpA8ABNwNYIANBqAFqIAlBIGopAwA3AwAgA0GgAWogCUEYaikDADcDACADQZgBaiAJQRBqKQMANwMAIANBkAFqIAlBCGopAwA3AwAgAyAJKQMANwOIASADQTBqIANB2ABqIANBiAFqEMUBIAMpAzgiGSAHKQOIBHwiGyAZVCEIIAMpA0AiGSAHKQOQBHwiGiAZVCEMIAMpA0giGSAHKQOYBHwiHCAZVCENAkAgAykDMCIZIAcpA4AEfCIpIBlaBH4gCK0FIBtCAXwiG1CtIAitfAsiGVAEfiAMrQUgGiAZIBp8IhpWrSAMrXwLIhlQBEAgDUUNAQwFCyANDQQgHCAZIBx8IhxWDQQLIANB8ABqIAdB4ANqIghBGGopAwA3AwAgA0HoAGogCEEQaikDADcDACADQeAAaiAIQQhqKQMANwMAIANBEjoAeCADIAgpAwA3A1ggA0GIAWpB2MfAAEEEELABAkACQCADKAKIAUUEQCADKQOYASEfIAspAwghICADKQOoASEmIAspAxghJyADKQOgASIqIAspAxAiK30hGQJAAn4gAykDkAEiLSALKQMAIi5aBEAgHyAgfSEsIB8gIFStDAELIB8gIEJ/hXwhLCAfICBUrSAfICBRrXwLIiBQBEAgKiArVK0hHwwBCyAZICBUrSAqICtUrXwhHyAZICB9IRkLICYgJ30hIAJAIB9QBEAgJiAnWg0BDAcLICYgJ1QgHyAgVnINBiAgIB99ISALIANBEjoAqAEgAyAgNwOgASADIBk3A5gBIAMgLDcDkAEgAyAtIC59NwOIASADQTBqIANB2ABqIANBiAFqEMcBIBsgAykDOHwiGSAbVCEIIAMpA0AgGnwiGyAaVCELIAMpA0ggHHwiGiAcVCEMAkAgKSApIAMpAzB8IiBYBH4gCK0FIBlCAXwiGVCtIAitfAsiHFAEfiALrQUgGyAbIBx8IhtWrSALrXwLIhxQBEAgDEUNAQwICyAMDQcgGiAaIBx8IhpWDQcLIBsgJX0hHAJAAn4gICAoWgRAIBkgI30hHyAZICNUrQwBCyAZICNCf4V8IR8gGSAjVK0gGSAjUa18CyIjUARAIBsgJVStIRkMAQsgHCAjVK0gGyAlVK18IRkgHCAjfSEcCyAaICR9IRsCQCAZUARAIBogJFoNAQwHCyAaICRUIBkgG1ZyDQYgGyAZfSEbCyADQRI6AKgBIAMgGzcDoAEgAyAcNwOYASADIB83A5ABIAMgICAofTcDiAEgA0EIaiIIIAogA0GIAWoiCxDEASALIAcgCCAJEG8gAygCiAENAiADQfgAaiADQbABaikDADcDACADQfAAaiADQagBaikDADcDACADQegAaiADQaABaikDADcDACADQeAAaiADQZgBaikDADcDACADIAMpA5ABNwNYAkACQAJAIAogA0HYAGoQnAJB/wFxIggOAwEABAALIAhBAkkNAQwDCyAKLQAgIAMtAHhJDQILIAUgAykDCDcDACAFQSBqIANBKGopAwA3AwAgBUEYaiADQSBqKQMANwMAIAVBEGogA0EYaikDADcDACAFQQhqIANBEGopAwA3AwAgAygCiAFFDQQgA0GIAWpBBHIQ7QIMBAsgAyADKAKMATYCMEHtxMAAQSsgA0EwakGYxcAAQYDkwAAQlwIACyADKAKIAUUNAQsgA0GIAWpBBHIQ7QILIANB2ABqIAcgCiAJEG8CQCADKAJYRQRAIANB0ABqIANBgAFqKQMANwMAIANByABqIANB+ABqKQMANwMAIANBQGsgA0HwAGopAwA3AwAgA0E4aiADQegAaikDADcDACADIAMpA2A3AzACQAJAAkAgCiADQTBqEJwCQf8BcSIIDgMBAAQACyAIQQJJDQEMAwsgCi0AICADLQBQSQ0CCyAKKQMIIRkgAykDOCEbIAopAxghHyADKQNIISMgCikDECIcIAMpA0AiIH0hGgJAAn4gCikDACIlIAMpAzAiJloEQCAZIBt9ISQgGSAbVK0MAQsgGSAbQn+FfCEkIBkgG1StIBkgG1GtfAsiG1AEQCAcICBUrSEZDAELIBogG1StIBwgIFStfCEZIBogG30hGgsgHyAjfSEcAkAgGVAEQCAfICNaDQEMBQsgHyAjVCAZIBxWcg0EIBwgGX0hHAsgBUESOgAgIAUgHDcDGCAFIBo3AxAgBSAkNwMIIAUgJSAmfTcDAAwCCyADQYgBakHsxMAAQQEQsAEgAygCiAEEQCADIAMoAowBNgK8AUHtxMAAQSsgA0G8AWpBmMXAAEGg5MAAEJcCAAsgBSADKQOQATcDACAFQSBqIANBsAFqKQMANwMAIAVBGGogA0GoAWopAwA3AwAgBUEQaiADQaABaikDADcDACAFQQhqIANBmAFqKQMANwMAIANB2ABqQQRyEO0CDAELIANBiAFqQezEwABBARCwASADKAKIAUUEQCAFIAMpA5ABNwMAIAVBIGogA0GwAWopAwA3AwAgBUEYaiADQagBaikDADcDACAFQRBqIANBoAFqKQMANwMAIAVBCGogA0GYAWopAwA3AwAMAQsgAyADKAKMATYCWEHtxMAAQSsgA0HYAGpBmMXAAEGQ5MAAEJcCAAsgA0HAAWokAAwCCyADQQA2ApgBIANBATYCjAEgA0HkxMAANgKIASADQgQ3ApABIANBiAFqQbTEwAAQxQIACyADQQA2ApgBIANBATYCjAEgA0Hgh8EANgKIASADQgQ3ApABIANBiAFqQfSFwQAQxQIACyACQcwEaiACQeQAaigAADYAACACQRI6AMgEIAIgITcDwAQgAiAeNwO4BCACIB03A7AEIAIgIjcDqAQgAiACKABhNgDJBCACQdACaiIKAn8gAkHYBGogAkGoBGogBSAJEJwCIgNB/wFxBH8gAwUgCSACLQD4BCIDIAItAMgEIgVJDQEaIAMgBUcLQf8BcUEBRhsLIgNBIGopAwAiGTcDACACQcgCaiIFIANBGGopAwAiGjcDACACQcACaiIJIANBEGopAwAiGzcDACACQbgCaiIIIANBCGopAwAiHDcDACACIAMpAwAiHzcDsAIgAkHIA2ogGTcDACACQcADaiAaNwMAIAJBuANqIBs3AwAgAkGwA2ogHDcDACACIB83A6gDIAJBqARqIAcgAkGoA2ogERB1AkAgAigCqARFBEAgAkH4AmogCikDADcDACACQfACaiAFKQMANwMAIAJB6AJqIAkpAwA3AwAgAkHgAmogCCkDADcDACACIAIpA7ACNwPYAgwBCyACQfwCaiACQeQAaigAADYAACACQRI6APgCIAIgITcD8AIgAiAeNwPoAiACIB03A+ACIAIgIjcD2AIgAiACKABhNgD5AiACQagEakEEchDtAgsgEEEHIA4bIhBFDQUgAkGwA2ohBSACQbAEaiEDIAJB+QRqIQogAkGoA2pBBHIhESACQckEaiEMA0AgAkH4BGogAkHQAmoiCSkDADcDACACQfAEaiINIAJByAJqIggpAwA3AwAgAkHoBGoiEiACQcACaiILKQMANwMAIAJB4ARqIhMgAkG4AmoiDikDADcDACACIAIpA7ACNwPYBCACQcAEaiACQbABaiIUKQMANwMAIAJBuARqIAJBqAFqIhUpAwA3AwAgAyACQaABaiIWKQMANwMAIAIgAikDmAE3A6gEIAJBEjoAyAQgDCACKACRATYAACAMQQNqIAJBlAFqIhcoAAA2AAAgAkGoA2ogByACQdgEaiACQagEahBvAkACQAJAAkACQAJAIAIoAqgDRQRAIAJBoANqIAVBIGopAwA3AwAgAkGYA2ogBUEYaikDADcDACACQZADaiAFQRBqKQMANwMAIAJBiANqIAVBCGopAwA3AwAgAiAFKQMANwOAAwwBCyAJIAJB+AJqKQMAIhk3AwAgCCACQfACaikDACIaNwMAIAsgAkHoAmopAwAiGzcDACAOIAJB4AJqKQMAIhw3AwAgAiACKQPYAiIdNwOwAiACQaAEaiAZNwMAIAJBmARqIBo3AwAgAkGQBGogGzcDACACQYgEaiAcNwMAIAIgHTcDgAQgDSAUKQMANwMAIBIgFSkDADcDACATIBYpAwA3AwAgAkESOgD4BCACIAIpA5gBNwPYBCAKIAIoAJEBNgAAIApBA2ogFygAADYAACACQagEaiAHIAJBgARqIAJB2ARqEG8gAigCqAQNASACQaADaiADQSBqKQMANwMAIAJBmANqIANBGGopAwA3AwAgAkGQA2ogA0EQaikDADcDACACQYgDaiADQQhqKQMANwMAIAIgAykDADcDgAMgAigCqANFDQAgERDtAgsgAkGAA2ogAkHoAGoQnAIiD0H/AXEOAwECBAILIAIoAqwEIQMgBkEBNgIAIAYgAzYCBCACKAKoA0UNDCAREO0CDAwLIAItAKADIg8gAi0AiAEiGEkNASAPIBhHIQ8LIA9B/wFxQQFGDQELAkACQAJAIAJBsAJqIAJB2AJqEJwCQf8BcSIPDgMBAAMACyAPQQFLDQIMAQsgAi0A0AIgAi0A+AJJDQELIAJB+AJqIAkpAwA3AwAgAkHwAmogCCkDADcDACACQegCaiALKQMANwMAIAJB4AJqIA4pAwA3AwAgAiACKQOwAjcD2AIgAkGAA2ogAkHoAGpBIBCuAw0AIAItAKADIAItAIgBRg0HCyACQaAEaiAJKQMANwMAIAJBmARqIAgpAwA3AwAgAkGQBGogCykDADcDACACQYgEaiAOKQMANwMAIAIgAikDsAI3A4AEIA0gFCkDADcDACASIBUpAwA3AwAgEyAWKQMANwMAIAIgAikDmAE3A9gEIAJBEjoA+AQgCiACKACRATYAACAKQQNqIBcoAAA2AAAgA0EgaiACQdgBaikDADcDACADQRhqIAJB0AFqKQMANwMAIANBEGogAkHIAWopAwA3AwAgA0EIaiACQcABaikDADcDACADIAIpA7gBNwMAIAJCATcDqAQgAkGoA2ogByACQYAEaiACQdgEaiACQagEahByIAIoAqgDBEAgAigCrAMhAyAGQQE2AgAgBiADNgIEDAkLIAJB+ANqIAVBIGopAwA3AwAgAkHwA2ogBUEYaikDADcDACACQegDaiAFQRBqKQMANwMAIAJB4ANqIAVBCGopAwA3AwAgAiAFKQMANwPYAwJAAkACQCACQYADaiACQegAahCcAkH/AXEiCQRAIAlB/wFHDQEMAgsgAi0AoAMgAi0AiAFJDQELIAIpA3AhGiACKQOIAyEbIAIpA5ADIh0gAikDeCIefSEZAkACfiACKQOAAyIhIAIpA2giIloEQCAbIBp9IRwgGiAbVq0MAQsgGyAaQn+FfCEcIBogG1atIBogG1GtfAsiGlAEQCAdIB5UrSEbDAELIBkgGlStIB0gHlStfCEbIBkgGn0hGQsgAikDmAMiHSACKQOAASIefSEaAkACQCAbUARAIB0gHloNAQwCCyAdIB5UIBogG1RyDQEgGiAbfSEaCyACQRI6AMgEIAIgGjcDwAQgAiAZNwO4BCACIBw3A7AEIAIgISAifTcDqAQgAkGoA2ogAkGoBGogAkHYA2oQwAEgAikDsAMhGiACKQO4AiEbIAIpA8ADIR0gAikDyAIhHiACKQPAAiIhIAIpA7gDIiJ9IRkCQAJ+IAIpA7ACIh8gAikDqAMiI1oEQCAbIBp9IRwgGiAbVq0MAQsgGyAaQn+FfCEcIBogG1atIBogG1GtfAsiGlAEQCAhICJUrSEbDAELIBkgGlStICEgIlStfCEbIBkgGn0hGQsgHiAdfSEaAkACQCAbUARAIB0gHlgNAQwCCyAaIBtUIB0gHlZyDQEgGiAbfSEaCyACQRI6ANACIAIgGjcDyAIgAiAZNwPAAiACIBw3A7gCIAIgHyAjfTcDsAIMAwsMDAsMCwsgAikDiAMhGiACKQNwIRsgAikDeCIdIAIpA5ADIh59IRkCQAJ+IAIpA2giISACKQOAAyIiWgRAIBsgGn0hHCAaIBtWrQwBCyAbIBpCf4V8IRwgGiAbVq0gGiAbUa18CyIaUARAIB0gHlStIRsMAQsgGSAaVK0gHSAeVK18IRsgGSAafSEZCyACKQOAASIdIAIpA5gDIh59IRoCQCAbUARAIB0gHloNAQwMCyAdIB5UIBogG1RyDQsgGiAbfSEaCyACQRI6AMgEIAIgGjcDwAQgAiAZNwO4BCACIBw3A7AEIAIgISAifTcDqAQgAkGoA2ogAkGoBGogAkHYA2oQwAEgAikDuAIiGSACKQOwA3wiGyAZVCEJIAIpA8ACIhogAikDuAN8IhkgGlQhCCACKQPIAiIaIBogAikDwAN8IhpWIQsCQCACKQOwAiIcIAIpA6gDfCIdIBxaBH4gCa0FIBtCAXwiG1CtIAmtfAsiHFAEfiAIrQUgGSAZIBx8IhlWrSAIrXwLIhxQBEAgC0UNAQwICyALDQcgGiAaIBx8IhpWDQcLIAJBEjoA0AIgAiAaNwPIAiACIBk3A8ACIAIgGzcDuAIgAiAdNwOwAgsgEEEBayIQDQALDAULIAYgAikD4AE3AwggBkEANgIAIAZBKGogAkGAAmopAwA3AwAgBkEgaiACQfgBaikDADcDACAGQRhqIAJB8AFqKQMANwMAIAZBEGogAkHoAWopAwA3AwAMBgsgAigCrAQhAyAGQQE2AgAgBiADNgIEDAULIAIgAigCrAQ2AqgDQayCwABBKyACQagDakHYgsAAQaCRwAAQlwIAC0EEQRgQqAMACyACQQA2ArgEIAJBATYCrAQgAkHUwcAANgKoBCACQgQ3ArAEIAJBqARqQfC+wAAQxQIACyACQfgEaiACQfgCaikDADcDACACQfAEaiACQfACaikDADcDACACQegEaiACQegCaikDADcDACACQeAEaiACQeACaikDADcDACACIAIpA9gCNwPYBCACQcADaiACQbABaikDADcDACACQbgDaiACQagBaikDADcDACACQbADaiACQaABaikDADcDACACIAIpA5gBNwOoAyACQRI6AMgDIAJBzANqIAJBlAFqKAAANgAAIAIgAigAkQE2AMkDIAJBqARqIAcgAkHYBGogAkGoA2oQbyACKAKoBARAIAIoAqwEIQMgBkEBNgIAIAYgAzYCBAwCCyACQaAEaiACQdAEaikDADcDACACQZgEaiACQcgEaikDADcDACACQZAEaiACQcAEaikDADcDACACQYgEaiACQbgEaikDADcDACACIAIpA7AENwOABAJAAkAgAkHoAGogAkGABGoQnAJB/wFxIgMEQCADQf8BRw0BDAILIAItAIgBIAItAKAESQ0BCwJAAkACQAJAIAJB2AJqIAJB4AFqEJwCIgNB/wFxDgMAAQIBCyACLQD4AiIDIAItAIACIgdJDQEgAyAHRyEDCyADQf8BcUEBRg0BCyAGIAIpA9gCNwMIIAZBADYCACAGQShqIAJB+AJqKQMANwMAIAZBIGogAkHwAmopAwA3AwAgBkEYaiACQegCaikDADcDACAGQRBqIAJB4AJqKQMANwMADAMLIAJBADYCuAQgAkEBNgKsBCACQYiRwAA2AqgEIAJCBDcCsAQgAkGoBGpBkJHAABDSASEDIAZBATYCACAGIAM2AgQMAgsgAkEANgK4BCACQQE2AqwEIAJBuJDAADYCqAQgAkIENwKwBCACQagEakHAkMAAENIBIQMgBkEBNgIAIAYgAzYCBAwBCyACQQA2ArgEIAJBATYCrAQgAkGEkMAANgKoBCACQgQ3ArAEIAJBqARqQYyQwAAQ0gEhAyAGQQE2AgAgBiADNgIECyACQYAFaiQADAELIAJBADYCuAQgAkEBNgKsBCACQcCUwAA2AqgEIAJCBDcCsAQgAkGoBGpBkJTAABDFAgALIARB4BhqIAZBjLvAABCQAiAEKALgGEUEQCAEQdQYaiAEQYgZaikDACIZNwIAIARBzBhqIARBgBlqKQMAIho3AgAgBEHEGGogBEH4GGopAwAiGzcCACAEQbwYaiAEQfAYaikDACIcNwIAIARBkBhqIBw3AwAgBEGYGGogGzcDACAEQaAYaiAaNwMAIARBqBhqIBk3AwAgBCAEKQPoGCIZNwK0GCAEIBk3A4gYIAQoAsQaIgJBhAFPBEAgAhAACyAEKAL8GSICQYQBTwRAIAIQAAsgBCgCtBkiAkGEAU8EQCACEAALIARBCGogBEGIGGpBnLvAABC4AQwECyAEQcgYaiAEQfwYaigCACICNgIAIARBwBhqIARB9BhqKQIAIhk3AwAgBEG4GGogBEHsGGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpAuQYIhk3A7AYIAQgGTcDCAsgBCgCxBoiAkGEAUkNACACEAALIAQoAvwZIgJBhAFJDQAgAhAACyAEKAK0GSICQYQBSQ0AIAIQAAsgAUGDAUsEQCABEAALAn8gBCgCCCICQQJGBEAgBCgCDCEBQQAMAQsgBEGoEGogBEEgaigCADYCACAEQaAQaiAEQRhqKQMANwMAIARBmBBqIARBEGopAwA3AwAgBCAEKQMINwOQEEEAIQEgBEGQEGoQ5QELIQMgACACQQJHNgIIIAAgAzYCBCAAIAE2AgAgBEHAG2okAAuqSQIdfxZ+IwBBgBxrIgQkACAEQcARaiICIAEQAiABEAMQvAECQAJAAkACQAJAAkACQAJAIAQoAsARRQRAIARB2AFqIARByAlqQQRyIARByBFqQfAHEKwDQfAHEKwDGiAEIAEQFjYChBogAiAEQYQaakHUpcAAEKwBIAQoAsARDQEgBEH8GWogBEHgEWoiAykDACIfNwIAIARB9BlqIARB2BFqIgUpAwAiIDcCACAEQewZaiAEQdARaiIIKQMAIiI3AgAgBEHAGWogIjcDACAEQcgZaiAgNwMAIARB0BlqIB83AwAgBCAEKQPIESIfNwLkGSAEIB83A7gZIARBEjoA2BkgBCABEBc2AtQaIAIgBEHUGmpB5KXAABCsASAEKALAEQ0CIARBzBpqIAMpAwAiHzcCACAEQcQaaiAFKQMAIiA3AgAgBEG8GmogCCkDACIiNwIAIARBkBpqICI3AwAgBEGYGmogIDcDACAEQaAaaiAfNwMAIAQgBCkDyBEiHzcCtBogBCAfNwOIGiAEQRI6AKgaIAQgARAYNgKoGyACIARBqBtqQfSlwAAQrAEgBCgCwBFFBEAgBEGcG2ogAykDACIfNwIAIARBlBtqIAUpAwAiIDcCACAEQYwbaiAIKQMAIiI3AgAgBEHgGmogIjcDACAEQegaaiAgNwMAIARB8BpqIB83AwAgBCAEKQPIESIfNwKEGyAEIB83A9gaIARBEjoA+BogARAZIgJFBEAgBEIANwPAEQwGCyAEIAI2AqwbIARB2BtqIARBrBtqQYSmwAAQrAEgBCgC2BtFDQQgBEEIaiAEQeQbaikCADcDACAEQRBqIARB7BtqKQIANwMAIARBGGogBEH0G2ooAgA2AgAgBCAEKQLcGzcDACACQYQBSQ0GIAIQAAwGCyAEQZgbaiAEQdwRaigCACICNgIAIARBkBtqIARB1BFqKQIAIh83AwAgBEGIG2ogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A4AbIAQgHzcDAAwFCyAEQeAJaiAEQdwRaigCACICNgIAIARB2AlqIARB1BFqKQIAIh83AwAgBEHQCWogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A8gJIAQgHzcDAAwHCyAEQfgZaiAEQdwRaigCACICNgIAIARB8BlqIARB1BFqKQIAIh83AwAgBEHoGWogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A+AZIAQgHzcDAAwFCyAEQcgaaiAEQdwRaigCACICNgIAIARBwBpqIARB1BFqKQIAIh83AwAgBEG4GmogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A7AaIAQgHzcDAAwDCyAEQdARaiAEQegbaikDADcDACAEQdgRaiAEQfAbaikDADcDACAEQeARaiAEQfgbaikDADcDACAEIAQpA+AbNwPIESAEQRI6AOgRIARCATcDwBEgAkGEAUkNACACEAALIARBqAFqIQUgBEHYAWohCCAEQbgZaiEMIARBiBpqIQ0gBEHYGmohCyAEQcARaiEDIAEQGiICQf///wdHIQkgAkH//wNxIQ8jAEGwBGsiAiQAIAJBmANqIgZB69/AAEEDELABAkACQAJAAkACQAJAAkACQCACKAKYA0UEQCACQegCaiACQcADaikDADcDACACQeACaiACQbgDaikDADcDACACQdgCaiACQbADaiIKKQMANwMAIAJB0AJqIAJBqANqIgcpAwA3AwAgAiACKQOgAzcDyAIgAkEgaiACQcgCaiADQQhqIAMpAwBQGyIDQQhqKQMANwMAIAJBKGogA0EQaikDADcDACACQTBqIANBGGopAwA3AwAgAkE4aiADQSBqKQMANwMAIAIgAykDADcDGCACIA9B9AMgCRsiFTYCRCAKIAhB2AVqKQMANwMAIAcgCEHQBWopAwA3AwAgAkGgA2ogCEHIBWopAwA3AwAgAkESOgC4AyACIAgpA8AFNwOYAyALIAYQnAJB/wFxIgNFDQEgA0H/AUcNAgwDCyACIAIoApwDNgLIAkHtxMAAQSsgAkHIAmpBmMXAAEHw48AAEJcCAAsgCy0AICACLQC4A0kNAQsgAkGYA2ogCCALIA0QbwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoApgDRQRAIAJB6ABqIAJBwANqKQMANwMAIAJB4ABqIAJBuANqKQMANwMAIAJB2ABqIAJBsANqKQMANwMAIAJB0ABqIAJBqANqKQMANwMAIAIgAikDoAM3A0ggDCACQcgAahCcAiIDQf8BcQ4DAQIDAgsgAigCnAMhAyAFQQE2AgAgBSADNgIEDA4LIAwtACAiAyACLQBoIglJDQEgAyAJRyEDCyADQf8BcUEBRg0BCyAMKQMQISkgDCkDCCEnIAIpA1ghIiACKQNQISACfiACKQNIIiUgDCkDACIrWgRAICAgJ1StIR8gICAnfQwBCyAgICdUrSAgICdRrXwhHyAgICdCf4V8CyEkIAwpAxghKiACKQNgISEgIiApfSEgAkAgH1AEQCAiIClUrSEjDAELIB8gIFatICIgKVStfCEjICAgH30hIAsgISAqfSEfAkAgI1AEQCAhICpaDQEMCwsgHyAjVCAhICpUcg0KIB8gI30hHwsgAkESOgC4AyACIB83A7ADIAIgIDcDqAMgAiAkNwOgAyACICUgK303A5gDIAJBmANqIAJBGGoQnAIiA0H/AXEOAwECAwILIAIgAkHIAGqtQoCAgICQCIQ3A9ABIAIgDK1CgICAgJAIhDcDyAEgAkHUA2pBAzoAACACQdADakEENgIAIAJByANqQqCAgIAQNwIAIAJBwANqQQI2AgAgAkECNgLcAiACQQI2AswCIAJB/ODAADYCyAIgAkECNgLUAiACQQI2ArgDIAJBAzoAtAMgAkEENgKwAyACQiA3AqgDIAJBAjYCoAMgAkECNgKYAyACIAJBmANqNgLYAiACIAJByAFqNgLQAiACQaACaiIDIAJByAJqENMBIAJBCGogA0G8hsEAQYzhwAAQpgIgAigCDCEIIAIoAgghCyACQaADaiIMIAJBqAJqKAIANgIAQZngwQAtAAAaIAIgAikCoAI3A5gDQRhBBBD3AiIDRQ0EIAMgCzYCBCADQaSHwQA2AgAgAyACKQOYAzcCDCADIAg2AgggA0EUaiAMKAIANgIAIAVBATYCACAFIAM2AgQMCgsgAi0AuAMiAyACLQA4IglJDQIgAyAJRyEDCyADQf8BcUEBRw0BCyACQegCaiANQSBqKQMANwMAIAJB4AJqIA1BGGopAwA3AwAgAkHYAmogDUEQaikDADcDACACQdACaiIPIA1BCGopAwA3AwAgAiANKQMANwPIAiACQZgDaiEJIwBB0AJrIgMkACADQcACaiACQcgCaiIRIgZBIGopAwA3AwAgA0G4AmogBkEYaikDADcDACADQbACaiAGQRBqKQMANwMAIANBqAJqIAZBCGopAwA3AwAgAyAGKQMANwOgAiADQYgCaiAIQdgBaikDADcDACADQYACaiAIQdABaikDADcDACADQfgBaiAIQcgBaikDADcDACADQRI6AJACIAMgCCkDwAE3A/ABIAhBwAFqIQogA0EgagJ/IANBoAJqIhAgA0HwAWoiByAQIAcQnAIiEEH/AXEEfyAQBSAHIAMtAMACIgdBEkkNARogB0ESRwtB/wFxQQFGGwsiB0EgaikDADcDACADQRhqIAdBGGopAwA3AwAgA0EQaiAHQRBqKQMANwMAIANBCGogB0EIaikDADcDACADIAcpAwA3AwAgA0HYAGoiByAKQQhqKQMANwMAIANB4ABqIhAgCkEQaikDADcDACADQegAaiITIApBGGopAwA3AwAgAyAKKQMANwNQIANB8ABqIgpBEjoAACADQZACaiAKKQMANwMAIANBiAJqIBMpAwA3AwAgA0GAAmogECkDADcDACADQfgBaiAHKQMANwMAIAMgAykDUDcD8AEgA0EoaiAMIANB8AFqIgoQxAEgA0G4AmogCEHYBWopAwA3AwAgA0GwAmogCEHQBWopAwA3AwAgA0GoAmogCEHIBWopAwA3AwAgA0ESOgDAAiADIAgpA8AFNwOgAiAKIAggA0GgAmoQZwJAAkACQAJAAkACQAJAIAMoAvABRQRAIAMpA5ACITEgAykDiAIhLCADKQOAAiEyIAMpA/gBITMgCiADIAYQxAEgAykD+AEiHyAIKQOIBHwiJSAfVCEGIAMpA4ACIiAgCCkDkAR8Ih8gIFQhCiADKQOIAiIgICAgCCkDmAR8IiBWIQcCQCADKQPwASIiIAgpA4AEfCIoICJaBH4gBq0FICVCAXwiJVCtIAatfAsiIlAEfiAKrQUgHyAfICJ8Ih9WrSAKrXwLIiJQBEAgB0UNAQwICyAHDQcgICAgICJ8IiBWDQcLIANB4AFqIAhB4ANqIgZBGGopAwA3AwAgA0HYAWogBkEQaikDADcDACADQdABaiAGQQhqKQMANwMAIANBEjoA6AEgAyAGKQMANwPIASADQfABaiIGQdjHwABBBBCwASADKALwAQ0BIAMpA5ACISQgAykDiAIhJiADKQOAAiEjIAMpA/gBIS4gBiAIEJwBIAMoAvABRQRAIAMpA4ACISEgAykDkAIhLSAmIAMpA4gCIi99ISICQAJ+IAMpA/gBIjQgLlgEQCAjICF9ITAgISAjVq0MAQsgIyAhQn+FfCEwICEgI1atICEgI1GtfAsiIVAEQCAmIC9UrSEjDAELICEgIlatICYgL1StfCEjICIgIX0hIgsgJCAtfSEhAkAgI1AEQCAkIC1aDQEMCAsgJCAtVCAhICNUcg0HICEgI30hIQsgA0ESOgDAAiADICE3A7gCIAMgIjcDsAIgAyAwNwOoAiADIC4gNH03A6ACIANBoAFqIANByAFqIANBoAJqEMcBICUgAykDqAF8IiMgJVQhBiADKQOwASAffCIiIB9UIQogICADKQO4ASAgfCIfViEHAkAgKCAoIAMpA6ABfCIgWAR+IAatBSAjQgF8IiNQrSAGrXwLIiFQBH4gCq0FICIgISAifCIiVq0gCq18CyIhUARAIAMgHzcDkAEgAyAiNwOIASADICM3A4ABIAMgIDcDeCAHRQ0BDAcLIAMgIjcDiAEgAyAjNwOAASADICA3A3ggAyAfICF8IiA3A5ABIAcgHyAgVnINBgsgA0ESOgCYASADQaACaiADQdAAaiADQfgAahDEASADKQMwIh8gMnwiICAfVCEGIAMpAzgiIiAsfCIfICJUIQogAykDQCIiICIgMXwiIlYhBwJAIAMpAygiISAzfCIjICFaBH4gBq0FICBCAXwiIFCtIAatfAsiIVAEfiAKrQUgHyAfICF8Ih9WrSAKrXwLIiFQBEAgAyAiNwOIAiADIB83A4ACIAMgIDcD+AEgAyAjNwPwASAHRQ0BDAYLIAMgHzcDgAIgAyAgNwP4ASADICM3A/ABIAMgISAifCIfNwOIAiAHIB8gIlRyDQULIANBEjoAkAIgCUEIaiADQaACaiADQfABahDHASAJQQA2AgAMAwsgAygC9AEhBiAJQQE2AgAgCSAGNgIEDAILIAMoAvQBIQYgCUEBNgIAIAkgBjYCBAwBCyADIAMoAvQBNgLMAkHtxMAAQSsgA0HMAmpBmMXAAEHc7cAAEJcCAAsgA0HQAmokAAwECyADQQA2AtgBIANBATYCzAEgA0Hgh8EANgLIASADQgQ3AtABIANByAFqQfSFwQAQxQIACyADQQA2AoACIANBATYC9AEgA0Hgh8EANgLwASADQgQ3AvgBIANB8AFqQfSFwQAQxQIACyADQQA2AoACIANBATYC9AEgA0HkxMAANgLwASADQgQ3AvgBIANB8AFqQbTEwAAQxQIACyADQQA2ArACIANBATYCpAIgA0Hgh8EANgKgAiADQgQ3AqgCIANBoAJqQfSFwQAQxQIACyACKAKYAw0EIAIgAigAwQM2AnAgAiACQcQDaigAADYAcyACLQDAAyEJIAIpA7gDIR8gAikDsAMhICACKQOoAyEjIAIpA6ADISUgAkGQAWpCfzcDACACQYgBakJ/NwMAIAJBgAFqQn83AwAgAkJ/NwN4IAJBEjoAmAEgFUUNAyAnQn+FITAgEUEEciEQIAJB6QFqIRMgCykDGCEuIAspAxAhLyALKQMIIS0gCykDACExIAJB0AFqIQYgAkGgA2ohAyACQcECaiEWIAwtACAhCiACQekCaiIXQQNqIRggCy0AICEZA0AgFyACKAJwNgAAIBggAigAczYAACACIAk6AOgCIAIgHzcD4AIgAiAgNwPYAiACICM3A9ACIAIgJTcDyAIgAkGYA2ogCCACQcgCaiANEG8CQAJAAkACQCACKAKYA0UEQCACQcABaiADQSBqIhEpAwA3AwAgAkG4AWogA0EYaiISKQMANwMAIAJBsAFqIANBEGoiFCkDADcDACACQagBaiADQQhqIhopAwA3AwAgAiADKQMANwOgASACQaABaiAMEJwCQf8BcSIHRQ0BIAdB/wFHDQIMAwsgAigCnAMhAyAFQQE2AgAgBSADNgIEDAwLIAItAMABIApJDQELIAIpA6gBISEgAikDsAEiJiApfSEiAkACfiArIAIpA6ABIihYBEAgISAnfSEkICEgJ1StDAELICEgMHwhJCAhICdUrSAhICdRrXwLIiFQBEAgJiApVK0hJgwBCyAhICJWrSAmIClUrXwhJiAiICF9ISILIAIpA7gBIiwgKn0hIQJAICZQBEAgKiAsVg0BICggK30hKAwDCyAhICZUICogLFZyDQAgKCArfSEoICEgJn0hIQwCCwwLCyACKQOoASEhICkgAikDsAEiJH0hIgJAAn4gAikDoAEiLCArWARAICcgIX0hJiAhICdWrQwBCyAnICFCf4V8ISYgISAnVq0gISAnUa18CyIhUARAICQgKVatISQMAQsgISAiVq0gJCApVq18ISQgIiAhfSEiCyAqIAIpA7gBIih9ISECQAJAICRQBEAgKCAqWA0BDAILICEgJFQgKCAqVnINASAhICR9ISELIAJBEjoAuAMgAiAhNwOwAyACICI3A6gDIAIgJjcDoAMgAiArICx9NwOYAwJAAkACQAJAIAJBmANqIAJBGGoQnAIiB0H/AXEOAwABAgELIAItALgDIgcgAi0AOCIOSQ0CIAcgDkchBwsgB0H/AXFBAUcNAQsgAikDqAEhISApIAIpA7ABIiZ9ISICQAJ+IAIpA6ABIiggK1gEQCAnICF9ISQgISAnVq0MAQsgJyAhQn+FfCEkICEgJ1atICEgJ1GtfAsiIVAEQCAmIClWrSEmDAELICEgIlatICYgKVatfCEmICIgIX0hIgsgKiACKQO4ASIsfSEhAkAgJlAEQCAqICxUDQEgKyAofSEoDAQLICogLFQgISAmVHINACArICh9ISggISAmfSEhDAMLDAwLIAUgAigCcDYAKSAFIAk6ACggBSAfNwMgIAUgIDcDGCAFICM3AxAgBSAlNwMIIAVBADYCACAFQSxqIAIoAHM2AAAMCgsMCwsgAkESOgCYASACICE3A5ABIAIgIjcDiAEgAiAkNwOAASACICg3A3ggFiACKAJwNgAAIBZBA2ogAigAczYAACACIAk6AMACIAIgHzcDuAIgAiAgNwOwAiACICM3A6gCIAIgJTcDoAIgAkGYA2oiDiAIEJwBAkACQCACKAKYA0UEQCAPIAMpAwA3AwAgD0EgaiIbIBEpAwA3AwAgD0EYaiIcIBIpAwA3AwAgD0EQaiIdIBQpAwA3AwAgD0EIaiIeIBopAwA3AwAgAkIBNwPIAiACQbgDaiIJIA1BIGopAwA3AwAgAkGwA2oiByANQRhqKQMANwMAIAJBqANqIhEgDUEQaikDADcDACADIA1BCGopAwA3AwAgAiANKQMANwOYAyACQcgBaiAIIAJBoAJqIhIgDiACQcgCahByAkACQCACKALIAUUEQCACQZgCaiAGQSBqKQMANwMAIAJBkAJqIAZBGGopAwA3AwAgAkGIAmogBkEQaikDADcDACACQYACaiAGQQhqKQMANwMAIAIgBikDADcD+AEgCSACQZgBaikDADcDACAHIAJBkAFqKQMANwMAIBEgAkGIAWopAwA3AwAgAyACQYABaikDADcDACACIAIpA3g3A5gDIBIgDiACQfgBahDFASACQaABaiAMEJwCQf8BcSIORQ0BIA5B/wFHDQIMBAsgAigCzAEhAyAFQQE2AgAgBSADNgIEDA0LIAItAMABIApJDQILIAIpA6gCISICfiACKQOgAiImICVYBEAgIiAjVq0hJCAjICJ9DAELICIgI1atICIgI1GtfCEkICMgIkJ/hXwLISIgICACKQOwAiIhfSEjAkAgJFAEQCAgICFUrSEhDAELICMgJFStICAgIVStfCEhICMgJH0hIwsgHyACKQO4AiIkfSEgAkAgIVAEQCAfICRaDQEMDgsgHyAkVCAgICFUcg0NICAgIX0hIAsgJSAmfSEhDAILIAIoApwDIQMgBUEBNgIAIAUgAzYCBAwKCyAjIAIpA6gCfCIiICNUIQ4gICACKQOwAnwiIyAgVCESIB8gAikDuAJ8IiAgH1QhFCAlICUgAikDoAJ8IiFYBH4gDq0FICJCAXwiIlCtIA6tfAsiH1AEfiASrQUgIyAfICN8IiNWrSASrXwLIh9QBEAgFEUNAQwFCyAUDQQgICAfICB8IiBWDQQLIAJB6AFqIg5BEjoAACACQeABaiAgNwMAIAJB2AFqICM3AwAgBiAiNwMAIAIgITcDyAEgCSAOKQMANwMAIAcgIDcDACARICM3AwAgAyAiNwMAIAIgITcDmAMgAkHIAmogCCACQZgDaiIOIA0QbwJAAkACQAJAAkACQAJAAkACQCACKALIAkUEQCAJIBspAwA3AwAgByAcKQMANwMAIBEgHSkDADcDACADIB4pAwA3AwAgAiAPKQMANwOYAyAOIAwQnAIiCUH/AXEOAwECAwILIAJByAFqIAsQnAJB/wFxIgkOAwUEBwQLIAogAi0AuAMiCUsNAiAJIApHIQkLIAlB/wFxQQFHDQELIAIpA6ADISAgAikDqAMiIyApfSEfAkACfiArIAIpA5gDIiRYBEAgICAnfSEiICAgJ1StDAELICAgMHwhIiAgICdUrSAgICdRrXwLIiFQBEAgIyApVK0hIAwBCyAfICFUrSAjIClUrXwhICAfICF9IR8LIAIpA7ADIiMgKn0hJQJAICBQBEAgIyAqWg0BDBMLICMgKlQgICAlVnINEiAlICB9ISULIAIpA9ABISACfiACKQPIASImICQgK30iJFoEQCAgICJUrSEhICAgIn0MAQsgICAiVK0gICAiUa18ISEgICAiQn+FfAshIyACKQPYASIiIB99ISACQCAhUARAIB8gIlatISIMAQsgICAhVK0gHyAiVq18ISIgICAhfSEgCyACKQPgASIhICV9IR8CQCAiUARAICEgJVoNAQwTCyAhICVUIB8gIlRyDRIgHyAifSEfCyAmICR9ISVBEiEJDAULIAIgEygAADYCcCACIBNBA2ooAAA2AHMgAi0A6AEhCSACKQPgASEfIAIpA9gBISAgAikD0AEhIyACKQPIASElDAQLIAlBAkkNAQwCCyACLQDoASAZSQ0BCyACKQMgISACfiACKQMYIiEgMVgEQCAgIC1WrSEfIC0gIH0MAQsgICAtVq0gICAtUa18IR8gLSAgQn+FfAshIyAvIAIpAygiIn0hIAJAIB9QBEAgIiAvVq0hJQwBCyAfICBWrSAiIC9WrXwhJSAgIB99ISALIC4gAikDMCIifSEfAkACQCAlUARAICIgLlgNAQwCCyAfICVUICIgLlZyDQEgHyAlfSEfCyAxICF9ISVBEiEJDAILDAsLIAIgC61CgICAgJAIhDcDkAMgAiACQcgBaq1CgICAgJAIhDcDiAMgAkHUA2pBAzoAACACQdADakEENgIAIAJByANqQqCAgIAQNwIAIAJBwANqQQI2AgAgAkECNgKsBCACQQM2ApwEIAJByOPAADYCmAQgAkECNgKkBCACQQI2ArgDIAJBAzoAtAMgAkEENgKwAyACQiA3AqgDIAJBAjYCoAMgAkECNgKYAyACIAJBmANqNgKoBCACIAJBiANqNgKgBCACQfwCaiIDIAJBmARqEIwCIANB4OPAABCHAiEDIAVBATYCACAFIAM2AgQgAigCyAJFDQkgEBDtAgwJCyACKALIAgRAIBAQ7QILIBVBAWsiFQ0ACwwDCyAFQQA2AgAgBSALKQMANwMIIAVBKGogC0EgaikDADcDACAFQSBqIAtBGGopAwA3AwAgBUEYaiALQRBqKQMANwMAIAVBEGogC0EIaikDADcDAAwGC0EEQRgQqAMACyACQQA2AqgDIAJBATYCnAMgAkHgh8EANgKYAyACQgQ3AqADIAJBmANqQfSFwQAQxQIACyACIAJBGGqtQoCAgICQCIQ3A+ACIAIgAkH4AGqtQoCAgICQCIQ3A9gCIAIgDK1CgICAgJAIhDcD0AIgAiACQcQAaq1CgICAgKAIhDcDyAIgAkGUBGpBAzoAACACQZAEakEENgIAIAJBiARqQqCAgIAwNwIAIAJBgARqQQI2AgAgAkH0A2pBAzoAACACQfADakEENgIAIAJB6ANqQqCAgIAgNwIAIAJB4ANqQQI2AgAgAkHUA2pBAzoAACACQdADakEENgIAIAJByANqQqCAgIAQNwIAIAJBwANqQQI2AgAgAkECNgL4AyACQQI2AtgDIAJBAjYCuAMgAkEDOgC0AyACQQQ2ArADIAJCIDcCqAMgAkECNgKgAyACQQI2ApgDIAJBBDYC3AEgAkEENgLMASACQcTiwAA2AsgBIAJBBDYC1AEgAiACQZgDajYC2AEgAiACQcgCajYC0AEgAkGgAmoiAyACQcgBahDTASACQRBqIANBvIbBAEHk4sAAEKYCIAIoAhQhCCACKAIQIQsgAkGgA2oiDCACQagCaigCADYCAEGZ4MEALQAAGiACIAIpAqACNwOYA0EYQQQQ9wIiAwRAIAMgCzYCBCADQaSHwQA2AgAgAyACKQOYAzcCDCADIAg2AgggA0EUaiAMKAIANgIAIAVBATYCACAFIAM2AgQMBAtBBEEYEKgDAAsgAigCnAMhAyAFQQE2AgAgBSADNgIEDAILDAMLIAJBADYCqAMgAkEBNgKcAyACQYzgwAA2ApgDIAJCBDcCoAMgAkGYA2pBlODAABDSASEDIAVBATYCACAFIAM2AgQLIAJBsARqJAAMAwsgAkEANgKoAyACQQE2ApwDIAJB5MTAADYCmAMgAkIENwKgAyACQZgDakG0xMAAEMUCAAsgAkEANgLYAiACQQE2AswCIAJB5MTAADYCyAIgAkIENwLQAiACQcgCakG0xMAAEMUCAAsgAkEANgKoBCACQQE2ApwEIAJB5MTAADYCmAQgAkIENwKgBCACQZgEakG0xMAAEMUCAAsgBEH4AGogBUGUpsAAEJACIAQoAnhFBEAgBEHsAGogBEGgAWopAwAiHzcCACAEQeQAaiAEQZgBaikDACIgNwIAIARB3ABqIARBkAFqKQMAIiI3AgAgBEHUAGogBEGIAWopAwAiIzcCACAEQShqICM3AwAgBEEwaiAiNwMAIARBOGogIDcDACAEQUBrIB83AwAgBCAEKQOAASIfNwJMIAQgHzcDICAEIARBIGpBpKbAABC4ASAEKAKoGyICQYQBTwRAIAIQAAsgBCgC1BoiAkGEAU8EQCACEAALIAQoAoQaIgJBhAFPBEAgAhAACwwECyAEQeAAaiAEQZQBaigCACICNgIAIARB2ABqIARBjAFqKQIAIh83AwAgBEHQAGogBEGEAWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAnwiHzcDSCAEIB83AwALIAQoAqgbIgJBhAFJDQAgAhAACyAEKALUGiICQYQBSQ0AIAIQAAsgBCgChBoiAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAQoAgAiAkECRgRAIAQoAgQhAUEADAELIARB2BFqIARBGGooAgA2AgAgBEHQEWogBEEQaikDADcDACAEQcgRaiAEQQhqKQMANwMAIAQgBCkDADcDwBFBACEBIARBwBFqEOUBCyEDIAAgAkECRzYCCCAAIAM2AgQgACABNgIAIARBgBxqJAAL5w0CA38KfiMAQaADayICJAAgAkHIAGogAUHYAWopAwA3AwAgAkFAayABQdABaikDADcDACACQThqIAFByAFqKQMANwMAIAJBEjoAUCACIAEpA8ABNwMwIAJBmAFqIAFBmAVqKQMANwMAIAJBkAFqIAFBkAVqKQMANwMAIAJBiAFqIAFBiAVqKQMANwMAIAJBEjoAoAEgAiABKQOABTcDgAEgAkHwAmogAUEYaikDADcDACACQegCaiABQRBqKQMANwMAIAJB4AJqIAFBCGopAwA3AwAgAkESOgD4AiACIAEpAwA3A9gCIAJBmANqIAFBOGopAwA3AwAgAkGQA2ogAUEwaikDADcDACACQYgDaiABQShqKQMANwMAIAIgASkDIDcDgAMgAkGoAmoiAyACQdgCaiACQYADahDKAQJAAkACQAJAAkACQCACKAKoAkUEQCACQcgBaiACQdACaikDADcDACACQcABaiACQcgCaikDADcDACACQbgBaiACQcACaikDADcDACACQbABaiACQbgCaikDADcDACACIAIpA7ACNwOoASACQdgAaiACQYABaiACQagBahDCASADQdCBwABBBBCvASACKAKoAg0BIAIpA8ACIQkgAikDuAIhBiABKQPQBiEIIAEpA8gGIQUCfiACKQOwAiINIAEpA8AGIg5aBEAgBiAFfSELIAUgBlatDAELIAYgBUJ/hXwhCyAFIAZWrSAFIAZRrXwLIQcgAikDyAIhDCABKQPYBiEKIAkgCH0hBgJAIAdQBEAgCCAJVq0hCQwBCyAGIAdUrSAIIAlWrXwhCSAGIAd9IQYLIAwgCn0hBwJAIAlQBEAgCiAMWA0BDAgLIAcgCVQgCiAMVnINByAHIAl9IQcLIAJBEjoAyAIgAiAHNwPAAiACIAY3A7gCIAIgCzcDsAIgAiANIA59NwOoAiACQfgBaiACQdgAaiACQagCaiIEEG0gAigC+AENAiACQfABaiACQaACaikDADcDACACQegBaiACQZgCaikDADcDACACQeABaiACQZACaikDADcDACACQdgBaiACQYgCaikDADcDACACIAIpA4ACNwPQASACQcACaiABQYAFaiIDQRhqKQMANwMAIAJBuAJqIANBEGopAwA3AwAgAkGwAmogA0EIaikDADcDACACQRI6AMgCIAIgAykDADcDqAIgAkEIaiACQTBqIAJB0AFqIAQQcyACQfACaiABQZgBaikDADcDACACQegCaiABQZABaikDADcDACACQeACaiABQYgBaikDADcDACACQRI6APgCIAIgASkDgAE3A9gCIARB0IHAAEEEEK8BIAIoAqgCDQMgAikDwAIhCSACKQO4AiEGAn4gDiACKQOwAiINWARAIAYgBX0hCyAFIAZWrQwBCyAGIAVCf4V8IQsgBSAGVq0gBSAGUa18CyEHIAIpA8gCIQwgCSAIfSEFAkAgB1AEQCAIIAlWrSEIDAELIAUgB1StIAggCVatfCEIIAUgB30hBQsgDCAKfSEGAkAgCFAEQCAKIAxYDQEMCAsgBiAIVCAKIAxWcg0HIAYgCH0hBgsgAkESOgDIAiACIAY3A8ACIAIgBTcDuAIgAiALNwOwAiACIA0gDn03A6gCIAJB+AFqIAJB2AJqIAJBqAJqEG0gAigC+AFFBEAgAikDECIFIAIpA4gCfCIIIAVUIQEgAikDkAIhBiACKQMYIQUgAikDCCIHIAIpA4ACfCIKIAdaBH4gAa0FIAhCAXwiCFCtIAGtfAshByACKQOYAiACKQMgIQsgBSAFIAZ8IgVWIQEgB1AEfiABrQUgBSAFIAd8IgVWrSABrXwLIQYgC3wiByALVCEBAkAgBlAEQCAAIAc3AyAgACAFNwMYIAAgCDcDECAAIAo3AwggAUUNAQwICyAAIAU3AxggACAINwMQIAAgCjcDCCAAIAYgB3wiBTcDICABIAUgB1RyDQcLIABBADYCACAAQRI6ACgMBQsgAigC/AEhASAAQQE2AgAgACABNgIEDAQLIAIoAqwCIQEgAEEBNgIAIAAgATYCBAwDCyACIAIoAqwCNgLYAkGsgsAAQSsgAkHYAmpB2ILAAEHMh8AAEJcCAAsgAigC/AEhASAAQQE2AgAgACABNgIEDAELIAIgAigCrAI2AoABQayCwABBKyACQYABakHYgsAAQbyHwAAQlwIACyACQaADaiQADwsgAkEANgK4AiACQQE2AqwCIAJB1MHAADYCqAIgAkIENwKwAiACQagCakHwvsAAEMUCAAsgAkEANgK4AiACQQE2AqwCIAJBwJTAADYCqAIgAkIENwKwAiACQagCakGQlMAAEMUCAAvnDQIDfwp+IwBBoANrIgIkACACQcgAaiABQdgBaikDADcDACACQUBrIAFB0AFqKQMANwMAIAJBOGogAUHIAWopAwA3AwAgAkESOgBQIAIgASkDwAE3AzAgAkGYAWogAUGYBWopAwA3AwAgAkGQAWogAUGQBWopAwA3AwAgAkGIAWogAUGIBWopAwA3AwAgAkESOgCgASACIAEpA4AFNwOAASACQfACaiABQRhqKQMANwMAIAJB6AJqIAFBEGopAwA3AwAgAkHgAmogAUEIaikDADcDACACQRI6APgCIAIgASkDADcD2AIgAkGYA2ogAUE4aikDADcDACACQZADaiABQTBqKQMANwMAIAJBiANqIAFBKGopAwA3AwAgAiABKQMgNwOAAyACQagCaiIDIAJB2AJqIAJBgANqEMoBAkACQAJAAkACQAJAIAIoAqgCRQRAIAJByAFqIAJB0AJqKQMANwMAIAJBwAFqIAJByAJqKQMANwMAIAJBuAFqIAJBwAJqKQMANwMAIAJBsAFqIAJBuAJqKQMANwMAIAIgAikDsAI3A6gBIAJB2ABqIAJBgAFqIAJBqAFqEMcBIANB2MfAAEEEELABIAIoAqgCDQEgAikDwAIhCSACKQO4AiEGIAEpA9AGIQggASkDyAYhBQJ+IAIpA7ACIg0gASkDwAYiDloEQCAGIAV9IQsgBSAGVq0MAQsgBiAFQn+FfCELIAUgBlatIAUgBlGtfAshByACKQPIAiEMIAEpA9gGIQogCSAIfSEGAkAgB1AEQCAIIAlWrSEJDAELIAYgB1StIAggCVatfCEJIAYgB30hBgsgDCAKfSEHAkAgCVAEQCAKIAxYDQEMCAsgByAJVCAKIAxWcg0HIAcgCX0hBwsgAkESOgDIAiACIAc3A8ACIAIgBjcDuAIgAiALNwOwAiACIA0gDn03A6gCIAJB+AFqIAJB2ABqIAJBqAJqIgQQbiACKAL4AQ0CIAJB8AFqIAJBoAJqKQMANwMAIAJB6AFqIAJBmAJqKQMANwMAIAJB4AFqIAJBkAJqKQMANwMAIAJB2AFqIAJBiAJqKQMANwMAIAIgAikDgAI3A9ABIAJBwAJqIAFBgAVqIgNBGGopAwA3AwAgAkG4AmogA0EQaikDADcDACACQbACaiADQQhqKQMANwMAIAJBEjoAyAIgAiADKQMANwOoAiACQQhqIAJBMGogAkHQAWogBBB7IAJB8AJqIAFBmAFqKQMANwMAIAJB6AJqIAFBkAFqKQMANwMAIAJB4AJqIAFBiAFqKQMANwMAIAJBEjoA+AIgAiABKQOAATcD2AIgBEHYx8AAQQQQsAEgAigCqAINAyACKQPAAiEJIAIpA7gCIQYCfiAOIAIpA7ACIg1YBEAgBiAFfSELIAUgBlatDAELIAYgBUJ/hXwhCyAFIAZWrSAFIAZRrXwLIQcgAikDyAIhDCAJIAh9IQUCQCAHUARAIAggCVatIQgMAQsgBSAHVK0gCCAJVq18IQggBSAHfSEFCyAMIAp9IQYCQCAIUARAIAogDFgNAQwICyAGIAhUIAogDFZyDQcgBiAIfSEGCyACQRI6AMgCIAIgBjcDwAIgAiAFNwO4AiACIAs3A7ACIAIgDSAOfTcDqAIgAkH4AWogAkHYAmogAkGoAmoQbiACKAL4AUUEQCACKQMQIgUgAikDiAJ8IgggBVQhASACKQOQAiEGIAIpAxghBSACKQMIIgcgAikDgAJ8IgogB1oEfiABrQUgCEIBfCIIUK0gAa18CyEHIAIpA5gCIAIpAyAhCyAFIAUgBnwiBVYhASAHUAR+IAGtBSAFIAUgB3wiBVatIAGtfAshBiALfCIHIAtUIQECQCAGUARAIAAgBzcDICAAIAU3AxggACAINwMQIAAgCjcDCCABRQ0BDAgLIAAgBTcDGCAAIAg3AxAgACAKNwMIIAAgBiAHfCIFNwMgIAEgBSAHVHINBwsgAEEANgIAIABBEjoAKAwFCyACKAL8ASEBIABBATYCACAAIAE2AgQMBAsgAigCrAIhASAAQQE2AgAgACABNgIEDAMLIAIgAigCrAI2AtgCQe3EwABBKyACQdgCakGYxcAAQej5wAAQlwIACyACKAL8ASEBIABBATYCACAAIAE2AgQMAQsgAiACKAKsAjYCgAFB7cTAAEErIAJBgAFqQZjFwABB2PnAABCXAgALIAJBoANqJAAPCyACQQA2ArgCIAJBATYCrAIgAkHgh8EANgKoAiACQgQ3ArACIAJBqAJqQfSFwQAQxQIACyACQQA2ArgCIAJBATYCrAIgAkHkxMAANgKoAiACQgQ3ArACIAJBqAJqQbTEwAAQxQIAC+cNAgN/Cn4jAEGgA2siAiQAIAJByABqIAFB2AFqKQMANwMAIAJBQGsgAUHQAWopAwA3AwAgAkE4aiABQcgBaikDADcDACACQRI6AFAgAiABKQPAATcDMCACQZgBaiABQZgFaikDADcDACACQZABaiABQZAFaikDADcDACACQYgBaiABQYgFaikDADcDACACQRI6AKABIAIgASkDgAU3A4ABIAJB8AJqIAFBGGopAwA3AwAgAkHoAmogAUEQaikDADcDACACQeACaiABQQhqKQMANwMAIAJBEjoA+AIgAiABKQMANwPYAiACQZgDaiABQThqKQMANwMAIAJBkANqIAFBMGopAwA3AwAgAkGIA2ogAUEoaikDADcDACACIAEpAyA3A4ADIAJBqAJqIgMgAkHYAmogAkGAA2oQygECQAJAAkACQAJAAkAgAigCqAJFBEAgAkHIAWogAkHQAmopAwA3AwAgAkHAAWogAkHIAmopAwA3AwAgAkG4AWogAkHAAmopAwA3AwAgAkGwAWogAkG4AmopAwA3AwAgAiACKQOwAjcDqAEgAkHYAGogAkGAAWogAkGoAWoQxgEgA0HYx8AAQQQQsAEgAigCqAINASACKQPAAiEJIAIpA7gCIQYgASkD0AYhCCABKQPIBiEFAn4gAikDsAIiDSABKQPABiIOWgRAIAYgBX0hCyAFIAZWrQwBCyAGIAVCf4V8IQsgBSAGVq0gBSAGUa18CyEHIAIpA8gCIQwgASkD2AYhCiAJIAh9IQYCQCAHUARAIAggCVatIQkMAQsgBiAHVK0gCCAJVq18IQkgBiAHfSEGCyAMIAp9IQcCQCAJUARAIAogDFgNAQwICyAHIAlUIAogDFZyDQcgByAJfSEHCyACQRI6AMgCIAIgBzcDwAIgAiAGNwO4AiACIAs3A7ACIAIgDSAOfTcDqAIgAkH4AWogAkHYAGogAkGoAmoiBBBuIAIoAvgBDQIgAkHwAWogAkGgAmopAwA3AwAgAkHoAWogAkGYAmopAwA3AwAgAkHgAWogAkGQAmopAwA3AwAgAkHYAWogAkGIAmopAwA3AwAgAiACKQOAAjcD0AEgAkHAAmogAUGABWoiA0EYaikDADcDACACQbgCaiADQRBqKQMANwMAIAJBsAJqIANBCGopAwA3AwAgAkESOgDIAiACIAMpAwA3A6gCIAJBCGogAkEwaiACQdABaiAEEHQgAkHwAmogAUGYAWopAwA3AwAgAkHoAmogAUGQAWopAwA3AwAgAkHgAmogAUGIAWopAwA3AwAgAkESOgD4AiACIAEpA4ABNwPYAiAEQdjHwABBBBCwASACKAKoAg0DIAIpA8ACIQkgAikDuAIhBgJ+IA4gAikDsAIiDVgEQCAGIAV9IQsgBSAGVq0MAQsgBiAFQn+FfCELIAUgBlatIAUgBlGtfAshByACKQPIAiEMIAkgCH0hBQJAIAdQBEAgCCAJVq0hCAwBCyAFIAdUrSAIIAlWrXwhCCAFIAd9IQULIAwgCn0hBgJAIAhQBEAgCiAMWA0BDAgLIAYgCFQgCiAMVnINByAGIAh9IQYLIAJBEjoAyAIgAiAGNwPAAiACIAU3A7gCIAIgCzcDsAIgAiANIA59NwOoAiACQfgBaiACQdgCaiACQagCahBuIAIoAvgBRQRAIAIpAxAiBSACKQOIAnwiCCAFVCEBIAIpA5ACIQYgAikDGCEFIAIpAwgiByACKQOAAnwiCiAHWgR+IAGtBSAIQgF8IghQrSABrXwLIQcgAikDmAIgAikDICELIAUgBSAGfCIFViEBIAdQBH4gAa0FIAUgBSAHfCIFVq0gAa18CyEGIAt8IgcgC1QhAQJAIAZQBEAgACAHNwMgIAAgBTcDGCAAIAg3AxAgACAKNwMIIAFFDQEMCAsgACAFNwMYIAAgCDcDECAAIAo3AwggACAGIAd8IgU3AyAgASAFIAdUcg0HCyAAQQA2AgAgAEESOgAoDAULIAIoAvwBIQEgAEEBNgIAIAAgATYCBAwECyACKAKsAiEBIABBATYCACAAIAE2AgQMAwsgAiACKAKsAjYC2AJB7cTAAEErIAJB2AJqQZjFwABByPnAABCXAgALIAIoAvwBIQEgAEEBNgIAIAAgATYCBAwBCyACIAIoAqwCNgKAAUHtxMAAQSsgAkGAAWpBmMXAAEG4+cAAEJcCAAsgAkGgA2okAA8LIAJBADYCuAIgAkEBNgKsAiACQeCHwQA2AqgCIAJCBDcCsAIgAkGoAmpB9IXBABDFAgALIAJBADYCuAIgAkEBNgKsAiACQeTEwAA2AqgCIAJCBDcCsAIgAkGoAmpBtMTAABDFAgAL5A0CBH8RfiMAQaADayICJAAgAkHoAmpB2MfAAEEEELABAkACQAJAAkACQCACKALoAkUEQCACKQOAAyEHIAIpA/gCIQYgASkDkAQhEiABKQOIBCEMAn4gAikD8AIiCCABKQOABCIVWgRAIAYgDH0hCiAGIAxUrQwBCyAGIAxCf4V8IQogBiAMVK0gBiAMUa18CyEJIAIpA4gDIQYgASkDmAQhEyAHIBJ9IQsCQCAJUARAIAcgElStIQcMAQsgCSALVq0gByASVK18IQcgCyAJfSELCyAGIBN9IQkCQCAHUARAIAYgE1oNAQwHCyAGIBNUIAcgCVZyDQYgCSAHfSEJCyACQRI6ACAgAiAJNwMYIAIgCzcDECACIAo3AwggAiAIIBV9NwMAIAJB6AJqIgNB2MfAAEEEELABIAIoAugCDQEgAikDiAMhFiACKQOAAyEJIAIpA/gCIQsgAikD8AIhDSACQbgBaiABQfgDaikDADcDACACQbABaiABQfADaikDADcDACACQagBaiABQegDaikDADcDACACQRI6AMABIAIgASkD4AM3A6ABIANB2MfAAEEEELABIAIoAugCDQIgAkG4AmogAkGQA2oiBCkDADcDACACQbACaiACQYgDaiIFKQMANwMAIAJBqAJqIAJBgANqKQMANwMAIAJBoAJqIAJB+AJqKQMANwMAIAIgAikD8AI3A5gCIAMgARCcAQJAIAIoAugCRQRAIAJB4AJqIAQpAwA3AwAgAkHYAmogBSkDADcDACACQdACaiACQYADaikDADcDACACQcgCaiACQfgCaikDADcDACACIAIpA/ACNwPAAiACQfABaiACQZgCaiACQcACahDFASADQdjHwABBBBCwASACKALoAg0FIAIpA4ADIQogAikD+AIhDiACKQOAAiERIAIpA/gBIQ8CfiACKQPwASIIIAIpA/ACIgdaBEAgDiAPVq0hFCAPIA59DAELIA4gD1atIA4gD1GtfCEUIA8gDkJ/hXwLIQYgAikDiAMhDiACKQOIAiEPIBEgCn0hEAJAIBRQBEAgCiARVq0hEQwBCyAQIBRUrSAKIBFWrXwhESAQIBR9IRALIA8gDn0hCgJAIBFQBEAgDiAPWA0BDAkLIAogEVQgDiAPVnINCCAKIBF9IQoLIAJBEjoA6AEgAiAKNwPgASACIBA3A9gBIAIgBjcD0AEgAiAIIAd9NwPIASACQfgAaiACQaABaiACQcgBahDGASALIAIpA4ABfCIQIAtUIQEgAikDiAEgDSANIAIpA3h8IgZYBH4gAa0FIBBCAXwiEFCtIAGtfAshDSACKQOQASEIIAl8IgcgCVQhASANUAR+IAGtBSAHIAcgDXwiB1atIAGtfAshCSAIIBZ8IgggFlQhAQJAIAlQBEAgAiAINwNoIAIgBzcDYCACIBA3A1ggAiAGNwNQIAFFDQEMCAsgAiAHNwNgIAIgEDcDWCACIAY3A1AgAiAIIAl8Igc3A2ggASAHIAhUcg0HCyACQRI6AHAgAkHoAmpB2MfAAEEEELABIAIoAugCRQRAIAIpA4ADIQYgAikD+AIhCAJ+IBUgAikD8AIiB1gEQCAIIAx9IQogCCAMVK0MAQsgCCAMQn+FfCEKIAggDFStIAggDFGtfAshCSACKQOIAyEIIAYgEn0hDQJAIAlQBEAgBiASVK0hBgwBCyAJIA1WrSAGIBJUrXwhBiANIAl9IQ0LIAggE30hCwJAIAZQBEAgCCATWg0BDAoLIAggE1QgBiALVnINCSALIAZ9IQsLIAJBEjoAiAMgAiALNwOAAyACIA03A/gCIAIgCjcD8AIgAiAHIBV9NwPoAiACQShqIgEgAkHQAGogAkHoAmoQxgEgAEEIaiACIAEQxAEgAEEANgIADAILIAIgAigC7AI2ApgCQe3EwABBKyACQZgCakGYxcAAQfzJwAAQlwIACyACKALsAiEBIABBATYCACAAIAE2AgQLIAJBoANqJAAPCyACIAIoAuwCNgKYAkHtxMAAQSsgAkGYAmpBmMXAAEG8ysAAEJcCAAsgAiACKALsAjYCmAJB7cTAAEErIAJBmAJqQZjFwABBrMrAABCXAgALIAIgAigC7AI2ApwDQe3EwABBKyACQZwDakGYxcAAQZzKwAAQlwIACyACIAIoAuwCNgKYAkHtxMAAQSsgAkGYAmpBmMXAAEGMysAAEJcCAAsgAkEANgL4AiACQQE2AuwCIAJB4IfBADYC6AIgAkIENwLwAiACQegCakH0hcEAEMUCAAsgAkEANgL4AiACQQE2AuwCIAJB5MTAADYC6AIgAkIENwLwAiACQegCakG0xMAAEMUCAAvDuQECGn8SfiMAQdABayIFJAAgBUGQAWoiEiABQZgCaikDADcDACAFQYgBaiITIAFBkAJqKQMANwMAIAVBgAFqIhQgAUGIAmopAwA3AwAgBUESOgCYASAFIAEpA4ACNwN4IAUgASAFQfgAaiIOIAIQoQEgEiABQdgCaikDADcDACATIAFB0AJqKQMANwMAIBQgAUHIAmopAwA3AwAgBUESOgCYASAFIAEpA8ACNwN4IAVBKGoiECABIA4gAhChASAFQcgBaiAFQSBqKQMANwMAIAVBwAFqIAVBGGopAwA3AwAgBUG4AWogBUEQaikDADcDACAFQbABaiAFQQhqKQMANwMAIAUgBSkDADcDqAEgBUGYAWogBUHIAGopAwA3AwAgEiAFQUBrKQMANwMAIBMgBUE4aikDADcDACAUIAVBMGopAwA3AwAgBSAFKQMoNwN4IAVB0ABqIQcjAEGABGsiAyQAIANB0AFqIgYgAUH4AWopAwA3AwAgA0HIAWoiBCABQfABaikDADcDACADQcABaiIIIAFB6AFqKQMANwMAIANBEjoA2AEgAyABKQPgATcDuAEgA0G4A2oiAiADQbgBaiIJIAVBqAFqIhkQxgEgA0GQAmoiCiACENcBAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKQAkUEQCADKQOwAiElIAMpA6gCISEgAykDoAIhHiADKQOYAiEiIAYgAUG4AmopAwA3AwAgBCABQbACaikDADcDACAIIAFBqAJqKQMANwMAIANBEjoA2AEgAyABKQOgAjcDuAEgAiAJIA4QxwEgCiACENcBIAMoApACDQEgAykDoAIhHyAhIAMpA6gCIiR9IR0CQAJ+IAMpA5gCIiMgIlgEQCAeIB99ISAgHiAfVK0MAQsgHiAfQn+FfCEgIB4gH1StIB4gH1GtfAsiH1AEQEJ/QgAgISAkVBshHgwBC0J/QgAgISAkVBsgHSAfVK19IR4gHSAffSEdCyADKQOwAiEmIANB0ANqIAFBGGopAwA3AwAgA0HIA2ogAUEQaikDADcDACADQcADaiABQQhqKQMANwMAIANBEjoA2AMgAyABKQMANwO4AyADQagCaiABQThqKQMANwMAIANBoAJqIAFBMGopAwA3AwAgA0GYAmogAUEoaikDADcDACADIAEpAyA3A5ACIANBuAFqIgIgA0G4A2oiBCADQZACahDKASADKAK4AQ0CIAJB7MTAAEEBEHYCQAJAAkAgAygCuAFFBEAgIiAjfSEfIAMpA9gBISEgAykD0AEhJCADKQPIASEiIAMpA8ABISMCfyAlICZ9IB58Ih5CAFMEQCAhQgBZDQMgA0IAIB99IiU3A7gDIAMgIEJ/hUIAICB9IiYgJUIAUiIGGzcDwAMgAyAdQn+FIiUgJlAgBkF/c3EiBq18IiYgJSAGGzcDyAMgAyAGICUgJlZxrSAeQn+FfDcD0AMgA0IAICN9IiM3A7gBIAMgIkJ/hUIAICJ9IiUgI0IAUiIGGzcDwAEgAyAkQn+FIiIgJVAgBkF/c3EiBq18IiQgIiAGGzcDyAEgAyAGICIgJFZxrSAhQn+FfDcD0AEgAiAEEJwCDAELICFCAFMNBCADIB43A9ADIAMgHTcDyAMgAyAgNwPAAyADIB83A7gDIAMgITcD0AEgAyAkNwPIASADICI3A8ABIAMgIzcDuAEgA0G4A2ogA0G4AWoQnAILQf8BcQ4CAgMBCyADIAMoArwBNgK4A0HtxMAAQSsgA0G4A2pBmMXAAEHA2cAAEJcCAAsgAyAeNwPQAyADIB03A8gDIAMgIDcDwAMgAyAfNwO4AyADQbgDakGow8AAQSAQrgMEQCAeQn+FIh5CACAgfSIhUEIAIB99Ih9CAFIiBkF/c3EiAiAdQn+FIh0gAq18IiIgHVRxIgStfCAeIAQbIR4gIEJ/hSAhIAYbISAgIiAdIAIbIR0LIAMgHjcDqAIgAyAdNwOgAiADICA3A5gCIAMgHzcDkAIgA0G4AWoiBiADQZACahC0ASADKAK4AQ0FIANBiAFqIANB4AFqIgopAwA3AwAgA0GAAWogA0HYAWoiDCkDADcDACADQfgAaiADQdABaiILKQMANwMAIANB8ABqIANByAFqIg8pAwA3AwAgAyADKQPAATcDaCMAQbACayICJAAgAkGAAmoiBCABEIIBAkACQAJAAkACQAJAAkACQAJAIAIoAoACRQRAIAJBKGogAkGoAmopAwA3AwAgAkEgaiACQaACaikDADcDACACQRhqIAJBmAJqIggpAwA3AwAgAkEQaiACQZACaiIJKQMANwMAIAIgAikDiAI3AwggAkHwAGogAUHYAWopAwA3AwAgAkHoAGogAUHQAWopAwA3AwAgAkHgAGogAUHIAWopAwA3AwAgAkESOgB4IAIgASkDwAE3A1ggCCABQZgFaikDADcDACAJIAFBkAVqKQMANwMAIAJBiAJqIAFBiAVqKQMANwMAIAJBEjoAoAIgAiABKQOABTcDgAIgAkHYAWogAkHYAGogBBDEASAEQdjHwABBBBCwASACKAKAAg0BIAIpA+ABIh0gAikDkAJ8Ih4gHVQhBCACKQPoASIfIAIpA5gCfCIdIB9UIQggAikD8AEiICACKQOgAnwiHyAgVCEJAkAgAikD2AEiISACKQOIAnwiICAhWgR+IAStBSAeQgF8Ih5QrSAErXwLIiFQBH4gCK0FIB0gHSAhfCIdVq0gCK18CyIhUARAIAIgHzcDmAIgAiAdNwOQAiACIB43A4gCIAIgIDcDgAIgCUUNAQwZCyACIB03A5ACIAIgHjcDiAIgAiAgNwOAAiACIB8gIXwiHTcDmAIgCSAdIB9Ucg0YCyACQRI6AKACIAJBMGoiBCACQQhqIAJBgAJqIggQxQEgCEHYx8AAQQQQsAECQAJAAkAgAigCgAJFBEAgAkH4AGogAkGoAmopAwA3AwAgAkHwAGogAkGgAmopAwA3AwAgAkHoAGogAkGYAmopAwA3AwAgAkHgAGogAkGQAmopAwA3AwAgAiACKQOIAjcDWCAEIAJB2ABqEJwCQf8BcSIEDgMCAQgBCyACIAIoAoQCNgLYAUHtxMAAQSsgAkHYAWpBmMXAAEHk98AAEJcCAAsgBEECSQ0BDAYLIAItAFAgAi0AeEkNBQsgAkGoAWogAkHQAGopAwA3AwAgAkGgAWogAkHIAGopAwA3AwAgAkGYAWogAkFAaykDADcDACACQZABaiACQThqKQMANwMAIAIgAikDMDcDiAEgAkGAAmoiBEHYx8AAQQQQsAEgAigCgAINAiACQfgBaiACQagCaikDADcDACACQfABaiACQaACaikDADcDACACQegBaiACQZgCaikDADcDACACQeABaiACQZACaikDADcDACACIAIpA4gCNwPYASAEQdjHwABBBBCwASACKAKAAg0DIAIpA5ACIR4gASkDyAYhHyACKQOgAiEhIAEpA9gGISIgAikDmAIiJCABKQPQBiIjfSEdAkACfiACKQOIAiIlIAEpA8AGIiZaBEAgHiAffSEgIB4gH1StDAELIB4gH0J/hXwhICAeIB9UrSAeIB9RrXwLIh5QBEAgIyAkVq0hHwwBCyAdIB5UrSAjICRWrXwhHyAdIB59IR0LICEgIn0hHgJAIB9QBEAgISAiWg0BDAoLICEgIlQgHiAfVHINCSAeIB99IR4LIAJBEjoAoAIgAiAeNwOYAiACIB03A5ACIAIgIDcDiAIgAiAlICZ9NwOAAiACQbABaiIEIAJB2AFqIAJBgAJqEMUBIAJB2ABqIAJBiAFqIAQQbiACKAJYDQUMBgsgAigChAIhBCAGQQE2AgAgBiAENgIEDAYLIAIgAigChAI2AlhB7cTAAEErIAJB2ABqQZjFwABB9PfAABCXAgALIAIgAigChAI2AtgBQe3EwABBKyACQdgBakGYxcAAQdz2wAAQlwIACyACIAIoAoQCNgKwAUHtxMAAQSsgAkGwAWpBmMXAAEHM9sAAEJcCAAsgAkGoAWogAkHQAGopAwA3AwAgAkGgAWogAkHIAGopAwA3AwAgAkGYAWogAkFAaykDADcDACACQZABaiACQThqKQMANwMAIAIgAikDMDcDiAEgAkGAAmoiBEHYx8AAQQQQsAECQCACKAKAAkUEQCACQfgBaiACQagCaikDADcDACACQfABaiACQaACaikDADcDACACQegBaiACQZgCaikDADcDACACQeABaiACQZACaikDADcDACACIAIpA4gCNwPYASAEQdjHwABBBBCwASACKAKAAkUNASACIAIoAoQCNgKwAUHtxMAAQSsgAkGwAWpBmMXAAEHE98AAEJcCAAsgAiACKAKEAjYC2AFB7cTAAEErIAJB2AFqQZjFwABB1PfAABCXAgALIAIpA5ACIR4gASkDyAYhHyACKQOgAiEhIAEpA9gGISIgAikDmAIiJCABKQPQBiIjfSEdAkACfiACKQOIAiIlIAEpA8AGIiZaBEAgHiAffSEgIB4gH1StDAELIB4gH0J/hXwhICAeIB9UrSAeIB9RrXwLIh5QBEAgIyAkVq0hHwwBCyAdIB5UrSAjICRWrXwhHyAdIB59IR0LICEgIn0hHgJAAkAgH1AEQCAhICJaDQEMAgsgISAiVCAeIB9Ucg0BIB4gH30hHgsgAkESOgCgAiACIB43A5gCIAIgHTcDkAIgAiAgNwOIAiACICUgJn03A4ACIAJBsAFqIgQgAkHYAWogAkGAAmoQxAEgAkHYAGogAkGIAWogBBBuIAIoAlgNAQwCCwwDCyACKAJcIQQgBkEBNgIAIAYgBDYCBAwBCyACQdAAaiACQYABaikDADcDACACQcgAaiACQfgAaikDADcDACACQUBrIAJB8ABqKQMANwMAIAJBOGogAkHoAGopAwA3AwAgAiACKQNgNwMwIAJBmAJqIgQgAUGYAWopAwA3AwAgAkGQAmoiCSABQZABaikDADcDACACQYgCaiIIIAFBiAFqKQMANwMAIAJBEjoAoAIgAiABKQOAATcDgAIgBgJ/AkACQAJAAkAgAkGAAmogAkEwahCcAkH/AXEiDQ4DAQADAAsgDUECSQ0BDAILIAItAFBBEksNAQsgASkDiAEhHiACKQM4IR8gASkDmAEhISACKQNIISIgASkDkAEiJCACKQNAIiN9IR0CQAJ+IAEpA4ABIiUgAikDMCImWgRAIB4gH30hICAeIB9UrQwBCyAeIB9Cf4V8ISAgHiAfVK0gHiAfUa18CyIeUARAICMgJFatIR8MAQsgHSAeVK0gIyAkVq18IR8gHSAefSEdCyAhICJ9IR4CQAJAIB9QBEAgISAiWg0BDAILICEgIlQgHiAfVHINASAeIB99IR4LIAZBEjoAKCAGIB43AyAgBiAdNwMYIAYgIDcDECAGICUgJn03AwhBAAwCCwwDCyAEIAFBgAFqIgRBGGopAwA3AwAgCSAEQRBqKQMANwMAIAggBEEIaikDADcDACACQQM2AlwgAkGc98AANgJYIAJCAjcCZCACQRI6AKACIAIgAkEwaq1CgICAgIAIhDcD4AEgAiACQYACaq1CgICAgIAIhDcD2AEgAiAEKQMANwOAAiACIAJB2AFqNgJgIAJBsAFqIgQgAkHYAGoQ0wEgAiAEQbyGwQBBtPfAABCmAiACKAIEIQkgAigCACENIAggAkG4AWooAgA2AgBBmeDBAC0AABogAiACKQKwATcDgAJBGEEEEPcCIgRFDQ8gBCANNgIEIARBpIfBADYCACAEIAIpA4ACNwIMIAQgCTYCCCAEQRRqIAJBiAJqKAIANgIAIAYgBDYCBEEBCzYCAAsgAkGwAmokAAwBCyACQQA2ApACIAJBATYChAIgAkHkxMAANgKAAiACQgQ3AogCIAJBgAJqQbTEwAAQxQIACwJAAkACQCADKAK4AUUEQCADQbABaiAKKQMANwMAIANBqAFqIAwpAwA3AwAgA0GgAWogCykDADcDACADQZgBaiAPKQMANwMAIAMgAykDwAE3A5ABIANBkAFqIANB6ABqEJwCQf8BcSICDgMCAQ0BCyAHQgA3AwggB0EANgIAIAdBIGpCADcDACAHQRhqQgA3AwAgB0EQakIANwMAIANBuAFqQQRyEO0CDA0LIAJBAkkNAQwLCyADLQCwASADLQCIAUkNCgsgA0HYA2oiFSADQYgBaikDADcDACADQdADaiIJIANBgAFqKQMANwMAIANByANqIgogA0H4AGopAwA3AwAgA0HAA2oiFiADQfAAaikDADcDACADIAMpA2g3A7gDIANBuAFqIQYgA0G4A2oiFyEEIwBBwANrIgIkACACQdACaiIIIAEQggECQAJAAkACQAJAAkAgAigC0AJFBEAgAkEwaiACQfgCaikDADcDACACQShqIAJB8AJqKQMANwMAIAJBIGogAkHoAmoiDCkDADcDACACQRhqIAJB4AJqIgspAwA3AwAgAiACKQPYAjcDECAMIAFBmAFqKQMANwMAIAsgAUGQAWopAwA3AwAgAkHYAmogAUGIAWopAwA3AwAgAkESOgDwAiACIAEpA4ABNwPQAiAIIAQQnAJB/wFxIghFDQEgCEH/AUcNAgwDCyACKALUAiEEIAZBATYCACAGIAQ2AgQMAwsgAi0A8AIgBC0AIEkNAQsgBCkDCCEdIAEpA4gBIR8gBCkDGCEhIAEpA5gBISIgASkDkAEiJCAEKQMQIiN9ISACQAJ+IAEpA4ABIiUgBCkDACImWgRAIB8gHX0hHiAdIB9WrQwBCyAfIB1Cf4V8IR4gHSAfVq0gHSAfUa18CyIdUARAICMgJFatIR8MAQsgHSAgVq0gIyAkVq18IR8gICAdfSEgCyAiICF9IR0CQAJAIB9QBEAgISAiWA0BDAILIB0gH1QgISAiVnINASAdIB99IR0LIAJBEjoAyAIgAiAdNwPAAiACICA3A7gCIAIgHjcDsAIgAiAlICZ9NwOoAiACQdACakHYx8AAQQQQsAECQAJAAkACQCACKALQAkUEQCACKQPgAiEgIAEpA8gGIR8gAikD8AIhJSABKQPYBiEhIAIpA+gCIiMgASkD0AYiIn0hHQJAAn4gAikD2AIiJiABKQPABiIkWgRAICAgH30hHiAfICBWrQwBCyAgIB9Cf4V8IR4gHyAgVq0gHyAgUa18CyIgUARAICIgI1atISMMAQsgHSAgVK0gIiAjVq18ISMgHSAgfSEdCyAlICF9ISACQCAjUARAICEgJVgNAQwGCyAgICNUICEgJVZyDQUgICAjfSEgCyACQRI6APACIAIgIDcD6AIgAiAdNwPgAiACIB43A9gCIAIgJiAkfTcD0AIgAkGIAWogAkGoAmogAkHQAmoQbgJAAkAgAigCiAFFBEAgAkHYAGogAkGwAWopAwA3AwAgAkHQAGogAkGoAWopAwA3AwAgAkHIAGogAkGgAWopAwA3AwAgAkFAayACQZgBaikDADcDACACIAIpA5ABNwM4IAJBEGogAkE4ahCcAkH/AXEiBEUNASAEQf8BRw0CDAYLIAIoAowBIQQgBkEBNgIAIAYgBDYCBAwJCyACLQAwIAItAFhJDQQLIAIpA0AhHiACKQMYISAgAikDUCEjIAIpAyghJSACKQMgIiYgAikDSCIofSEdAkACfiACKQMQIiogAikDOCIpWgRAICAgHn0hJyAeICBWrQwBCyAgIB5Cf4V8IScgHiAgVq0gHiAgUa18CyIgUARAICYgKFStIR4MAQsgHSAgVK0gJiAoVK18IR4gHSAgfSEdCyAlICN9ISACQCAeUARAICMgJVgNAQwKCyAeICBWICMgJVZyDQkgICAefSEgCyACQRI6AMgCIAIgIDcDwAIgAiAdNwO4AiACICc3A7ACIAIgKiApfTcDqAIgAkGgAWoiBCABQZgFaikDADcDACACQZgBaiIIIAFBkAVqKQMANwMAIAJBkAFqIgwgAUGIBWopAwA3AwAgAkESOgCoASACIAEpA4AFNwOIASACQegCaiILIAFB2AFqKQMANwMAIAJB4AJqIg8gAUHQAWopAwA3AwAgAkHYAmogAUHIAWopAwA3AwAgAkESOgDwAiACIAEpA8ABNwPQAiACQeAAaiINIAJBqAJqIAJBiAFqIhEgAkHQAmoiGBB0IBhB2MfAAEEEELABAkACQAJAIAIoAtACRQRAIAJBqAFqIAJB+AJqKQMANwMAIAQgAkHwAmopAwA3AwAgCCALKQMANwMAIAwgDykDADcDACACIAIpA9gCNwOIASANIBEQnAJB/wFxIgQOAwIBBQELIAIgAigC1AI2AqgCQe3EwABBKyACQagCakGYxcAAQbDzwAAQlwIACyAEQQJJDQEMAwsgAi0AgAEgAi0AqAFJDQILIAJB2AFqIAJBgAFqKQMANwMAIAJB0AFqIAJB+ABqKQMANwMAIAJByAFqIAJB8ABqKQMANwMAIAJBwAFqIAJB6ABqKQMANwMAIAIgAikDYDcDuAEgAkHQAmoiBEHYx8AAQQQQsAECQAJAIAIoAtACRQRAIAJByAJqIAJB+AJqKQMANwMAIAJBwAJqIAJB8AJqKQMANwMAIAJBuAJqIAJB6AJqKQMANwMAIAJBsAJqIAJB4AJqKQMANwMAIAIgAikD2AI3A6gCIARB2MfAAEEEELABIAIoAtACDQEgAikD4AIhHSACKQPwAiEjIAIpA+gCIiUgIn0hIAJAAn4gJCACKQPYAiImWARAIB0gH30hHiAdIB9UrQwBCyAdIB9Cf4V8IR4gHSAfVK0gHSAfUa18CyIdUARAICIgJVatIR8MAQsgHSAgVq0gIiAlVq18IR8gICAdfSEgCyAjICF9IR0CQCAfUARAICEgI1gNAQwNCyAdIB9UICEgI1ZyDQwgHSAffSEdCyACQRI6APACIAIgHTcD6AIgAiAgNwPgAiACIB43A9gCIAIgJiAkfTcD0AIgAkHgAWoiBCACQagCaiACQdACahDFASACQYgBaiACQbgBaiAEEG4gAigCiAENAgwFCyACIAIoAtQCNgKoAkHtxMAAQSsgAkGoAmpBmMXAAEGk8sAAEJcCAAsgAiACKALUAjYC4AFB7cTAAEErIAJB4AFqQZjFwABBlPLAABCXAgALIAIoAowBIQQgBkEBNgIAIAYgBDYCBAwHCyACIAIoAtQCNgLgAUHtxMAAQSsgAkHgAWpBmMXAAEHA88AAEJcCAAsgAkHYAWogAkGAAWopAwA3AwAgAkHQAWogAkH4AGopAwA3AwAgAkHIAWogAkHwAGopAwA3AwAgAkHAAWogAkHoAGopAwA3AwAgAiACKQNgNwO4ASACQdACaiIEQdjHwABBBBCwAQJAIAIoAtACRQRAIAJByAJqIAJB+AJqKQMANwMAIAJBwAJqIAJB8AJqKQMANwMAIAJBuAJqIAJB6AJqKQMANwMAIAJBsAJqIAJB4AJqKQMANwMAIAIgAikD2AI3A6gCIARB2MfAAEEEELABIAIoAtACRQ0BIAIgAigC1AI2AuABQe3EwABBKyACQeABakGYxcAAQZDzwAAQlwIACyACIAIoAtQCNgKoAkHtxMAAQSsgAkGoAmpBmMXAAEGg88AAEJcCAAsgAikD4AIhHSACKQPwAiEjIAIpA+gCIiUgIn0hIAJAAn4gJCACKQPYAiImWARAIB0gH30hHiAdIB9UrQwBCyAdIB9Cf4V8IR4gHSAfVK0gHSAfUa18CyIdUARAICIgJVatIR8MAQsgHSAgVq0gIiAlVq18IR8gICAdfSEgCyAjICF9IR0CQAJAIB9QBEAgISAjWA0BDAILIB0gH1QgISAjVnINASAdIB99IR0LIAJBEjoA8AIgAiAdNwPoAiACICA3A+ACIAIgHjcD2AIgAiAmICR9NwPQAiACQeABaiIEIAJBqAJqIAJB0AJqEMQBIAJBiAFqIAJBuAFqIAQQbiACKAKIAUUNASACKAKMASEEIAZBATYCACAGIAQ2AgQMBgsMBgsgAkGAAWoiCCACQbABaikDADcDACACQfgAaiIMIAJBqAFqIgQpAwA3AwAgAkHwAGoiCyACQaABaiIPKQMANwMAIAJB6ABqIg0gAkGYAWoiESkDADcDACACIAIpA5ABNwNgIAQgCCkDADcDACAPIAwpAwA3AwAgESALKQMANwMAIAJBkAFqIhggDSkDADcDACACIAIpA2A3A4gBIAJB6AJqIhogAUGABWoiBEEYaikDADcDACACQeACaiIbIARBEGopAwA3AwAgAkHYAmogBEEIaikDADcDACACQRI6APACIAIgBCkDADcD0AIgAkGoAmogAkGIAWoiBCACQdACaiIcEMUBIA0gAkGwAmoiDSkDADcDACALIAJBuAJqIgspAwA3AwAgDCACQcACaiIMKQMANwMAIAggAkHIAmoiCCkDADcDACACIAIpA6gCNwNgIA8gAUEYaikDADcDACARIAFBEGopAwA3AwAgGCABQQhqKQMANwMAIAJBEjoAqAEgAiABKQMANwOIASACQfgBaiABQThqKQMANwMAIAJB8AFqIAFBMGopAwA3AwAgAkHoAWogAUEoaikDADcDACACIAEpAyA3A+ABIBwgBCACQeABahDKASACKALQAgRAIAIoAtQCIQQgBkEBNgIAIAYgBDYCBAwFCyABQSBqIQQgCCACQfgCaikDADcDACAMIAJB8AJqKQMANwMAIAsgGikDADcDACANIBspAwA3AwAgAiACKQPYAjcDqAICQAJAIAJB4ABqIAJBqAJqEJwCQf8BcSIIBEAgCEH/AUcNAQwCCyACLQCAASACLQDIAkkNAQsgAkGIA2ogAkHoAGopAwA3AwAgAkGQA2ogAkHwAGopAwA3AwAgAkGYA2ogAkH4AGopAwA3AwAgAiACKQNgNwOAAyACQaABaiABQRhqKQMANwMAIAJBmAFqIAFBEGopAwA3AwAgAkGQAWogAUEIaikDADcDACACQRI6AKgBIAIgASkDADcDiAEgAkHAAmogBEEYaikDADcDACACQbgCaiAEQRBqKQMANwMAIAJBsAJqIARBCGopAwA3AwAgAiAEKQMANwOoAiACQdACaiACQYgBaiACQagCahDKASACKALQAkUEQCACQbgDaiACQfACaikDADcDACACQbADaiACQegCaikDADcDACACQagDaiACQeACaikDADcDACACIAIpA9gCNwOgAyAGQQhqIAJBgANqIAJBoANqEOABIAZBADYCACAGQRI6ACgMBgsgAigC1AIhBCAGQQE2AgAgBiAENgIEDAULIAJBoAFqIAFBGGopAwA3AwAgAkGYAWogAUEQaikDADcDACACQZABaiABQQhqKQMANwMAIAJBEjoAqAEgAiABKQMANwOIASACQfgBaiAEQRhqKQMANwMAIAJB8AFqIARBEGopAwA3AwAgAkHoAWogBEEIaikDADcDACACIAQpAwA3A+ABIAJB0AJqIAJBiAFqIAJB4AFqEMoBIAIoAtACRQRAIAJByAJqIAJB+AJqKQMANwMAIAJBwAJqIAJB8AJqKQMANwMAIAJBuAJqIAJB6AJqKQMANwMAIAJBsAJqIAJB4AJqKQMANwMAIAIgAikD2AI3A6gCIAJBAzYCvAEgAkHo8sAANgK4ASACQgI3AsQBIAIgAkGoAmqtQoCAgICACIQ3A6ACIAIgAkHgAGqtQoCAgICACIQ3A5gCIAIgAkGYAmo2AsABIAJBjAJqIgQgAkG4AWoQjAIgBEGA88AAEIcCIQQgBkEBNgIAIAYgBDYCBAwFCyACKALUAiEEIAZBATYCACAGIAQ2AgQMBAsgAkEDNgLUAiACQezxwAA2AtACIAJCAjcC3AIgAiACQThqrUKAgICAgAiENwOQASACIAJBEGqtQoCAgICACIQ3A4gBIAIgAkGIAWo2AtgCIAJBqAJqIgQgAkHQAmoQ0wEgAiAEQbyGwQBBhPLAABCmAiACKAIEIQggAigCACEMIAJB2AJqIgsgAkGwAmooAgA2AgBBmeDBAC0AABogAiACKQKoAjcD0AJBGEEEEPcCIgQEQCAEIAw2AgQgBEGkh8EANgIAIAQgAikD0AI3AgwgBCAINgIIIARBFGogCygCADYCACAGQQE2AgAgBiAENgIEDAQLDBELDAMLDAILIAJB6AJqIAFBgAFqIghBGGopAwA3AwAgAkHgAmogCEEQaikDADcDACACQdgCaiIMIAhBCGopAwA3AwAgAkEDNgKMASACQZTxwAA2AogBIAJCAjcClAEgAkESOgDwAiACIAStQoCAgICACIQ3A7ACIAIgAkHQAmqtQoCAgICACIQ3A6gCIAIgCCkDADcD0AIgAiACQagCajYCkAEgAkHgAWoiBCACQYgBahDTASACQQhqIARBvIbBAEGs8cAAEKYCIAIoAgwhCCACKAIIIQsgDCACQegBaigCADYCAEGZ4MEALQAAGiACIAIpAuABNwPQAkEYQQQQ9wIiBEUNDiAEIAs2AgQgBEGkh8EANgIAIAQgAikD0AI3AgwgBCAINgIIIARBFGogDCgCADYCACAGQQE2AgAgBiAENgIECyACQcADaiQADAELIAJBADYC4AIgAkEBNgLUAiACQeTEwAA2AtACIAJCBDcC2AIgAkHQAmpBtMTAABDFAgALAkACQAJAIAMoArgBRQRAIBcgA0HAAWoQ1wEgAygCuAMNASAHIAMpA8ADNwMIIAdBIGogFSkDADcDACAHQRhqIAkpAwA3AwAgB0EQaiAKKQMANwMAIAdBADYCAAwOCyADIAMoArwBIgI2ApACIAkgAUHYBWopAwA3AwAgCiABQdAFaikDADcDACAWIAFByAVqKQMANwMAIANBEjoA2AMgAyABKQPABTcDuAMgA0HoAGogA0G4A2oQnAJB/wFxIgZFDQEgBkH/AUcNAgwLCyADKAK8AyECIAdBATYCACAHIAI2AgQMDAsgAy0AiAFBEkkNCQsgB0EBNgIAIAcgAjYCBAwKCyADQbgBakHsxMAAQQEQdiADKAK4AUUNBiADIAMoArwBNgK4A0HtxMAAQSsgA0G4A2pBmMXAAEGw2cAAEJcCAAsgAyAeNwPQAyADIB03A8gDIAMgIDcDwAMgAyAfNwO4AyADQbgBaiADQbgDahC0ASADKAK4AQRAIAMoArwBIQIgB0EBNgIAIAcgAjYCBAwJCyADQYgBaiADQeABaiIMKQMANwMAIANBgAFqIANB2AFqIgspAwA3AwAgA0H4AGogA0HQAWoiDykDADcDACADQfAAaiADQcgBaiINKQMANwMAIAMgAykDwAE3A2ggA0HQA2ogAUG4BWopAwA3AwAgA0HIA2ogAUGwBWopAwA3AwAgA0HAA2ogAUGoBWopAwA3AwAgA0ESOgDYAyADIAEpA6AFNwO4AyADQbgBaiEGIANBuANqIQQjAEHgAmsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKQM4Ih1CAFkEQCABKQMgIR4gASkDKCEfIAEpAzAhICACIB03A6ABIAIgIDcDmAEgAiAfNwOQASACIB43A4gBIAJByAJqQgA3AwAgAkHAAmpCADcDACACQbgCakIANwMAIAJCADcDsAIgAkGIAWogAkGwAmoQnAJB/wFxQf8BRw0BCyACQaABaiABQSBqIghBGGopAwA3AwAgAkGYAWogCEEQaikDADcDACACQZABaiAIQQhqKQMANwMAIAIgCCkDADcDiAEgAikDiAEhHgJ+IAJBiAFqQajDwABBIBCuAwRAIAIpA6ABQn+FIh1CACACKQOQASIgfSIhUEIAIB59Ih5CAFIiCUF/c3EiCCACKQOYAUJ/hSIfIAitfCIiIB9UcSIKrXwgHSAKGyEdICIgHyAIGyEfICBCf4UgISAJGwwBCyACKQOgASEdIAIpA5gBIR8gAikDkAELISAgAiAdNwOgAiACIB83A5gCIAIgIDcDkAIgAiAeNwOIAiACQbACaiACQYgCahC0ASACKAKwAg0BIAQpAwgiHSACKQPAAnwiHyAdVCEIIAQpAxAiHSAdIAIpA8gCfCIeViEJIAQpAxgiHSAdIAIpA9ACfCIdViEKAkAgBCkDACIgIAIpA7gCfCIhICBaBH4gCK0FIB9CAXwiH1CtIAitfAsiIFAEfiAJrQUgHiAeICB8Ih5WrSAJrXwLIiBQBEAgCkUNAQwNCyAKDQwgHSAdICB8Ih1WDQwLIARBEjoAICAEIB03AxggBCAeNwMQIAQgHzcDCCAEICE3AwALIAJBsAJqIgggARCBASACKAKwAg0BIAIpA9ACISYgAikDyAIhKCACKQPAAiEjIAIpA7gCISogAkHQAWogAUHYAWopAwA3AwAgAkHIAWogAUHQAWopAwA3AwAgAkHAAWogAUHIAWopAwA3AwAgAkESOgDYASACIAEpA8ABNwO4ASACQaACaiABQZgFaikDADcDACACQZgCaiABQZAFaikDADcDACACQZACaiABQYgFaikDADcDACACQRI6AKgCIAIgASkDgAU3A4gCIAJB0AJqIARBIGopAwA3AwAgAkHIAmogBEEYaikDADcDACACQcACaiAEQRBqKQMANwMAIAJBuAJqIARBCGopAwA3AwAgAiAEKQMANwOwAiACQeABaiACQYgCaiAIEMYBIAhB2MfAAEEEELABIAIoArACDQIgAikDwAIhHiABKQPIBiEfIAIpA9ACIScgASkD2AYhISACKQPIAiIiIAEpA9AGIiR9IR0CQAJ+IAIpA7gCIisgASkDwAYiJVoEQCAeIB99ISAgHiAfVK0MAQsgHiAfQn+FfCEgIB4gH1StIB4gH1GtfAsiKVAEQCAiICRUrSEeDAELIB0gKVStICIgJFStfCEeIB0gKX0hHQsgJyAhfSEiAkAgHlAEQCAhICdYDQEMDQsgISAnViAeICJWcg0MICIgHn0hIgsgAkESOgDQAiACICI3A8gCIAIgHTcDwAIgAiAgNwO4AiACICsgJX03A7ACIAJBiAFqIAJB4AFqIAJBsAJqIggQbiACKAKIAQ0DIAJBgAFqIAJBsAFqKQMANwMAIAJB+ABqIAJBqAFqKQMANwMAIAJB8ABqIAJBoAFqKQMANwMAIAJB6ABqIAJBmAFqKQMANwMAIAIgAikDkAE3A2AgAkHIAmogAUGABWoiBEEYaikDADcDACACQcACaiAEQRBqKQMANwMAIAJBuAJqIARBCGopAwA3AwAgAkESOgDQAiACIAQpAwA3A7ACIAJBOGogAkG4AWogAkHgAGogCBB0IAIpA0AhHiACKQNQIScgKCACKQNIIiJ9IR0CQAJ+IAIpAzgiKSAqWARAICMgHn0hICAeICNWrQwBCyAjIB5Cf4V8ISAgHiAjVq0gHiAjUa18CyIjUARAICIgKFatIR4MAQsgHSAjVK0gIiAoVq18IR4gHSAjfSEdCyAmICd9ISICQCAeUARAICYgJ1oNAQwNCyAmICdUIB4gIlZyDQwgIiAefSEiCyACQRI6ADAgAiAiNwMoIAIgHTcDICACICA3AxggAiAqICl9NwMQIAJBsAJqQdjHwABBBBCwAQJAAkACQCACKAKwAkUEQCACQagBaiACQdgCaikDADcDACACQaABaiACQdACaikDADcDACACQZgBaiACQcgCaikDADcDACACQZABaiACQcACaikDADcDACACIAIpA7gCNwOIASACQRBqIAJBiAFqEJwCQf8BcSIEDgMCAQsBCyACIAIoArQCNgKIAkHtxMAAQSsgAkGIAmpBmMXAAEGY+cAAEJcCAAsgBEECSQ0BDAkLIAItADAgAi0AqAFJDQgLIAJB2AFqIAJBMGopAwA3AwAgAkHQAWogAkEoaikDADcDACACQcgBaiACQSBqKQMANwMAIAJBwAFqIAJBGGopAwA3AwAgAiACKQMQNwO4ASACQbACaiIEQdjHwABBBBCwASACKAKwAg0EIAJBqAJqIAJB2AJqKQMANwMAIAJBoAJqIAJB0AJqKQMANwMAIAJBmAJqIAJByAJqKQMANwMAIAJBkAJqIAJBwAJqKQMANwMAIAIgAikDuAI3A4gCIARB2MfAAEEEELABIAIoArACDQUgAikDwAIhHSACKQPQAiEiIAIpA8gCIiMgJH0hHgJAAn4gJSACKQO4AiImWARAIB0gH30hICAdIB9UrQwBCyAdIB9Cf4V8ISAgHSAfVK0gHSAfUa18CyIdUARAICMgJFStIR8MAQsgHSAeVq0gIyAkVK18IR8gHiAdfSEeCyAiICF9IR0CQCAfUARAICEgIlgNAQwNCyAdIB9UICEgIlZyDQwgHSAffSEdCyACQRI6ANACIAIgHTcDyAIgAiAeNwPAAiACICA3A7gCIAIgJiAlfTcDsAIgAkHgAWoiBCACQYgCaiACQbACahDEASACQYgBaiACQbgBaiAEEG4gAigCiAENBgwICyACKAK0AiEEIAZBATYCACAGIAQ2AgQMCAsgAigCtAIhBCAGQQE2AgAgBiAENgIEDAcLIAIgAigCtAI2AogCQe3EwABBKyACQYgCakGYxcAAQaj5wAAQlwIACyACKAKMASEEIAZBATYCACAGIAQ2AgQMBQsgAiACKAK0AjYCiAJB7cTAAEErIAJBiAJqQZjFwABBlPjAABCXAgALIAIgAigCtAI2AuABQe3EwABBKyACQeABakGYxcAAQYT4wAAQlwIACyACKAKMASEEIAZBATYCACAGIAQ2AgQMAgsgAkHYAWogAkEwaikDADcDACACQdABaiACQShqKQMANwMAIAJByAFqIAJBIGopAwA3AwAgAkHAAWogAkEYaikDADcDACACIAIpAxA3A7gBIAJBsAJqIgRB2MfAAEEEELABAkAgAigCsAJFBEAgAkGoAmogAkHYAmopAwA3AwAgAkGgAmogAkHQAmopAwA3AwAgAkGYAmogAkHIAmopAwA3AwAgAkGQAmogAkHAAmopAwA3AwAgAiACKQO4AjcDiAIgBEHYx8AAQQQQsAEgAigCsAJFDQEgAiACKAK0AjYC4AFB7cTAAEErIAJB4AFqQZjFwABB+PjAABCXAgALIAIgAigCtAI2AogCQe3EwABBKyACQYgCakGYxcAAQYj5wAAQlwIACyACKQPAAiEdIAIpA9ACISIgAikDyAIiIyAkfSEeAkACfiAlIAIpA7gCIiZYBEAgHSAffSEgIB0gH1StDAELIB0gH0J/hXwhICAdIB9UrSAdIB9RrXwLIh1QBEAgIyAkVK0hHwwBCyAdIB5WrSAjICRUrXwhHyAeIB19IR4LICIgIX0hHQJAAkAgH1AEQCAhICJYDQEMAgsgHSAfVCAhICJWcg0BIB0gH30hHQsgAkESOgDQAiACIB03A8gCIAIgHjcDwAIgAiAgNwO4AiACICYgJX03A7ACIAJB4AFqIgQgAkGIAmogAkGwAmoQxQEgAkGIAWogAkG4AWogBBBuIAIoAogBRQ0BIAIoAowBIQQgBkEBNgIAIAYgBDYCBAwCCwwDCyACQTBqIAJBsAFqKQMANwMAIAJBKGogAkGoAWopAwA3AwAgAkEgaiACQaABaikDADcDACACQRhqIAJBmAFqKQMANwMAIAIgAikDkAE3AxAgAkHIAmoiBCABQZgBaikDADcDACACQcACaiIJIAFBkAFqKQMANwMAIAJBuAJqIgggAUGIAWopAwA3AwAgAkESOgDQAiACIAEpA4ABNwOwAiAGAn8CQAJAAkACQCACQRBqIAJBsAJqEJwCQf8BcSIKDgMBAAMACyAKQQJJDQEMAgsgAi0AMEESSQ0BCyABKQOIASEdIAIpAxghHyABKQOYASEhIAIpAyghIiACKQMgIiQgASkDkAEiI30hHgJAAn4gAikDECIlIAEpA4ABIiZaBEAgHyAdfSEgIB0gH1atDAELIB8gHUJ/hXwhICAdIB9WrSAdIB9RrXwLIh1QBEAgIyAkVq0hHwwBCyAdIB5WrSAjICRWrXwhHyAeIB19IR4LICIgIX0hHQJAAkAgH1AEQCAhICJYDQEMAgsgHSAfVCAhICJWcg0BIB0gH30hHQsgBkESOgAoIAYgHTcDICAGIB43AxggBiAgNwMQIAYgJSAmfTcDCEEADAILDAQLIAQgAUGAAWoiBEEYaikDADcDACAJIARBEGopAwA3AwAgCCAEQQhqKQMANwMAIAJBAzYCjAEgAkHQ+MAANgKIASACQgI3ApQBIAJBEjoA0AIgAiACQbACaq1CgICAgIAIhDcDkAIgAiACQRBqrUKAgICAgAiENwOIAiACIAQpAwA3A7ACIAIgAkGIAmo2ApABIAJB4AFqIgQgAkGIAWoQ0wEgAkEIaiAEQbyGwQBB6PjAABCmAiACKAIMIQkgAigCCCEKIAggAkHoAWooAgA2AgBBmeDBAC0AABogAiACKQLgATcDsAJBGEEEEPcCIgRFDQ4gBCAKNgIEIARBpIfBADYCACAEIAIpA7ACNwIMIAQgCTYCCCAEQRRqIAJBuAJqKAIANgIAIAYgBDYCBEEBCzYCAAsgAkHgAmokAAwCCyACQQA2AsACIAJBATYCtAIgAkHgh8EANgKwAiACQgQ3ArgCIAJBsAJqQfSFwQAQxQIACyACQQA2AsACIAJBATYCtAIgAkHkxMAANgKwAiACQgQ3ArgCIAJBsAJqQbTEwAAQxQIACyADKAK4AUUNBCAHQgA3AwggB0EANgIAIAdBIGpCADcDACAHQRhqQgA3AwAgB0EQakIANwMAIAZBBHIQ7QIMCAsgAygClAIhAiAHQQE2AgAgByACNgIEDAcLIAMoApQCIQIgB0EBNgIAIAcgAjYCBAwGCyAHQgA3AwggB0EANgIAIAdBIGpCADcDACAHQRhqQgA3AwAgB0EQakIANwMAIANBuAFqQQRyEO0CDAULIAMoArwBIQIgB0EBNgIAIAcgAjYCBAwECyADQbABaiAMKQMANwMAIANBqAFqIAspAwA3AwAgA0GgAWogDykDADcDACADQZgBaiANKQMANwMAIAMgAykDwAE3A5ABAkACQAJAAkAgA0GQAWogA0HoAGoQnAJB/wFxIgIOAwEAAwALIAJBAkkNAQwCCyADLQCwASADLQCIAUkNAQsgA0HYA2ogA0GIAWopAwA3AwAgA0HQA2oiAiADQYABaikDADcDACADQcgDaiIGIANB+ABqKQMANwMAIANBwANqIgQgA0HwAGopAwA3AwAgAyADKQNoNwO4AyADQbgBaiABIANBuANqIggQZwJAAkACQAJAIAMoArgBRQRAIAggA0HAAWoQ1wEgAygCuANFDQEgAygCvAMhAiAHQQE2AgAgByACNgIEDAkLIAMgAygCvAEiCDYCkAIgAiABQdgFaikDADcDACAGIAFB0AVqKQMANwMAIAQgAUHIBWopAwA3AwAgA0ESOgDYAyADIAEpA8AFNwO4AyADQegAaiADQbgDahCcAkH/AXEiAkUNASACQf8BRw0CDAMLIANBIGogA0HYA2opAwA3AwAgA0EYaiADQdADaikDADcDACADQRBqIANByANqKQMANwMAIAMgAykDwAM3AwggAykDCCEdIAcCfiADQQhqQajDwABBIBCuAwRAIAMpAxAiHkJ/hUIAIB59Ih9CACAdfSIdQgBSIgIbIR4gAykDGEJ/hSIgIB9QIAJBf3NxIgKtfCIhICAgAhshHyACICAgIVZxrSADKQMgQn+FfAwBCyADKQMYIR8gAykDECEeIAMpAyALNwMgIAcgHzcDGCAHIB43AxAgByAdNwMIIAdBADYCAAwHCyADLQCIAUESSQ0BCyAHQQE2AgAgByAINgIEDAULIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgA0GQAmoQ7QIMBAsgAUGgBWohBgJAIAEpAzgiHUIAUw0AIAEpAyAhHiABKQMoIR8gASkDMCEgIAMgHTcD0AMgAyAgNwPIAyADIB83A8ADIAMgHjcDuAMgA0HQAWoiBEIANwMAIANByAFqIghCADcDACADQcABakIANwMAIANCADcDuAEgA0G4A2oiCSADQbgBaiIKEJwCQf8BcUECTw0AIANB0ANqIAFBGGopAwA3AwAgA0HIA2ogAUEQaikDADcDACADQcADaiABQQhqKQMANwMAIANBEjoA2AMgAyABKQMANwO4AyADQfgDaiABQSBqIgJBGGopAwA3AwAgA0HwA2ogAkEQaikDADcDACADQegDaiACQQhqKQMANwMAIAMgAikDADcD4AMgCiAJIANB4ANqEMoBAkAgAygCuAFFBEAgA0GQA2ogA0HYAWopAwA3AwAgA0GIA2ogBCkDADcDACADQYADaiAIKQMANwMAIAMgAykDwAE3A/gCIANBkAJqIgIgA0H4AmogBhDgASADQRI6ALACIANB6AFqIAIQ1wEgAygC6AFFDQEgAygC7AEhAiAHQQE2AgAgByACNgIEDAYLIAMoArwBIQIgB0EBNgIAIAcgAjYCBAwFCyADQUBrIANBiAJqKQMANwMAIANBOGogA0GAAmopAwA3AwAgA0EwaiADQfgBaikDADcDACADIAMpA/ABNwMoIAMpAyghHSAHAn4gA0EoakGow8AAQSAQrgMEQCADKQMwIh5Cf4VCACAefSIfQgAgHX0iHUIAUiICGyEeIAMpAzhCf4UiICAfUCACQX9zcSICrXwiISAgIAIbIR8gAiAgICFWca0gAykDQEJ/hXwMAQsgAykDOCEfIAMpAzAhHiADKQNACzcDICAHIB83AxggByAeNwMQIAcgHTcDCCAHQQA2AgAMBAsgA0G4AWoiAiABIAYQ4AEgA0ESOgDYASADQbgDaiACENcBIAMoArgDBEAgAygCvAMhAiAHQQE2AgAgByACNgIEDAQLIANB4ABqIANB2ANqKQMANwMAIANB2ABqIANB0ANqKQMANwMAIANB0ABqIANByANqKQMANwMAIAMgAykDwAM3A0ggAykDSCEdIAcCfiADQcgAakGow8AAQSAQrgMEQCADKQNQIh5Cf4VCACAefSIfQgAgHX0iHUIAUiICGyEeIAMpA1hCf4UiICAfUCACQX9zcSICrXwiISAgIAIbIR8gAiAgICFWca0gAykDYEJ/hXwMAQsgAykDWCEfIAMpA1AhHiADKQNgCzcDICAHIB83AxggByAeNwMQIAcgHTcDCCAHQQA2AgAMAwsgByADKQPAATcDCCAHQSBqIANB2AFqKQMANwMAIAdBGGogA0HQAWopAwA3AwAgB0EQaiADQcgBaikDADcDACAHQQA2AgAMAgsgB0IANwMIIAdBADYCACAHQSBqQgA3AwAgB0EYakIANwMAIAdBEGpCADcDACADQZACahDtAgwBCyADQbgBaiEGIwBB0AJrIgIkACACQaACaiIEIAEQgQECQAJAAkACQAJAAkACQAJAAkAgAigCoAJFBEAgAkEoaiACQcgCaikDADcDACACQSBqIAJBwAJqKQMANwMAIAJBGGogAkG4AmoiCCkDADcDACACQRBqIAJBsAJqIgkpAwA3AwAgAiACKQOoAjcDCCACQfAAaiABQdgBaikDADcDACACQegAaiABQdABaikDADcDACACQeAAaiABQcgBaikDADcDACACQRI6AHggAiABKQPAATcDWCAIIAFBmAVqKQMANwMAIAkgAUGQBWopAwA3AwAgAkGoAmogAUGIBWopAwA3AwAgAkESOgDAAiACIAEpA4AFNwOgAiACQfgBaiACQdgAaiAEEMUBIARB2MfAAEEEELABIAIoAqACDQEgAikDgAIiHSACKQOwAnwiHiAdVCEEIAIpA4gCIh8gAikDuAJ8Ih0gH1QhCCACKQOQAiIgIAIpA8ACfCIfICBUIQkCQCACKQP4ASIhIAIpA6gCfCIgICFaBH4gBK0FIB5CAXwiHlCtIAStfAsiIVAEfiAIrQUgHSAdICF8Ih1WrSAIrXwLIiFQBEAgAiAfNwO4AiACIB03A7ACIAIgHjcDqAIgAiAgNwOgAiAJRQ0BDA8LIAIgHTcDsAIgAiAeNwOoAiACICA3A6ACIAIgHyAhfCIdNwO4AiAJIB0gH1RyDQ4LIAJBEjoAwAIgAkEwaiIEIAJBCGogAkGgAmoiCBDEASAIQdjHwABBBBCwAQJAAkACQCACKAKgAkUEQCACQfgAaiACQcgCaikDADcDACACQfAAaiACQcACaikDADcDACACQegAaiACQbgCaikDADcDACACQeAAaiACQbACaikDADcDACACIAIpA6gCNwNYIAQgAkHYAGoQnAJB/wFxIgQOAwIBCQELIAIgAigCpAI2AvgBQe3EwABBKyACQfgBakGYxcAAQaz2wAAQlwIACyAEQQJJDQEMBwsgAi0AUCACLQB4SQ0GCyACQagBaiACQdAAaikDADcDACACQaABaiACQcgAaikDADcDACACQZgBaiACQUBrKQMANwMAIAJBkAFqIAJBOGopAwA3AwAgAiACKQMwNwOIASACQaACaiIEQdjHwABBBBCwASACKAKgAg0CIAJBmAJqIAJByAJqKQMANwMAIAJBkAJqIAJBwAJqKQMANwMAIAJBiAJqIAJBuAJqKQMANwMAIAJBgAJqIAJBsAJqKQMANwMAIAIgAikDqAI3A/gBIARB2MfAAEEEELABIAIoAqACDQMgAikDsAIhHiABKQPIBiEfIAIpA8ACISEgASkD2AYhIiACKQO4AiIkIAEpA9AGIiN9IR0CQAJ+IAIpA6gCIiUgASkDwAYiJloEQCAeIB99ISAgHiAfVK0MAQsgHiAfQn+FfCEgIB4gH1StIB4gH1GtfAsiHlAEQCAjICRWrSEfDAELIB0gHlStICMgJFatfCEfIB0gHn0hHQsgISAifSEeAkAgH1AEQCAhICJaDQEMCgsgISAiVCAeIB9Ucg0JIB4gH30hHgsgAkESOgDAAiACIB43A7gCIAIgHTcDsAIgAiAgNwOoAiACICUgJn03A6ACIAJBsAFqIgQgAkH4AWogAkGgAmoQxAEgAkHYAGogAkGIAWogBBBuIAIoAlgNBAwGCyACKAKkAiEEIAZBATYCACAGIAQ2AgQMBgsgAiACKAKkAjYCWEHtxMAAQSsgAkHYAGpBmMXAAEG89sAAEJcCAAsgAiACKAKkAjYC+AFB7cTAAEErIAJB+AFqQZjFwABBqPXAABCXAgALIAIgAigCpAI2ArABQe3EwABBKyACQbABakGYxcAAQZj1wAAQlwIACyACKAJcIQQgBkEBNgIAIAYgBDYCBAwCCyACQagBaiACQdAAaikDADcDACACQaABaiACQcgAaikDADcDACACQZgBaiACQUBrKQMANwMAIAJBkAFqIAJBOGopAwA3AwAgAiACKQMwNwOIASACQaACaiIEQdjHwABBBBCwAQJAIAIoAqACRQRAIAJBmAJqIAJByAJqKQMANwMAIAJBkAJqIAJBwAJqKQMANwMAIAJBiAJqIAJBuAJqKQMANwMAIAJBgAJqIAJBsAJqKQMANwMAIAIgAikDqAI3A/gBIARB2MfAAEEEELABIAIoAqACRQ0BIAIgAigCpAI2ArABQe3EwABBKyACQbABakGYxcAAQYz2wAAQlwIACyACIAIoAqQCNgL4AUHtxMAAQSsgAkH4AWpBmMXAAEGc9sAAEJcCAAsgAikDsAIhHiABKQPIBiEfIAIpA8ACISEgASkD2AYhIiACKQO4AiIkIAEpA9AGIiN9IR0CQAJ+IAIpA6gCIiUgASkDwAYiJloEQCAeIB99ISAgHiAfVK0MAQsgHiAfQn+FfCEgIB4gH1StIB4gH1GtfAsiHlAEQCAjICRWrSEfDAELIB0gHlStICMgJFatfCEfIB0gHn0hHQsgISAifSEeAkACQCAfUARAICEgIloNAQwCCyAhICJUIB4gH1RyDQEgHiAffSEeCyACQRI6AMACIAIgHjcDuAIgAiAdNwOwAiACICA3A6gCIAIgJSAmfTcDoAIgAkGwAWoiBCACQfgBaiACQaACahDEASACQdgAaiACQYgBaiAEEG4gAigCWEUNASACKAJcIQQgBkEBNgIAIAYgBDYCBAwCCwwCCyACQdAAaiIIIAJBgAFqKQMANwMAIAJByABqIgkgAkH4AGoiBCkDADcDACACQUBrIgogAkHwAGoiDCkDADcDACACQThqIgsgAkHoAGoiDykDADcDACACIAIpA2A3AzAgBCAIKQMANwMAIAwgCSkDADcDACAPIAopAwA3AwAgAkHgAGoiDSALKQMANwMAIAIgAikDMDcDWCACQbgCaiIRIAFBgAVqIgRBGGopAwA3AwAgAkGwAmoiFSAEQRBqKQMANwMAIAJBqAJqIARBCGopAwA3AwAgAkESOgDAAiACIAQpAwA3A6ACIAJB+AFqIhYgAkHYAGoiBCACQaACaiIXEMQBIAsgAkGAAmoiCykDADcDACAKIAJBiAJqIgopAwA3AwAgCSACQZACaiIJKQMANwMAIAggAkGYAmoiCCkDADcDACACIAIpA/gBNwMwIAwgAUEYaikDADcDACAPIAFBEGopAwA3AwAgDSABQQhqKQMANwMAIAJBEjoAeCACIAEpAwA3A1ggAkHIAWogAUE4aikDADcDACACQcABaiABQTBqKQMANwMAIAJBuAFqIAFBKGopAwA3AwAgAiABKQMgNwOwASAXIAQgAkGwAWoQygECQAJAAkACQCACKAKgAkUEQCABQSBqIQQgCCACQcgCaikDADcDACAJIAJBwAJqKQMANwMAIAogESkDADcDACALIBUpAwA3AwAgAiACKQOoAjcD+AEgAkEwaiAWEJwCQf8BcSIIDgMCAQQBCyACKAKkAiEEIAZBATYCACAGIAQ2AgQMBAsgCEECSQ0BDAILIAItAFAgAi0AmAJJDQELIAIpAzAhIyACKQM4IR4gAikDQCEhIAIpA0ghIiACQfAAaiABQRhqKQMANwMAIAJB6ABqIAFBEGopAwA3AwAgAkHgAGogAUEIaikDADcDACACQRI6AHggAiABKQMANwNYIAJBkAJqIARBGGopAwA3AwAgAkGIAmogBEEQaikDADcDACACQYACaiAEQQhqKQMANwMAIAIgBCkDADcD+AEgAkGgAmogAkHYAGogAkH4AWoQygECQCACKAKgAkUEQCACKQOwAiEfIAIpA8ACISQgISACKQO4AiIlfSEdAkACfiACKQOoAiImICNYBEAgHiAffSEgIB4gH1StDAELIB4gH0J/hXwhICAeIB9UrSAeIB9RrXwLIh5QBEAgISAlVK0hHwwBCyAdIB5UrSAhICVUrXwhHyAdIB59IR0LICIgJH0hHgJAIB9QBEAgIiAkWg0BDAMLICIgJFQgHiAfVHINAiAeIB99IR4LIAZBEjoAKCAGIB43AyAgBiAdNwMYIAYgIDcDECAGICMgJn03AwggBkEANgIADAMLIAIoAqQCIQQgBkEBNgIAIAYgBDYCBAwCCwwCCyACQfAAaiABQRhqKQMANwMAIAJB6ABqIAFBEGopAwA3AwAgAkHgAGogAUEIaikDADcDACACQRI6AHggAiABKQMANwNYIAJByAFqIARBGGopAwA3AwAgAkHAAWogBEEQaikDADcDACACQbgBaiAEQQhqKQMANwMAIAIgBCkDADcDsAEgAkGgAmogAkHYAGogAkGwAWoQygEgAigCoAJFBEAgAkGYAmogAkHIAmopAwA3AwAgAkGQAmogAkHAAmopAwA3AwAgAkGIAmogAkG4AmopAwA3AwAgAkGAAmogAkGwAmopAwA3AwAgAiACKQOoAjcD+AEgAkEDNgKMASACQeT1wAA2AogBIAJCAjcClAEgAiACQfgBaq1CgICAgIAIhDcD8AEgAiACQTBqrUKAgICAgAiENwPoASACIAJB6AFqNgKQASACQdwBaiIEIAJBiAFqENMBIAYgBEH89cAAEIcCNgIEIAZBATYCAAwBCyACKAKkAiEEIAZBATYCACAGIAQ2AgQLIAJB0AJqJAAMAQsgAkEANgKwAiACQQE2AqQCIAJB5MTAADYCoAIgAkIENwKoAiACQaACakG0xMAAEMUCAAsCQCADKAK4AUUEQCADQbADaiADQdgBaikDADcDACADQagDaiADQdABaiICKQMANwMAIANBoANqIANByAFqIgQpAwA3AwAgA0HAAmogA0HwAGopAwA3AwAgA0HIAmogA0H4AGopAwA3AwAgA0HQAmogA0GAAWopAwA3AwAgAyADKQPAATcDmAMgAyADKQNoNwO4AiADQfACaiADQagBaikDADcDACADQegCaiADQaABaikDADcDACADQeACaiADQZgBaikDADcDACADIAMpA5ABNwPYAiADQbgDaiIIIANBuAJqIANB2AJqEOABIANBEjoA2AMgAiABQdgBaikDADcDACAEIAFB0AFqKQMANwMAIANBwAFqIAFByAFqKQMANwMAIANBEjoA2AEgAyABKQPAATcDuAEgA0GQAmoiAiAIIAYQxAEgBiADQZgDaiACEOwBIANBEjoA2AEgA0HoAWogBhDXASADKALoAQ0BIAcgAykD8AE3AwggB0EgaiADQYgCaikDADcDACAHQRhqIANBgAJqKQMANwMAIAdBEGogA0H4AWopAwA3AwAgB0EANgIADAILIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgA0G4AWpBBHIQ7QIMAQsgAygC7AEhAiAHQQE2AgAgByACNgIECyADQYAEaiQADAELQQRBGBCoAwALIAACfwJAAkACQAJAAkACQCAFKAJQRQRAIAUpA3AhJiAFKQNoIScgBSkDYCAFKQNYISkjAEGAAmsiAyQAIANBmAFqIAFB2AFqKQMANwMAIANBkAFqIAFB0AFqKQMANwMAIANBiAFqIAFByAFqKQMANwMAIAMgASkDwAE3A4ABIANB0AFqQezEwABBARCwAQJAAkACQAJAAkAgAygC0AFFBEAgA0HIAWoiAiADQfgBaikDADcDACADQcABaiADQfABaikDADcDACADQbgBaiADQegBaikDADcDACADQbABaiADQeABaikDADcDACADIAMpA9gBNwOoAQJAAkAgA0GAAWogA0GoAWpBIBCuA0UEQCACLQAAQRJGDQELIANB0AFqQdjHwABBBBCwAQJAAkACQAJAIAMoAtABRQRAIANByAFqIANB+AFqKQMANwMAIANBwAFqIANB8AFqKQMANwMAIANBuAFqIANB6AFqKQMANwMAIANBsAFqIANB4AFqKQMANwMAIAMgAykD2AE3A6gBIBAgA0GoAWoQnAIiAkH/AXEOAwECAwILIAMgAygC1AE2AoABQe3EwABBKyADQYABakGYxcAAQcTawAAQlwIACyAQLQAgIgIgAy0AyAEiB0kNASACIAdHIQILIAJB/wFxQQFGDQELIANB0AFqQdjHwABBBBCwAQJAAkACQCADKALQAUUEQCADQcgBaiADQfgBaikDADcDACADQcABaiADQfABaikDADcDACADQbgBaiADQegBaikDADcDACADQbABaiADQeABaikDADcDACADIAMpA9gBNwOoASAFIANBqAFqEJwCIgJB/wFxDgMBAgMCCyADIAMoAtQBNgKAAUHtxMAAQSsgA0GAAWpBmMXAAEG02sAAEJcCAAsgBS0AICICIAMtAMgBIgdJDQEgAiAHRyECCyACQf8BcUEBRg0BCyADQZgBaiABQbgCaikDADcDACADQZABaiABQbACaikDADcDACADQYgBaiABQagCaikDADcDACADQRI6AKABIAMgASkDoAI3A4ABIANB0AFqQdjHwABBBBCwASADKALQAUUNAiADIAMoAtQBNgKoAUHtxMAAQSsgA0GoAWpBmMXAAEGk2sAAEJcCAAsgA0EANgLgAUEBIQIgA0EBNgLUASADQfzZwAA2AtABIANCBDcC2AEgDiADQdABakGE2sAAENIBNgIEDAULIANBADYC4AFBASECIANBATYC1AEgA0Hw2sAANgLQASADQgQ3AtgBIA4gA0HQAWpB+NrAABDSATYCBAwECyADKQPoASEfIAMpA+ABIR0gECkDECEhIBApAwghHgJ+IAMpA9gBIiMgECkDACIlWgRAIB0gHlStISAgHSAefQwBCyAdIB5UrSAdIB5RrXwhICAdIB5Cf4V8CyEoIAMpA/ABISIgECkDGCEkIB8gIX0hHgJAICBQBEAgHyAhVK0hHQwBCyAeICBUrSAfICFUrXwhHSAeICB9IR4LICIgJH0hHwJAIB1QBEAgIiAkWg0BDAYLICIgJFQgHSAfVnINBSAfIB19IR8LIANB0ABqIgdBEjoAACADQThqIAFBwAFqIgJBCGopAwAiHTcDACADQUBrIAJBEGopAwAiIDcDACADQcgAaiACQRhqKQMAIiE3AwAgA0ESOgDIASADIB83A8ABIAMgHjcDuAEgAyAoNwOwASADICMgJX03A6gBIAMgAikDACIeNwMwIANB8AFqIAcpAwA3AwAgA0HoAWogITcDACADQeABaiAgNwMAIANB2AFqIB03AwAgAyAeNwPQASADQdgAaiICIANBgAFqIANBqAFqIANB0AFqIgcQeyADQQhqIAIQ1wEgAygCCA0BIAMpAyghKyADKQMgISIgAykDGCEhIAMpAxAhKCADQcABaiABQfgBaikDADcDACADQbgBaiABQfABaikDADcDACADQbABaiABQegBaikDADcDACADQRI6AMgBIAMgASkD4AE3A6gBIAdB2MfAAEEEELABIAMoAtABDQIgAykD6AEhHyADKQPgASEdIAUpAxAhJCAFKQMIIR4CfiADKQPYASIsIAUpAwAiLVoEQCAdIB5UrSEgIB0gHn0MAQsgHSAeVK0gHSAeUa18ISAgHSAeQn+FfAshLiADKQPwASEjIAUpAxghJSAfICR9IR4CQCAgUARAIB8gJFStIR0MAQsgHiAgVK0gHyAkVK18IR0gHiAgfSEeCyAjICV9IR8CQCAdUARAICMgJVoNAQwGCyAjICVUIB0gH1ZyDQUgHyAdfSEfCyADQRI6APABIAMgHzcD6AEgAyAeNwPgASADIC43A9gBIAMgLCAtfTcD0AEgA0GAAWoiAiADQagBaiADQdABaiADQTBqEHQgA0HYAGogAhDXASADKAJYRQRAIAMpA3AhICADKQNoIR0CfiADKQNgIiQgKFgEQCAdICFWrSEfICEgHX0MAQsgHSAhVq0gHSAhUa18IR8gISAdQn+FfAshHSADKQN4ISEgIiAgfSEeAkAgH1AEQEJ/QgAgICAiVhshIAwBC0J/QgAgICAiVhsgHiAfVK19ISAgHiAffSEeCyAOIB43AxggDiAdNwMQIA4gKCAkfTcDCCAOICsgIX0gIHw3AyBBACECDAQLIA4gAygCXDYCBEEBIQIMAwsgAyADKALUATYCqAFB7cTAAEErIANBqAFqQZjFwABBiNvAABCXAgALIA4gAygCDDYCBEEBIQIMAQsgAyADKALUATYCgAFB7cTAAEErIANBgAFqQZjFwABBlNrAABCXAgALIA4gAjYCACADQYACaiQADAELIANBADYC4AEgA0EBNgLUASADQeTEwAA2AtABIANCBDcC2AEgA0HQAWpBtMTAABDFAgALIAUoAngNASAFKQOYASEgIAUpA5ABIR8gBSkDiAEhJCAFKQOAASEjIBIgAUEYaikDADcDACATIAFBEGopAwA3AwAgFCABQQhqKQMANwMAIAVBEjoAmAEgBSABKQMANwN4IBkgDhDXASAFKAKoAQ0CIAUpA7gBIh18Ih4gHVQhAiAFKQPAASIhICd8Ih0gIVQhAyAFKQPIASIiICZ8ICkgBSkDsAEiJXwiISAlWgR+IAKtBSAeQgF8Ih5QrSACrXwLIiVQBH4gA60FIB0gHSAlfCIdVq0gA618CyIlICIgJnx8ICVQGyEiIB4gHiAkfCIeViECIB0gH3wiHyAdVCEDICEgISAjfCIkWAR+IAKtBSAeQgF8Ih5QrSACrXwLIh1QBH4gA60FIB8gHSAffCIfVq0gA618CyIdUAR+ICAgInwFICAgInwgHXwLISUgBUGQAWogAUG4BWopAwA3AwAgBUGIAWogAUGwBWopAwA3AwAgBUGAAWogAUGoBWopAwA3AwAgBUESOgCYASAFIAEpA6AFNwN4IAVBqAFqIAVB+ABqENcBIAUoAqgBDQMgBSkDwAEhIiAFKQO4ASEdAn4gBSkDsAEiIyAkWARAIB0gHlatISAgHiAdfQwBCyAdIB5WrSAdIB5RrXwhICAeIB1Cf4V8CyEhIB8gIn0hHQJAICBQBEBCf0IAIB8gIlQbIR4MAQtCf0IAIB8gIlQbIB0gIFStfSEeIB0gIH0hHQsgBSkDyAEhJiAFQfgAaiICQezEwABBARB2IAUoAngNBCAkICN9ISAgBSkDmAEhHyAFKQOQASEkIAUpA4gBISIgBSkDgAEhIwJAAn8gJSAmfSAefCIeQgBTBEAgH0IAWQ0IIAVCACAgfSIlNwOoASAFICFCf4VCACAhfSImICVCAFIiARs3A7ABIAUgHUJ/hSIlICZQIAFBf3NxIgGtfCImICUgARs3A7gBIAUgASAlICZWca0gHkJ/hXw3A8ABIAVCACAjfSIjNwN4IAUgIkJ/hUIAICJ9IiUgI0IAUiIBGzcDgAEgBSAkQn+FIiIgJVAgAUF/c3EiAa18IiQgIiABGzcDiAEgBSABICIgJFZxrSAfQn+FfDcDkAEgAiAFQagBahCcAgwBCyAfQgBTDQEgBSAeNwPAASAFIB03A7gBIAUgITcDsAEgBSAgNwOoASAFIB83A5ABIAUgJDcDiAEgBSAiNwOAASAFICM3A3ggBUGoAWogBUH4AGoQnAILQf8BcUH/AUYNBgsgBSAeNwPAASAFIB03A7gBIAUgITcDsAEgBSAgNwOoASAFQfgAaiAFQagBahC1ASAFKAJ4RQRAIAAgBSkDgAE3AwggAEEoaiAFQaABaikDADcDACAAQSBqIAVBmAFqKQMANwMAIABBGGogBUGQAWopAwA3AwAgAEEQaiAFQYgBaikDADcDAEEADAgLIAAgBSgCfDYCBAwGCyAAIAUoAlQ2AgQMBQsgACAFKAJ8NgIEDAQLIAAgBSgCrAE2AgQMAwsgACAFKAKsATYCBAwCCyAFIAUoAnw2AqgBQe3EwABBKyAFQagBakGYxcAAQaDZwAAQlwIACyAFQQA2AogBIAVBATYCfCAFQYjZwAA2AnggBUIENwKAASAAIAVB+ABqQZDZwAAQ0gE2AgRBAQwBC0EBCzYCACAFQdABaiQADwsgAkEANgJoIAJBATYCXCACQeCHwQA2AlggAkIENwJgIAJB2ABqQfSFwQAQxQIAC6gNAgV/BH4jAEGgGmsiAiQAIAJBkBBqIgMgARACIAEQAxC8AQJAAkACQAJAIAIoApAQRQRAIAJBKGoiBCACQZgIakEEciACQZgQakHwBxCsA0HwBxCsAxogAyAEEJwBIAIoApAQRQ0CIAIgAigClBA2AtQZIAIgAkHUGWo2AoAaIAJBATYC3BkgAkH0t8AANgLYGSACQgE3AuQZIAIgAkGAGmqtQoCAgIDwAYQ3A5AaIAIgAkGQGmoiAzYC4BkgAkGEGmogAkHYGWoiBBDTASACQQA2ApgaIAJCgICAgBA3ApAaIAJBAzoA+BkgAkEgNgLoGSACQQA2AvQZIAJBuLbAADYC8BkgAkEANgLgGSACQQA2AtgZIAIgAzYC7BlBrLvAACAEEJUCRQ0BDAQLIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMIDAILIAJBvBlqIAJBmBpqKAIANgIAIAJBsBlqIgMgAkGMGmooAgA2AgAgAiACKQKQGjcCtBkgAiACKQKEGjcDqBkgAkHUGWoQ7QIgAkGQGWogAkG4GWopAwAiBzcDACACQYgZaiADKQMAIgg3AwAgAkEUaiAINwIAIAJBHGogBzcCACACIAIpA6gZIgc3A4AZIAJBATYCCCACIAc3AgwMAQsgAkHIGWogAkG4EGopAwAiBzcDACACQYgZaiACQaAQaiIEKQMANwMAIAJBkBlqIAJBqBBqIgUpAwA3AwAgAkGYGWogAkGwEGoiBikDADcDACACQaAZaiAHNwMAIAIgAikDmBA3A4AZIAIgARBSIgM2AtAZIAJBkBBqIAJB0BlqQby7wAAQrQECQCACKAKQEARAIAJBwBlqIAJBrBBqKAIAIgQ2AgAgAkG4GWogAkGkEGopAgAiBzcDACACQbAZaiACQZwQaikCACIINwMAIAJBEGogCDcDACACQRhqIAc3AwAgAkEgaiAENgIAIAIgAikClBAiBzcDqBkgAiAHNwMIDAELIAJBxBlqIAYpAwAiBzcCACACQbwZaiAFKQMAIgg3AgAgAkG0GWogBCkDACIJNwIAIAJB4BlqIAk3AwAgAkHoGWogCDcDACACQfAZaiAHNwMAIAIgAikDmBAiBzcCrBkgAiAHNwPYGSACIAEQUyACQZgIaiACQShqIAJBgBlqIAJB2BlqIAIoAgBBAEcgAigCBBBkAkAgAigCmAgEQCACIAIoApwINgLUGSACIAJB1BlqNgKAGiACQQE2ApQQIAJB9LfAADYCkBAgAkIBNwKcECACIAJBgBpqrUKAgICA8AGENwOQGiACIAJBkBpqIgM2ApgQIAJBhBpqIAJBkBBqIgQQ0wEgAkEANgKYGiACQoCAgIAQNwKQGiACQQM6ALAQIAJBIDYCoBAgAkEANgKsECACQbi2wAA2AqgQIAJBADYCmBAgAkEANgKQECACIAM2AqQQQcy7wAAgBBCVAkUNAQwECyACQfgYaiACQcAIaikDACIHNwMAIAJBuBhqIAJBqAhqKQMAIgg3AwAgAkHAGGogAkGwCGopAwAiCTcDACACQcgYaiACQbgIaikDACIKNwMAIAJB0BhqIAc3AwAgAkGQGGogCDcDACACQZgYaiAJNwMAIAJBoBhqIAo3AwAgAkGoGGogBzcDACACIAIpA6AIIgc3A7AYIAIgBzcDiBggAigC0BkiA0GEAU8EQCADEAALIAJBCGogAkGIGGpB3LvAABC4AQwCCyACQewYaiACQZgaaigCADYCACACQeAYaiIDIAJBjBpqKAIANgIAIAIgAikCkBo3AuQYIAIgAikChBo3A9gYIAJB1BlqEO0CIAJBwBhqIAJB6BhqKQMAIgc3AwAgAkG4GGogAykDACIINwMAIAJBFGogCDcCACACQRxqIAc3AgAgAiACKQPYGCIHNwOwGCACQQE2AgggAiAHNwIMIAIoAtAZIQMLIANBhAFJDQAgAxAACyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQEEAIQMgAigCDAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQIAJBkBBqEOUBIQNBAAshASAAIARBAkc2AgggACADNgIEIAAgATYCACACQaAaaiQADwtB0LbAAEE3IAJBnxpqQYi3wABB5LfAABCXAgAL4A8CEX8JfiMAQZACayICJAAgAC0AICEIIAJBCGoiA0EAEJ8CIAJBKGpBChCfAiACQcgAakEwEJ8CIAJB6AFqIgogAEEYaikDADcDACACQeABaiILIABBEGopAwA3AwAgAkHYAWoiDCAAQQhqKQMANwMAIAIgACkDADcD0AEgAkHoAGoiBCACQdABahCeASACQQA2ApABIAJCgICAgMAANwKIAQJAAkACQAJAAkAgBCADEJwCQf8BcUEBRgRAIAJB8AFqIQUgAikDYCEYIAIpA1ghGSACKQNQIRogAikDSCEbA0AgCEUgBiAIR3JFBEAgAigCkAEiAyACKAKIAUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGpBLjYCACACIANBAWo2ApABCyACQcgBaiACQYABaiINKQMANwMAIAJBwAFqIAJB+ABqIg4pAwA3AwAgAkG4AWogAkHwAGoiDykDADcDACACIAIpA2g3A7ABIAJB0AFqIAJBsAFqIAJBKGoQcSAFQQhqKQMAIhMgGnwiFiATVCEDIAVBEGopAwAiFCAZfCITIBRUIQQgBUEYaikDACIXIBh8IhQgF1QhBwJAIAUpAwAiFSAbfCIXIBVaBH4gA60FIBZCAXwiFlCtIAOtfAsiFVAEfiAErQUgEyATIBV8IhNWrSAErXwLIhVQBEAgAiAUNwPoASACIBM3A+ABIAIgFjcD2AEgAiAXNwPQASAHRQ0BDAgLIAIgEzcD4AEgAiAWNwPYASACIBc3A9ABIAIgFCAVfCITNwPoASAHIBMgFFRyDQcLIAJBsAFqIQdBACEJIwBBQGoiAyQAAkACQAJAIAJB0AFqIgQpAxAgBCkDGIRQBEAgB0EQaiAEKQMINwMAIAcgBCkDADcDCAwBC0EBIQkgA0EBNgIUIANBsL3AADYCECADQgE3AhwgAyAErUKAgICAwACENwMoIAMgA0EoajYCGCADQTRqIgQgA0EQahDTASADQQhqIARBtLjAAEG4vcAAEKYCIAMoAgwhECADKAIIIREgA0EYaiISIANBPGooAgA2AgBBmeDBAC0AABogAyADKQI0NwMQQRhBBBD3AiIERQ0BIAQgETYCBCAEQZy5wAA2AgAgBCADKQMQNwIMIAQgEDYCCCAEQRRqIBIoAgA2AgAgByAENgIECyAHIAk2AgAgA0FAayQADAELQQRBGBCoAwALIAIoArABDQIgAi0AuAEhBCACKAKQASIDIAIoAogBRgRAIAJBiAFqEPkBCyACKAKMASADQQJ0aiAENgIAIAIgA0EBajYCkAEgAkHQAWogAkHoAGoiAyACQShqEHEgDSAKKQMANwMAIA4gCykDADcDACAPIAwpAwA3AwAgAiACKQPQATcDaCAGQQFqIQYgAyACQQhqEJwCQf8BcUEBRg0ACwsgBiAITw0BIAIoApABIgQgBCAIIAZrIgdqIgNJBEAgByACKAKIASAEa0sEQCACQYgBaiAEIAcQ+AEgAigCkAEhBAsgAigCjAEgBEECdGohAyAHQQJPBEAgBkF/cyAIaiIGQQdxIQUgB0ECa0EHTwRAIAZBeHEhBgNAIANCsICAgIAGNwIAIANBGGpCsICAgIAGNwIAIANBEGpCsICAgIAGNwIAIANBCGpCsICAgIAGNwIAIANBIGohAyAGQQhrIgYNAAsLIAUEQANAIANBMDYCACADQQRqIQMgBUEBayIFDQALCyAEIAdqQQFrIQQLIANBMDYCACAEQQFqIQMLIAIgAzYCkAEMAgsgAiACKAK0ATYC0AFB6JXAAEErIAJB0AFqQZSWwABBpJbAABCXAgALIAYgCEcNASACKAKQASEDCyACKAKIASEFIAgEQCADIAVGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQS42AgAgAiADQQFqIgM2ApABIAIoAogBIQULIAMgBUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGpBMDYCACACIANBAWo2ApABCyACQcgBaiAAQRhqKQMANwMAIAJBwAFqIABBEGopAwA3AwAgAkG4AWogAEEIaikDADcDACACIAApAwA3A7ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQbABaiIDIAJB0AFqIgYQnAJB/wFxQf8BRzoAlwEgAigCjAEhACACKAKQASEEIAJBrAFqIghBADYCACACQoCAgIAQNwKkASACQaQBaiIFIAAgACAEQQJ0ahDUASACQaABaiAIKAIANgIAIAIgAikCpAE3A5gBIAIgAkGYAWqtQoCAgIDQAIQ3A7gBIAIgAkGXAWqtQoCAgIDgAIQ3A7ABIAJBAjYC1AEgAkG0lsAANgLQASACQgI3AtwBIAIgAzYC2AEgBSAGENMBIAIoApgBIgAEQCACKAKcASAAEIsDCyACKAKIASIABEAgAigCjAEgAEECdBCLAwsgAkEBNgLUASACQciUwAA2AtABIAJCATcC3AEgAiACQaQBaq1CgICAgNAAhDcDsAEgAiACQbABajYC2AEgASgCFCABKAIYIAJB0AFqELMBIAIoAqQBIgEEQCACKAKoASABEIsDCyACQZACaiQADwsgAkEANgLAASACQQE2ArQBIAJB1MHAADYCsAEgAkIENwK4ASACQbABakHwvsAAEMUCAAuZDAIJfwR+IwBB8BprIgIkACACQZAQaiIFIAEQAiABEAMQvAECQAJAAkACQAJAAkACQCACKAKQEEUEQCACQShqIgkgAkGYCGoiCkEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEA0iAzYCrBkgAkGgGmoiBiACQawZakHcosAAEKwBIAIoAqAaDQEgAkGkGWogAkHAGmoiBCkDACILNwIAIAJBnBlqIAJBuBpqIgcpAwAiDDcCACACQZQZaiACQbAaaiIIKQMAIg03AgAgAkHoGGogDTcDACACQfAYaiAMNwMAIAJB+BhqIAs3AwAgAiACKQOoGiILNwKMGSACIAs3A+AYIAJBEjoAgBkgAiABEA4iAzYC1BkgBiACQdQZakHsosAAEKwBIAIoAqAaDQIgAkHMGWogBCkDACILNwIAIAJBxBlqIAcpAwAiDDcCACACQbwZaiAIKQMAIg03AgAgAkHgGWogDTcDACACQegZaiAMNwMAIAJB8BlqIAs3AwAgAiACKQOoGiILNwK0GSACIAs3A9gZIAIgARAPIgM2AswaIAYgAkHMGmpB/KLAABCsASACKAKgGkUEQCACQZQaaiAEKQMAIgs3AgAgAkGMGmogBykDACIMNwIAIAJBhBpqIAgpAwAiDTcCACACQdgaaiANNwMAIAJB4BpqIAw3AwAgAkHoGmogCzcDACACIAIpA6gaIgs3AvwZIAIgCzcD0BogBSAJIAJB4BhqIAJB2BlqIAJB0BpqELEBIAogBUGMo8AAEJACIAIoApgIDQQgAkHUGGogAkHACGopAwAiCzcCACACQcwYaiACQbgIaikDACIMNwIAIAJBxBhqIAJBsAhqKQMAIg03AgAgAkG8GGogAkGoCGopAwAiDjcCACACQZAYaiAONwMAIAJBmBhqIA03AwAgAkGgGGogDDcDACACQagYaiALNwMAIAIgAikDoAgiCzcCtBggAiALNwOIGCACKALMGiIDQYQBTwRAIAMQAAsgAigC1BkiA0GEAU8EQCADEAALIAIoAqwZIgNBhAFPBEAgAxAACyACQQhqIAJBiBhqQZyjwAAQuAEMCAsgAkGQGmogAkG8GmooAgAiBDYCACACQYgaaiACQbQaaikCACILNwMAIAJBgBpqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwP4GSACIAs3AwgMBAsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgMBgsgAkGgGWogAkG8GmooAgAiBDYCACACQZgZaiACQbQaaikCACILNwMAIAJBkBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOIGSACIAs3AwgMBAsgAkHIGWogAkG8GmooAgAiBDYCACACQcAZaiACQbQaaikCACILNwMAIAJBuBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOwGSACIAs3AwgMAgsgAkHIGGogAkG0CGooAgAiAzYCACACQcAYaiACQawIaikCACILNwMAIAJBuBhqIAJBpAhqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAM2AgAgAiACKQKcCCILNwOwGCACIAs3AwggAigCzBohAwsgA0GEAU8EQCADEAALIAIoAtQZIQMLIANBhAFPBEAgAxAACyACKAKsGSEDCyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEBBACEDIAIoAgwMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQECACQZAQahDlASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHwGmokAAuZDAIJfwR+IwBB8BprIgIkACACQZAQaiIFIAEQAiABEAMQvAECQAJAAkACQAJAAkACQCACKAKQEEUEQCACQShqIgkgAkGYCGoiCkEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEA0iAzYCrBkgAkGgGmoiBiACQawZakGotcAAEKwBIAIoAqAaDQEgAkGkGWogAkHAGmoiBCkDACILNwIAIAJBnBlqIAJBuBpqIgcpAwAiDDcCACACQZQZaiACQbAaaiIIKQMAIg03AgAgAkHoGGogDTcDACACQfAYaiAMNwMAIAJB+BhqIAs3AwAgAiACKQOoGiILNwKMGSACIAs3A+AYIAJBEjoAgBkgAiABEA4iAzYC1BkgBiACQdQZakG4tcAAEKwBIAIoAqAaDQIgAkHMGWogBCkDACILNwIAIAJBxBlqIAcpAwAiDDcCACACQbwZaiAIKQMAIg03AgAgAkHgGWogDTcDACACQegZaiAMNwMAIAJB8BlqIAs3AwAgAiACKQOoGiILNwK0GSACIAs3A9gZIAIgARAPIgM2AswaIAYgAkHMGmpByLXAABCsASACKAKgGkUEQCACQZQaaiAEKQMAIgs3AgAgAkGMGmogBykDACIMNwIAIAJBhBpqIAgpAwAiDTcCACACQdgaaiANNwMAIAJB4BpqIAw3AwAgAkHoGmogCzcDACACIAIpA6gaIgs3AvwZIAIgCzcD0BogBSAJIAJB4BhqIAJB2BlqIAJB0BpqELIBIAogBUHYtcAAEJACIAIoApgIDQQgAkHUGGogAkHACGopAwAiCzcCACACQcwYaiACQbgIaikDACIMNwIAIAJBxBhqIAJBsAhqKQMAIg03AgAgAkG8GGogAkGoCGopAwAiDjcCACACQZAYaiAONwMAIAJBmBhqIA03AwAgAkGgGGogDDcDACACQagYaiALNwMAIAIgAikDoAgiCzcCtBggAiALNwOIGCACKALMGiIDQYQBTwRAIAMQAAsgAigC1BkiA0GEAU8EQCADEAALIAIoAqwZIgNBhAFPBEAgAxAACyACQQhqIAJBiBhqQei1wAAQuAEMCAsgAkGQGmogAkG8GmooAgAiBDYCACACQYgaaiACQbQaaikCACILNwMAIAJBgBpqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwP4GSACIAs3AwgMBAsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgMBgsgAkGgGWogAkG8GmooAgAiBDYCACACQZgZaiACQbQaaikCACILNwMAIAJBkBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOIGSACIAs3AwgMBAsgAkHIGWogAkG8GmooAgAiBDYCACACQcAZaiACQbQaaikCACILNwMAIAJBuBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOwGSACIAs3AwgMAgsgAkHIGGogAkG0CGooAgAiAzYCACACQcAYaiACQawIaikCACILNwMAIAJBuBhqIAJBpAhqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAM2AgAgAiACKQKcCCILNwOwGCACIAs3AwggAigCzBohAwsgA0GEAU8EQCADEAALIAIoAtQZIQMLIANBhAFPBEAgAxAACyACKAKsGSEDCyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEBBACEDIAIoAgwMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQECACQZAQahDlASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHwGmokAAvIFgIRfwl+IwBBkAJrIgIkACAALQAgIQggAkEIaiIMQQAQnwIgAkEoakEKEJ8CIAJByABqQTAQnwIgAkHoAWoiECAAQRhqKQMANwMAIAJB4AFqIhEgAEEQaikDADcDACACQdgBaiISIABBCGopAwA3AwAgAiAAKQMANwPQASACQegAaiEEIwBBoAFrIgMkACADQZgBaiIGQgA3AwAgA0GQAWoiCUIANwMAIANBiAFqIg1CADcDACADQgA3A4ABAkACQAJAAkACQAJAAkAgAkHQAWoiBSADQYABahCcAkH/AXFB/wFGBEAgBUH4psEAQSAQrgNFDQELIANB2ABqIAVBGGoiCikDADcDACADQdAAaiAFQRBqIgspAwA3AwAgA0HIAGogBUEIaiIOKQMANwMAIAMgBSkDADcDQCADQfgAaiIPIAopAwA3AwAgA0HwAGoiCiALKQMANwMAIANB6ABqIgsgDikDADcDACADIAUpAwA3A2AgBkIANwMAIAlCADcDACANQgA3AwAgA0IANwOAASADQUBrIANBgAFqEJwCQf8BcUH/AUYNASADQThqIA8pAwA3AwAgA0EwaiAKKQMANwMAIANBKGogCykDADcDACADIAMpA2A3AyAMAgsgBSkDECIXIAUpAwBCAXwiEyAFKQMIIhRCAXwiFoQiGVAiBq18IhogFyAGGyEVIBYgFCATUBshFCAFKQMYIRYgGVAgFyAaVnFFBEAgAyAWNwOYASADIBU3A5ABIAMgFDcDiAEgAyATNwOAAQwDCyADIBU3A5ABIAMgFDcDiAEgAyATNwOAASADIBZCAXwiEzcDmAEgE0IAUg0CDAQLIANBIGogA0HgAGoQzQELIAQgAykDIDcDACAEQRhqIANBOGopAwA3AwAgBEEQaiADQTBqKQMANwMAIARBCGogA0EoaikDADcDAAwBCyADIANBgAFqIgUQzQEgAykDECEVIAMpAxghFCADKQMAIRYgAykDCCETIAVBARCfAiATIBMgAykDiAF8IhdWIQUgFSADKQOQASAVfCITViEGIBQgAykDmAEgFHwiFVYhCQJAIBYgFiADKQOAAXwiFFgEfiAFrQUgF0IBfCIXUK0gBa18CyIWUAR+IAatBSATIBMgFnwiE1atIAatfAsiFlAEQCAEIBU3AxggBCATNwMQIAQgFzcDCCAEIBQ3AwAgCUUNAgwBCyAEIBM3AxAgBCAXNwMIIAQgFDcDACAEIBUgFnwiEzcDGCAJDQAgEyAVWg0BCwwBCyADQaABaiQADAELIANBADYCcCADQQE2AmQgA0HspsEANgJgIANCBDcCaCADQeAAakGMpsEAEMUCAAsgAkEANgKQASACQoCAgIDAADcCiAECQAJAAkACQAJAIAQgDBCcAkH/AXFBAUYEQCACQfABaiEFIAIpA2AhFiACKQNYIRkgAikDUCEaIAIpA0ghGwNAIAhFIAcgCEdyRQRAIAIoApABIgMgAigCiAFGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQS42AgAgAiADQQFqNgKQAQsgAkHIAWogAkGAAWoiDCkDADcDACACQcABaiACQfgAaiINKQMANwMAIAJBuAFqIAJB8ABqIgopAwA3AwAgAiACKQNoNwOwASACQdABaiACQbABaiACQShqEHEgBUEIaikDACITIBp8IhcgE1QhAyAFQRBqKQMAIhUgGXwiEyAVVCEEIAVBGGopAwAiFCAWfCIVIBRUIQYCQCAFKQMAIhggG3wiFCAYWgR+IAOtBSAXQgF8IhdQrSADrXwLIhhQBH4gBK0FIBMgEyAYfCITVq0gBK18CyIYUARAIAIgFTcD6AEgAiATNwPgASACIBc3A9gBIAIgFDcD0AEgBkUNAQwICyACIBM3A+ABIAIgFzcD2AEgAiAUNwPQASACIBUgGHwiEzcD6AEgBiATIBVUcg0HCyACQbABaiEGQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAZBEGogBCkDCDcDACAGIAQpAwA3AwgMAQtBASEJIANBATYCFCADQfiowQA2AhAgA0IBNwIcIAMgBK1CgICAgMAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQ0wEgA0EIaiAEQZykwQBBgKnBABCmAiADKAIMIQsgAygCCCEOIANBGGoiDyADQTxqKAIANgIAQZngwQAtAAAaIAMgAykCNDcDEEEYQQQQ9wIiBEUNASAEIA42AgQgBEGEpcEANgIAIAQgAykDEDcCDCAEIAs2AgggBEEUaiAPKAIANgIAIAYgBDYCBAsgBiAJNgIAIANBQGskAAwBC0EEQRgQqAMACyACKAKwAQ0CIAItALgBIQQgAigCkAEiAyACKAKIAUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGogBDYCACACIANBAWo2ApABIAJB0AFqIAJB6ABqIgMgAkEoahBxIAwgECkDADcDACANIBEpAwA3AwAgCiASKQMANwMAIAIgAikD0AE3A2ggB0EBaiEHIAMgAkEIahCcAkH/AXFBAUYNAAsLIAcgCE8NASACKAKQASIEIAQgCCAHayIGaiIDSQRAIAYgAigCiAEgBGtLBEAgAkGIAWogBCAGEPgBIAIoApABIQQLIAIoAowBIARBAnRqIQMgBkECTwRAIAdBf3MgCGoiB0EHcSEFIAZBAmtBB08EQCAHQXhxIQcDQCADQrCAgICABjcCACADQRhqQrCAgICABjcCACADQRBqQrCAgICABjcCACADQQhqQrCAgICABjcCACADQSBqIQMgB0EIayIHDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAGakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2ApABDAILIAIgAigCtAE2AtABQeiiwQBBKyACQdABakGUo8EAQaSjwQAQlwIACyAHIAhHDQEgAigCkAEhAwsgAigCiAEhBSAIBEAgAyAFRgRAIAJBiAFqEPkBCyACKAKMASADQQJ0akEuNgIAIAIgA0EBaiIDNgKQASACKAKIASEFCyADIAVGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQTA2AgAgAiADQQFqNgKQAQsgAkHIAWogAEEYaikDADcDACACQcABaiAAQRBqKQMANwMAIAJBuAFqIABBCGopAwA3AwAgAiAAKQMANwOwASACQegBakIANwMAIAJB4AFqQgA3AwAgAkHYAWpCADcDACACQgA3A9ABIAIgAkGwAWoiAyACQdABaiIEEJwCQf8BcUH/AUc6AJcBIAIoAowBIQAgAigCkAEhBSACQawBaiIHQQA2AgAgAkKAgICAEDcCpAEgAkGkAWoiCCAAIAAgBUECdGoQ1AEgAkGgAWogBygCADYCACACIAIpAqQBNwOYASACIAJBmAFqrUKAgICAoA+ENwO4ASACIAJBlwFqrUKAgICA4ACENwOwASACQQI2AtQBIAJBtKPBADYC0AEgAkICNwLcASACIAM2AtgBIAggBBDTASACKAKYASIABEAgAigCnAEgABCLAwsgAigCiAEiAARAIAIoAowBIABBAnQQiwMLIAJBAjYC1AEgAkHQo8EANgLQASACQgE3AtwBIAIgAkGkAWqtQoCAgICgD4Q3A7ABIAIgAkGwAWo2AtgBIAEoAhQgASgCGCACQdABahCzASACKAKkASIBBEAgAigCqAEgARCLAwsgAkGQAmokAA8LIAJBADYCwAEgAkEBNgK0ASACQeymwQA2ArABIAJCBDcCuAEgAkGwAWpBjKbBABDFAgALo0ACE38RfiMAQeAaayIDJAAgA0GIEGoiCCABEAIgARADELwBAkACQAJAAkACQAJAAkAgAygCiBBFBEAgA0EgaiIEIANBkAhqIhBBBHIgA0GQEGpB8AcQrANB8AcQrAMaIAMgARANIgI2AvwYIANBkBpqIgkgA0H8GGpB0LPAABCsASADKAKQGg0BIANB9BhqIANBsBpqIgspAwAiFTcCACADQewYaiADQagaaiIFKQMAIhY3AgAgA0HkGGogA0GgGmoiBikDACIYNwIAIANBiBlqIBg3AwAgA0GQGWogFjcDACADQZgZaiAVNwMAIAMgAykDmBoiFTcC3BggAyAVNwOAGSADIAEQDiICNgLEGSAJIANBxBlqQeCzwAAQrAEgAygCkBoNAiADQbwZaiALKQMAIhU3AgAgA0G0GWogBSkDACIWNwIAIANBrBlqIAYpAwAiGDcCACADQdAZaiAYNwMAIANB2BlqIBY3AwAgA0HgGWogFTcDACADIAMpA5gaIhU3AqQZIAMgFTcDyBkgAyABEA8iAjYCvBogCSADQbwaakHws8AAEKwBIAMoApAaRQRAIANBhBpqIAspAwAiFTcCACADQfwZaiAFKQMAIhY3AgAgA0H0GWogBikDACIYNwIAIANByBpqIBg3AwAgA0HQGmogFjcDACADQdgaaiAVNwMAIAMgAykDmBoiFTcC7BkgAyAVNwPAGiADQcgZaiELIANBwBpqIQkjAEGQBmsiAiQAIAJBGGogA0GAGWoiBUEYaikDADcDACACQRBqIAVBEGopAwA3AwAgAkEIaiAFQQhqKQMANwMAIAJBEjoAICACIAUpAwA3AwAgAkG4BWogBEHYBWopAwA3AwAgAkGwBWogBEHQBWopAwA3AwAgAkGoBWogBEHIBWopAwA3AwAgAkESOgDABSACIAQpA8AFNwOgBQJAAkACQAJAAkACQCACIAJBoAVqEJwCQf8BcSIFBEAgBUH/AUcNAQwCCyACLQAgIAItAMAFSQ0BCyACQfgAaiACQSBqIgUpAwA3AwAgAkHwAGogAkEYaiIGKQMANwMAIAJB6ABqIAJBEGoiBykDADcDACACQeAAaiACQQhqIgopAwA3AwAgAiACKQMANwNYIAJBmAFqIAlBGGopAwA3AwAgAkGQAWogCUEQaikDADcDACACQYgBaiAJQQhqKQMANwMAIAIgCSkDADcDgAEgAkHAAWogBSkDADcDACACQbgBaiAGKQMANwMAIAJBsAFqIAcpAwA3AwAgAkGoAWogCikDADcDACACIAIpAwA3A6ABIAJByAFqIAQgCyACQYABahC2ASACQaAFakHQgcAAQQQQrwECQAJAAn8CQAJAAkACQAJAAkACQAJAAkAgAigCoAVFBEAgAikDsAUhFSACKQPQASEXIAIpA8AFIRogAikD4AEhGyACKQO4BSIZIAIpA9gBIh19IRYCQAJ+IAIpA6gFIh4gAikDyAEiHFoEQCAVIBd9IRggFSAXVK0MAQsgFSAXQn+FfCEYIBUgF1StIBUgF1GtfAsiFVAEQCAZIB1UrSEZDAELIBUgFlatIBkgHVStfCEZIBYgFX0hFgsgGiAbfSEVAkAgGVAEQCAaIBtaDQEMDgsgGiAbVCAVIBlUcg0NIBUgGX0hFQsgAkESOgDgAiACIBU3A9gCIAIgFjcD0AIgAiAYNwPIAiACIB4gHH03A8ACIAJBkARqIgUgBEHYAWopAwA3AwAgAkGIBGoiBiAEQdABaikDADcDACACQYAEaiIHIARByAFqKQMANwMAIAJBEjoAmAQgAiAEKQPAATcD+AMgAkHABWoiCiACQfgAaikDADcDACACQbgFaiIOIAJB8ABqKQMANwMAIAJBsAVqIgwgAkHoAGopAwA3AwAgAkGoBWogAkHgAGopAwA3AwAgAiACKQNYNwOgBSACQfABaiACQaAFaiIPIAJBwAJqIAJB+ANqIg0QeiAPQeiGwABBARCvAQJAAkACQAJAAkAgAigCoAVFBEAgAkGYBGogAkHIBWopAwA3AwAgBSAKKQMANwMAIAYgDikDADcDACAHIAwpAwA3AwAgAiACKQOoBTcD+AMgAkHIAWogDRCcAiIFQf8BcQ4DAQIDAgsgAiACKAKkBTYCwAJBrILAAEErIAJBwAJqQdiCwABBiI7AABCXAgALIAItAOgBIgUgAi0AmAQiBkkNASAFIAZHIQULIAVB/wFxQQFGDQELIAJBoAVqQeiGwABBARCvASACKAKgBQ0BIAIpA8AFIRggAikDuAUhFiACKQOwBSEVIAIpA6gFIRkMDQsgAkHABWoiBSACQegBaikDADcDACACQbgFaiIGIAJB4AFqKQMANwMAIAJBsAVqIgcgAkHYAWopAwA3AwAgAkGoBWogAkHQAWopAwA3AwAgAiACKQPIATcDoAUgAkGYAmogAkGgAWogAkGgBWoiChDDASAKIAQQgAEgAigCoAUNCCACQZADaiACQcgFaikDADcDACACQYgDaiAFKQMANwMAIAJBgANqIAYpAwA3AwAgAkH4AmogBykDADcDACACIAIpA6gFNwPwAiAEKQOIASIVIAIpA6ACfCIZIBVUIQUgBCkDkAEiFSACKQOoAnwiFiAVVCEGIAQpA5gBIhUgAikDsAIgFXwiFVYhBwJAIAQpA4ABIhcgAikDmAJ8IhggF1oEfiAFrQUgGUIBfCIZUK0gBa18CyIXUAR+IAatBSAWIBYgF3wiFlatIAatfAsiF1AEQCACIBU3A5AFIAIgFjcDiAUgAiAZNwOABSACIBg3A/gEIAdFDQEMEwsgAiAWNwOIBSACIBk3A4AFIAIgGDcD+AQgAiAVIBd8IhY3A5AFIAcgFSAWVnINEgsgAkESOgCYBSACQaAFakHQgcAAQQQQrwEgAigCoAUNAiACKQOwBSEWIAQpA8gGIRkgAikDwAUhHCAEKQPYBiEbIAIpA7gFIhcgBCkD0AYiHX0hFQJAAn4gAikDqAUiHyAEKQPABiIeWgRAIBYgGX0hGCAWIBlUrQwBCyAWIBlCf4V8IRggFiAZVK0gFiAZUa18CyIWUARAIBcgHVStIRoMAQsgFSAWVK0gFyAdVK18IRogFSAWfSEVCyAcIBt9IRcCQCAaUARAIBsgHFgNAQwSCyAXIBpUIBsgHFZyDREgFyAafSEXCyACQRI6AMAFIAIgFzcDuAUgAiAVNwOwBSACIBg3A6gFIAIgHyAefTcDoAUgAkH4A2ogAkH4BGogAkGgBWoQbQJAAkAgAigC+ANFBEAgAkG4A2ogAkGgBGopAwA3AwAgAkGwA2ogAkGYBGopAwA3AwAgAkGoA2ogAkGQBGopAwA3AwAgAkGgA2ogAkGIBGopAwA3AwAgAiACKQOABDcDmAMgAkHwAmogAkGYA2oQnAJB/wFxIgVFDQEgBUH/AUcNAgwNCyACKAL8AwwNCyACLQCQAyACLQC4A0kNCwsgAikDoAMhFiACKQP4AiEYIAIpA7ADIRogAikDiAMhHCACKQOAAyIXIAIpA6gDIh99IRUCQAJ+IAIpA/ACIiEgAikDmAMiIloEQCAYIBZ9ISAgFiAYVq0MAQsgGCAWQn+FfCEgIBYgGFatIBYgGFGtfAsiFlAEQCAXIB9UrSEYDAELIBUgFlStIBcgH1StfCEYIBUgFn0hFQsgHCAafSEXAkAgGFAEQCAaIBxYDQEMEgsgFyAYVCAaIBxWcg0RIBcgGH0hFwsgAkESOgCYBSACIBc3A5AFIAIgFTcDiAUgAiAgNwOABSACICEgIn03A/gEIAJBkARqIgYgBEGYBWopAwA3AwAgAkGIBGoiByAEQZAFaikDADcDACACQYAEaiIKIARBiAVqKQMANwMAIAJBEjoAmAQgAiAEKQOABTcD+AMgAkG4BWoiDiAEQcABaiIFQRhqKQMANwMAIAJBsAVqIgwgBUEQaikDADcDACACQagFaiAFQQhqKQMANwMAIAJBEjoAwAUgAiAFKQMANwOgBSACQdADaiIFIAJB+ARqIAJB+ANqIg8gAkGgBWoiDRBzIA1B0IHAAEEEEK8BAkACQAJAIAIoAqAFRQRAIAJBmARqIAJByAVqKQMANwMAIAYgAkHABWopAwA3AwAgByAOKQMANwMAIAogDCkDADcDACACIAIpA6gFNwP4AyAFIA8QnAJB/wFxIgUOAwIBCgELIAIgAigCpAU2AvgEQayCwABBKyACQfgEakHYgsAAQZyHwAAQlwIACyAFQQJJDQEMCAsgAi0A8AMgAi0AmARJDQcLIAJByARqIAJB8ANqKQMANwMAIAJBwARqIAJB6ANqKQMANwMAIAJBuARqIAJB4ANqKQMANwMAIAJBsARqIAJB2ANqKQMANwMAIAIgAikD0AM3A6gEIAJBoAVqIgVB0IHAAEEEEK8BIAIoAqAFDQMgAkGYBWogAkHIBWopAwA3AwAgAkGQBWogAkHABWopAwA3AwAgAkGIBWogAkG4BWopAwA3AwAgAkGABWogAkGwBWopAwA3AwAgAiACKQOoBTcD+AQgBUHQgcAAQQQQrwEgAigCoAUNBCACKQOwBSEVIAIpA8AFIRcgAikDuAUiGiAdfSEWAkACfiAeIAIpA6gFIhxYBEAgFSAZfSEYIBUgGVStDAELIBUgGUJ/hXwhGCAVIBlUrSAVIBlRrXwLIhVQBEAgGiAdVK0hGQwBCyAVIBZWrSAaIB1UrXwhGSAWIBV9IRYLIBcgG30hFQJAIBlQBEAgFyAbWg0BDBILIBUgGVQgFyAbVHINESAVIBl9IRULIAJBEjoAwAUgAiAVNwO4BSACIBY3A7AFIAIgGDcDqAUgAiAcIB59NwOgBSACQdAEaiIFIAJB+ARqIAJBoAVqEMEBIAJB+ANqIAJBqARqIAUQbSACKAL4Aw0FDAcLIAIgAigCpAU2AvgDQayCwABBKyACQfgDakHYgsAAQfiNwAAQlwIACyACIAIoAqQFNgL4A0GsgsAAQSsgAkH4A2pB2ILAAEGYjsAAEJcCAAsgAiACKAKkBTYC0ARBrILAAEErIAJB0ARqQdiCwABBrIfAABCXAgALIAIgAigCpAU2AvgEQayCwABBKyACQfgEakHYgsAAQdiGwAAQlwIACyACIAIoAqQFNgLQBEGsgsAAQSsgAkHQBGpB2ILAAEHIhsAAEJcCAAsgAigC/AMMBQsgAkHIBGogAkHwA2opAwA3AwAgAkHABGogAkHoA2opAwA3AwAgAkG4BGogAkHgA2opAwA3AwAgAkGwBGogAkHYA2opAwA3AwAgAiACKQPQAzcDqAQgAkGgBWoiBUHQgcAAQQQQrwECQCACKAKgBUUEQCACQZgFaiACQcgFaikDADcDACACQZAFaiACQcAFaikDADcDACACQYgFaiACQbgFaikDADcDACACQYAFaiACQbAFaikDADcDACACIAIpA6gFNwP4BCAFQdCBwABBBBCvASACKAKgBUUNASACIAIoAqQFNgLQBEGsgsAAQSsgAkHQBGpB2ILAAEH8hsAAEJcCAAsgAiACKAKkBTYC+ARBrILAAEErIAJB+ARqQdiCwABBjIfAABCXAgALIAIpA7AFIRUgAikDwAUhFyACKQO4BSIaIB19IRYCQAJ+IB4gAikDqAUiHFgEQCAVIBl9IRggFSAZVK0MAQsgFSAZQn+FfCEYIBUgGVStIBUgGVGtfAsiFVAEQCAaIB1UrSEZDAELIBUgFlatIBogHVStfCEZIBYgFX0hFgsgFyAbfSEVAkACQCAZUARAIBcgG1oNAQwCCyAVIBlUIBcgG1RyDQEgFSAZfSEVCyACQRI6AMAFIAIgFTcDuAUgAiAWNwOwBSACIBg3A6gFIAIgHCAefTcDoAUgAkHQBGoiBSACQfgEaiACQaAFahDAASACQfgDaiACQagEaiAFEG0gAigC+ANFDQEgAigC/AMMBQsMCQsgAkHwA2oiBiACQaAEaikDADcDACACQegDaiIKIAJBmARqIgUpAwA3AwAgAkHgA2oiDCACQZAEaiIHKQMANwMAIAJB2ANqIg0gAkGIBGoiDikDADcDACACIAIpA4AENwPQAyAFIAYpAwA3AwAgByAKKQMANwMAIA4gDCkDADcDACACQYAEaiIPIA0pAwA3AwAgAiACKQPQAzcD+AMgAkG4BWoiESAEQYAFaiIFQRhqKQMANwMAIAJBsAVqIhIgBUEQaikDADcDACACQagFaiAFQQhqKQMANwMAIAJBEjoAwAUgAiAFKQMANwOgBSACQfgEaiIFIAJB+ANqIhMgAkGgBWoiFBDBASANIAJBgAVqIg0pAwA3AwAgDCACQYgFaiIMKQMANwMAIAogAkGQBWoiCikDADcDACAGIAJBmAVqIgYpAwA3AwAgAiACKQP4BDcD0AMgByAEQRhqKQMANwMAIA4gBEEQaikDADcDACAPIARBCGopAwA3AwAgAkESOgCYBCACIAQpAwA3A/gDIAJB6ARqIARBOGopAwA3AwAgAkHgBGogBEEwaikDADcDACACQdgEaiAEQShqKQMANwMAIAIgBCkDIDcD0AQgFCATIAJB0ARqEMoBIAIoAqAFDQAgBiACQcgFaikDADcDACAKIAJBwAVqKQMANwMAIAwgESkDADcDACANIBIpAwA3AwAgAiACKQOoBTcD+AQCQAJAAkACQAJAIAUgAkHQA2oQnAIiBUH/AXEOAwABAgELIAItAJgFIgUgAi0A8AMiBkkNASAFIAZHIQULIAVB/wFxQQFGDQELIAJBoAVqQeiGwABBARCvASACKAKgBQ0BIAJB6AJqIAJByAVqKQMANwMAIAJB4AJqIAJBwAVqKQMANwMAIAJB2AJqIAJBuAVqKQMANwMAIAJB0AJqIAJBsAVqKQMANwMAIAIgAikDqAU3A8gCDAMLIAJBkARqIARBGGopAwA3AwAgAkGIBGogBEEQaikDADcDACACQYAEaiAEQQhqKQMANwMAIAJBEjoAmAQgAiAEKQMANwP4AyACQZAFaiAEQSBqIgVBGGopAwA3AwAgAkGIBWogBUEQaikDADcDACACQYAFaiAFQQhqKQMANwMAIAIgBSkDADcD+AQgAkGgBWogAkH4A2ogAkH4BGoQygEgAigCoAUNASACQYgGaiACQcAFaikDADcDACACQYAGaiACQbgFaikDADcDACACQfgFaiACQbAFaikDADcDACACQdgFaiACQdgDaikDADcDACACQeAFaiACQeADaikDADcDACACQegFaiACQegDaikDADcDACACIAIpA6gFNwPwBSACIAIpA9ADNwPQBSACQcgCaiACQfAFaiACQdAFahDeAQwCCyACIAIoAqQFNgL4A0GsgsAAQSsgAkH4A2pB2ILAAEHshsAAEJcCAAsgAigCpAUMAgsgAikDyAIhGSACKQPQAiEVIAIpA9gCIRYgAikD4AIhGAwCCyACQQM2AqQFIAJBoIbAADYCoAUgAkICNwKsBSACIAJBmANqrUKAgICAIIQ3A4AEIAIgAkHwAmqtQoCAgIAghDcD+AMgAiACQfgDajYCqAUgAkHEA2oiBCACQaAFahDTASAEQbiGwAAQhgILIQQgCEEBNgIAIAggBDYCBAwDCyAVIAIpA/gBIhp8IhcgGlQhBSACKQOAAiIVIBUgFnwiFlYhBiACKQOIAiIVIBUgGHwiFVYhBwJAAkAgAikD8AEiGCAZfCIfIBhaBH4gBa0FIBdCAXwiF1CtIAWtfAsiGFAEfiAGrQUgFiAWIBh8IhZWrSAGrXwLIhhQBEAgB0UNAQwCCyAHDQEgFSAVIBh8IhVWDQELIAJBzABqIAJB1ABqKAAANgAAIAJBEjoASCACIBU3A0AgAiAWNwM4IAIgFzcDMCACIB83AyggAiACKABRNgBJIAJBmARqIAJBIGoiBSkDADcDACACQZAEaiACQRhqIgYpAwA3AwAgAkGIBGogAkEQaiIHKQMANwMAIAJBgARqIAJBCGoiCikDADcDACACIAIpAwA3A/gDIAJBkAVqIAtBGGopAwA3AwAgAkGIBWogC0EQaikDADcDACACQYAFaiALQQhqKQMANwMAIAIgCykDADcD+AQgAkHYAmogCUEYaikDADcDACACQdACaiAJQRBqKQMANwMAIAJByAJqIAlBCGopAwA3AwAgAiAJKQMANwPAAiACQaAFaiAEIAJB+ANqIAJB+ARqIAJBwAJqELEBIAIoAqAFBEAgAigCpAUhBCAIQQE2AgAgCCAENgIEDAQLIAIpA8AFIRsgAikDuAUhHSACKQOoBSEcIAIpA7AFIRkgAkHABWogBSkDADcDACACQbgFaiAGKQMANwMAIAJBsAVqIAcpAwA3AwAgAkGoBWogCikDADcDACACIAIpAwA3A6AFIAJB+ANqIAQgAkGgBWogCyAJELkBIBkgAikDgAQiHnwiGCAZVCEEIAIpA4gEIiAgHXwiGiAdVCEJIAIpA5AEIiEgG3wiIiAbVCELAkACQCAcIBwgAikD+AMiJHwiJVgEfiAErQUgGEIBfCIYUK0gBK18CyIjUAR+IAmtBSAaIBogI3wiGlatIAmtfAsiI1AEQCACICI3A7gFIAIgGjcDsAUgAiAYNwOoBSACICU3A6AFIAtFDQEMAgsgAiAaNwOwBSACIBg3A6gFIAIgJTcDoAUgAiAiICN8Ihg3A7gFIAsgGCAiVHINAQsgAkESOgDABQJAIAJBKGogAkGgBWoQnAJB/wFxQf8BRwRAAn4gHCAfWARAIBcgGVStIRggFyAZfQwBCyAXIBlUrSAXIBlRrXwhGCAXIBlCf4V8CyEaIBYgHX0hFwJAIBhQBEAgFiAdVK0hGQwBCyAXIBhUrSAWIB1UrXwhGSAXIBh9IRcLIBUgG30hFgJAIBlQBEAgFSAbWg0BDAMLIBUgG1QgFiAZVHINAiAWIBl9IRYLIBcgIH0hFQJAAn4gJCAfIBx9IhtYBEAgGiAefSEYIBogHlStDAELIBogHkJ/hXwhGCAaIB5UrSAaIB5RrXwLIhlQBEAgFyAgVK0hGgwBCyAVIBlUrSAXICBUrXwhGiAVIBl9IRULIBYgIX0hFwJAIBpQBEAgFiAhWg0BDAkLIBYgIVQgFyAaVHINCCAXIBp9IRcLIAhBEjoAKCAIIBc3AyAgCCAVNwMYIAggGDcDECAIQQA2AgAgCCAbICR9NwMIDAYLIAJBADYCsAUgAkEBNgKkBSACQeCNwAA2AqAFIAJCBDcCqAUgAkGgBWpB6I3AABDSASEEIAhBATYCACAIIAQ2AgQMBQsMBQsgAkEANgLQAiACQQE2AsQCIAJB1MHAADYCwAIgAkIENwLIAiACQcACakHwvsAAEMUCAAsMBAsMAgsgAkEANgKwBSACQQE2AqQFIAJByIvAADYCoAUgAkIENwKoBSACQaAFakGQjcAAENIBIQQgCEEBNgIAIAggBDYCBAsgAkGQBmokAAwCCyACQQA2ArAFIAJBATYCpAUgAkHAlMAANgKgBSACQgQ3AqgFIAJBoAVqQZCUwAAQxQIACyACQQA2ArAFIAJBATYCpAUgAkHUwcAANgKgBSACQgQ3AqgFIAJBoAVqQfC+wAAQxQIACyAQIAhBgLTAABCQAiADKAKQCA0EIANBzBhqIANBuAhqKQMAIhU3AgAgA0HEGGogA0GwCGopAwAiFjcCACADQbwYaiADQagIaikDACIYNwIAIANBtBhqIANBoAhqKQMAIhc3AgAgA0GIGGogFzcDACADQZAYaiAYNwMAIANBmBhqIBY3AwAgA0GgGGogFTcDACADIAMpA5gIIhU3AqwYIAMgFTcDgBggAygCvBoiBEGEAU8EQCAEEAALIAMoAsQZIgRBhAFPBEAgBBAACyADKAL8GCIEQYQBTwRAIAQQAAsgAyADQYAYakGQtMAAELgBDAgLIANBgBpqIANBrBpqKAIAIgQ2AgAgA0H4GWogA0GkGmopAgAiFTcDACADQfAZaiADQZwaaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClBoiFTcD6BkgAyAVNwMADAQLIANBqAhqIANBpBBqKAIAIgQ2AgAgA0EIaiADQZQQaikCADcDACADQRBqIANBnBBqKQIANwMAIANBGGogBDYCACADIAMpAowQNwMADAYLIANB8BhqIANBrBpqKAIAIgQ2AgAgA0HoGGogA0GkGmopAgAiFTcDACADQeAYaiADQZwaaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClBoiFTcD2BggAyAVNwMADAQLIANBuBlqIANBrBpqKAIAIgQ2AgAgA0GwGWogA0GkGmopAgAiFTcDACADQagZaiADQZwaaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClBoiFTcDoBkgAyAVNwMADAILIANBwBhqIANBrAhqKAIAIgQ2AgAgA0G4GGogA0GkCGopAgAiFTcDACADQbAYaiADQZwIaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClAgiFTcDqBggAyAVNwMAIAMoArwaIQILIAJBhAFPBEAgAhAACyADKALEGSECCyACQYQBTwRAIAIQAAsgAygC/BghAgsgAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAMoAgAiAUECRgRAQQAhAiADKAIEDAELIANBoBBqIANBGGooAgA2AgAgA0GYEGogA0EQaikDADcDACADQZAQaiADQQhqKQMANwMAIAMgAykDADcDiBAgA0GIEGoQ5QEhAkEACyEEIAAgAUECRzYCCCAAIAI2AgQgACAENgIAIANB4BpqJAAL3iMCC38OfiMAQeAaayIDJAAgA0GIEGoiCSABEAIgARADELwBAkACQAJAAkACQAJAAkAgAygCiBBFBEAgA0EgaiIHIANBkAhqIgVBBHIgA0GQEGpB8AcQrANB8AcQrAMaIAMgARATIgg2AuQZIAkgA0HkGWpBhKXAABCsASADKAKIEA0BIANB3BlqIANBqBBqIgopAwAiETcCACADQdQZaiADQaAQaiIGKQMAIg83AgAgA0HMGWogA0GYEGoiBCkDACINNwIAIANBoBlqIA03AwAgA0GoGWogDzcDACADQbAZaiARNwMAIAMgAykDkBAiDTcCxBkgAyANNwOYGSADQRI6ALgZIAMgARAUIgg2ArQaIAkgA0G0GmpBlKXAABCsASADKAKIEA0CIANBrBpqIAopAwAiETcCACADQaQaaiAGKQMAIg83AgAgA0GcGmogBCkDACINNwIAIANB8BlqIA03AwAgA0H4GWogDzcDACADQYAaaiARNwMAIAMgAykDkBAiDTcClBogAyANNwPoGSADQRI6AIgaIAMgARAVIgg2AtwaIAkgA0HcGmpBpKXAABCsASADKAKIEEUEQCADQdQaaiAKKQMAIhE3AgAgA0HMGmogBikDACIPNwIAIANBxBpqIAQpAwAiDTcCACADQZgIaiANNwMAIANBoAhqIA83AwAgA0GoCGogETcDACADIAMpA5AQIg03ArwaIAMgDTcDkAggA0ESOgCwCCADQfAYaiEEIwBBoANrIgIkACACQYgBaiIMIAcgA0GYGWoiCyADQegZaiIIEG8CQAJAAkACQAJAAkACQAJAIAIoAogBRQRAIAIpA6gBIRogAikDoAEhDiACKQOYASEYIAIpA5ABIREgAkHwAGogB0HYAWopAwA3AwAgAkHoAGogB0HQAWopAwA3AwAgAkHgAGogB0HIAWopAwA3AwAgAkESOgB4IAIgBykDwAE3A1ggAkGoAWogC0EgaikDADcDACACQaABaiALQRhqIgkpAwA3AwAgAkGYAWogC0EQaiIKKQMANwMAIAJBkAFqIAtBCGoiBikDADcDACACIAspAwA3A4gBIAJB+AJqIAwgAkHYAGogCBB7IAopAwAhFiAGKQMAIRUgAikDiAMhFCACKQOAAyESAn4gAikD+AIiDyALKQMAIg1aBEAgEiAVVK0hFyASIBV9DAELIBIgFVStIBIgFVGtfCEXIBIgFUJ/hXwLIRkgCSkDACEVIAIpA5ADIRIgFCAWfSEQAkAgF1AEQCAUIBZUrSEUDAELIBAgF1StIBQgFlStfCEUIBAgF30hEAsgEiAVfSETAkAgFFAEQCASIBVaDQEMCQsgEyAUVCASIBVUcg0IIBMgFH0hEwsgDiAQfSESAkACfiAPIA19Ig0gEVgEQCAYIBl9IRQgGCAZVK0MAQsgGCAZQn+FfCEUIBggGVStIBggGVGtfAsiD1AEQCAOIBBUrSEODAELIA8gElatIA4gEFStfCEOIBIgD30hEgsgGiATfSEQAkAgDlAEQCATIBpYDQEMCQsgDiAQViATIBpWcg0IIBAgDn0hEAsgAkESOgAoIAIgEDcDICACIBI3AxggAiAUNwMQIAIgESANfTcDCCACQYgBakHYx8AAQQQQsAEgAigCiAENASACKQOYASINIAUpAwh8IhIgDVQhCSACKQOgASINIAUpAxB8IhAgDVQhCiACKQOoASINIAUpAxh8IhEgDVQhBgJAIAIpA5ABIg0gBSkDAHwiDyANWgR+IAmtBSASQgF8IhJQrSAJrXwLIg1QBH4gCq0FIBAgDSAQfCIQVq0gCq18CyINUARAIAIgETcDoAIgAiAQNwOYAiACIBI3A5ACIAIgDzcDiAIgBkUNAQwICyACIBA3A5gCIAIgEjcDkAIgAiAPNwOIAiACIA0gEXwiDTcDoAIgBiANIBFUcg0HCyACQRI6AKgCIAJBkANqIAdBmAZqKQMANwMAIAJBiANqIAdBkAZqKQMANwMAIAJBgANqIAdBiAZqKQMANwMAIAJBEjoAmAMgAiAHKQOABjcD+AIgAkGIAWoiBkGA54QPEJ8CIAJBEjoAqAEgAkGwAmoiBSACQfgCaiAGEMQBIAJB2ABqIAJBiAJqIAUQbiACKAJYDQIgAikDeCEWIAIpA3AhFCACKQNoIQ4gAikDYCESIAZB2MfAAEEEELABAkACQAJAAkACQCACKAKIAUUEQCACKQOYASEPIAIpA6gBIRUgFCACKQOgASIRfSEQAkACfiACKQOQASINIBJYBEAgDiAPfSEXIA4gD1StDAELIA4gD0J/hXwhFyAOIA9UrSAOIA9RrXwLIg9QBEAgESAUVq0hDgwBCyAPIBBWrSARIBRWrXwhDiAQIA99IRALIBYgFX0hEwJAIA5QBEAgFSAWWA0BDA8LIBUgFlYgDiATVnINDiATIA59IRMLIAdBgAZqIQYgAkESOgBQIAIgEzcDSCACIBA3A0AgAiAXNwM4IAIgEiANfTcDMCACQbgBaiIFIAsgAkEwahDHASAFIAJBCGoQnAIiBUH/AXEOAwECAwILIAIgAigCjAE2AlhB7cTAAEErIAJB2ABqQZjFwABBvO3AABCXAgALIAItANgBIgcgAi0AKCIFSQ0BIAUgB0chBQsgBUH/AXFBAUYNAQsgAikDwAEhDiACKQMQIREgAikD0AEhFiACKQMgIRQgAikDGCIVIAIpA8gBIhJ9IRACQAJ+IAIpAwgiDyACKQO4ASINWgRAIBEgDn0hFyAOIBFWrQwBCyARIA5Cf4V8IRcgDiARVq0gDiARUa18CyIRUARAIBIgFVatIQ4MAQsgECARVK0gEiAVVq18IQ4gECARfSEQCyAUIBZ9IRMCQCAOUARAIBQgFloNAQwLCyAUIBZUIA4gE1ZyDQogEyAOfSETCyACQRI6AKgCIAIgEzcDoAIgAiAQNwOYAiACIBc3A5ACIAIgDyANfTcDiAIgAkHQAmogAkEoaikDADcDACACQcgCaiACQSBqKQMANwMAIAJBwAJqIAJBGGopAwA3AwAgAkG4AmogAkEQaikDADcDACACIAIpAwg3A7ACIAJB8ABqIAZBGGopAwA3AwAgAkHoAGogBkEQaikDADcDACACQeAAaiAGQQhqKQMANwMAIAJBEjoAeCACIAYpAwA3A1ggAkGIAWoiBkGA54QPEJ8CIAJBEjoAqAEgAkH4AmoiBSACQdgAaiIHIAYQxAEgBiACQbACaiAFEMcBIAcgAkGIAmogBhDEASACQeABaiAHENcBIAIoAuABRQ0BDAYLIAIpAxAhDiACKQPAASERIAIpAyAhFiACKQPQASEUIAIpA8gBIhUgAikDGCISfSEQAkACfiACKQO4ASIPIAIpAwgiDVoEQCARIA59IRcgDiARVq0MAQsgESAOQn+FfCEXIA4gEVatIA4gEVGtfAsiEVAEQCASIBVWrSEODAELIBAgEVStIBIgFVatfCEOIBAgEX0hEAsgFCAWfSETAkAgDlAEQCAUIBZaDQEMCgsgFCAWVCAOIBNWcg0JIBMgDn0hEwsgAkESOgCoAiACIBM3A6ACIAIgEDcDmAIgAiAXNwOQAiACIA8gDX03A4gCIAJB0AJqIAJBKGopAwA3AwAgAkHIAmogAkEgaikDADcDACACQcACaiACQRhqKQMANwMAIAJBuAJqIAJBEGopAwA3AwAgAiACKQMINwOwAiACQfAAaiAGQRhqKQMANwMAIAJB6ABqIAZBEGopAwA3AwAgAkHgAGogBkEIaikDADcDACACQRI6AHggAiAGKQMANwNYIAJBiAFqIgZBgOeEDxCfAiACQRI6AKgBIAJB+AJqIgUgAkHYAGoiByAGEMQBIAYgAkGwAmogBRDHASAHIAJBiAJqIAYQxAEgAkHgAWogBxDXASACKALgAQ0FIAQgAikD6AE3AwggBEEgaiACQYACaikDADcDACAEQRhqIAJB+AFqKQMANwMAIARBEGogAkHwAWopAwA3AwAMBAsgAkHwAmogAkGAAmopAwA3AwAgAkHoAmogAkH4AWopAwA3AwAgAkHgAmogAkHwAWopAwA3AwAgAiACKQPoATcD2AIgAikD2AIhECAEAn4gAkHYAmpBqMPAAEEgEK4DBEAgAikD4AIiDUJ/hUIAIA19Ig1CACAQfSIQQgBSIgUbIRMgAikD6AJCf4UiDyANUCAFQX9zcSIFrXwiDSAPIAUbIRIgBSANIA9Uca0gAikD8AJCf4V8DAELIAIpA+gCIRIgAikD4AIhEyACKQPwAgs3AyAgBCASNwMYIAQgEzcDECAEIBA3AwgMAwsgAigCjAEhBSAEQQE2AgAgBCAFNgIEDAQLIAIgAigCjAE2AvgCQe3EwABBKyACQfgCakGYxcAAQcztwAAQlwIACyACKAJcIQUgBEEBNgIAIAQgBTYCBAwCCyAEQQA2AgAMAQsgAigC5AEhBSAEQQE2AgAgBCAFNgIECyACQaADaiQADAILIAJBADYCmAEgAkEBNgKMASACQeCHwQA2AogBIAJCBDcCkAEgAkGIAWpB9IXBABDFAgALIAJBADYCmAEgAkEBNgKMASACQeTEwAA2AogBIAJCBDcCkAEgAkGIAWpBtMTAABDFAgALIwBBEGsiBSQAIANByBhqIgcCfyAEKAIARQRAIAcgBCkDCDcDCCAHQSBqIARBIGopAwA3AwAgB0EYaiAEQRhqKQMANwMAIAdBEGogBEEQaikDADcDAEEADAELIAUgBCgCBDYCDCAHQQRqIAVBDGoiBEG0pcAAEPMBIAQQ7QJBAQs2AgAgBUEQaiQAIAMoAsgYDQQgA0G8GGogA0HoGGopAwAiETcCACADQbQYaiADQeAYaikDACIPNwIAIANBrBhqIANB2BhqKQMAIg03AgAgA0GIGGogDTcDACADQZAYaiAPNwMAIANBmBhqIBE3AwAgAyADKQPQGCINNwKkGCADIA03A4AYIAMoAtwaIgRBhAFPBEAgBBAACyADKAK0GiIEQYQBTwRAIAQQAAsgAygC5BkiBEGEAU8EQCAEEAALIAMgA0GAGGpBxKXAABC7AQwICyADQdAaaiADQaQQaigCACIENgIAIANByBpqIANBnBBqKQIAIg83AwAgA0HAGmogA0GUEGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAowQIg03A7gaIAMgDTcDAAwECyADQagIaiADQaQQaigCACIENgIAIANBCGogA0GUEGopAgA3AwAgA0EQaiADQZwQaikCADcDACADQRhqIAQ2AgAgAyADKQKMEDcDAAwGCyADQdgZaiADQaQQaigCACIENgIAIANB0BlqIANBnBBqKQIAIg83AwAgA0HIGWogA0GUEGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAowQIg03A8AZIAMgDTcDAAwECyADQagaaiADQaQQaigCACIENgIAIANBoBpqIANBnBBqKQIAIg83AwAgA0GYGmogA0GUEGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAowQIg03A5AaIAMgDTcDAAwCCyADQbgYaiADQeQYaigCACIENgIAIANBsBhqIANB3BhqKQIAIg83AwAgA0GoGGogA0HUGGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAswYIg03A6AYIAMgDTcDACADKALcGiEICyAIQYQBTwRAIAgQAAsgAygCtBohCAsgCEGEAU8EQCAIEAALIAMoAuQZIQgLIAhBhAFJDQAgCBAACyABQYMBSwRAIAEQAAsCfyADKAIAIgRBAkYEQEEAIQggAygCBAwBCyADQaAQaiADQRhqKAIANgIAIANBmBBqIANBEGopAwA3AwAgA0GQEGogA0EIaikDADcDACADIAMpAwA3A4gQIANBiBBqEOUBIQhBAAshASAAIARBAkc2AgggACAINgIEIAAgATYCACADQeAaaiQAC/ARAhF/CX4jAEGQAmsiAiQAIAEtACAhCCACQQhqIgNBABCfAiACQShqQQoQnwIgAkHIAGpBMBCfAiACQegBaiIKIAFBGGopAwA3AwAgAkHgAWoiCyABQRBqKQMANwMAIAJB2AFqIgwgAUEIaikDADcDACACIAEpAwA3A9ABIAJB6ABqIgQgAkHQAWoQnwEgAkEANgKQASACQoCAgIDAADcCiAECQAJAAkACQAJAIAQgAxCcAkH/AXFBAUYEQCACQfABaiEGIAIpA2AhGCACKQNYIRkgAikDUCEaIAIpA0ghGwNAIAhFIAUgCEdyRQRAIAIoApABIgMgAigCiAFGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQS42AgAgAiADQQFqNgKQAQsgAkHIAWogAkGAAWoiDSkDADcDACACQcABaiACQfgAaiIOKQMANwMAIAJBuAFqIAJB8ABqIg8pAwA3AwAgAiACKQNoNwOwASACQdABaiACQbABaiACQShqEHEgBkEIaikDACITIBp8IhYgE1QhAyAGQRBqKQMAIhQgGXwiEyAUVCEEIAZBGGopAwAiFyAYfCIUIBdUIQcCQCAGKQMAIhUgG3wiFyAVWgR+IAOtBSAWQgF8IhZQrSADrXwLIhVQBH4gBK0FIBMgEyAVfCITVq0gBK18CyIVUARAIAIgFDcD6AEgAiATNwPgASACIBY3A9gBIAIgFzcD0AEgB0UNAQwICyACIBM3A+ABIAIgFjcD2AEgAiAXNwPQASACIBQgFXwiEzcD6AEgByATIBRUcg0HCyACQbABaiEHQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAdBEGogBCkDCDcDACAHIAQpAwA3AwgMAQtBASEJIANBATYCFCADQbSEwQA2AhAgA0IBNwIcIAMgBK1CgICAgMAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQ0wEgA0EIaiAEQbyGwQBBvITBABCmAiADKAIMIRAgAygCCCERIANBGGoiEiADQTxqKAIANgIAQZngwQAtAAAaIAMgAykCNDcDEEEYQQQQ9wIiBEUNASAEIBE2AgQgBEGkh8EANgIAIAQgAykDEDcCDCAEIBA2AgggBEEUaiASKAIANgIAIAcgBDYCBAsgByAJNgIAIANBQGskAAwBC0EEQRgQqAMACyACKAKwAQ0CIAItALgBIQQgAigCkAEiAyACKAKIAUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGogBDYCACACIANBAWo2ApABIAJB0AFqIAJB6ABqIgMgAkEoahBxIA0gCikDADcDACAOIAspAwA3AwAgDyAMKQMANwMAIAIgAikD0AE3A2ggBUEBaiEFIAMgAkEIahCcAkH/AXFBAUYNAAsLIAUgCE8NASACKAKQASIEIAQgCCAFayIHaiIDSQRAIAcgAigCiAEgBGtLBEAgAkGIAWogBCAHEPgBIAIoApABIQQLIAIoAowBIARBAnRqIQMgB0ECTwRAIAVBf3MgCGoiBUEHcSEGIAdBAmtBB08EQCAFQXhxIQUDQCADQrCAgICABjcCACADQRhqQrCAgICABjcCACADQRBqQrCAgICABjcCACADQQhqQrCAgICABjcCACADQSBqIQMgBUEIayIFDQALCyAGBEADQCADQTA2AgAgA0EEaiEDIAZBAWsiBg0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2ApABDAILIAIgAigCtAE2AtABQfT7wABBKyACQdABakGg/MAAQbD8wAAQlwIACyAFIAhHDQEgAigCkAEhAwsgAigCiAEhBiAIBEAgAyAGRgRAIAJBiAFqEPkBCyACKAKMASADQQJ0akEuNgIAIAIgA0EBaiIDNgKQASACKAKIASEGCyADIAZGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQTA2AgAgAiADQQFqNgKQAQsgAkHIAWogAUEYaikDADcDACACQcABaiABQRBqKQMANwMAIAJBuAFqIAFBCGopAwA3AwAgAiABKQMANwOwASACQegBakIANwMAIAJB4AFqQgA3AwAgAkHYAWpCADcDACACQgA3A9ABIAIgAkGwAWoiByACQdABaiIJEJwCQf8BcUH/AUc6AJcBIAIoAowBIQEgAigCkAEhAyACQawBaiIKQQA2AgAgAkKAgICAEDcCpAEjAEEQayIFJAAgASADQQJ0aiIIIAFrQQJ2IgQgAkGkAWoiAygCACADKAIIIgZrSwRAIAMgBiAEEPoBCyABIAhHBEADQAJAAn8CQCAIQQRrIggoAgAiBEGAAU8EQCAFQQA2AgwgBEGAEEkNASAEQYCABEkEQCAFIARBP3FBgAFyOgAOIAUgBEEMdkHgAXI6AAwgBSAEQQZ2QT9xQYABcjoADUEDDAMLIAUgBEE/cUGAAXI6AA8gBSAEQRJ2QfABcjoADCAFIARBBnZBP3FBgAFyOgAOIAUgBEEMdkE/cUGAAXI6AA1BBAwCCyADKAIIIgYgAygCAEYEQCADEP0BCyADIAZBAWo2AgggAygCBCAGaiAEOgAADAILIAUgBEE/cUGAAXI6AA0gBSAEQQZ2QcABcjoADEECCyEEIAQgAygCACADKAIIIgZrSwRAIAMgBiAEEPoBIAMoAgghBgsgAygCBCAGaiAFQQxqIAQQrAMaIAMgBCAGajYCCAsgASAIRw0ACwsgBUEQaiQAIAJBoAFqIAooAgA2AgAgAiACKQKkATcDmAEgAiACQZgBaq1CgICAgMAIhDcDuAEgAiACQZcBaq1CgICAgOAAhDcDsAEgAkECNgLUASACQcD8wAA2AtABIAJCAjcC3AEgAiAHNgLYASAAIAkQ0wEgAigCmAEiAARAIAIoApwBIAAQiwMLIAIoAogBIgAEQCACKAKMASAAQQJ0EIsDCyACQZACaiQADwsgAkEANgLAASACQQE2ArQBIAJB4IfBADYCsAEgAkIENwK4ASACQbABakH0hcEAEMUCAAv9jwECKn8PfiMAQbAaayIEJAAgBEGIEGoiCiABEAIgARADELwBAkACQAJAAkACQCAEKAKIEEUEQCAEQSBqIgUgBEGQCGoiGkEEciAEQZAQakHwBxCsA0HwBxCsAxogBCABEEoiAjYCnBkgGiAEQZwZakHkucAAEKwBIAQoApAIDQEgBEGUGWogBEGwCGoiAykDACIsNwIAIARBjBlqIARBqAhqIgYpAwAiLjcCACAEQYQZaiAEQaAIaiIHKQMAIi03AgAgBEGoGWogLTcDACAEQbAZaiAuNwMAIARBuBlqICw3AwAgBCAEKQOYCCIsNwL8GCAEICw3A6AZIAQgARBLIgI2AuQZIBogBEHkGWpB9LnAABCtASAEKAKQCEUEQCAEQdwZaiADKQMAIiw3AgAgBEHUGWogBikDACIuNwIAIARBzBlqIAcpAwAiLTcCACAEQfAZaiAtNwMAIARB+BlqIC43AwAgBEGAGmogLDcDACAEIAQpA5gIIiw3AsQZIAQgLDcD6BkgBEHoGWohDyABEEwiAkH///8HRyETIAJB/wFxIRQjAEHgBWsiAyQAIANBGGogBEGgGWoiAkEYaikDADcDACADQRBqIAJBEGopAwA3AwAgA0EIaiACQQhqKQMANwMAIANBEjoAICADIAIpAwA3AwAgA0HgAGogBUHIBWoiAikDADcDACADQegAaiAFQdAFaiIGKQMANwMAIANB8ABqIAVB2AVqIgcpAwA3AwAgAyAFKQPABTcDWCADQgA3A/ABIANB0AVqIAcpAwA3AwAgA0HIBWogBikDADcDACADQcAFaiACKQMANwMAIANBEjoA2AUgAyAFKQPABTcDuAUgA0GgAWoiAiAFIANBuAVqIANB8AFqIgYQowICQAJAIAMoAqABRQRAIANByABqIANByAFqKQMANwMAIANBQGsgA0HAAWoiBykDADcDACADQThqIANBuAFqIgkpAwA3AwAgA0EwaiADQbABaiILKQMANwMAIAMgAykDqAE3AyggBiAFEIMBAkACQAJAAkACQAJAAkACQAJAAkAgAygC8AFFBEAgByADQZgCaikDADcDACAJIANBkAJqKQMANwMAIAsgA0GIAmopAwA3AwAgA0GoAWogA0GAAmopAwA3AwAgAyADKQP4ATcDoAEgA0EoaiACEJwCIgJB/wFxDgMBAgMCCyADKAL0ASEFIApBATYCACAKIAU2AgQMDAsgAy0ASCICIAMtAMABIgZJDQEgAiAGRyECCyACQf8BcUEBRg0BCyADQfABaiIMIQYjAEHwCGsiAiQAIAJBgAdqIgcgBRCBAQJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCgAdFBEAgAkH4AGogAkGoB2oiDSkDADcDACACQfAAaiACQaAHaiIJKQMANwMAIAJB6ABqIAJBmAdqIgspAwA3AwAgAkHgAGogAkGQB2oiCCkDADcDACACIAIpA4gHNwNYIAJB2AFqIAVByAFqKQMANwMAIAJB4AFqIAVB0AFqKQMANwMAIAJB6AFqIAVB2AFqKQMANwMAIAIgBSkDwAE3A9ABIAJBEjoA8AEgAkGQAmoiDiAFQZgFaikDADcDACACQYgCaiIQIAVBkAVqKQMANwMAIAJBgAJqIhEgBUGIBWopAwA3AwAgAiAFKQOABTcD+AEgAkGYAmoiEkESOgAAIAkgEikDADcDACALIA4pAwA3AwAgCCAQKQMANwMAIAJBiAdqIBEpAwA3AwAgAiACKQP4ATcDgAcgAkGoAWogAkHQAWogBxDFASAHQdjHwABBBBCwASACKAKABw0BIAIpA6AHITMgAikDmAchNiACKQOQByE4IAIpA4gHITkgAkGgA2ogBUHoA2opAwA3AwAgAkGoA2ogBUHwA2opAwA3AwAgAkGwA2ogBUH4A2opAwA3AwAgAkESOgC4AyACIAUpA+ADNwOYAyAHQdjHwABBBBCwASACKAKABw0CIAJBqAZqIA0pAwA3AwAgAkGgBmogCSkDADcDACACQZgGaiALKQMANwMAIAJBkAZqIAgpAwA3AwAgAiACKQOIBzcDiAYgByAFEJwBIAIoAoAHDQMgAkHgA2ogDSkDADcDACACQdgDaiAJKQMANwMAIAJB0ANqIAspAwA3AwAgAkHIA2ogCCkDADcDACACIAIpA4gHNwPAAyACQbAFaiACQYgGaiACQcADahDFASAHQdjHwABBBBCwASACKAKABw0EIAIpA5AHISwgAikDuAUhLSACKQOgByEvIAIpA8gFITAgAikDwAUiMiACKQOYByI0fSEuAkACfiACKQOwBSI1IAIpA4gHIjdaBEAgLSAsfSExICwgLVatDAELIC0gLEJ/hXwhMSAsIC1WrSAsIC1RrXwLIixQBEAgMiA0VK0hLQwBCyAsIC5WrSAyIDRUrXwhLSAuICx9IS4LIDAgL30hLAJAIC1QBEAgLyAwWA0BDBoLICwgLVQgLyAwVnINGSAsIC19ISwLIAJBEjoAgAUgAiAsNwP4BCACIC43A/AEIAIgMTcD6AQgAiA1IDd9NwPgBCACQbgEaiACQZgDaiACQeAEahDGASACQYAHakHYx8AAQQQQsAEgAigCgAcNBSACKQOQByEsIAUpA4gEITIgAikDoAchLSAFKQOYBCE0IAIpA5gHIi8gBSkDkAQiNX0hLgJAAn4gAikDiAciOiAFKQOABCI3WgRAICwgMn0hMSAsIDJUrQwBCyAsIDJCf4V8ITEgLCAyVK0gLCAyUa18CyIwUARAIC8gNVStISwMAQsgLiAwVK0gLyA1VK18ISwgLiAwfSEuCyAtIDR9ITACQCAsUARAIC0gNFoNAQwaCyAtIDRUICwgMFZyDRkgMCAsfSEwCyACQRI6AKAHIAIgMDcDmAcgAiAuNwOQByACIDE3A4gHIAIgOiA3fTcDgAcgAkHwAmogAkG4BGogAkGAB2oQxgEgOCACKQP4AnwiLiA4VCEHIAIpA4ADIDZ8Ii0gNlQhCSACKQOIAyAzfCIsIDNUIQsCQCA5IDkgAikD8AJ8Ii9YBH4gB60FIC5CAXwiLlCtIAetfAsiMFAEfiAJrQUgLSAtIDB8Ii1WrSAJrXwLIjBQBEAgAiAsNwPgAiACIC03A9gCIAIgLjcD0AIgAiAvNwPIAiALRQ0BDBsLIAIgLTcD2AIgAiAuNwPQAiACIC83A8gCIAIgLCAwfCIuNwPgAiALICwgLlZyDRoLIAJBEjoA6AIgAkGAB2pB2MfAAEEEELABIAIoAoAHDQYgAikDkAchLCACKQOgByEuIAIpA5gHIi0gNX0hLwJAAn4gNyACKQOIByIxWARAICwgMn0hMCAsIDJUrQwBCyAsIDJCf4V8ITAgLCAyVK0gLCAyUa18CyIsUARAIC0gNVStIS0MAQsgLCAvVq0gLSA1VK18IS0gLyAsfSEvCyAuIDR9ISwCQCAtUARAIC4gNFoNAQwaCyAsIC1UIC4gNFRyDRkgLCAtfSEsCyACQRI6AKAHIAIgLDcDmAcgAiAvNwOQByACIDA3A4gHIAIgMSA3fTcDgAcgAkGgAmogAkHIAmogAkGAB2oiBxDFASAHQdjHwABBBBCwASACKAKABw0HIAIpA5AHISwgBSkDyAYhLSACKQOgByEvIAUpA9gGITMgAikDmAciMCAFKQPQBiI2fSEuAkACfiACKQOIByI6IAUpA8AGIjhaBEAgLCAtfSExICwgLVStDAELICwgLUJ/hXwhMSAsIC1UrSAsIC1RrXwLIjlQBEAgMCA2VK0hLAwBCyAuIDlUrSAwIDZUrXwhLCAuIDl9IS4LIC8gM30hMAJAICxQBEAgLyAzWg0BDBoLIC8gM1QgLCAwVnINGSAwICx9ITALIAJBiARqIgdBEjoAACACQYAEaiAzNwMAIAJB+ANqIDY3AwAgAkHwA2ogLTcDACACQRI6AKgGIAIgMDcDoAYgAiAuNwOYBiACIDE3A5AGIAIgODcD6AMgAiA6IDh9NwOIBiACQaAHaiAHKQMANwMAIAJBmAdqIDM3AwAgAkGQB2ogNjcDACACQYgHaiAtNwMAIAIgODcDgAcgAkGwBWoiByACQYgGaiACQYAHahDEASACQdgFaiACQaACaiAHEG4gAigC2AUNCCACKQOwASIuIAIpA+gFfCIsIC5UIQcgAikDuAEiLyACKQPwBXwiLiAvVCEJIAIpA8ABIjAgAikD+AV8Ii8gMFQhCwJAIAIpA6gBIjEgAikD4AV8IjAgMVoEfiAHrQUgLEIBfCIsUK0gB618CyIxUAR+IAmtBSAuIC4gMXwiLlatIAmtfAsiMVAEQCACIC83A5gBIAIgLjcDkAEgAiAsNwOIASACIDA3A4ABIAtFDQEMGwsgAiAuNwOQASACICw3A4gBIAIgMDcDgAEgAiAvIDF8Iiw3A5gBIAsgLCAvVHINGgsgAkESOgCgASACQTBqIAJB2ABqIAJBgAFqEMQBIAJBgAdqIgdB2MfAAEEEELABIAIoAoAHDQkgAkH4BWogAkGoB2opAwA3AwAgAkHwBWogAkGgB2opAwA3AwAgAkHoBWogAkGYB2opAwA3AwAgAkHgBWogAkGQB2opAwA3AwAgAiACKQOIBzcD2AUgB0HYx8AAQQQQsAEgAigCgAcNCiACKQOQByEsIAIpA6AHITAgAikDmAciLiA2fSEvAkACfiA4IAIpA4gHIjlYBEAgLCAtfSExICwgLVStDAELICwgLUJ/hXwhMSAsIC1UrSAsIC1RrXwLIixQBEAgLiA2VK0hLgwBCyAsIC9WrSAuIDZUrXwhLiAvICx9IS8LIDAgM30hLAJAIC5QBEAgMCAzWg0BDBoLICwgLlQgMCAzVHINGSAsIC59ISwLIAJBEjoAoAcgAiAsNwOYByACIC83A5AHIAIgMTcDiAcgAiA5IDh9NwOAByACQYgGaiIJIAJB2AVqIgsgAkGAB2oiBxDEASACIAJBMGogCRBuIAIoAgANCyACQbAEaiACQShqKQMANwMAIAJBqARqIAJBIGopAwA3AwAgAkGgBGogAkEYaikDADcDACACQZgEaiACQRBqKQMANwMAIAIgAikDCDcDkAQgAkG4BGogAkGQBGogAkH4AWoQxAEgB0HYx8AAQQQQsAEgAigCgAcNDCACQfgFaiACQagHaikDADcDACACQfAFaiACQaAHaikDADcDACACQegFaiACQZgHaikDADcDACACQeAFaiACQZAHaikDADcDACACIAIpA4gHNwPYBSAHIAUQnAEgAigCgAcNDSACQagFaiACQagHaikDADcDACACQaAFaiACQaAHaikDADcDACACQZgFaiACQZgHaikDADcDACACQZAFaiACQZAHaikDADcDACACIAIpA4gHNwOIBSACIAsgAkGIBWoQxAEgB0HYx8AAQQQQsAEgAigCgAcNDiACKQOQByEsIAIpAwghLiACKQOgByEtIAIpAxghMyACKQMQIjAgAikDmAciNn0hLwJAAn4gAikDACI4IAIpA4gHIjlaBEAgLiAsfSExICwgLlatDAELIC4gLEJ/hXwhMSAsIC5WrSAsIC5RrXwLIixQBEAgMCA2VK0hMAwBCyAsIC9WrSAwIDZUrXwhMCAvICx9IS8LIDMgLX0hLAJAIDBQBEAgLSAzWA0BDBoLICwgMFQgLSAzVnINGSAsIDB9ISwLIAJBEjoAqAYgAiAsNwOgBiACIC83A5gGIAIgMTcDkAYgAiA4IDl9NwOIBiACQbAFaiACQZgDaiACQYgGahDHASACQYAHakHYx8AAQQQQsAEgAigCgAcNDyACKQOQByEsIAIpA6AHIS4gAikDmAciLSA1fSEvAkACfiA3IAIpA4gHIjFYBEAgLCAyfSEwICwgMlStDAELICwgMkJ/hXwhMCAsIDJUrSAsIDJRrXwLIixQBEAgLSA1VK0hLQwBCyAsIC9WrSAtIDVUrXwhLSAvICx9IS8LIC4gNH0hLAJAIC1QBEAgLiA0Wg0BDBoLICwgLVQgLiA0VHINGSAsIC19ISwLIAJBEjoAoAcgAiAsNwOYByACIC83A5AHIAIgMDcDiAcgAiAxIDd9NwOAByACQeAEaiIJIAJBsAVqIAJBgAdqIgcQxwEgB0HYx8AAQQQQsAEgAigCgAcNECACQYgIaiACQaAHaikDADcDACACQYAIaiACQZgHaikDADcDACACQfgHaiACQZAHaikDADcDACACIAIpA4gHNwPwByACIAJB8AdqIAkQ7AEgAkESOgAgIAdB2MfAAEEEELABIAIoAoAHDREgAikDkAchLCACKQOgByExIAIpA5gHIi4gNX0hLwJAAn4gNyACKQOIByIzWARAICwgMn0hMCAsIDJUrQwBCyAsIDJCf4V8ITAgLCAyVK0gLCAyUa18CyIsUARAIC4gNVStIS0MAQsgLCAvVq0gLiA1VK18IS0gLyAsfSEvCyAxIDR9IS4CQCAtUARAIDEgNFoNAQwaCyAxIDRUIC0gLlZyDRkgLiAtfSEuCyACQRI6AKAHIAIgLjcDmAcgAiAvNwOQByACIDA3A4gHIAIgMyA3fTcDgAcgAkGIBmoiCSACIAJBgAdqIgcQxAEgB0HYx8AAQQQQsAEgAigCgAcNEiACQSBqIgsgAkGoB2opAwA3AwAgAkEYaiIIIAJBoAdqKQMANwMAIAJBEGoiDSACQZgHaikDADcDACACQQhqIg4gAkGQB2opAwA3AwAgAiACKQOIBzcDACAHIAIgAkHoA2oQxQEgAkHYBWoiECAJIAcQbiACKALYBQ0TIAJB0AZqIAJBgAZqKQMANwMAIAJByAZqIAJB+AVqKQMANwMAIAJBwAZqIAJB8AVqIhEpAwA3AwAgAkG4BmogAkHoBWoiEikDADcDACACIAIpA+AFNwOwBiACQbAFaiACQbAGaiACQZAEahDHASARIAVBGGopAwA3AwAgEiAFQRBqKQMANwMAIAJB4AVqIAVBCGopAwA3AwAgAkESOgD4BSACIAUpAwA3A9gFIAJBoAZqIAVBOGopAwA3AwAgAkGYBmogBUEwaikDADcDACACQZAGaiAFQShqKQMANwMAIAIgBSkDIDcDiAYgByAQIAkQygEgAigCgAcNFCALIAJBqAdqKQMANwMAIAggAkGgB2opAwA3AwAgDSACQZgHaikDADcDACAOIAJBkAdqKQMANwMAIAIgAikDiAc3AwACQCACQbgEaiACEJwCQf8BcSIHBEAgB0H/AUcNAQwXCyACLQDYBCACLQAgSQ0WCyACQZgIaiACQcAEaikDADcDACACQaAIaiACQcgEaikDADcDACACQagIaiACQdAEaikDADcDACACQbgIaiACQQhqKQMANwMAIAJBwAhqIAJBEGopAwA3AwAgAkHICGogAkEYaikDADcDACACIAIpA7gENwOQCCACIAIpAwA3A7AIIAJBgAdqIgcgAkGQCGogAkGwCGoQ4AEgAkESOgCgByACQdgGaiAHIAJB0AFqEMcBIAJB0AdqIgkgBUGAAWogAkGwBWoQ4AEgAkH4BWogAkH4BmoiCykDADcDACACQfAFaiACQfAGaiIIKQMANwMAIAJB6AVqIAJB6AZqIg0pAwA3AwAgAkHgBWogAkHgBmoiDikDADcDACACIAIpA9gGNwPYBSAHIAUgAkHYBWoQpgEgAigCgAcNFCACQegIaiACQaAHaiIQKQMANwMAIAJB4AhqIAJBmAdqIhEpAwA3AwAgAkHYCGogAkGQB2oiEikDADcDACACIAIpA4gHNwPQCCACQagHaiAJIAJB0AhqEOABIBAgCykDADcDACARIAgpAwA3AwAgEiANKQMANwMAIAJBiAdqIA4pAwA3AwAgAiACKQPYBjcDgAcgBkEIaiAHQcgAEKwDGiAGQQA2AgAgBkESOgBQDBcLIAIoAoQHIQcgBkEBNgIAIAYgBzYCBAwWCyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEHszMAAEJcCAAsgAiACKAKEBzYCzAdB7cTAAEErIAJBzAdqQZjFwABB3MzAABCXAgALIAIoAoQHIQcgBkEBNgIAIAYgBzYCBAwTCyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEHMzMAAEJcCAAsgAiACKAKEBzYCiAZB7cTAAEErIAJBiAZqQZjFwABBvMzAABCXAgALIAIgAigChAc2AogGQe3EwABBKyACQYgGakGYxcAAQazMwAAQlwIACyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEGczMAAEJcCAAsgAigC3AUhByAGQQE2AgAgBiAHNgIEDA4LIAIgAigChAc2AtgFQe3EwABBKyACQdgFakGYxcAAQYzMwAAQlwIACyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEH8y8AAEJcCAAsgAigCBCEHIAZBATYCACAGIAc2AgQMCwsgAiACKAKEBzYC8AJB7cTAAEErIAJB8AJqQZjFwABB7MvAABCXAgALIAIoAoQHIQcgBkEBNgIAIAYgBzYCBAwJCyACIAIoAoQHNgLYBUHtxMAAQSsgAkHYBWpBmMXAAEHcy8AAEJcCAAsgAiACKAKEBzYC2AVB7cTAAEErIAJB2AVqQZjFwABBzMvAABCXAgALIAIgAigChAc2AgBB7cTAAEErIAJBmMXAAEG8y8AAEJcCAAsgAiACKAKEBzYCiAZB7cTAAEErIAJBiAZqQZjFwABBrMvAABCXAgALIAIgAigChAc2AgBB7cTAAEErIAJBmMXAAEGcy8AAEJcCAAsgAigC3AUhByAGQQE2AgAgBiAHNgIEDAMLIAIoAoQHDAELIAJBADYCkAcgAkEBNgKEByACQYTLwAA2AoAHIAJCBDcCiAcgAkGAB2pBjMvAABDSAQshByAGQQE2AgAgBiAHNgIECyACQfAIaiQADAILIAJBADYCkAcgAkEBNgKEByACQeTEwAA2AoAHIAJCBDcCiAcgAkGAB2pBtMTAABDFAgALIAJBADYCkAcgAkEBNgKEByACQeCHwQA2AoAHIAJCBDcCiAcgAkGAB2pB9IXBABDFAgALIAMoAvABDQEgBUHABWohBiADQaABaiICIANB+AFqIgdB0AAQrAMaIANBmAVqIANB0AFqKQMANwMAIANBoAVqIANB2AFqKQMANwMAIANBqAVqIANB4AFqKQMANwMAIANBsAVqIANB6AFqKQMANwMAIANBmAFqIgkgA0HAAWoiCykDADcDACADQZABaiIIIANBuAFqIg0pAwA3AwAgA0GIAWoiDiADQbABaiIQKQMANwMAIANBgAFqIhEgA0GoAWoiEikDADcDACADIAMpA8gBNwOQBSADIAMpA6ABNwN4IAsgCSkDADcDACANIAgpAwA3AwAgECAOKQMANwMAIBIgESkDADcDACADIAMpA3g3A6ABIANB0AVqIA9BGGopAwA3AwAgA0HIBWogD0EQaikDADcDACADQcAFaiAPQQhqKQMANwMAIAMgDykDADcDuAUgDCAFIAIgA0GQBWogA0G4BWoQaCADKALwAQ0FIANBiAJqIAZBGGopAwA3AwAgA0GAAmogBkEQaikDADcDACAHIAZBCGopAwA3AwAgA0ESOgCQAiADIAYpAwA3A/ABIANB+ABqIAwQnAJB/wFxIgIOAwMCBgILIANB8AFqQeiGwABBARCvASADKALwAUUEQCAKIAMpA/gBNwMIIApBKGogA0GYAmopAwA3AwAgCkEgaiADQZACaikDADcDACAKQRhqIANBiAJqKQMANwMAIApBEGogA0GAAmopAwA3AwAgCkEANgIADAkLIAMgAygC9AE2AqABQayCwABBKyADQaABakHYgsAAQcyIwAAQlwIACyADKAL0ASEFIApBATYCACAKIAU2AgQMBwsgAkECSQ0BDAMLIAMtAJgBIAMtAJACSQ0CCyADQcABaiADQZgBaikDADcDACADQbgBaiADQZABaikDADcDACADQbABaiADQYgBaikDADcDACADQagBaiADQYABaikDADcDACADIAMpA3g3A6ABIANBkAJqIANBIGopAwA3AwAgA0GIAmogA0EYaikDADcDACADQYACaiADQRBqKQMANwMAIANB+AFqIANBCGopAwA3AwAgAyADKQMANwPwASAKQQhqIANBoAFqIANB8AFqEJICIApBADYCAAwECyADQfABakEEchDtAgsgA0HAAWogA0GYAWopAwA3AwAgA0G4AWogA0GQAWopAwA3AwAgA0GwAWogA0GIAWopAwA3AwAgA0GoAWogA0GAAWopAwA3AwAgAyADKQN4NwOgASADQdAFaiAPQRhqKQMANwMAIANByAVqIA9BEGopAwA3AwAgA0HABWogD0EIaikDADcDACADIA8pAwA3A7gFIANB8AFqIQcgA0GgAWohECADQbgFaiELIwBBoANrIgIkACACQcgCaiIJIAUQnAECQAJAAkACQAJAAkACQAJAAkACQCACKALIAkUEQCACQSBqIhEgAkHwAmoiCCkDACIsNwMAIAJBGGoiEiACQegCaiIMKQMAIi43AwAgAkEQaiIbIAJB4AJqIg0pAwAiLTcDACACQQhqIhwgAkHYAmoiDikDACIvNwMAIAIgAikD0AIiMDcDACACQZgDaiIdICw3AwAgAkGQA2oiHiAuNwMAIAJBiANqIh8gLTcDACACQYADaiIVIC83AwAgAiAwNwP4AiACQZgBaiARKQMANwMAIAJBkAFqIBIpAwA3AwAgAkGIAWogGykDADcDACACQYABaiAcKQMANwMAIAIgAikDADcDeCAJIAUgAkH4AmogAkH4AGogCxBsIAIoAsgCDQEgAkHIAGogCCkDADcDACACQUBrIAwpAwA3AwAgAkE4aiANKQMANwMAIAJBMGogDikDADcDACACIAIpA9ACNwMoIAJBqAFqIAJBKGogEBDEASAJQdjHwABBBBCwASACKALIAg0CIB0gCCkDADcDACAeIAwpAwA3AwAgHyANKQMANwMAIBUgDikDADcDACACIAIpA9ACNwP4AiAJQdjHwABBBBCwASACKALIAg0DIAIpA9gCIS4gBSkDyAYhLSACKQPoAiEwIAUpA9gGITIgAikD4AIiMSAFKQPQBiI0fSEsAkACfiACKQPQAiI1IAUpA8AGIjNaBEAgLiAtfSEvIC0gLlatDAELIC4gLUJ/hXwhLyAtIC5WrSAtIC5RrXwLIi1QBEAgMSA0VK0hLgwBCyAsIC1UrSAxIDRUrXwhLiAsIC19ISwLIDAgMn0hLQJAIC5QBEAgMCAyWg0BDAsLIDAgMlQgLSAuVHINCiAtIC59IS0LIAJBEjoA6AIgAiAtNwPgAiACICw3A9gCIAIgLzcD0AIgAiA1IDN9NwPIAiACQdABaiIIIAJB+AJqIAJByAJqIgkQxQEgAkH4AGoiDCACQagBaiAIEG4gAigCeA0EIAJBmAJqIAJBoAFqKQMANwMAIAJBkAJqIAJBmAFqIggpAwA3AwAgAkGIAmogAkGQAWoiDSkDADcDACACQYACaiACQYgBaiIOKQMANwMAIAIgAikDgAE3A/gBIAlB/MzAAEEGELABIAIoAsgCDQUgCCACQfACaikDADcDACANIAJB6AJqKQMANwMAIA4gAkHgAmopAwA3AwAgAkGAAWogAkHYAmopAwA3AwAgAiACKQPQAjcDeCACQdAAaiACQfgBaiAMEMcBIAlB2MfAAEEEELABIAIoAsgCDQYgAikD2AIhLiACKQNYIS0gAikD6AIhMCACKQNoITIgAikD4AIiMSACKQNgIjR9ISwCQAJ+IAIpA9ACIjUgAikDUCIzWgRAIC4gLX0hLyAtIC5WrQwBCyAuIC1Cf4V8IS8gLSAuVq0gLSAuUa18CyItUARAIDEgNFStIS4MAQsgLCAtVK0gMSA0VK18IS4gLCAtfSEsCyAwIDJ9IS0CQCAuUARAIDAgMloNAQwLCyAwIDJUIC0gLlRyDQogLSAufSEtCyACQRI6AOgCIAIgLTcD4AIgAiAsNwPYAiACIC83A9ACIAIgNSAzfTcDyAIgAkH4AmogAiACQcgCaiIJEMcBIAlB2MfAAEEEELABIAIoAsgCRQRAIAJBmAFqIAJB8AJqKQMANwMAIAJBkAFqIAJB6AJqKQMANwMAIAJBiAFqIAJB4AJqKQMANwMAIAJBgAFqIAJB2AJqKQMANwMAIAIgAikD0AI3A3ggCSACQfgAaiACQdAAahDHASACKQOAAyIsIAIpA9ACfCIuICxUIQkgAikDiAMiLSACKQPYAnwiLCAtVCEIIAIpA5ADIi8gAikD4AJ8Ii0gL1QhDAJAIAIpA/gCIjAgAikDyAJ8Ii8gMFoEfiAJrQUgLkIBfCIuUK0gCa18CyIwUAR+IAitBSAsICwgMHwiLFatIAitfAsiMFAEQCACIC03A7gCIAIgLDcDsAIgAiAuNwOoAiACIC83A6ACIAxFDQEMCwsgAiAsNwOwAiACIC43A6gCIAIgLzcDoAIgAiAtIDB8Iiw3A7gCIAwgLCAtVHINCgsgAkESOgDAAiAHIAUgAkGgAmogAiALEGwMCAsgAiACKALMAjYCeEHtxMAAQSsgAkH4AGpBmMXAAEGEzcAAEJcCAAsgAigCzAIhCSAHQQE2AgAgByAJNgIEDAYLIAIoAswCIQkgB0EBNgIAIAcgCTYCBAwFCyACIAIoAswCNgL4AkHtxMAAQSsgAkH4AmpBmMXAAEHEzcAAEJcCAAsgAiACKALMAjYC0AFB7cTAAEErIAJB0AFqQZjFwABBtM3AABCXAgALIAIoAnwhCSAHQQE2AgAgByAJNgIEDAILIAIgAigCzAI2AnhB7cTAAEErIAJB+ABqQZjFwABBpM3AABCXAgALIAIgAigCzAI2AnhB7cTAAEErIAJB+ABqQZjFwABBlM3AABCXAgALIAJBoANqJAAMAgsgAkEANgKIASACQQE2AnwgAkHgh8EANgJ4IAJCBDcCgAEgAkH4AGpB9IXBABDFAgALIAJBADYC2AIgAkEBNgLMAiACQeTEwAA2AsgCIAJCBDcC0AIgAkHIAmpBtMTAABDFAgALAkACQAJAIAMoAvABRQRAIANB6AJqIANBmAJqKQMANwMAIANB4AJqIANBkAJqKQMANwMAIANB2AJqIANBiAJqIgIpAwA3AwAgA0HQAmogA0GAAmoiCSkDADcDACADIAMpA/gBNwPIAiACIAZBGGopAwA3AwAgCSAGQRBqKQMANwMAIANB+AFqIAZBCGopAwA3AwAgA0ESOgCQAiADIAYpAwA3A/ABIANBlAJqIANB1ABqKAAANgAAIAMgAygAUTYAkQIgA0HIAmogBxCcAkH/AXEiAkUNASACQf8BRg0CDAMLIAMoAvQBIQUgCkEBNgIAIAogBTYCBAwFCyADLQDoAiADLQCQAk8NAQsgA0HQAmogBkEIaikDADcDACADQdgCaiAGQRBqKQMANwMAIANB4AJqIAZBGGopAwA3AwAgA0HsAmogA0HUAGooAAA2AAAgA0ESOgDoAiADIAMoAFE2AOkCIAMgBikDADcDyAILIANBwARqIANB6AJqKQMAIiw3AwAgA0G4BGogA0HgAmopAwAiLjcDACADQbAEaiADQdgCaikDACItNwMAIANBqARqIANB0AJqKQMAIi83AwAgAyADKQPIAiIwNwOgBCADQdgFaiAsNwMAIANB0AVqIC43AwAgA0HIBWogLTcDACADQcAFaiAvNwMAIAMgMDcDuAUgA0HwAWoiAiAFIANBuAVqEGUgAygC8AFFBEAgA0G4A2ogA0GYAmopAwA3AwAgA0GwA2ogA0GQAmopAwA3AwAgA0GoA2ogA0GIAmoiBikDADcDACADQaADaiADQYACaiIHKQMANwMAIAMgAykD+AE3A5gDIAYgD0EYaikDADcDACAHIA9BEGopAwA3AwAgA0H4AWoiCSAPQQhqKQMANwMAIAMgDykDADcD8AEgA0GgAWogBSADQaAEaiADQZgDaiACEGggAygCoAFFBEAgA0GQA2oiJSADQcgBaikDADcDACADQYgDaiImIANBwAFqIicpAwA3AwAgA0GAA2oiKCADQbgBaiIQKQMANwMAIANB+AJqIikgA0GwAWoiESkDADcDACADIAMpA6gBNwPwAiAUQQcgExsiEkUNAyADQagBaiELIANBmQRqIRsgA0GRAmohHAJAA0ACQAJAAkACQCADQcgCaiADQfgAahCcAkH/AXEiAg4DAQADAAsgAkECSQ0BDAILIAMtAOgCIAMtAJgBSQ0BCyADQQA2AoACIANBATYC9AEgA0GYicAANgLwASADQgQ3AvgBIANB8AFqQaCJwAAQ0gEhBSAKQQE2AgAgCiAFNgIEDAcLAkACQAJAAkAgA0HIAmogAxCcAkH/AXEiAg4DAQADAAsgAkECSQ0BDAILIAMtAOgCIAMtACBJDQELIAogAykDADcDCCAKQQA2AgAgCkEoaiADQSBqKQMANwMAIApBIGogA0EYaikDADcDACAKQRhqIANBEGopAwA3AwAgCkEQaiADQQhqKQMANwMADAcLICcgA0HoAmoiKikDADcDACAQIANB4AJqIh0pAwA3AwAgESADQdgCaiIeKQMANwMAIAsgA0HQAmoiHykDADcDACADIAMpA8gCNwOgASMAQYABayIGJAAgBkHQAGohByMAQZAGayICJAAgAkHQAGoiCEESOgAAIAJBOGogBUHIAWopAwAiLDcDACACQUBrIAVB0AFqKQMAIi43AwAgAkHIAGogBUHYAWopAwAiLTcDACACIAUpA8ABIi83AzAgAkGwBWogCCkDADcDACACQagFaiAtNwMAIAJBoAVqIC43AwAgAkGYBWogLDcDACACIC83A5AFIAJBCGogA0GgAWogAkGQBWoiCBDEASACQYgBaiAFQYgFaikDADcDACACQZABaiAFQZAFaikDADcDACACQZgBaiAFQZgFaikDADcDACACQRI6AKABIAIgBSkDgAU3A4ABIAJBsANqIAVBGGopAwA3AwAgAkGoA2ogBUEQaikDADcDACACQaADaiAFQQhqKQMANwMAIAJBEjoAuAMgAiAFKQMANwOYAyACQdgEaiAFQThqKQMANwMAIAJB0ARqIAVBMGopAwA3AwAgAkHIBGogBUEoaikDADcDACACIAUpAyA3A8AEIAggAkGYA2ogAkHABGoQygECQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCkAVFBEAgAikDoAUiLiACKQMQfCIsIC5UIQggAikDqAUiLiACKQMYIC58Ii5WIQwgAikDsAUiLSACKQMgIC18Ii1WIQ0CQCACKQOYBSIwIAIpAwh8Ii8gMFoEfiAIrQUgLEIBfCIsUK0gCK18CyIwUAR+IAytBSAuIC4gMHwiLlatIAytfAsiMFAEQCACIC03A4AGIAIgLjcD+AUgAiAsNwPwBSACIC83A+gFIA1FDQEMDAsgAiAuNwP4BSACICw3A/AFIAIgLzcD6AUgAiAtIDB8Iiw3A4AGIA0gLCAtVHINCwsgAkESOgCIBiACQdgAaiIVIAJBgAFqIhcgAkHoBWoiFhDHASACQZAFaiIIQdjHwABBBBCwASACKAKQBQ0BIAJB4ARqIAJBuAVqIgwpAwA3AwAgAkHYBGogAkGwBWoiDSkDADcDACACQdAEaiACQagFaiIOKQMANwMAIAJByARqIAJBoAVqIhMpAwA3AwAgAkHwAWoiFEESOgAAIAIgAikDmAU3A8AEIAJB6AFqIhggBSkD2AYiMDcDACACQeABaiIZIAUpA9AGIjI3AwAgAkHYAWoiICAFKQPIBiIuNwMAIAIgBSkDwAYiNDcD0AEgAkGIBmogAkH4AGopAwA3AwAgAkGABmogAkHwAGopAwA3AwAgAkH4BWogAkHoAGopAwA3AwAgAkHwBWogAkHgAGopAwA3AwAgAiACKQNYNwPoBSACQbgDaiIhIBQpAwA3AwAgAkGwA2oiIiAwNwMAIAJBqANqIiMgMjcDACACQaADaiIkIC43AwAgAiA0NwOYAyAIIBYgAkGYA2oiFhBuIAIoApAFDQIgAkGYAmogDCkDADcDACACQZACaiANKQMANwMAIAJBiAJqIA4pAwA3AwAgAkGAAmogEykDADcDACACIAIpA5gFNwP4ASACQagBaiACQcAEaiACQfgBahDEASAIIAUQgQEgAigCkAUNAyACQcACaiAMKQMANwMAIAJBuAJqIA0pAwA3AwAgAkGwAmogDikDADcDACACQagCaiATKQMANwMAIAIgAikDmAU3A6ACICEgFCkDADcDACAiIBgpAwA3AwAgIyAZKQMANwMAICQgICkDADcDACACIAIpA9ABNwOYAyAIIBUgFhBuAkACQCACKAKQBUUEQCACQZADaiAMKQMANwMAIAJBiANqIA0pAwA3AwAgAkGAA2ogDikDADcDACACQfgCaiATKQMANwMAIAIgAikDmAU3A/ACIAJByAJqIgggAkEwaiACQfACaiAXEHsgAkGgAmogCBCcAkH/AXEiCEUNASAIQf8BRw0CDAsLIAIoApQFIQggB0EBNgIAIAcgCDYCBAwLCyACLQDAAiACLQDoAkkNCQsgAikD2AIhLyACKQPQAiEsIAIpA7ACITUgAikDqAIhLQJ+IAIpA6ACIjYgAikDyAIiOFoEQCAsIC1WrSExIC0gLH0MAQsgLCAtVq0gLCAtUa18ITEgLSAsQn+FfAshOSACKQPgAiEzIAIpA7gCITcgNSAvfSEtAkAgMVAEQCAvIDVWrSEvDAELIC0gMVStIC8gNVatfCEvIC0gMX0hLQsgNyAzfSEsAkAgL1AEQCAzIDdYDQEMDQsgLCAvVCAzIDdWcg0MICwgL30hLAsgAkESOgDgBCACICw3A9gEIAIgLTcD0AQgAiA5NwPIBCACIDYgOH03A8AEIAJBkAVqQdjHwABBBBCwASACKAKQBQ0EIAIpA6gFIS8gAikDoAUhLQJ+IDQgAikDmAUiNVgEQCAtIC5UrSEsIC0gLn0MAQsgLSAuVK0gLSAuUa18ISwgLSAuQn+FfAshMyACKQOwBSExIC8gMn0hLgJAICxQBEAgLyAyVK0hLQwBCyAsIC5WrSAvIDJUrXwhLSAuICx9IS4LIDEgMH0hLwJAIC1QBEAgMCAxWA0BDA0LIC0gL1YgMCAxVnINDCAvIC19IS8LIAJBEjoAsAUgAiAvNwOoBSACIC43A6AFIAIgMzcDmAUgAiA1IDR9NwOQBSACQegFaiIOIAJB0AFqIAJBkAVqIggQxQEgAkGYA2oiFiACQcAEaiIVIA4QbiACKAKYAw0FIAJB6ANqIAJBwANqKQMANwMAIAJB4ANqIAJBuANqIhgpAwA3AwAgAkHYA2ogAkGwA2oiGSkDADcDACACQdADaiACQagDaiIgKQMANwMAIAIgAikDoAM3A8gDIAJBsAVqIhMgAkHIAWoiFykDADcDACACQagFaiIMIAJBwAFqIiEpAwA3AwAgAkGgBWoiDSACQbgBaiIiKQMANwMAIAJBmAVqIiMgAkGwAWoiJCkDADcDACACIAIpA6gBNwOQBSACQagBaiIrIAggAkHIA2oQxwEgAkGwBGogBUHgA2oiFEEYaikDADcDACACQagEaiAUQRBqKQMANwMAIAJBoARqIBRBCGopAwA3AwAgAkESOgC4BCACIBQpAwA3A5gEIAhB2MfAAEEEELABIAIoApAFDQYgGCACQbgFaikDADcDACAZIBMpAwA3AwAgICAMKQMANwMAIAJBoANqIA0pAwA3AwAgAiACKQOYBTcDmAMgCCAFEJwBIAIoApAFDQcgAkGIBWogAkG4BWopAwA3AwAgAkGABWogEykDADcDACACQfgEaiAMKQMANwMAIAJB8ARqIA0pAwA3AwAgAiACKQOYBTcD6AQgDiAWIAJB6ARqEMQBIAhB2MfAAEEEELABIAIoApAFRQRAIAJB4AVqIBMpAwA3AwAgAkHYBWogDCkDADcDACACQdAFaiANKQMANwMAIAIgAikDmAU3A8gFIBUgDiACQcgFahDgASACQRI6AOAEIAJB8ANqIg4gAkGYBGogFRDHASAIICsgDhDgASAXQRI6AAAgISAMKQMAIiw3AwAgIiANKQMAIi43AwAgJCAjKQMAIi03AwAgAiACKQOQBSIvNwOoASAHQShqIBcpAwA3AwAgB0EgaiAsNwMAIAdBGGogLjcDACAHQRBqIC03AwAgByAvNwMIIAdBADYCAAwKCyACIAIoApQFNgKYA0HtxMAAQSsgAkGYA2pBmMXAAEHA0sAAEJcCAAsgAigClAUhCCAHQQE2AgAgByAINgIEDAgLIAIgAigClAU2ApgDQe3EwABBKyACQZgDakGYxcAAQfDSwAAQlwIACyACKAKUBSEIIAdBATYCACAHIAg2AgQMBgsgAigClAUhCCAHQQE2AgAgByAINgIEDAULIAIgAigClAU2AugFQe3EwABBKyACQegFakGYxcAAQeDSwAAQlwIACyACKAKcAyEIIAdBATYCACAHIAg2AgQMAwsgAiACKAKUBTYCxAVB7cTAAEErIAJBxAVqQZjFwABB0NLAABCXAgALIAIoApQFIQggB0EBNgIAIAcgCDYCBAwBCyACQQA2AqAFIAJBATYClAUgAkGo0sAANgKQBSACQgQ3ApgFIAJBkAVqQbDSwAAQ0gEhCCAHQQE2AgAgByAINgIECyACQZAGaiQADAILIAJBADYCoAUgAkEBNgKUBSACQeCHwQA2ApAFIAJCBDcCmAUgAkGQBWpB9IXBABDFAgALIAJBADYCoAUgAkEBNgKUBSACQeTEwAA2ApAFIAJCBDcCmAUgAkGQBWpBtMTAABDFAgALAkACQAJAIANB8AFqIgICfwJAAkAgBigCUEUEQCAGKQNwITEgBikDaCE0IAYpA2AhNSAGKQNYITMgByAFEJwBIAYoAlANAiAGKQNwIS8gBikDaCEwIAYpA2AhLiAGKQNYITcgBkFAayAFQbgEaikDADcDACAGQThqIAVBsARqKQMANwMAIAZBMGogBUGoBGopAwA3AwAgBkESOgBIIAYgBSkDoAQ3AyggBkHoAGogBUH4A2opAwA3AwAgBkHgAGogBUHwA2opAwA3AwAgBkHYAGogBUHoA2opAwA3AwAgBkESOgBwIAYgBSkD4AM3A1AgBiAGQShqIAcQxwEgB0HYx8AAQQQQsAEgBigCUA0BIAYpA2AhLSAGKQNwITIgBikDaCI2IDB9ISwCQAJ+IDcgBikDWCI5WARAIC0gLn0hOCAtIC5UrQwBCyAtIC5Cf4V8ITggLSAuVK0gLSAuUa18CyItUARAIDAgNlatIS4MAQsgLCAtVK0gMCA2Vq18IS4gLCAtfSEsCyAyIC99IS0CQCAuUARAIC8gMlgNAQwHCyAtIC5UIC8gMlZyDQYgLSAufSEtCyAGQRI6AHAgBiAtNwNoIAYgLDcDYCAGIDg3A1ggBiA5IDd9NwNQIAZBKGogBiAGQdAAahDHASA1IAYpAzB8IiwgNVQhByAGKQM4IDR8Ii4gNFQhCCAGKQNAIDF8Ii0gMVQhDAJAIDMgMyAGKQMofCIxWAR+IAetBSAsQgF8IixQrSAHrXwLIi9QBH4gCK0FIC4gLiAvfCIuVq0gCK18CyIvUARAIAxFDQEMBgsgDA0FIC0gLSAvfCItVg0FCyAGQdAAakHYx8AAQQQQsAEgBigCUEUEQCAGKQNgIS8gBikDcCEyIC4gBikDaCI0fSEwAkACfiAGKQNYIjMgMVgEQCAsIC99ITUgLCAvVK0MAQsgLCAvQn+FfCE1ICwgL1StICwgL1GtfAsiL1AEQCAuIDRUrSEsDAELIC8gMFatIC4gNFStfCEsIDAgL30hMAsgLSAyfSEuAkAgLFAEQCAtIDJaDQEMCAsgLSAyVCAsIC5Wcg0HIC4gLH0hLgsgBkESOgBIIAYgLjcDQCAGIDA3AzggBiA1NwMwIAYgMSAzfTcDKCAGQegAaiAFQdgBaikDADcDACAGQeAAaiAFQdABaikDADcDACAGQdgAaiAFQcgBaikDADcDACAGQRI6AHAgBiAFKQPAATcDUCACQQhqIAZBKGogBkHQAGoQxAFBAAwECyAGIAYoAlQ2AihB7cTAAEErIAZBKGpBmMXAAEHsz8AAEJcCAAsMAQsgBiAGKAJUNgIoQe3EwABBKyAGQShqQZjFwABB/M/AABCXAgALIAIgBigCVDYCBEEBCzYCACAGQYABaiQADAILIAZBADYCYCAGQQE2AlQgBkHgh8EANgJQIAZCBDcCWCAGQdAAakH0hcEAEMUCAAsgBkEANgJgIAZBATYCVCAGQeTEwAA2AlAgBkIENwJYIAZB0ABqQbTEwAAQxQIACyADKALwAQRAIAJBBHIQ7QIMBgsgA0HwA2ogCUEgaiIMKQMANwMAIANB6ANqIAlBGGoiDSkDADcDACADQeADaiAJQRBqIg4pAwA3AwAgA0HYA2ogCUEIaiITKQMANwMAIANB+ARqIB8pAwA3AwAgA0GABWogHikDADcDACADQYgFaiAdKQMANwMAIAMgCSkDADcD0AMgAyADKQPIAjcD8AQgA0HwAWoiCCADQfACaiADQdADahDAASADQaABaiADQfAEaiAIEOsBIANBkARqIgIgECkDADcDACADQYgEaiIGIBEpAwA3AwAgA0GABGoiByALKQMANwMAIANBEjoAmAQgAyADKQOgATcD+AMgA0GIAmoiFCADQfAAaiIVKQMANwMAIANBgAJqIhcgA0HoAGoiFikDADcDACAJIANB4ABqIhgpAwA3AwAgAyADKQNYNwPwASADQRI6AJACIBwgAygAUTYAACAcQQNqIANB1ABqIhkoAAA2AAACQAJAIANB+ANqIAgQnAJB/wFxIggEQCAIQf8BRg0BDAILIAMtAJgEIAMtAJACTw0BCyAbIAMoAFE2AAAgByAYKQMANwMAIAYgFikDADcDACACIBUpAwA3AwAgG0EDaiAZKAAANgAAIAMgAykDWDcD+AMgA0ESOgCYBAsgA0HABGogA0GYBGoiCCkDACIsNwMAIANBuARqIAIpAwAiLjcDACADQbAEaiAGKQMAIi03AwAgA0GoBGogBykDACIvNwMAIAMgAykD+AMiMDcDoAQgA0HYBWogLDcDACADQdAFaiAuNwMAIANByAVqIC03AwAgA0HABWogLzcDACADIDA3A7gFIANB8AFqIhUgBSADQbgFahBlIAMoAvABDQEgA0HoBGogDCkDADcDACADQeAEaiANKQMANwMAIANB2ARqIA4pAwA3AwAgA0HQBGogEykDADcDACADIAkpAwA3A8gEIBQgD0EYaikDADcDACAXIA9BEGopAwA3AwAgCSAPQQhqKQMANwMAIAMgDykDADcD8AEgA0GgAWogBSADQaAEaiADQcgEaiAVEGggAygCoAFFBEAgJSALQSBqKQMANwMAICYgC0EYaikDADcDACAoIAtBEGopAwA3AwAgKSALQQhqKQMANwMAIB8gBykDADcDACAeIAYpAwA3AwAgHSACKQMANwMAICogCCkDADcDACADIAspAwA3A/ACIAMgAykD+AM3A8gCIBJBAWsiEg0BDAYLCyADQaABakEEchDtAgwECyADKAL0ASEFIApBATYCACAKIAU2AgQMBAsgAyADKAKkATYC+AMgAyADQfgDaiIFrUKAgICAEIQ3A6AEIANBATYCzAUgA0EBNgK8BSADQZCKwAA2ArgFIANBATYCxAUgA0EDOgCMAiADQQQ2AogCIANCIDcCgAIgA0ECNgL4ASADQQI2AvABIAMgA0HwAWo2AsgFIAMgA0GgBGo2AsAFIANBxANqIgIgA0G4BWoQjAIgAkGYisAAEIYCIQIgCkEBNgIAIAogAjYCBCAFEO0CDAMLIAMoAvQBIQUgCkEBNgIAIAogBTYCBAwCCyADKAKkASEFIApBATYCACAKIAU2AgQMAQsgA0GIAmogA0HwAGopAwA3AwAgA0GAAmogA0HoAGopAwA3AwAgA0H4AWogA0HgAGopAwA3AwAgA0GUAmogA0HUAGooAAA2AAAgAyADKQNYNwPwASADQRI6AJACIAMgAygAUTYAkQICQAJAAkACQAJAAkACQAJAIANByAJqIANB8AFqEJwCIgVB/wFxDgMAAQIBCyADLQDoAiIFQRJJDQIgBUESRyEFCyAFQf8BcUEBRw0BCyADQcgCaiADQfgAahCcAiIFQf8BcQ4DAgEEAQsgA0HwAWpB6IbAAEEBEK8BIAMoAvABRQRAIAogAykD+AE3AwggCkEoaiADQZgCaikDADcDACAKQSBqIANBkAJqKQMANwMAIApBGGogA0GIAmopAwA3AwAgCkEQaiADQYACaikDADcDACAKQQA2AgAMBQsgAyADKAL0ATYCoAFBrILAAEErIANBoAFqQdiCwABBsInAABCXAgALIAVB/wFxQQJJDQEMAgsgAy0A6AIgAy0AmAFJDQELIANBADYCgAIgA0EBNgL0ASADQZiJwAA2AvABIANCBDcC+AEgA0HwAWpBwInAABDSASEFIApBATYCACAKIAU2AgQMAQsgA0HAAWogA0HoAmopAwA3AwAgA0G4AWogA0HgAmopAwA3AwAgA0GwAWogA0HYAmopAwA3AwAgA0GoAWogA0HQAmopAwA3AwAgAyADKQPIAjcDoAEgA0GQAmogA0EgaikDADcDACADQYgCaiADQRhqKQMANwMAIANBgAJqIANBEGopAwA3AwAgA0H4AWogA0EIaikDADcDACADIAMpAwA3A/ABIApBCGogA0GgAWogA0HwAWoQkgIgCkEANgIACyADQeAFaiQAIAQoAogQBEAgBCAEKAKMEDYCjBogBCAEQYwaajYCkBogBEEBNgKUCCAEQfS3wAA2ApAIIARCATcCnAggBCAEQZAaaq1CgICAgPABhDcDoBogBCAEQaAaaiIFNgKYCCAEQZQaaiAaENMBIARBADYCqBogBEKAgICAEDcCoBogBEEDOgCwCCAEQSA2AqAIIARBADYCrAggBEG4tsAANgKoCCAEQQA2ApgIIARBADYCkAggBCAFNgKkCEGEusAAIBoQlQJFDQRB0LbAAEE3IARBrxpqQYi3wABB5LfAABCXAgALIARB8BhqIARBsBBqKQMAIiw3AwAgBEGwGGogBEGYEGopAwAiLjcDACAEQbgYaiAEQaAQaikDACItNwMAIARBwBhqIARBqBBqKQMAIi83AwAgBEHIGGogLDcDACAEQYgYaiAuNwMAIARBkBhqIC03AwAgBEGYGGogLzcDACAEQaAYaiAsNwMAIAQgBCkDkBAiLDcDqBggBCAsNwOAGCAEKALkGSIFQYQBTwRAIAUQAAsgBCgCnBkiBUGEAU8EQCAFEAALIAQgBEGAGGpBlLrAABC4AQwGCyAEQdgZaiAEQawIaigCACIFNgIAIARB0BlqIARBpAhqKQIAIiw3AwAgBEHIGWogBEGcCGopAgAiLjcDACAEQQhqIC43AwAgBEEQaiAsNwMAIARBGGogBTYCACAEIAQpApQIIiw3A8AZIAQgLDcDAAwDCyAEQagIaiAEQaQQaigCACIFNgIAIARBCGogBEGUEGopAgA3AwAgBEEQaiAEQZwQaikCADcDACAEQRhqIAU2AgAgBCAEKQKMEDcDAAwECyAEQZAZaiAEQawIaigCACIFNgIAIARBiBlqIARBpAhqKQIAIiw3AwAgBEGAGWogBEGcCGopAgAiLjcDACAEQQhqIC43AwAgBEEQaiAsNwMAIARBGGogBTYCACAEIAQpApQIIiw3A/gYIAQgLDcDAAwCCyAEQeQYaiAEQagaaigCADYCACAEQdgYaiIFIARBnBpqKAIANgIAIAQgBCkCoBo3AtwYIAQgBCkClBo3A9AYIARBjBpqEO0CIARBuBhqIARB4BhqKQMAIiw3AwAgBEGwGGogBSkDACIuNwMAIARBDGogLjcCACAEQRRqICw3AgAgBCAEKQPQGCIsNwOoGCAEQQE2AgAgBCAsNwIEIAQoAuQZIQILIAJBhAFPBEAgAhAACyAEKAKcGSECCyACQYQBSQ0AIAIQAAsgAUGDAUsEQCABEAALAn8gBCgCACIBQQJGBEBBACECIAQoAgQMAQsgBEGgEGogBEEYaigCADYCACAEQZgQaiAEQRBqKQMANwMAIARBkBBqIARBCGopAwA3AwAgBCAEKQMANwOIECAEQYgQahDlASECQQALIQUgACABQQJHNgIIIAAgAjYCBCAAIAU2AgAgBEGwGmokAAuWCwIKfwl+IwBB0AFrIgMkACADIAI2AgwgAyABNgIIIANBKGoiCUIANwMAIANBIGoiCkIANwMAIANBGGoiC0IANwMAIANCADcDEAJAAkACQAJAIAJFBEAMAQsgASACaiEMA0ACfyABLAAAIghBAE4EQCAIQf8BcSECIAFBAWoMAQsgAS0AAUE/cSECIAhBH3EhBCAIQV9NBEAgBEEGdCACciECIAFBAmoMAQsgAS0AAkE/cSACQQZ0ciECIAhBcEkEQCACIARBDHRyIQIgAUEDagwBCyAEQRJ0QYCA8ABxIAEtAANBP3EgAkEGdHJyIgJBgIDEAEYNAiABQQRqCyEBIAMgAjYCcAJAIAJBMGsiBEEKTwRAIAcgAkHlAEdyRQRAQQEhBwwCCyAFIAJBLkdyRQRAQQEhBQwCCyACQd8ARg0BIANBATYCtAEgA0HMksEANgKwASADQgE3ArwBIAMgA0HwAGqtQoCAgICgDoQ3A5ABIAMgA0GQAWo2ArgBIANBsAFqQdSSwQAQ0gEhASAAQQE2AgAgACABNgIEDAQLAkACQCAHRQRAIAMgDTcDyAEgAyAONwPAASADIBA3A7gBIAMgEjcDsAEgA0GQAWogA0GwAWoQ5wEgAykDmAEhEAJAIAMpA5ABIhEgBK18IhIgEVQEQCAQQgF8IhBQDQELIAMpA6ABIQ4gAykDqAEhDQwCCyADKQOgAUIBfCIOUEUEQCADKQOoASENDAILIAMpA6gBQgF8Ig1CAFINAQwICyADQcgBaiAJKQMANwMAIANBwAFqIAopAwA3AwAgA0G4AWogCykDADcDACADIAMpAxA3A7ABIANBkAFqIANBsAFqEOcBIAMpA5gBIQ8CQAJAAkAgAykDkAEiESAErXwiFCARVARAIA9CAXwiD1ANAQsgAykDoAEhEQwBCyADKQOgAUIBfCIRUA0BCyADIAMpA6gBNwMoIAMgETcDICADIA83AxggAyAUNwMQDAELIAMgETcDICADIA83AxggAyAUNwMQIAMgAykDqAFCAXwiETcDKCARUA0BCyAFQQAhBUUNAUEBIQUgBiAHQX9zQQFxaiEGDAELDAULIAEgDEcNAAsLIANBMGoiASAGEJ8CIANBEGoiAiABEJwCQf8BcUH/AUYEQCADQQI2ArQBIANBoJHBADYCsAEgA0ICNwK8ASADIANBCGqtQoCAgICwDoQ3A5gBIAMgAq1CgICAgMAOhDcDkAEgAyADQZABajYCuAEgA0GwAWpBnJLBABDSASEBIABBATYCACAAIAE2AgQMAQsgAyANNwNoIAMgDjcDYCADIBA3A1ggAyASNwNQIANBkAFqQQoQnwIgAykDQCEPIAMpAzghEyADKQMgIQ4gAykDGCENAn4gAykDECIUIAMpAzAiEVoEQCANIBNUrSESIA0gE30MAQsgDSATVK0gDSATUa18IRIgDSATQn+FfAshFSADKQNIIRMgAykDKCENIA4gD30hEAJAIBJQBEAgDiAPVK0hDwwBCyAQIBJUrSAOIA9UrXwhDyAQIBJ9IRALIA0gE30hDgJAIA9QBEAgAyAONwPIASADIBA3A8ABIAMgFTcDuAEgAyAUIBF9NwOwASANIBNaDQEMAwsgAyAQNwPAASADIBU3A7gBIAMgDiAPfTcDyAEgAyAUIBF9NwOwASANIBNUIA4gD1RyDQILIANB8ABqIgEgA0GQAWogA0GwAWoQpAEgAEEIaiADQdAAaiABEJcBIABBADYCAAsgA0HQAWokAA8LIANBADYCgAEgA0EBNgJ0IANB5JDBADYCcCADQgQ3AnggA0HwAGpBtJDBABDFAgALIANBADYCwAEgA0EBNgK0ASADQeymwQA2ArABIANCBDcCuAEgA0GwAWpBjKbBABDFAgAL0AoCBX8KfiMAQdABayICJAAgAkEgaiABQRhqKQMANwMAIAJBGGogAUEQaikDADcDACACQRBqIAFBCGopAwA3AwAgAkESOgAoIAIgASkDADcDCCACQfAAaiIDIAFB2ANqKQMANwMAIAJB6ABqIgQgAUHQA2opAwA3AwAgAkHgAGoiBSABQcgDaikDADcDACACQRI6AHggAiABKQPAAzcDWCACQZgBaiABQdgBaikDADcDACACQZABaiABQdABaikDADcDACACQYgBaiABQcgBaikDADcDACACQRI6AKABIAIgASkDwAE3A4ABIAJBMGogAkHYAGogAkGAAWoQxAEgAyABQbgFaiIGKQMANwMAIAQgAUGwBWoiBCkDADcDACAFIAFBqAVqIgMpAwA3AwAgAkESOgB4IAIgASkDoAU3A1ggAikDOCIKIAMpAwB8IgsgClQhAyAEKQMAIAIpA0AhCSACKQMwIg8gASkDoAV8Ig4gD1oEfiADrQUgC0IBfCILUK0gA618CyEIIAYpAwAhDCACKQNIIQ0gCXwiByAJVCEBIAhQBH4gAa0FIAcgByAIfCIHVq0gAa18CyEIIAwgDXwiDCANVCEBAkACQAJAIAhQBEAgAiAMNwOYASACIAc3A5ABIAIgCzcDiAEgAiAONwOAASABRQ0BDAILIAIgBzcDkAEgAiALNwOIASACIA43A4ABIAIgCCAMfCIHNwOYASABIAcgDFRyDQELIAJBEjoAoAECQAJAAkAgAkEIaiIBIAJBgAFqIgMQnAJB/wFxQQFHBEAgAkEDNgKwASACQezGwAA2AqwBIAJCAzcCuAEgAkKAgICAgAgiByACQdgAaq2ENwOQASACIAcgAkEwaq2ENwOIASACIAcgAa2ENwOAASACIAM2ArQBIAJBxAFqIgEgAkGsAWoQ0wEgAiABQbyGwQBBhMfAABCmAiACKAIEIQMgAigCACEEIAJBiAFqIgUgAkHMAWooAgA2AgBBmeDBAC0AABogAiACKQLEATcDgAFBGEEEEPcCIgFFDQIgASAENgIEIAFBpIfBADYCACABIAIpA4ABNwIMIAEgAzYCCCABQRRqIAUoAgA2AgAgAEEBNgIAIAAgATYCBAwBCyACKQMYIQwgAikDECEHAn4gDyACKQMIIhBYBEAgByAKVK0hCCAHIAp9DAELIAcgClStIAcgClGtfCEIIAcgCkJ/hXwLIQsgAikDICEOIAwgCX0hBwJAIAhQBEAgCSAMVq0hCgwBCyAHIAhUrSAJIAxWrXwhCiAHIAh9IQcLIA4gDX0hCAJAIApQBEAgDSAOWA0BDAQLIAggClQgDSAOVnINAyAIIAp9IQgLIAIpA2ghDSACKQNgIQkCfiAQIA99Ig4gAikDWCIQWgRAIAsgCX0hDCAJIAtWrQwBCyALIAlCf4V8IQwgCSALVq0gCSALUa18CyEKIAIpA3AhDyAHIA19IQkCQCAKUARAIAcgDVStIQsMAQsgCSAKVK0gByANVK18IQsgCSAKfSEJCyAIIA99IQcCQCALUARAIAggD1oNAQwGCyAIIA9UIAcgC1RyDQUgByALfSEHCyAAQRI6ACggACAHNwMgIAAgCTcDGCAAIAw3AxAgAEEANgIAIAAgDiAQfTcDCAsgAkHQAWokAA8LQQRBGBCoAwALDAELIAJBADYCvAEgAkEBNgKwASACQeCHwQA2AqwBIAJCBDcCtAEgAkGsAWpB9IXBABDFAgALIAJBADYCkAEgAkEBNgKEASACQeTEwAA2AoABIAJCBDcCiAEgAkGAAWpBtMTAABDFAgALkgsCA38DfiMAQfAZayICJAAgAkGIEGoiBCABEAIgARADELwBAkAgAigCiBBFBEAgAkEgaiACQZAIakEEciACQZAQakHwBxCsA0HwBxCsAxogAiABEBAiAzYC+BggBCACQfgYakGUpMAAEKwBAkACQAJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgU3AgAgAkGkCGogAkGgEGopAwAiBjcCACACQZwIaiACQZgQaikDACIHNwIAIAJBiBhqIAc3AwAgAkGQGGogBjcDACACQZgYaiAFNwMAIAIgAikDkBAiBTcClAggAiAFNwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACIAEQESIDNgL4GCACQYgQaiACQfgYakGkpMAAEKwBIAIoAogQDQEgAkGsCGogAkGoEGopAwAiBTcCACACQaQIaiACQaAQaikDACIGNwIAIAJBnAhqIAJBmBBqKQMAIgc3AgAgAkGwGGogBzcDACACQbgYaiAGNwMAIAJBwBhqIAU3AwAgAiACKQOQECIFNwKUCCACIAU3A6gYIAJBEjoAyBggA0GEAU8EQCADEAALIAJBiBBqIAJBIGogAkGAGGogAkGoGGoQbyACKAKIEEUNAyACIAIoAowQNgKkGSACIAJBpBlqNgKoGSACQQE2AswZIAJB9LfAADYCyBkgAkIBNwLUGSACIAJBqBlqrUKAgICA8AGENwO4GSACIAJBuBlqIgM2AtAZIAJBrBlqIAJByBlqIgQQ0wEgAkEANgLAGSACQoCAgIAQNwK4GSACQQM6AOgZIAJBIDYC2BkgAkEANgLkGSACQbi2wAA2AuAZIAJBADYC0BkgAkEANgLIGSACIAM2AtwZQbSkwAAgBBCVAkUNAkHQtsAAQTcgAkHvGWpBiLfAAEHkt8AAEJcCAAsgAkGoCGogAkGkEGooAgAiBDYCACACQaAIaiACQZwQaikCACIFNwMAIAJBmAhqIAJBlBBqKQIAIgY3AwAgAkEIaiAGNwMAIAJBEGogBTcDACACQRhqIAQ2AgAgAiACKQKMECIFNwOQCCACIAU3AwAgA0GEAUkNBCADEAAMBAsgAkGoCGogAkGkEGooAgAiBDYCACACQaAIaiACQZwQaikCACIFNwMAIAJBmAhqIAJBlBBqKQIAIgY3AwAgAkEIaiAGNwMAIAJBEGogBTcDACACQRhqIAQ2AgAgAiACKQKMECIFNwOQCCACIAU3AwAgA0GEAUkNAyADEAAMAwsgAkGkCGogAkHAGWooAgA2AgAgAkGYCGoiAyACQbQZaigCADYCACACIAIpArgZNwKcCCACIAIpAqwZNwOQCCACQaQZahDtAiACQQxqIAMpAwA3AgAgAkEUaiACQaAIaikDADcCACACIAIpA5AIIgU3A/gYIAJBATYCACACIAU3AgQMAgsgAkGAGWogAkGYEGopAwAiBTcDACACQdgYaiAFNwMAIAJB4BhqIAJBoBBqKQMANwMAIAJB6BhqIAJBqBBqKQMANwMAIAJB8BhqIAJBsBBqKQMANwMAIAIgAikDkBAiBTcD+BggAiAFNwPQGCACIAJB0BhqQcSkwAAQuAEMAQsgAkGoCGogAkGkEGooAgAiAzYCACACQQhqIAJBlBBqKQIANwMAIAJBEGogAkGcEGopAgA3AwAgAkEYaiADNgIAIAIgAikCjBA3AwALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAIAIoAgQhA0EADAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBBBACEDIAJBiBBqEOUBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJB8BlqJAAL6gkCCH8DfiMAQeAZayICJAAgAkGIEGoiBSABEAIgARADELwBAkACQAJAIAIoAogQRQRAIAJBIGoiCCACQZAIaiIJQQRyIAJBkBBqQfAHEKwDQfAHEKwDGiACIAEQDSIDNgLMGCAFIAJBzBhqQayjwAAQrAEgAigCiBANASACQcQYaiACQagQaiIEKQMAIgo3AgAgAkG8GGogAkGgEGoiBikDACILNwIAIAJBtBhqIAJBmBBqIgcpAwAiDDcCACACQZgIaiAMNwMAIAJBoAhqIAs3AwAgAkGoCGogCjcDACACIAIpA5AQIgo3AqwYIAIgCjcDkAggAkESOgCwCCACIAEQDiIDNgL0GCAFIAJB9BhqQbyjwAAQrAECQCACKAKIEEUEQCACQewYaiAEKQMAIgo3AgAgAkHkGGogBikDACILNwIAIAJB3BhqIAcpAwAiDDcCACACQYAZaiAMNwMAIAJBiBlqIAs3AwAgAkGQGWogCjcDACACIAIpA5AQIgo3AtQYIAIgCjcD+BggAiABEA8iAzYCvBkgBSACQbwZakHMo8AAEKwBIAIoAogQRQRAIAJBtBlqIAQpAwAiCjcCACACQawZaiAGKQMAIgs3AgAgAkGkGWogBykDACIMNwIAIAJByBlqIAw3AwAgAkHQGWogCzcDACACQdgZaiAKNwMAIAIgAikDkBAiCjcCnBkgAiAKNwPAGSACQYAYaiAIIAkgAkH4GGogAkHAGWoQuQEgAigCvBkiA0GEAU8EQCADEAALIAIoAvQYIgNBhAFPBEAgAxAACyACKALMGCIDQYQBTwRAIAMQAAsgAiACQYAYakHco8AAELgBDAYLIAJBsBlqIAJBpBBqKAIAIgQ2AgAgAkGoGWogAkGcEGopAgAiCjcDACACQaAZaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcDmBkgAiAKNwMAIANBhAFPBEAgAxAACyACKAL0GCEDDAELIAJB6BhqIAJBpBBqKAIAIgQ2AgAgAkHgGGogAkGcEGopAgAiCjcDACACQdgYaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcD0BggAiAKNwMACyADQYQBTwRAIAMQAAsgAigCzBghAwwCCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAwCCyACQcAYaiACQaQQaigCACIENgIAIAJBuBhqIAJBnBBqKQIAIgo3AwAgAkGwGGogAkGUEGopAgAiCzcDACACQQhqIAs3AwAgAkEQaiAKNwMAIAJBGGogBDYCACACIAIpAowQIgo3A6gYIAIgCjcDAAsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAQQAhAyACKAIEDAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBAgAkGIEGoQ5QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB4BlqJAAL6gkCCH8DfiMAQeAZayICJAAgAkGIEGoiBSABEAIgARADELwBAkACQAJAIAIoAogQRQRAIAJBIGoiCCACQZAIaiIJQQRyIAJBkBBqQfAHEKwDQfAHEKwDGiACIAEQDSIDNgLMGCAFIAJBzBhqQfi1wAAQrAEgAigCiBANASACQcQYaiACQagQaiIEKQMAIgo3AgAgAkG8GGogAkGgEGoiBikDACILNwIAIAJBtBhqIAJBmBBqIgcpAwAiDDcCACACQZgIaiAMNwMAIAJBoAhqIAs3AwAgAkGoCGogCjcDACACIAIpA5AQIgo3AqwYIAIgCjcDkAggAkESOgCwCCACIAEQDiIDNgL0GCAFIAJB9BhqQYi2wAAQrAECQCACKAKIEEUEQCACQewYaiAEKQMAIgo3AgAgAkHkGGogBikDACILNwIAIAJB3BhqIAcpAwAiDDcCACACQYAZaiAMNwMAIAJBiBlqIAs3AwAgAkGQGWogCjcDACACIAIpA5AQIgo3AtQYIAIgCjcD+BggAiABEA8iAzYCvBkgBSACQbwZakGYtsAAEKwBIAIoAogQRQRAIAJBtBlqIAQpAwAiCjcCACACQawZaiAGKQMAIgs3AgAgAkGkGWogBykDACIMNwIAIAJByBlqIAw3AwAgAkHQGWogCzcDACACQdgZaiAKNwMAIAIgAikDkBAiCjcCnBkgAiAKNwPAGSACQYAYaiAIIAkgAkH4GGogAkHAGWoQugEgAigCvBkiA0GEAU8EQCADEAALIAIoAvQYIgNBhAFPBEAgAxAACyACKALMGCIDQYQBTwRAIAMQAAsgAiACQYAYakGotsAAELgBDAYLIAJBsBlqIAJBpBBqKAIAIgQ2AgAgAkGoGWogAkGcEGopAgAiCjcDACACQaAZaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcDmBkgAiAKNwMAIANBhAFPBEAgAxAACyACKAL0GCEDDAELIAJB6BhqIAJBpBBqKAIAIgQ2AgAgAkHgGGogAkGcEGopAgAiCjcDACACQdgYaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcD0BggAiAKNwMACyADQYQBTwRAIAMQAAsgAigCzBghAwwCCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAwCCyACQcAYaiACQaQQaigCACIENgIAIAJBuBhqIAJBnBBqKQIAIgo3AwAgAkGwGGogAkGUEGopAgAiCzcDACACQQhqIAs3AwAgAkEQaiAKNwMAIAJBGGogBDYCACACIAIpAowQIgo3A6gYIAIgCjcDAAsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAQQAhAyACKAIEDAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBAgAkGIEGoQ5QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB4BlqJAAL6ggCA38DfiMAQdAZayICJAAgAkGQEGoiBCABEAIgARADELwBAkAgAigCkBBFBEAgAkEoaiACQZgIakEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEAwiAzYCgBkgBCACQYAZakGsosAAEKwBAkACQCACKAKQEEUEQCACQbQIaiACQbAQaikDACIFNwIAIAJBrAhqIAJBqBBqKQMAIgY3AgAgAkGkCGogAkGgEGopAwAiBzcCACACQZAYaiAHNwMAIAJBmBhqIAY3AwAgAkGgGGogBTcDACACIAIpA5gQIgU3ApwIIAIgBTcDiBggAkESOgCoGCADQYQBTwRAIAMQAAsgAkIANwOQECACQZgIaiACQShqIAJBiBhqIAJBkBBqIgMQvQEgAigCmAhFDQIgAiACKAKcCDYCrBkgAiACQawZajYCsBkgAkEBNgKUECACQfS3wAA2ApAQIAJCATcCnBAgAiACQbAZaq1CgICAgPABhDcDwBkgAiACQcAZaiIENgKYECACQbQZaiADENMBIAJBADYCyBkgAkKAgICAEDcCwBkgAkEDOgCwECACQSA2AqAQIAJBADYCrBAgAkG4tsAANgKoECACQQA2ApgQIAJBADYCkBAgAiAENgKkEEG8osAAIAMQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiBTcDACACQaAIaiACQZwQaikCACIGNwMAIAJBEGogBjcDACACQRhqIAU3AwAgAkEgaiAENgIAIAIgAikClBAiBTcDmAggAiAFNwMIIANBhAFJDQMgAxAADAMLIAJBlBlqIAJByBlqKAIANgIAIAJBiBlqIgMgAkG8GWooAgA2AgAgAiACKQLAGTcCjBkgAiACKQK0GTcDgBkgAkGsGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGQGWopAwA3AgAgAiACKQOAGSIFNwPYGCACQQE2AgggAiAFNwIMDAILIAJB4BhqIAJBqAhqKQMAIgU3AwAgAkG4GGogBTcDACACQcAYaiACQbAIaikDADcDACACQcgYaiACQbgIaikDADcDACACQdAYaiACQcAIaikDADcDACACIAIpA6AIIgU3A9gYIAIgBTcDsBggAkEIaiACQbAYakHMosAAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQCACKAIMIQNBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhAyACQZAQahDlAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQdAZaiQAC7QdAgl/A34jAEHQGWsiBCQAIARBkBBqIgYgARACIAEQAxC8AQJAIAQoApAQRQRAIARBKGogBEGYCGpBBHIgBEGYEGpB8AcQrANB8AcQrAMaIAQgARASIgI2AoAZIAYgBEGAGWpB1KTAABCsAQJAAkAgBCgCkBBFBEAgBEG0CGogBEGwEGopAwAiDTcCACAEQawIaiAEQagQaikDACIMNwIAIARBpAhqIARBoBBqKQMAIgs3AgAgBEGQGGogCzcDACAEQZgYaiAMNwMAIARBoBhqIA03AwAgBCAEKQOYECILNwKcCCAEIAs3A4gYIARBEjoAqBggAkGEAU8EQCACEAALIARCADcDkBAgBEGYCGohCCAEQShqIQIgBEGIGGohBiMAQcAQayIFJAACQAJAIARBkBBqIgopAwBQBEAgBUGYCGogAiAGEHkgBSgCmAhFBEAgBUEgaiAFQcAIaikDADcDACAFQRhqIAVBuAhqKQMANwMAIAVBEGogBUGwCGopAwA3AwAgBUEIaiAFQagIaikDADcDACAFIAUpA6AINwMADAILIAUoApwIIQYgCEEBNgIAIAggBjYCBAwCCyAFQbAIaiACQdgBaikDADcDACAFQagIaiACQdABaikDADcDACAFQaAIaiACQcgBaikDADcDACAFQRI6ALgIIAUgAikDwAE3A5gIIAUgCkEIaiAFQZgIahDEAQsgBUG4EGogBUEgaikDADcDACAFQbAQaiAFQRhqKQMANwMAIAVBqBBqIAVBEGopAwA3AwAgBUGgEGogBUEIaikDADcDACAFIAUpAwA3A5gQIAVCATcDkBAgBUGYCGohCSMAQaAQayIDJAACQAJAIAVBkBBqIgcpAwBQBEAgAyACIAYQeSADKAIARQRAIANBmBBqIANBIGopAwA3AwAgA0GQEGogA0EYaikDADcDACADQYgQaiADQRBqKQMANwMAIAMgAykDCDcDgBAMAgsgAygCBCEGIAlBATYCACAJIAY2AgQMAgsgA0GYEGogB0EgaikDADcDACADQZAQaiAHQRhqKQMANwMAIANBiBBqIAdBEGopAwA3AwAgAyAHKQMINwOAEAsgA0HwCmogAkHgBmoQ0AIgA0GEC2ogAkH0BmoQ0AIgA0GYC2ogAkGIB2oQ0AIgA0GICWogAkH4BGopAwA3AwAgA0GACWogAkHwBGopAwA3AwAgA0H4CGogAkHoBGopAwA3AwAgA0GYCWogAkGIBWopAwA3AwAgA0GgCWogAkGQBWopAwA3AwAgA0GoCWogAkGYBWopAwA3AwAgA0G4CWogAkGoBWopAwA3AwAgA0HACWogAkGwBWopAwA3AwAgA0HICWogAkG4BWopAwA3AwAgAyACKQPgBDcD8AggAyACKQOABTcDkAkgAyACKQOgBTcDsAkgA0HoCWogAkHYBWopAwA3AwAgA0HgCWogAkHQBWopAwA3AwAgA0HYCWogAkHIBWopAwA3AwAgA0GICmogAkH4BWopAwA3AwAgA0GACmogAkHwBWopAwA3AwAgA0H4CWogAkHoBWopAwA3AwAgA0GoCmogAkGYBmopAwA3AwAgA0GgCmogAkGQBmopAwA3AwAgA0GYCmogAkGIBmopAwA3AwAgAyACKQPABTcD0AkgAyACKQPgBTcD8AkgAyACKQOABjcDkAogA0HICmogAkG4BmopAwA3AwAgA0HACmogAkGwBmopAwA3AwAgA0G4CmogAkGoBmopAwA3AwAgAyACKQOgBjcDsAogA0HoCmogAkHYBmopAwA3AwAgA0HgCmogAkHQBmopAwA3AwAgA0HYCmogAkHIBmopAwA3AwAgAyACKQPABjcD0AogA0GsC2ogAkGcB2oQ0AIgA0HAC2ogAkGwB2oQ0AIgA0HUC2ogAkHEB2oQ0AIgA0HoC2ogAkHYB2oQ0AIgA0E4aiACQZgEaikDADcDACADQTBqIAJBkARqKQMANwMAIANBKGogAkGIBGopAwA3AwAgA0HIAGogAkGoBGopAwA3AwAgA0HQAGogAkGwBGopAwA3AwAgA0HYAGogAkG4BGopAwA3AwAgA0HoAGogAkHIBGopAwA3AwAgA0HwAGogAkHQBGopAwA3AwAgA0H4AGogAkHYBGopAwA3AwAgAyACKQOABDcDICADIAIpA6AENwNAIAMgAikDwAQ3A2AgA0EYaiACQfgDaikDADcDACADQRBqIAJB8ANqKQMANwMAIANBCGogAkHoA2opAwA3AwAgAyACKQPgAzcDACADQfAHaiIHIANBgAEQrAMaIANBuAxqIAJBOGopAwA3AwAgA0GwDGogAkEwaikDADcDACADQagMaiACQShqKQMANwMAIANByAxqIAJByABqKQMANwMAIANB0AxqIAJB0ABqKQMANwMAIANB2AxqIAJB2ABqKQMANwMAIANB6AxqIAJB6ABqKQMANwMAIANB8AxqIAJB8ABqKQMANwMAIANB+AxqIAJB+ABqKQMANwMAIAMgAikDIDcDoAwgAyACKQNANwPADCADIAIpA2A3A+AMIANBmA1qIAJBmAFqKQMANwMAIANBkA1qIAJBkAFqKQMANwMAIANBiA1qIAJBiAFqKQMANwMAIANBuA1qIAJBuAFqKQMANwMAIANBsA1qIAJBsAFqKQMANwMAIANBqA1qIAJBqAFqKQMANwMAIANB2A1qIAJB2AFqKQMANwMAIANB0A1qIAJB0AFqKQMANwMAIANByA1qIAJByAFqKQMANwMAIAMgAikDgAE3A4ANIAMgAikDoAE3A6ANIAMgAikDwAE3A8ANIANB+A1qIAJB+AFqKQMANwMAIANB8A1qIAJB8AFqKQMANwMAIANB6A1qIAJB6AFqKQMANwMAIAMgAikD4AE3A+ANIANBmA5qIAJBmAJqKQMANwMAIANBkA5qIAJBkAJqKQMANwMAIANBiA5qIAJBiAJqKQMANwMAIAMgAikDgAI3A4AOIANBuA5qIAJBuAJqKQMANwMAIANBsA5qIAJBsAJqKQMANwMAIANBqA5qIAJBqAJqKQMANwMAIAMgAikDoAI3A6AOIANB2A5qIAJB2AJqKQMANwMAIANB0A5qIAJB0AJqKQMANwMAIANByA5qIAJByAJqKQMANwMAIAMgAikDwAI3A8AOIANB+A5qIAJB+AJqKQMANwMAIANB8A5qIAJB8AJqKQMANwMAIANB6A5qIAJB6AJqKQMANwMAIAMgAikD4AI3A+AOIANBmA9qIAJBmANqKQMANwMAIANBkA9qIAJBkANqKQMANwMAIANBiA9qIAJBiANqKQMANwMAIAMgAikDgAM3A4APIANBuA9qIAJBuANqKQMANwMAIANBsA9qIAJBsANqKQMANwMAIANBqA9qIAJBqANqKQMANwMAIAMgAikDoAM3A6APIANB2A9qIAJB2ANqKQMANwMAIANB0A9qIAJB0ANqKQMANwMAIANByA9qIAJByANqKQMANwMAIAMgAikDwAM3A8APIANBmAxqIAJBGGopAwA3AwAgA0GQDGogAkEQaikDADcDACADQYgMaiACQQhqKQMANwMAIAMgAikDADcDgAwgA0HgA2ogB0GQBBCsAxogAyADQYAMakHgAxCsAyICQegPaiAGQQhqKQMANwMAIAJB8A9qIAZBEGopAwA3AwAgAkH4D2ogBkEYaikDADcDACACIAYpAwA3A+APIAJBgAFqIAJB4A9qEPABIAIgAkGAEGoQ7QEgCUEIaiACQfAHEKwDGiAJQQA2AgALIANBoBBqJAAgBSgCmAhFBEAgBUEoaiIGIAVBoAhqQfAHEKwDGiAIIAYQnAEMAQsgBSgCnAghBiAIQQE2AgAgCCAGNgIECyAFQcAQaiQAIAQoApgIRQ0CIAQgBCgCnAg2AqwZIAQgBEGsGWo2ArAZIARBATYClBAgBEH0t8AANgKQECAEQgE3ApwQIAQgBEGwGWqtQoCAgIDwAYQ3A8AZIAQgBEHAGWoiBjYCmBAgBEG0GWogChDTASAEQQA2AsgZIARCgICAgBA3AsAZIARBAzoAsBAgBEEgNgKgECAEQQA2AqwQIARBuLbAADYCqBAgBEEANgKYECAEQQA2ApAQIAQgBjYCpBBB5KTAACAKEJUCRQ0BQdC2wABBNyAEQc8ZakGIt8AAQeS3wAAQlwIACyAEQbAIaiAEQawQaigCACIGNgIAIARBqAhqIARBpBBqKQIAIgw3AwAgBEGgCGogBEGcEGopAgAiCzcDACAEQRBqIAs3AwAgBEEYaiAMNwMAIARBIGogBjYCACAEIAQpApQQIgs3A5gIIAQgCzcDCCACQYQBSQ0DIAIQAAwDCyAEQZQZaiAEQcgZaigCADYCACAEQYgZaiIGIARBvBlqKAIANgIAIAQgBCkCwBk3AowZIAQgBCkCtBk3A4AZIARBrBlqEO0CIARBFGogBikDADcCACAEQRxqIARBkBlqKQMANwIAIAQgBCkDgBkiCzcD2BggBEEBNgIIIAQgCzcCDAwCCyAEQeAYaiAEQagIaikDACILNwMAIARBuBhqIAs3AwAgBEHAGGogBEGwCGopAwA3AwAgBEHIGGogBEG4CGopAwA3AwAgBEHQGGogBEHACGopAwA3AwAgBCAEKQOgCCILNwPYGCAEIAs3A7AYIARBCGogBEGwGGpB9KTAABC4AQwBCyAEQbAIaiAEQawQaigCACIGNgIAIARBEGogBEGcEGopAgA3AwAgBEEYaiAEQaQQaikCADcDACAEQSBqIAY2AgAgBCAEKQKUEDcDCAsgAUGDAUsEQCABEAALAn8gBCgCCCICQQJGBEAgBCgCDCEBQQAMAQsgBEGoEGogBEEgaigCADYCACAEQaAQaiAEQRhqKQMANwMAIARBmBBqIARBEGopAwA3AwAgBCAEKQMINwOQEEEAIQEgBEGQEGoQ5QELIQYgACACQQJHNgIIIAAgBjYCBCAAIAE2AgAgBEHQGWokAAvqCAIDfwN+IwBB0BlrIgIkACACQZAQaiIEIAEQAiABEAMQvAECQCACKAKQEEUEQCACQShqIAJBmAhqQQRyIAJBmBBqQfAHEKwDQfAHEKwDGiACIAEQICIDNgKAGSAEIAJBgBlqQeCrwAAQrAECQAJAIAIoApAQRQRAIAJBtAhqIAJBsBBqKQMAIgU3AgAgAkGsCGogAkGoEGopAwAiBjcCACACQaQIaiACQaAQaikDACIHNwIAIAJBkBhqIAc3AwAgAkGYGGogBjcDACACQaAYaiAFNwMAIAIgAikDmBAiBTcCnAggAiAFNwOIGCACQRI6AKgYIANBhAFPBEAgAxAACyACQgA3A5AQIAJBmAhqIAJBKGogAkGIGGogAkGQEGoiAxCjAiACKAKYCEUNAiACIAIoApwINgKsGSACIAJBrBlqNgKwGSACQQE2ApQQIAJB9LfAADYCkBAgAkIBNwKcECACIAJBsBlqrUKAgICA8AGENwPAGSACIAJBwBlqIgQ2ApgQIAJBtBlqIAMQ0wEgAkEANgLIGSACQoCAgIAQNwLAGSACQQM6ALAQIAJBIDYCoBAgAkEANgKsECACQbi2wAA2AqgQIAJBADYCmBAgAkEANgKQECACIAQ2AqQQQfCrwAAgAxCVAkUNAUHQtsAAQTcgAkHPGWpBiLfAAEHkt8AAEJcCAAsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIFNwMAIAJBoAhqIAJBnBBqKQIAIgY3AwAgAkEQaiAGNwMAIAJBGGogBTcDACACQSBqIAQ2AgAgAiACKQKUECIFNwOYCCACIAU3AwggA0GEAUkNAyADEAAMAwsgAkGUGWogAkHIGWooAgA2AgAgAkGIGWoiAyACQbwZaigCADYCACACIAIpAsAZNwKMGSACIAIpArQZNwOAGSACQawZahDtAiACQRRqIAMpAwA3AgAgAkEcaiACQZAZaikDADcCACACIAIpA4AZIgU3A9gYIAJBATYCCCACIAU3AgwMAgsgAkHgGGogAkGoCGopAwAiBTcDACACQbgYaiAFNwMAIAJBwBhqIAJBsAhqKQMANwMAIAJByBhqIAJBuAhqKQMANwMAIAJB0BhqIAJBwAhqKQMANwMAIAIgAikDoAgiBTcD2BggAiAFNwOwGCACQQhqIAJBsBhqQYCswAAQuAEMAQsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgLIAFBgwFLBEAgARAACwJ/IAIoAggiBEECRgRAIAIoAgwhA0EADAELIAJBqBBqIAJBIGooAgA2AgAgAkGgEGogAkEYaikDADcDACACQZgQaiACQRBqKQMANwMAIAIgAikDCDcDkBBBACEDIAJBkBBqEOUBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJB0BlqJAALpQsCBn8DfiMAQdAZayICJAAgAkGQEGoiBCABEAIgARADELwBAkAgAigCkBBFBEAgAkEoaiACQZgIakEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEEkiAzYCgBkgBCACQYAZakH4tMAAEKwBAkACQCACKAKQEEUEQCACQbQIaiACQbAQaikDACIINwIAIAJBrAhqIAJBqBBqKQMAIgk3AgAgAkGkCGogAkGgEGopAwAiCjcCACACQZAYaiAKNwMAIAJBmBhqIAk3AwAgAkGgGGogCDcDACACIAIpA5gQIgg3ApwIIAIgCDcDiBggAkESOgCoGCADQYQBTwRAIAMQAAsgAkIANwOQECACQShqIQQgAkGIGGohByMAQeAAayIDJAAgAkGYCGoiBgJ/AkAgAkGQEGoiBSkDAFAEQCADQTBqIAQgBxC+ASADKAIwRQRAIANBKGogA0HYAGopAwA3AwAgA0EgaiADQdAAaikDADcDACADQRhqIANByABqKQMANwMAIANBEGogA0FAaykDADcDACADIAMpAzg3AwgMAgsgBiADKAI0NgIEQQEMAgsgA0EoaiAFQShqKQMANwMAIANBIGogBUEgaikDADcDACADQRhqIAVBGGopAwA3AwAgA0EQaiAFQRBqKQMANwMAIAMgBSkDCDcDCAsgA0HIAGogBEG4BGopAwA3AwAgA0FAayAEQbAEaikDADcDACADQThqIARBqARqKQMANwMAIANBEjoAUCADIAQpA6AENwMwIAZBCGogA0EIaiADQTBqEMcBQQALNgIAIANB4ABqJAAgAigCmAhFDQIgAiACKAKcCDYCrBkgAiACQawZajYCsBkgAkEBNgKUECACQfS3wAA2ApAQIAJCATcCnBAgAiACQbAZaq1CgICAgPABhDcDwBkgAiACQcAZaiIDNgKYECACQbQZaiAFENMBIAJBADYCyBkgAkKAgICAEDcCwBkgAkEDOgCwECACQSA2AqAQIAJBADYCrBAgAkG4tsAANgKoECACQQA2ApgQIAJBADYCkBAgAiADNgKkEEGItcAAIAUQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiCDcDACACQaAIaiACQZwQaikCACIJNwMAIAJBEGogCTcDACACQRhqIAg3AwAgAkEgaiAENgIAIAIgAikClBAiCDcDmAggAiAINwMIIANBhAFJDQMgAxAADAMLIAJBlBlqIAJByBlqKAIANgIAIAJBiBlqIgMgAkG8GWooAgA2AgAgAiACKQLAGTcCjBkgAiACKQK0GTcDgBkgAkGsGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGQGWopAwA3AgAgAiACKQOAGSIINwPYGCACQQE2AgggAiAINwIMDAILIAJB4BhqIAJBqAhqKQMAIgg3AwAgAkG4GGogCDcDACACQcAYaiACQbAIaikDADcDACACQcgYaiACQbgIaikDADcDACACQdAYaiACQcAIaikDADcDACACIAIpA6AIIgg3A9gYIAIgCDcDsBggAkEIaiACQbAYakGYtcAAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgNBAkYEQCACKAIMIQFBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhASACQZAQahDlAQshBCAAIANBAkc2AgggACAENgIEIAAgATYCACACQdAZaiQAC4QIAgF/E34jAEGgAmsiAyQAIANBCGogASkDACIOQgAgAikDACIEQgAQlgIgA0HIAGogASkDCCIJQgAgBEIAEJYCIANB2ABqIAEpAxAiBUIAIARCABCWAiADQegAaiABKQMYIgpCACAEQgAQlgIgA0EYaiACKQMIIgRCACAOQgAQlgIgA0H4AGogBEIAIAlCABCWAiADQagBaiAEQgAgBUIAEJYCIANB2AFqIARCACAKQgAQlgIgA0EoaiACKQMQIgRCACAOQgAQlgIgA0GIAWogBEIAIAlCABCWAiADQbgBaiAEQgAgBUIAEJYCIANB6AFqIARCACAKQgAQlgIgA0E4aiACKQMYIgRCACAOQgAQlgIgA0GYAWogBEIAIAlCABCWAiADQcgBaiAEQgAgBUIAEJYCIANB+AFqIARCACAKQgAQlgIgAykDCCEOAkACQAJAIAMpA5gBIg8gA0FAaykDACADKQM4IgcgAykDiAEiCyADQTBqKQMAIAMpAygiBSADKQN4IgogA0EgaikDACADKQMYIgkgAykDSCIIIANBEGopAwB8IgZ8IgQgCVStfCIMIAMpA1giECADQdAAaikDACAGIAhUrXx8Igh8IgZ8Ig18IgkgBVStfCITIAMpA6gBIhEgA0GAAWopAwAgCiANVq18Ig0gBiAMVK18IgUgAykDaCIGIANB4ABqKQMAIAggEFStfHwiCHwiDHwiEHwiEnwiFHwiCiAHVK18IhUgAykDuAEiFiADQZABaikDACALIBRWrXwiCyASIBNUrXwiByADKQPYASITIANBsAFqKQMAIBAgEVStfCIQIAUgDVQgBSAMVnKtfCIFIANB8ABqKQMAIAYgCFatfHwiCHwiBnwiDHwiDXwiEXwiEkIAUg0AIAMpA8gBIhQgA0GgAWopAwAgDyASVq18IhIgESAVVK18Ig8gAykD6AEiESADQcABaikDACANIBZUrXwiDSAHIAtUIAcgDFZyrXwiByAGIBNUrSADQeABaikDACAFIBBUIAUgCFZyrXx8fCILfCIIfCIFfCIGQgBSDQAgAykD+AEiDCADQdABaikDACAGIBRUrXwiBiAPIBJUIAUgD1RyrXwiBSAIIBFUrSADQfABaikDACAHIA1UIAcgC1ZyrXx8fCIHfCIPUA0BCyAAIAo3AxggACAJNwMQIAAgBDcDCCAAIA43AwAMAQsgA0GAAmopAwAgACAKNwMYIAAgCTcDECAAIAQ3AwggACAONwMAIAwgD1atfEIAIAUgBlQgBSAHVnKtfVINACADQaACaiQADwsgA0EANgKYAiADQQE2AowCIANB7LXBADYCiAIgA0IENwKQAiADQYgCakH0tcEAEMUCAAvUCAIHfwp+IwBBsAFrIgYkACAGQaABaiIMIAJBIGopAwA3AwAgBkGYAWoiByACQRhqKQMANwMAIAZBkAFqIgggAkEQaikDADcDACAGQYgBaiIJIAJBCGopAwA3AwAgBiACKQMANwOAASAGQdgAaiIKIAZBgAFqIgsgBSAEEHQgBkHQAGoiBEESOgAAIAZByABqIAFB2AFqKQMAIg03AwAgBkFAayABQdABaikDACIPNwMAIAZBOGogAUHIAWopAwAiEDcDACAGIAEpA8ABIg43AzAgDCAEKQMANwMAIAcgDTcDACAIIA83AwAgCSAQNwMAIAYgDjcDgAEgBkEIaiAKIAsQxQEgByABQZgEaikDADcDACAIIAFBkARqKQMANwMAIAkgAUGIBGopAwA3AwAgBkESOgCgASAGIAEpA4AENwOAASAKIAIgCyAGQTBqEHQgBikDECINIAYpA2B8Ig4gDVQhASAGKQNoIREgBikDGCENIAYpAwgiDyAGKQNYfCITIA9aBH4gAa0FIA5CAXwiDlCtIAGtfAshECAGKQNwIRIgBikDICEPIA0gDSARfCINViEBIBBQBH4gAa0FIA0gDSAQfCINVq0gAa18CyEQIA8gDyASfCIPViEBAkACQCAQUARAIAYgDzcDICAGIA03AxggBiAONwMQIAYgEzcDCCABRQ0BDAILIAYgDTcDGCAGIA43AxAgBiATNwMIIAYgDyAQfCIQNwMgIAEgDyAQVnINASAQIQ8LIAZBEjoAKAJAAkACQAJAAkACQAJAIAZBCGogAxCcAiIBQf8BcQ4DAAECAQsgAy0AICIBQRJLDQEgAUESRyEBCyABQf8BcUEBRg0BCyAGQYABakHsxMAAQQEQsAEgBigCgAENAiAAIAYpA4gBNwMAIABBIGogBkGoAWopAwA3AwAgAEEYaiAGQaABaikDADcDACAAQRBqIAZBmAFqKQMANwMAIABBCGogBkGQAWopAwA3AwAMAQsgAykDECESIAMpAwghEQJ+IAMpAwAiFiATWARAIA4gEX0hFSAOIBFUrQwBCyAOIBFCf4V8IRUgDiARVK0gDiARUa18CyEQIAMpAxghFCANIBJ9IQ4CQCAQUARAIA0gElStIREMAQsgDiAQVK0gDSASVK18IREgDiAQfSEOCyAPIBR9IQ0CQCARUARAIA8gFFoNAQwECyAPIBRUIA0gEVRyDQMgDSARfSENCyAAQRI6ACAgACANNwMYIAAgDjcDECAAIBU3AwggACATIBZ9NwMACyAGQbABaiQADwsgBiAGKAKEATYCWEHtxMAAQSsgBkHYAGpBmMXAAEGc3cAAEJcCAAsgBkEANgKQASAGQQE2AoQBIAZB5MTAADYCgAEgBkIENwKIASAGQYABakG0xMAAEMUCAAsgBkEANgKQASAGQQE2AoQBIAZB4IfBADYCgAEgBkIENwKIASAGQYABakH0hcEAEMUCAAvgCAIDfwN+IwBB0BlrIgIkACACQZAQaiIEIAEQAiABEAMQvAECQCACKAKQEEUEQCACQShqIAJBmAhqQQRyIAJBmBBqQfAHEKwDQfAHEKwDGiACIAEQCyIDNgLYGCAEIAJB2BhqQfyhwAAQrAECQAJAIAIoApAQRQRAIAJBtAhqIAJBsBBqKQMAIgU3AgAgAkGsCGogAkGoEGopAwAiBjcCACACQaQIaiACQaAQaikDACIHNwIAIAJBkBhqIAc3AwAgAkGYGGogBjcDACACQaAYaiAFNwMAIAIgAikDmBAiBTcCnAggAiAFNwOIGCACQRI6AKgYIANBhAFPBEAgAxAACyACQZAQaiACQShqIAJBiBhqEKYBIAIoApAQRQ0CIAIgAigClBA2AoQZIAIgAkGEGWo2AogZIAJBATYCrBkgAkH0t8AANgKoGSACQgE3ArQZIAIgAkGIGWqtQoCAgIDwAYQ3A5gZIAIgAkGYGWoiAzYCsBkgAkGMGWogAkGoGWoiBBDTASACQQA2AqAZIAJCgICAgBA3ApgZIAJBAzoAyBkgAkEgNgK4GSACQQA2AsQZIAJBuLbAADYCwBkgAkEANgKwGSACQQA2AqgZIAIgAzYCvBlBjKLAACAEEJUCRQ0BQdC2wABBNyACQc8ZakGIt8AAQeS3wAAQlwIACyACQbAIaiACQawQaigCACIENgIAIAJBqAhqIAJBpBBqKQIAIgU3AwAgAkGgCGogAkGcEGopAgAiBjcDACACQRBqIAY3AwAgAkEYaiAFNwMAIAJBIGogBDYCACACIAIpApQQIgU3A5gIIAIgBTcDCCADQYQBSQ0DIAMQAAwDCyACQawIaiACQaAZaigCADYCACACQaAIaiIDIAJBlBlqKAIANgIAIAIgAikCmBk3AqQIIAIgAikCjBk3A5gIIAJBhBlqEO0CIAJBFGogAykDADcCACACQRxqIAJBqAhqKQMANwIAIAIgAikDmAgiBTcD2BggAkEBNgIIIAIgBTcCDAwCCyACQeAYaiACQaAQaikDACIFNwMAIAJBuBhqIAU3AwAgAkHAGGogAkGoEGopAwA3AwAgAkHIGGogAkGwEGopAwA3AwAgAkHQGGogAkG4EGopAwA3AwAgAiACKQOYECIFNwPYGCACIAU3A7AYIAJBCGogAkGwGGpBnKLAABC4AQwBCyACQbAIaiACQawQaigCACIDNgIAIAJBEGogAkGcEGopAgA3AwAgAkEYaiACQaQQaikCADcDACACQSBqIAM2AgAgAiACKQKUEDcDCAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEAgAigCDCEDQQAMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQEEEAIQMgAkGQEGoQ5QELIQEgACAEQQJHNgIIIAAgATYCBCAAIAM2AgAgAkHQGWokAAvfCAIDfwN+IwBB0BlrIgIkACACQZAQaiIEIAEQAiABEAMQvAECQCACKAKQEEUEQCACQShqIAJBmAhqQQRyIAJBmBBqQfAHEKwDQfAHEKwDGiACIAEQHyIDNgLYGCAEIAJB2BhqQbCrwAAQrAECQAJAIAIoApAQRQRAIAJBtAhqIAJBsBBqKQMAIgU3AgAgAkGsCGogAkGoEGopAwAiBjcCACACQaQIaiACQaAQaikDACIHNwIAIAJBkBhqIAc3AwAgAkGYGGogBjcDACACQaAYaiAFNwMAIAIgAikDmBAiBTcCnAggAiAFNwOIGCACQRI6AKgYIANBhAFPBEAgAxAACyACQZAQaiACQShqIAJBiBhqEGUgAigCkBBFDQIgAiACKAKUEDYChBkgAiACQYQZajYCiBkgAkEBNgKsGSACQfS3wAA2AqgZIAJCATcCtBkgAiACQYgZaq1CgICAgPABhDcDmBkgAiACQZgZaiIDNgKwGSACQYwZaiACQagZaiIEENMBIAJBADYCoBkgAkKAgICAEDcCmBkgAkEDOgDIGSACQSA2ArgZIAJBADYCxBkgAkG4tsAANgLAGSACQQA2ArAZIAJBADYCqBkgAiADNgK8GUHAq8AAIAQQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiBTcDACACQaAIaiACQZwQaikCACIGNwMAIAJBEGogBjcDACACQRhqIAU3AwAgAkEgaiAENgIAIAIgAikClBAiBTcDmAggAiAFNwMIIANBhAFJDQMgAxAADAMLIAJBrAhqIAJBoBlqKAIANgIAIAJBoAhqIgMgAkGUGWooAgA2AgAgAiACKQKYGTcCpAggAiACKQKMGTcDmAggAkGEGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGoCGopAwA3AgAgAiACKQOYCCIFNwPYGCACQQE2AgggAiAFNwIMDAILIAJB4BhqIAJBoBBqKQMAIgU3AwAgAkG4GGogBTcDACACQcAYaiACQagQaikDADcDACACQcgYaiACQbAQaikDADcDACACQdAYaiACQbgQaikDADcDACACIAIpA5gQIgU3A9gYIAIgBTcDsBggAkEIaiACQbAYakHQq8AAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQCACKAIMIQNBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhAyACQZAQahDlAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQdAZaiQAC+AIAgN/A34jAEHQGWsiAiQAIAJBkBBqIgQgARACIAEQAxC8AQJAIAIoApAQRQRAIAJBKGogAkGYCGpBBHIgAkGYEGpB8AcQrANB8AcQrAMaIAIgARBIIgM2AtgYIAQgAkHYGGpByLTAABCsAQJAAkAgAigCkBBFBEAgAkG0CGogAkGwEGopAwAiBTcCACACQawIaiACQagQaikDACIGNwIAIAJBpAhqIAJBoBBqKQMAIgc3AgAgAkGQGGogBzcDACACQZgYaiAGNwMAIAJBoBhqIAU3AwAgAiACKQOYECIFNwKcCCACIAU3A4gYIAJBEjoAqBggA0GEAU8EQCADEAALIAJBkBBqIAJBKGogAkGIGGoQvgEgAigCkBBFDQIgAiACKAKUEDYChBkgAiACQYQZajYCiBkgAkEBNgKsGSACQfS3wAA2AqgZIAJCATcCtBkgAiACQYgZaq1CgICAgPABhDcDmBkgAiACQZgZaiIDNgKwGSACQYwZaiACQagZaiIEENMBIAJBADYCoBkgAkKAgICAEDcCmBkgAkEDOgDIGSACQSA2ArgZIAJBADYCxBkgAkG4tsAANgLAGSACQQA2ArAZIAJBADYCqBkgAiADNgK8GUHYtMAAIAQQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiBTcDACACQaAIaiACQZwQaikCACIGNwMAIAJBEGogBjcDACACQRhqIAU3AwAgAkEgaiAENgIAIAIgAikClBAiBTcDmAggAiAFNwMIIANBhAFJDQMgAxAADAMLIAJBrAhqIAJBoBlqKAIANgIAIAJBoAhqIgMgAkGUGWooAgA2AgAgAiACKQKYGTcCpAggAiACKQKMGTcDmAggAkGEGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGoCGopAwA3AgAgAiACKQOYCCIFNwPYGCACQQE2AgggAiAFNwIMDAILIAJB4BhqIAJBoBBqKQMAIgU3AwAgAkG4GGogBTcDACACQcAYaiACQagQaikDADcDACACQcgYaiACQbAQaikDADcDACACQdAYaiACQbgQaikDADcDACACIAIpA5gQIgU3A9gYIAIgBTcDsBggAkEIaiACQbAYakHotMAAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQCACKAIMIQNBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhAyACQZAQahDlAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQdAZaiQAC/MIAQh/IwBBgAJrIgIkACACQfgAaiABQZgBaikDADcDACACQfAAaiABQZABaikDADcDACACQegAaiABQYgBaikDADcDACACQRI6AIABIAIgASkDgAE3A2AgAkGIAWpB7MTAAEEBELABAkACQAJAAkACQAJAAkAgAigCiAFFBEAgAUGAAWohAyACQdgBaiACQbABaikDADcDACACQdABaiACQagBaikDADcDACACQcgBaiACQaABaikDADcDACACQcABaiACQZgBaikDADcDACACIAIpA5ABNwO4ASACQeAAaiACQbgBahCcAiIEQf8BcQ4DAQIDAgsgAiACKAKMATYCOEHtxMAAQSsgAkE4akGYxcAAQZDvwAAQlwIACyACLQDYASIEQRJLDQIgBEESRyEECyAEQf8BcUEBRw0BCyACQfgAaiABQZgFaikDADcDACACQfAAaiABQZAFaikDADcDACACQegAaiABQYgFaikDADcDACACQRI6AIABIAIgASkDgAU3A2AgAkHQAWoiBCABQRhqKQMANwMAIAJByAFqIgUgAUEQaikDADcDACACQcABaiIGIAFBCGopAwA3AwAgAkESOgDYASACIAEpAwA3A7gBIAJB+AFqIAFBOGopAwA3AwAgAkHwAWogAUEwaikDADcDACACQegBaiABQShqKQMANwMAIAIgASkDIDcD4AEgAkGIAWoiByACQbgBaiIIIAJB4AFqEMoBIAIoAogBDQEgAkHYAWogAkGwAWopAwA3AwAgBCACQagBaikDADcDACAFIAJBoAFqIgQpAwA3AwAgBiACQZgBaiIFKQMANwMAIAIgAikDkAE3A7gBIAJBOGoiCSACQeAAaiAIEMcBIAQgA0EYaikDADcDACAFIANBEGopAwA3AwAgAkGQAWoiBiADQQhqKQMANwMAIAJBEjoAqAEgAiADKQMANwOIASACQRBqIgMgCSAHEMQBIAQgAUHYBmopAwA3AwAgBSABQdAGaikDADcDACAGIAFByAZqKQMANwMAIAJBEjoAqAEgAiABKQPABjcDiAEgACADIAcQbgwCCyACQaABaiADQRhqKQMANwMAIAJBmAFqIANBEGopAwA3AwAgAkGQAWoiBCADQQhqKQMANwMAIAJBAjYCvAEgAkH87cAANgK4ASACQgE3AsQBIAIgAkGIAWqtQoCAgICACIQ3AzggAkESOgCoASACIAMpAwA3A4gBIAIgAkE4ajYCwAEgAkHgAGoiASACQbgBahDTASACQQhqIAFBvIbBAEGA78AAEKYCIAIoAgwhAyACKAIIIQUgBCACQegAaigCADYCAEGZ4MEALQAAGiACIAIpAmA3A4gBQRhBBBD3AiIBRQ0CIAEgBTYCBCABQaSHwQA2AgAgASACKQOIATcCDCABIAM2AgggAUEUaiAEKAIANgIAIABBATYCACAAIAE2AgQMAQsgAigCjAEhASAAQQE2AgAgACABNgIECyACQYACaiQADwtBBEEYEKgDAAu7CQEKfyMAQRBrIgkkAAJAIAEtABRFBEACQAJAAkACQAJAAkAgASgCCCIHIAEoAgwiCEcEQCABKAIQIgVBAWohAiAHQQFqIQMgBy0AACIGQcEAa0H/AXFBBkkNBCAGQeEAa0H/AXFBBkkNAyAGQTBrIgpB/wFxQQpJDQIgBkEJayIEQRdLBEAgBSEEDAcLQQEgBHRBk4CABHFFBEAgBSEEDAcLIAMgCEcEQCACIQQDQAJAAkAgAy0AACIGQcEAa0H/AXFBBk8EQCAGQeEAa0H/AXFBBkkNASAGQTBrIgpB/wFxQQpJDQYgBkEJayICQRdNQQBBASACdEGTgIAEcRsNAiADQQFqIQMgBEEBaiECDAsLIANBAWohAyAEQQFqIQIMCAsgA0EBaiEDIARBAWohAgwGCyAEQQFqIQQgA0EBaiIDIAhHDQALCyABIAUgCGogB2s2AhAgASAINgIICyAAQYKAxAA2AgAMBwsgA0EBaiEDIARBAWohAgsgASACNgIQIAEgAzYCCAwCCyABIAI2AhAgASADNgIIIAZB1wBrIQoMAQsgASACNgIQIAEgAzYCCCAGQTdrIQoLAkACQAJAIAECfwJAAkACQAJAAkAgAyAIRwRAIANBAWohByACQQFqIgUgAy0AACIGQcEAa0H/AXFBBkkNBhogBkHhAGtB/wFxQQZJDQQgBkEwayILQf8BcUEKSQ0CIAZBCWsiBEEXS0EBIAR0QZOAgARxRXINCCAHIAhHBEAgBSEEA0AgBy0AACIGQcEAa0H/AXFBBkkNByAGQeEAa0H/AXFBBkkNBSAGQTBrIgtB/wFxQQpJDQMgBkEJayIFQRdLQQEgBXRBk4CABHFFcg0LIARBAWohBCAHQQFqIgcgCEcNAAsLIAEgAiAIaiADazYCECABIAg2AggLIABBgIDEADYCACABQQE6ABQMCwsgB0EBaiEHIARBAWohBQsgASAFNgIQIAEgBzYCCAwECyAHQQFqIQcgBEEBaiEFCyABIAU2AhAgASAHNgIIIAZB1wBrIQsMAgsgB0EBaiEHIARBAWoLNgIQIAEgBzYCCCAGQTdrIQsLIABBgYDEADYCACAAIAsgCkEEdHI6AAQMBAsgAiEEIAchAyAFIQIMAQsgB0EBaiEDIARBAWohAgsgASACNgIQIAEgAzYCCCABKAIEIQIgASgCACEFAkACQCAERQ0AIAIgBE0EQCACIARGDQEMAgsgBCAFaiwAAEG/f0wNAQsgCSACIAVqNgIMIAkgBCAFajYCCAJ/QYCAxAAgCUEIaiIFKAIAIgIgBSgCBEYNABogBSACQQFqNgIAIAItAAAiA8BBAEgEfyAFIAJBAmo2AgAgAi0AAUE/cSIGIANBH3EiB0EGdHIgA0HfAU0NARogBSACQQNqNgIAIAItAAJBP3EgBkEGdHIiBiAHQQx0ciADQfABSQ0BGiAFIAJBBGo2AgAgB0ESdEGAgPAAcSACLQADQT9xIAZBBnRycgUgAwsLIgJBgIDEAEcEQCAAIAQ2AgQgACACNgIAIAFBAToAFAwDC0GUuMEAEJADAAsgBSACIAQgAkGEuMEAEPACAAsgAEGCgMQANgIACyAJQRBqJAAL+QYCCH8HfiMAQaABayICJAAgAkGYAWoiA0IANwMAIAJBkAFqIgZCADcDACACQYgBaiIHQgA3AwAgAkIANwOAAQJAAkACQAJAAkACQCABIAJBgAFqEJwCQf8BcUH/AUYEQCABQfC7wABBIBCuA0UNAQsgAkHYAGogAUEYaiIEKQMANwMAIAJB0ABqIAFBEGoiBSkDADcDACACQcgAaiABQQhqIggpAwA3AwAgAiABKQMANwNAIAJB+ABqIgkgBCkDADcDACACQfAAaiIEIAUpAwA3AwAgAkHoAGoiBSAIKQMANwMAIAIgASkDADcDYCADQgA3AwAgBkIANwMAIAdCADcDACACQgA3A4ABIAJBQGsgAkGAAWoQnAJB/wFxQf8BRg0BIAJBOGogCSkDADcDACACQTBqIAQpAwA3AwAgAkEoaiAFKQMANwMAIAIgAikDYDcDIAwCCyABKQMQIg0gASkDAEIBfCIKIAEpAwgiC0IBfCIOhCIPUCIDrXwiECANIAMbIQwgDiALIApQGyELIAEpAxghDiAPUCANIBBWcUUEQCACIA43A5gBIAIgDDcDkAEgAiALNwOIASACIAo3A4ABDAMLIAIgDDcDkAEgAiALNwOIASACIAo3A4ABIAIgDkIBfCIKNwOYASAKQgBSDQIMBAsgAkEgaiACQeAAahDLAQsgACACKQMgNwMAIABBGGogAkE4aikDADcDACAAQRBqIAJBMGopAwA3AwAgAEEIaiACQShqKQMANwMADAELIAIgAkGAAWoiARDLASACKQMQIQogAikDGCELIAIpAwAhDCACKQMIIQ0gAUEBEJ8CIA0gDSACKQOIAXwiDVYhASACKQOQASEPIAwgDCACKQOAAXwiDlgEfiABrQUgDUIBfCINUK0gAa18CyEMIAIpA5gBIRAgCiAKIA98IgpWIQEgDFAEfiABrQUgCiAKIAx8IgpWrSABrXwLIQwgCyALIBB8IgtWIQECQCAMUARAIAAgCzcDGCAAIAo3AxAgACANNwMIIAAgDjcDACABRQ0CDAELIAAgCjcDECAAIA03AwggACAONwMAIAAgCyAMfCIKNwMYIAENACAKIAtaDQELDAELIAJBoAFqJAAPCyACQQA2AnAgAkEBNgJkIAJB1MHAADYCYCACQgQ3AmggAkHgAGpB8L7AABDFAgAL+QYCCH8HfiMAQaABayICJAAgAkGYAWoiA0IANwMAIAJBkAFqIgZCADcDACACQYgBaiIHQgA3AwAgAkIANwOAAQJAAkACQAJAAkACQCABIAJBgAFqEJwCQf8BcUH/AUYEQCABQbiCwQBBIBCuA0UNAQsgAkHYAGogAUEYaiIEKQMANwMAIAJB0ABqIAFBEGoiBSkDADcDACACQcgAaiABQQhqIggpAwA3AwAgAiABKQMANwNAIAJB+ABqIgkgBCkDADcDACACQfAAaiIEIAUpAwA3AwAgAkHoAGoiBSAIKQMANwMAIAIgASkDADcDYCADQgA3AwAgBkIANwMAIAdCADcDACACQgA3A4ABIAJBQGsgAkGAAWoQnAJB/wFxQf8BRg0BIAJBOGogCSkDADcDACACQTBqIAQpAwA3AwAgAkEoaiAFKQMANwMAIAIgAikDYDcDIAwCCyABKQMQIg0gASkDAEIBfCIKIAEpAwgiC0IBfCIOhCIPUCIDrXwiECANIAMbIQwgDiALIApQGyELIAEpAxghDiAPUCANIBBWcUUEQCACIA43A5gBIAIgDDcDkAEgAiALNwOIASACIAo3A4ABDAMLIAIgDDcDkAEgAiALNwOIASACIAo3A4ABIAIgDkIBfCIKNwOYASAKQgBSDQIMBAsgAkEgaiACQeAAahDMAQsgACACKQMgNwMAIABBGGogAkE4aikDADcDACAAQRBqIAJBMGopAwA3AwAgAEEIaiACQShqKQMANwMADAELIAIgAkGAAWoiARDMASACKQMQIQogAikDGCELIAIpAwAhDCACKQMIIQ0gAUEBEJ8CIA0gDSACKQOIAXwiDVYhASACKQOQASEPIAwgDCACKQOAAXwiDlgEfiABrQUgDUIBfCINUK0gAa18CyEMIAIpA5gBIRAgCiAKIA98IgpWIQEgDFAEfiABrQUgCiAKIAx8IgpWrSABrXwLIQwgCyALIBB8IgtWIQECQCAMUARAIAAgCzcDGCAAIAo3AxAgACANNwMIIAAgDjcDACABRQ0CDAELIAAgCjcDECAAIA03AwggACAONwMAIAAgCyAMfCIKNwMYIAENACAKIAtaDQELDAELIAJBoAFqJAAPCyACQQA2AnAgAkEBNgJkIAJB4IfBADYCYCACQgQ3AmggAkHgAGpB9IXBABDFAgALxgYBCH8CQAJAIAEgAEEDakF8cSICIABrIghJDQAgASAIayIGQQRJDQAgBkEDcSEHQQAhAQJAIAAgAkYiCQ0AAkAgACACayIEQXxLBEBBACECDAELQQAhAgNAIAEgACACaiIDLAAAQb9/SmogA0EBaiwAAEG/f0pqIANBAmosAABBv39KaiADQQNqLAAAQb9/SmohASACQQRqIgINAAsLIAkNACAAIAJqIQMDQCABIAMsAABBv39KaiEBIANBAWohAyAEQQFqIgQNAAsLIAAgCGohAgJAIAdFDQAgAiAGQXxxaiIALAAAQb9/SiEFIAdBAUYNACAFIAAsAAFBv39KaiEFIAdBAkYNACAFIAAsAAJBv39KaiEFCyAGQQJ2IQYgASAFaiEEA0AgAiEAIAZFDQJBwAEgBiAGQcABTxsiBUEDcSEHIAVBAnQhCEEAIQMgBkEETwRAIAAgCEHwB3FqIQkgACEBA0AgASgCACICQX9zQQd2IAJBBnZyQYGChAhxIANqIAEoAgQiAkF/c0EHdiACQQZ2ckGBgoQIcWogASgCCCICQX9zQQd2IAJBBnZyQYGChAhxaiABKAIMIgJBf3NBB3YgAkEGdnJBgYKECHFqIQMgAUEQaiIBIAlHDQALCyAGIAVrIQYgACAIaiECIANBCHZB/4H8B3EgA0H/gfwHcWpBgYAEbEEQdiAEaiEEIAdFDQALAn8gACAFQfwBcUECdGoiACgCACIBQX9zQQd2IAFBBnZyQYGChAhxIgEgB0EBRg0AGiABIAAoAgQiAUF/c0EHdiABQQZ2ckGBgoQIcWoiASAHQQJGDQAaIAAoAggiAEF/c0EHdiAAQQZ2ckGBgoQIcSABagsiAUEIdkH/gRxxIAFB/4H8B3FqQYGABGxBEHYgBGoPCyABRQRAQQAPCyABQQNxIQICQCABQQRJBEAMAQsgAUF8cSEFA0AgBCAAIANqIgEsAABBv39KaiABQQFqLAAAQb9/SmogAUECaiwAAEG/f0pqIAFBA2osAABBv39KaiEEIAUgA0EEaiIDRw0ACwsgAkUNACAAIANqIQEDQCAEIAEsAABBv39KaiEEIAFBAWohASACQQFrIgINAAsLIAQLsQcCC38JfiMAQdABayIEJAAgBEHQAGoiBSABIAMQ2wEgBEESOgBwIARBoAFqIgZBpMfAAEEEELABAkAgBCgCoAFFBEAgBEGYAWoiByAEQcgBaiIIKQMANwMAIARBkAFqIgkgBEHAAWoiCikDADcDACAEQYgBaiILIARBuAFqIgwpAwA3AwAgBEGAAWoiDSAEQbABaiIDKQMANwMAIAQgBCkDqAE3A3ggBCAFIARB+ABqIg4QxwEgBEHoAGogAUGYBmopAwA3AwAgBEHgAGogAUGQBmopAwA3AwAgBEHYAGogAUGIBmopAwA3AwAgBEESOgBwIAQgASkDgAY3A1AgBkGkx8AAQQQQsAECQAJAAkACQAJAAkAgBCgCoAFFBEAgByAIKQMANwMAIAkgCikDADcDACALIAwpAwA3AwAgDSADKQMANwMAIAQgBCkDqAE3A3ggBEEoaiAFIA4QxwEgAiAEEJwCIgFB/wFxDgMBAgMCCyAEIAQoAqQBNgJ4Qe3EwABBKyAEQfgAakGYxcAAQbjHwAAQlwIACyACLQAgIgMgBC0AICIBSQ0BIAEgA0chAQsgAUH/AXFBAUYNAQsgBEGgAWpB7MTAAEEBELABIAQoAqABDQIgACAEKQOoATcDACAAQSBqIARByAFqKQMANwMAIABBGGogBEHAAWopAwA3AwAgAEEQaiAEQbgBaikDADcDACAAQQhqIARBsAFqKQMANwMADAELIAIpAxAhESACKQMIIQ8gBCkDECESIAQpAwghEAJ+IAIpAwAiFSAEKQMAIhZaBEAgDyAQVK0hEyAPIBB9DAELIA8gEFStIA8gEFGtfCETIA8gEEJ/hXwLIRcgAikDGCEPIAQpAxghECARIBJ9IRQCQCATUARAIBEgElStIREMAQsgEyAUVq0gESASVK18IREgFCATfSEUCyAPIBB9IRICQCARUARAIA8gEFoNAQwFCyAPIBBUIBEgElZyDQQgEiARfSESCyAEQRI6AMABIAQgEjcDuAEgBCAUNwOwASAEIBc3A6gBIAQgFSAWfTcDoAEgACAEQaABaiAEQShqEMQBCyAEQdABaiQADwsgBCAEKAKkATYCeEHtxMAAQSsgBEH4AGpBmMXAAEGox8AAEJcCAAsgBCAEKAKkATYCeEHtxMAAQSsgBEH4AGpBmMXAAEHIx8AAEJcCAAsgBEEANgKwASAEQQE2AqQBIARB5MTAADYCoAEgBEIENwKoASAEQaABakG0xMAAEMUCAAvQBgIOfwF+IwBBIGsiBCQAQQEhCwJAAkACQCACKAIUIgpBIiACKAIYIg4oAhAiDBEBAA0AAkAgAUUEQAwBCyAAIAFqIQ8gACEFAkADQAJAIAUiCSwAACICQQBOBEAgCUEBaiEFIAJB/wFxIQcMAQsgCS0AAUE/cSEFIAJBH3EhCCACQV9NBEAgCEEGdCAFciEHIAlBAmohBQwBCyAJLQACQT9xIAVBBnRyIQcgCUEDaiEFIAJBcEkEQCAHIAhBDHRyIQcMAQsgCEESdEGAgPAAcSAFLQAAQT9xIAdBBnRyciIHQYCAxABGDQIgCUEEaiEFCyAEQQRqIAdBgYAEEKcBAkACQCAELQAEQYABRg0AIAQtAA8gBC0ADmtB/wFxQQFGDQAgAyAGSw0HAkAgA0UNACABIANNBEAgASADRg0BDAkLIAAgA2osAABBQEgNCAsCQCAGRQ0AIAEgBk0EQCABIAZHDQkMAQsgACAGaiwAAEG/f0wNCAsCQAJAIAogACADaiAGIANrIA4oAgwRAwANACAEQRhqIg0gBEEMaigCADYCACAEIAQpAgQiETcDECARp0H/AXFBgAFGBEBBgAEhCANAAkAgCEGAAUcEQCAELQAaIgMgBC0AG08NBSAEIANBAWo6ABogA0EKTw0HIARBEGogA2otAAAhAgwBC0EAIQggDUEANgIAIAQoAhQhAiAEQgA3AxALIAogAiAMEQEARQ0ACwwBC0EKIAQtABoiAiACQQpNGyEDIAIgBC0AGyIIIAIgCEsbIQ0DQCACIA1GDQIgBCACQQFqIgg6ABogAiADRg0EIARBEGogAmohECAIIQIgCiAQLQAAIAwRAQBFDQALCwwGCwJ/QQEgB0GAAUkNABpBAiAHQYAQSQ0AGkEDQQQgB0GAgARJGwsgBmohAwsgBiAJayAFaiEGIAUgD0cNAQwCCwsgA0EKQYTZwQAQoAIACyADRQRAQQAhAwwBCyABIANNBEAgASADRg0BDAMLIAAgA2osAABBv39MDQILIAogACADaiABIANrIA4oAgwRAwANACAKQSIgDBEBACELCyAEQSBqJAAgCw8LIAAgASADIAFBhMnBABDwAgALIAAgASADIAZBlMnBABDwAgALlQYBB38CQCAAKAIAIgkgACgCCCIEcgRAAkAgBEUNACABIAJqIQgCQCAAKAIMIgZFBEAgASEEDAELIAEhBANAIAQiAyAIRg0CAn8gA0EBaiADLAAAIgdBAE4NABogA0ECaiAHQWBJDQAaIANBA2ogB0FwSQ0AGiAHQf8BcUESdEGAgPAAcSADLQADQT9xIAMtAAJBP3FBBnQgAy0AAUE/cUEMdHJyckGAgMQARg0DIANBBGoLIgQgBSADa2ohBSAGQQFrIgYNAAsLIAQgCEYNACAELAAAIgNBAE4gA0FgSXIgA0FwSXJFBEAgA0H/AXFBEnRBgIDwAHEgBC0AA0E/cSAELQACQT9xQQZ0IAQtAAFBP3FBDHRycnJBgIDEAEYNAQsCQCAFRQ0AIAIgBU0EQCACIAVGDQEMAgsgASAFaiwAAEFASA0BCyAFIQILIAlFDQEgACgCBCEHAkAgAkEQTwRAIAEgAhCgASEDDAELIAJFBEBBACEDDAELIAJBA3EhBgJAIAJBBEkEQEEAIQNBACEFDAELIAJBDHEhCEEAIQNBACEFA0AgAyABIAVqIgQsAABBv39KaiAEQQFqLAAAQb9/SmogBEECaiwAAEG/f0pqIARBA2osAABBv39KaiEDIAggBUEEaiIFRw0ACwsgBkUNACABIAVqIQQDQCADIAQsAABBv39KaiEDIARBAWohBCAGQQFrIgYNAAsLAkAgAyAHSQRAIAcgA2shBEEAIQMCQAJAAkAgAC0AIEEBaw4CAAECCyAEIQNBACEEDAELIARBAXYhAyAEQQFqQQF2IQQLIANBAWohAyAAKAIQIQYgACgCGCEFIAAoAhQhAANAIANBAWsiA0UNAiAAIAYgBSgCEBEBAEUNAAtBAQ8LDAILQQEhAyAAIAEgAiAFKAIMEQMABH8gAwVBACEDAn8DQCAEIAMgBEYNARogA0EBaiEDIAAgBiAFKAIQEQEARQ0ACyADQQFrCyAESQsPCyAAKAIUIAEgAiAAKAIYKAIMEQMADwsgACgCFCABIAIgACgCGCgCDBEDAAuUBgIMfwR+IwBBoAFrIgMkAAJAAkACQCACKQMAQgBSDQAgAikDCEIAUg0AIAIpAxBCAFINACACKQMYUA0BCyADQRhqQgA3AwAgA0EQakIANwMAIANBCGpCADcDACADQShqIghCADcDACADQTBqIglCADcDACADQThqIgpCADcDACADQgE3AwAgA0IBNwMgIANB2ABqIAJBGGopAwA3AwAgA0HQAGogAkEQaikDADcDACADQcgAaiACQQhqKQMANwMAIAMgAikDADcDQCADQfgAaiIEIAFBGGopAwA3AwAgA0HwAGoiBSABQRBqKQMANwMAIANB6ABqIgYgAUEIaikDADcDACADIAEpAwA3A2AgA0EgaiELIANB4ABqIQwDQCALIQEgDCECAkADQAJAIAIgA0FAa0YNAEF/IAFBCGsiASkDACIPIAJBCGsiAikDACISUiAPIBJWG0H/AXEOAgECAAsLIAAgA0HgAGogA0EgahCXAQwDCwJAIAMtAEBBAXFFBEAgA0GAAWogA0HgAGoiASABEJcBIAQgA0GYAWopAwA3AwAgBSADQZABaikDADcDACAGIANBiAFqKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhEAwBCyADQYABaiINIANB4ABqIgcgA0EgahCXASAKIANBmAFqIgEpAwA3AwAgCSADQZABaiICKQMANwMAIAggA0GIAWoiDikDADcDACADIAMpA4ABNwMgIA0gByAHEJcBIAQgASkDADcDACAFIAIpAwA3AwAgBiAOKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhECAPQv///////////wCDIQ8LIBFCP4YgAykDQEIBiIQhESADIBI3A1AgAyAQNwNIIAMgETcDQCADIA9CAYg3A1gMAAsACyAAQgA3AwggAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwALIANBoAFqJAALkQcCBX8BfiMAQYABayIEJAAgBCACNgIsIAQgATYCKAJAAkACQCADLQAcQQRxRQRAQQEhByAEQQE2AmwgBEHwrcEANgJoIARCATcCdCAEQoCAgIDgEiIJIARBKGqthDcDUCAEIARB0ABqNgJwIAMoAhQgAygCGCAEQegAahCzAQ0DIARBIGogBCgCKCAEKAIsKAIYEQAAIAQoAiAiAkUNAiAEKAIkIQEgAygCFEG0rsEAQQwgAygCGCgCDBEDAA0DIARBGGogAiABKAIYEQAAIAkgBEFAa62EIQkgBCgCGEUNAQNAAn8gAkUEQEEEIQVBACEGQQAMAQsgBEEQaiACIAEoAhgRAAAgBCACNgI0IAQgCDYCMCAIQQFqIQhBCCEFIAEhBiAEKAIUIQEgBCgCEAshAiAEQTBqIAVqIAY2AgAgBCgCNCIGRQ0DIAQoAjAhBSAEIAQoAjg2AkQgBCAGNgJAIAMoAhRBwK7BAEEBIAMoAhgoAgwRAwANBCAEQQE6AGAgBCADNgJcIAQgBTYCVCAEQQE2AlAgBEEBNgJsIARB8K3BADYCaCAEQgE3AnQgBCAJNwNIIAQgBEHIAGo2AnAgBEHQAGpBsKvBACAEQegAahCzAUUNAAsMAwsgASADIAIoAgwRAQAhBwwCCwNAAn8gAkUEQCABIQZBBCEFQQAhAUEADAELIARBCGogAiABKAIYEQAAIAQgAjYCNEEIIQUgBCgCDCEGIAQoAggLIQIgBEEwaiAFaiABNgIAIAQoAjQiAUUNASAEIAQoAjg2AkQgBCABNgJAIAMoAhRBwK7BAEEBIAMoAhgoAgwRAwANAiAEQQE6AGAgBCADNgJcIARBBDYCWCAEQcGuwQA2AlQgBEEANgJQIARBATYCbCAEQfCtwQA2AmggBEIBNwJ0IAQgCTcDSCAEIARByABqNgJwIARB0ABqQbCrwQAgBEHoAGoQswENAiAGIQEMAAsACyAAKAIAIgBFBEBBACEHDAELIAQgADYCSCADKAIUQcWuwQBBDCADKAIYKAIMEQMADQAgBEEBOgBgIAQgAzYCXCAEQQQ2AlggBEHBrsEANgJUIARBADYCUCAEQQE2AmwgBEHwrcEANgJoIARCATcCdCAEIARByABqrUKAgICA8BKENwMwIAQgBEEwajYCcCAEQdAAakGwq8EAIARB6ABqELMBDQBBACEHCyAEQYABaiQAIAcLkwYCBH8JfiMAQbACayIDJAAgA0HIAGogAUH4A2opAwA3AwAgA0FAayABQfADaikDADcDACADQThqIAFB6ANqKQMANwMAIANBEjoAUCADIAEpA+ADNwMwIANB+AFqIgRB2MfAAEEEELABAkAgAygC+AFFBEAgA0HIAWogA0GgAmoiBSkDADcDACADQcABaiADQZgCaiIGKQMANwMAIANBuAFqIANBkAJqKQMANwMAIANBsAFqIANBiAJqKQMANwMAIAMgAykDgAI3A6gBIAQgARCcAQJAIAMoAvgBRQRAIANB8AFqIAUpAwA3AwAgA0HoAWogBikDADcDACADQeABaiADQZACaikDADcDACADQdgBaiADQYgCaikDADcDACADIAMpA4ACNwPQASADQYABaiADQagBaiADQdABahDFASAEQdjHwABBBBCwASADKAL4AUUEQCADKQOQAiEJIAMpA4gCIQcgAykDkAEhCiADKQOIASEIAn4gAykDgAEiDSADKQOAAiIOWgRAIAcgCFatIQsgCCAHfQwBCyAHIAhWrSAHIAhRrXwhCyAIIAdCf4V8CyEPIAMpA5gCIQcgAykDmAEhCCAKIAl9IQwCQCALUARAIAkgClatIQkMAQsgCyAMVq0gCSAKVq18IQkgDCALfSEMCyAIIAd9IQoCQCAJUARAIAcgCFgNAQwGCyAHIAhWIAkgClZyDQUgCiAJfSEKCyADQRI6AHggAyAKNwNwIAMgDDcDaCADIA83A2AgAyANIA59NwNYIANBCGoiASADQTBqIANB2ABqEMYBIABBCGogASACEMYBIABBADYCAAwCCyADIAMoAvwBNgKoAUHtxMAAQSsgA0GoAWpBmMXAAEHMyMAAEJcCAAsgAygC/AEhASAAQQE2AgAgACABNgIECyADQbACaiQADwsgAyADKAL8ATYCrAJB7cTAAEErIANBrAJqQZjFwABB3MjAABCXAgALIANBADYCiAIgA0EBNgL8ASADQeTEwAA2AvgBIANCBDcCgAIgA0H4AWpBtMTAABDFAgALsQsBBX8jAEEQayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEOKAYBAQEBAQEBAQIEAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEIAQEBAQcACyABQdwARg0ECyACQQFxRSABQYAGSXINBwJ/IAFBC3QhAkEhIQVBISEGAkADQCACIAVBAXYgBGoiBUECdEG42cEAaigCAEELdCIHRwRAIAUgBiACIAdJGyIGIAVBAWogBCACIAdLGyIEayEFIAQgBkkNAQwCCwsgBUEBaiEECwJ/AkAgBEEgTQRAIARBAnQiAkG42cEAaigCAEHXBSEGAkAgBEEgRg0AIAJBvNnBAGoiAkUNACACKAIAQRV2IQYLQRV2IQIgBA0BQQAMAgsgBEEhQbTYwQAQoAIACyAEQQJ0QbTZwQBqKAIAQf///wBxCyEEAkACQCAGIAJBf3NqRQ0AIAEgBGshB0HXBSACIAJB1wVNGyEFIAZBAWshBkEAIQQDQCACIAVGDQIgBCACQbzawQBqLQAAaiIEIAdLDQEgBiACQQFqIgJHDQALIAYhAgsgAkEBcQwBCyAFQdcFQcTYwQAQoAIAC0UNByADQQhqQQA6AAAgA0EAOwEGIANB/QA6AA8gAyABQQ9xQcnDwQBqLQAAOgAOIAMgAUEEdkEPcUHJw8EAai0AADoADSADIAFBCHZBD3FBycPBAGotAAA6AAwgAyABQQx2QQ9xQcnDwQBqLQAAOgALIAMgAUEQdkEPcUHJw8EAai0AADoACiADIAFBFHZBD3FBycPBAGotAAA6AAkgAUEBcmdBAnZBAmsiAUELTw0IIANBBmogAWoiAkGA2cEALwAAOwAAIAJBAmpBgtnBAC0AADoAACAAIAMpAQY3AAAgAEEIaiADQQ5qLwEAOwAAIABBCjoACyAAIAE6AAoMCwsgAEGABDsBCiAAQgA3AQIgAEHc6AE7AQAMCgsgAEGABDsBCiAAQgA3AQIgAEHc5AE7AQAMCQsgAEGABDsBCiAAQgA3AQIgAEHc3AE7AQAMCAsgAEGABDsBCiAAQgA3AQIgAEHcuAE7AQAMBwsgAEGABDsBCiAAQgA3AQIgAEHc4AA7AQAMBgsgAkGAAnFFDQEgAEGABDsBCiAAQgA3AQIgAEHczgA7AQAMBQsgAkGAgARxDQMLAn8CQCABQSBJDQACQAJ/QQEgAUH/AEkNABogAUGAgARJDQECQCABQYCACE8EQCABQbDHDGtB0LorSSABQcumDGtBBUlyIAFBnvQLa0HiC0kgAUHe3AtrQaITSXJyIAFB4dcLa0EPSSABQaKdC2tBDklyIAFBfnFBnvAKRnJyDQQgAUFgcUHgzQpHDQEMBAsgAUGQzcEAQSxB6M3BAEHEAUGsz8EAQcIDENYBDAQLQQAgAUG67gprQQZJDQAaIAFBgIDEAGtB8IN0SQsMAgsgAUHu0sEAQShBvtPBAEGgAkHe1cEAQa0CENYBDAELQQALBEAgACABNgIEIABBgAE6AAAMBAsgA0EIakEAOgAAIANBADsBBiADQf0AOgAPIAMgAUEPcUHJw8EAai0AADoADiADIAFBBHZBD3FBycPBAGotAAA6AA0gAyABQQh2QQ9xQcnDwQBqLQAAOgAMIAMgAUEMdkEPcUHJw8EAai0AADoACyADIAFBEHZBD3FBycPBAGotAAA6AAogAyABQRR2QQ9xQcnDwQBqLQAAOgAJIAFBAXJnQQJ2QQJrIgFBC08NASADQQZqIAFqIgJBgNnBAC8AADsAACACQQJqQYLZwQAtAAA6AAAgACADKQEGNwAAIABBCGogA0EOai8BADsAACAAQQo6AAsgACABOgAKDAMLIAFBCkHw2MEAEI0DAAsgAUEKQfDYwQAQjQMACyAAQYAEOwEKIABCADcBAiAAQdzEADsBAAsgA0EQaiQAC5UGAg5/Bn4jAEGQAWsiAiQAIAJBiAFqIgMgAUEYaiIEKQMANwMAIAJBgAFqIgUgAUEQaiIGKQMANwMAIAJB+ABqIgcgAUEIaiIIKQMANwMAIAIgASkDADcDcCACQQhqIgogAkHwAGoiCRCeASACQegAaiILIAQpAwA3AwAgAkHgAGoiDCAGKQMANwMAIAJB2ABqIg0gCCkDADcDACACIAEpAwA3A1AgA0IANwMAIAVCADcDACAHQgA3AwAgAkIANwNwIAJC////////////AEKAgICAgICAgIB/IAJB0ABqIg4gCRCcAkH/AXFB/wFHIg8bNwNAIAJCf0IAIA8bIhA3AzggAiAQNwMwIAIgEDcDKAJAAkACQCAKIAJBKGoQnAJB/wFxQQFHBEAgCyAEKQMANwMAIAwgBikDADcDACANIAgpAwA3AwAgAiABKQMANwNQIANCADcDACAFQgA3AwAgB0IANwMAIAJCADcDcCAOIAkQnAIgAikDICEQIAIpAxghESACKQMQIRIgAikDCCETQf8BcUH/AUcEQCAQQgBTDQIMAwtCACASfSIUUEIAIBN9IhNCAFIiBEF/c3EiAyARQn+FIhEgA618IhUgEVRxrSAQQn+FfCIQQgBZDQEgEkJ/hSAUIAQbIRIgFSARIAMbIREMAgsgAkECNgJ0IAJBnJfAADYCcCACQgE3AnwgAiABrUKAgICAIIQ3A1AgAiACQdAAajYCeCACQfAAakGsl8AAENIBIQEgAEEBNgIAIAAgATYCBAwCCyACQQI2AnQgAkHkl8AANgJwIAJCATcCfCACIAGtQoCAgIAghDcDUCACIAJB0ABqNgJ4IAAgAkHwAGpB9JfAABDSATYCBCAAQQE2AgAMAQsgAkECNgJ0IAJB5JfAADYCcCACQgE3AnwgAiABrUKAgICAIIQ3A1AgAiACQdAAajYCeCACQfAAakH0l8AAENIBIQEgACAQNwMgIAAgETcDGCAAIBI3AxAgACATNwMIIAIgATYCTCACQcwAahDtAiAAQQA2AgALIAJBkAFqJAALmAYCDn8GfiMAQZABayICJAAgAkGIAWoiAyABQRhqIgQpAwA3AwAgAkGAAWoiBSABQRBqIgYpAwA3AwAgAkH4AGoiByABQQhqIggpAwA3AwAgAiABKQMANwNwIAJBCGoiCiACQfAAaiIJEJ8BIAJB6ABqIgsgBCkDADcDACACQeAAaiIMIAYpAwA3AwAgAkHYAGoiDSAIKQMANwMAIAIgASkDADcDUCADQgA3AwAgBUIANwMAIAdCADcDACACQgA3A3AgAkL///////////8AQoCAgICAgICAgH8gAkHQAGoiDiAJEJwCQf8BcUH/AUciDxs3A0AgAkJ/QgAgDxsiEDcDOCACIBA3AzAgAiAQNwMoAkACQAJAIAogAkEoahCcAkH/AXFBAUcEQCALIAQpAwA3AwAgDCAGKQMANwMAIA0gCCkDADcDACACIAEpAwA3A1AgA0IANwMAIAVCADcDACAHQgA3AwAgAkIANwNwIA4gCRCcAiACKQMgIRAgAikDGCERIAIpAxAhEiACKQMIIRNB/wFxQf8BRwRAIBBCAFMNAgwDC0IAIBJ9IhRQQgAgE30iE0IAUiIEQX9zcSIDIBFCf4UiESADrXwiFSARVHGtIBBCf4V8IhBCAFkNASASQn+FIBQgBBshEiAVIBEgAxshEQwCCyACQQI2AnQgAkGk/cAANgJwIAJCATcCfCACIAGtQoCAgICACIQ3A1AgAiACQdAAajYCeCACQfAAakG0/cAAENIBIQEgAEEBNgIAIAAgATYCBAwCCyACQQI2AnQgAkHs/cAANgJwIAJCATcCfCACIAGtQoCAgICACIQ3A1AgAiACQdAAajYCeCAAIAJB8ABqQfz9wAAQ0gE2AgQgAEEBNgIADAELIAJBAjYCdCACQez9wAA2AnAgAkIBNwJ8IAIgAa1CgICAgIAIhDcDUCACIAJB0ABqNgJ4IAJB8ABqQfz9wAAQ0gEhASAAIBA3AyAgACARNwMYIAAgEjcDECAAIBM3AwggAiABNgJMIAJBzABqEO0CIABBADYCAAsgAkGQAWokAAvdBQEHfwJ/IAFFBEAgACgCHCEIQS0hCiAFQQFqDAELQStBgIDEACAAKAIcIghBAXEiARshCiABIAVqCyEGAkAgCEEEcUUEQEEAIQIMAQsCQCADQRBPBEAgAiADEKABIQEMAQsgA0UEQEEAIQEMAQsgA0EDcSEJAkAgA0EESQRAQQAhAQwBCyADQQxxIQxBACEBA0AgASACIAdqIgssAABBv39KaiALQQFqLAAAQb9/SmogC0ECaiwAAEG/f0pqIAtBA2osAABBv39KaiEBIAwgB0EEaiIHRw0ACwsgCUUNACACIAdqIQcDQCABIAcsAABBv39KaiEBIAdBAWohByAJQQFrIgkNAAsLIAEgBmohBgsCQAJAIAAoAgBFBEBBASEBIAAoAhQiBiAAKAIYIgAgCiACIAMQvQINAQwCCyAGIAAoAgQiB08EQEEBIQEgACgCFCIGIAAoAhgiACAKIAIgAxC9Ag0BDAILIAhBCHEEQCAAKAIQIQsgAEEwNgIQIAAtACAhDEEBIQEgAEEBOgAgIAAoAhQiCCAAKAIYIgkgCiACIAMQvQINASAHIAZrQQFqIQECQANAIAFBAWsiAUUNASAIQTAgCSgCEBEBAEUNAAtBAQ8LQQEhASAIIAQgBSAJKAIMEQMADQEgACAMOgAgIAAgCzYCEEEAIQEMAQsgByAGayEGAkACQAJAIAAtACAiAUEBaw4DAAEAAgsgBiEBQQAhBgwBCyAGQQF2IQEgBkEBakEBdiEGCyABQQFqIQEgACgCECEIIAAoAhghByAAKAIUIQACQANAIAFBAWsiAUUNASAAIAggBygCEBEBAEUNAAtBAQ8LQQEhASAAIAcgCiACIAMQvQINACAAIAQgBSAHKAIMEQMADQBBACEBA0AgASAGRgRAQQAPCyABQQFqIQEgACAIIAcoAhARAQBFDQALIAFBAWsgBkkPCyABDwsgBiAEIAUgACgCDBEDAAuJBgIFfwJ+IAIoAgAiBUETSwRAAkACfyAAQoCAhP6m3uERWgRAIAIgBUEQayIFNgIAIAEgBWoiAyAAIABCgICE/qbe4RGAIgBCgICE/qbe4RF+fSIIQoCA6YOx3haAp0EBdEGOx8EAai8AADsAACADQQxqIAhC5ACAIglC5ACCp0EBdEGOx8EAai8AADsAACADQQpqIAhCkM4AgELkAIKnQQF0QY7HwQBqLwAAOwAAIANBCGogCELAhD2AQuQAgqdBAXRBjsfBAGovAAA7AAAgA0EGaiAIQoDC1y+Ap0HkAHBBAXRBjsfBAGovAAA7AAAgA0EEaiAIQoDIr6AlgKdB5ABwQQF0QY7HwQBqLwAAOwAAIANBAmogCEKAoJSljR2Ap0H//wNxQeQAcEEBdEGOx8EAai8AADsAACAIIAlC5AB+fachBCADQQ5qDAELIABCgMLXL1QNASABIAVBCGsiBWoiBiAAIABCgMLXL4AiAEKAwtcvfn2nIgNBwIQ9bkEBdEGOx8EAai8AADsAACAGQQRqIANB5ABuIgRB5ABwQQF0QY7HwQBqLwAAOwAAIAZBAmogA0GQzgBuQf//A3FB5ABwQQF0QY7HwQBqLwAAOwAAIAMgBEHkAGxrIQQgBkEGagsgBEEBdEGOx8EAai8AADsAAAsCQCAApyIEQZDOAEkEQCAFIQMMAQsgASAFQQRrIgNqIAQgBEGQzgBuIgRBkM4AbGsiB0H//wNxQeQAbiIGQQF0QY7HwQBqLwAAOwAAIAEgBWpBAmsgByAGQeQAbGtB//8DcUEBdEGOx8EAai8AADsAAAsCQCAEQf//A3EiBUHkAEkEQCAEIQUMAQsgASADQQJrIgNqIAQgBUHkAG4iBUHkAGxrQf//A3FBAXRBjsfBAGovAAA7AAALIAVB//8DcSIGQQpPBEAgASADQQJrIgRqIAZBAXRBjsfBAGovAAA7AAAgAiAENgIADwsgASADQQFrIgRqIAVBMHI6AAAgAiAENgIADwtB1sjBAEEcQfTIwQAQugIAC/cFAgN/AX4jAEGgAWsiAyQAIAMgATYCECADQQhqIAEQuwIgAygCDCEBAkACQCAAAn8CQCADKAIIRQRAIANBFGogARClAiADQSBqIAMoAhgiBCADKAIcEM4BIAMtACANASAAIAMpAyg3AwggAEEgaiADQUBrKQMANwMAIABBGGogA0E4aikDADcDACAAQRBqIANBMGopAwA3AwBBAAwCCyADIAE2AlwgA0ECNgIkIANB1I7BADYCICADQgI3AiwgAyADQdwAaq1CgICAgNAMhDcDgAEgAyADQRBqrUKAgICA4AyENwN4IAMgA0H4AGoiATYCKCADQegAaiADQSBqIgQQ0wEgA0EANgKAASADQoCAgIAQNwJ4IANBAzoAQCADQSA2AjAgA0EANgI8IANB6IvBADYCOCADQQA2AiggA0EANgIgIAMgATYCNCACIAQQlQINAyADQdAAaiIBIANBgAFqKAIANgIAIAMgAykCeDcDSCADKQJsIQYgAygCaCECIAMoAlwiBEGEAU8EQCAEEAALIAAgBjcCDCAAIAI2AgggAEIBNwMAIAAgAykDSDcCFCAAQRxqIAEoAgA2AgAMAgsgAyADLQAhOgBbIANBAjYCfCADQayOwQA2AnggA0ICNwKEASADIANB2wBqrUKAgICA8AyENwNwIAMgA0EQaq1CgICAgOAMhDcDaCADIANB6ABqIgE2AoABIANB3ABqIANB+ABqIgUQ0wEgA0EANgJwIANCgICAgBA3AmggA0EDOgCYASADQSA2AogBIANBADYClAEgA0Hoi8EANgKQASADQQA2AoABIANBADYCeCADIAE2AowBIAIgBRCVAg0CIAAgAykCaDcCFCAAQRxqIANB8ABqKAIANgIAIABBEGogA0HkAGooAgA2AgAgACADKQJcNwIIIABBADYCBEEBCzYCACADKAIUIgBFDQAgBCAAEIsDCyADQaABaiQADwtBgIzBAEE3IANBnwFqQbiMwQBBlI3BABCXAgAL7ggCBn8GfiMAQaABayIDJAAgAyABNgIQIANBCGogARC7AiADKAIMIQECQAJAIAACfwJAIAMoAghFBEAgA0EUaiABEKUCIANBIGohBiADKAIYIgghBCADKAIcIQEjAEEwayIFJAACQCABRQRAQQAhAQwBCwJAAkACQAJAIAQtAABBK2sOAwAEAQQLIAFBAUYNASAELAABQb9/Sg0BIAQgAUEBIAFBxLDBABDwAgALQQEhByABQQFGDQEgBCwAAUG/f0oNASAEIAFBASABQdSwwQAQ8AIACyAEQQFqIQQgAUEBayEBDAELIARBAWohBCABQQFrIQELIAVBCGogBCABEM4BIAYCfwJAIAUtAAhFBEAgBSkDKCEJIAUpAyAhCiAFKQMYIQsgBSkDECEMAkAgB0UEQCAJQgBZDQEMAwtCACALfSINUEIAIAx9IgxCAFIiBEF/c3EiASAKQn+FIgogAa18Ig4gClRxrSAJQn+FfCIJQgBZDQIgC0J/hSANIAQbIQsgDiAKIAEbIQoLIAYgCTcDICAGIAo3AxggBiALNwMQIAYgDDcDCEEADAILIAYgBS0ACToAAUEBDAELIAZBAToAAUEBCzoAACAFQTBqJAAgAy0AIA0BIAAgAykDKDcDCCAAQSBqIANBQGspAwA3AwAgAEEYaiADQThqKQMANwMAIABBEGogA0EwaikDADcDAEEADAILIAMgATYCXCADQQI2AiQgA0HUjsEANgIgIANCAjcCLCADIANB3ABqrUKAgICA0AyENwOAASADIANBEGqtQoCAgIDgDIQ3A3ggAyADQfgAaiIBNgIoIANB6ABqIANBIGoiBBDTASADQQA2AoABIANCgICAgBA3AnggA0EDOgBAIANBIDYCMCADQQA2AjwgA0Hoi8EANgI4IANBADYCKCADQQA2AiAgAyABNgI0IAIgBBCVAg0DIANB0ABqIgEgA0GAAWooAgA2AgAgAyADKQJ4NwNIIAMpAmwhCSADKAJoIQIgAygCXCIEQYQBTwRAIAQQAAsgACAJNwIMIAAgAjYCCCAAQgE3AwAgACADKQNINwIUIABBHGogASgCADYCAAwCCyADIAMtACE6AFsgA0ECNgJ8IANB9I7BADYCeCADQgI3AoQBIAMgA0HbAGqtQoCAgICADYQ3A3AgAyADQRBqrUKAgICA4AyENwNoIAMgA0HoAGoiATYCgAEgA0HcAGogA0H4AGoiBBDTASADQQA2AnAgA0KAgICAEDcCaCADQQM6AJgBIANBIDYCiAEgA0EANgKUASADQeiLwQA2ApABIANBADYCgAEgA0EANgJ4IAMgATYCjAEgAiAEEJUCDQIgACADKQJoNwIUIABBHGogA0HwAGooAgA2AgAgAEEQaiADQeQAaigCADYCACAAIAMpAlw3AgggAEEANgIEQQELNgIAIAMoAhQiAEUNACAIIAAQiwMLIANBoAFqJAAPC0GAjMEAQTcgA0GfAWpBuIzBAEGUjcEAEJcCAAv/BQEFfyAAQQhrIgEgAEEEaygCACIDQXhxIgBqIQICQAJAAkACQCADQQFxDQAgA0ECcUUNASABKAIAIgMgAGohACABIANrIgFBkOTBACgCAEYEQCACKAIEQQNxQQNHDQFBiOTBACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADENgBCwJAAkAgAigCBCIDQQJxRQRAIAJBlOTBACgCAEYNAiACQZDkwQAoAgBGDQUgAiADQXhxIgIQ2AEgASAAIAJqIgBBAXI2AgQgACABaiAANgIAIAFBkOTBACgCAEcNAUGI5MEAIAA2AgAPCyACIANBfnE2AgQgASAAQQFyNgIEIAAgAWogADYCAAsgAEGAAkkNAiABIAAQ6gFBACEBQajkwQBBqOTBACgCAEEBayIANgIAIAANAUHw4cEAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQajkwQBB/x8gASABQf8fTRs2AgAPC0GU5MEAIAE2AgBBjOTBAEGM5MEAKAIAIABqIgA2AgAgASAAQQFyNgIEQZDkwQAoAgAgAUYEQEGI5MEAQQA2AgBBkOTBAEEANgIACyAAQaDkwQAoAgAiA00NAEGU5MEAKAIAIgJFDQBBACEBAkBBjOTBACgCACIEQSlJDQBB6OHBACEAA0AgAiAAKAIAIgVPBEAgBSAAKAIEaiACSw0CCyAAKAIIIgANAAsLQfDhwQAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtBqOTBAEH/HyABIAFB/x9NGzYCACADIARPDQBBoOTBAEF/NgIACw8LIABBeHFB+OHBAGohAgJ/QYDkwQAoAgAiA0EBIABBA3Z0IgBxRQRAQYDkwQAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtBkOTBACABNgIAQYjkwQBBiOTBACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjgEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI4BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ4BAkAgA0EIaiAJQSAQrgNFBEAgA0HoAGpB4JbAACkDADcDACADQeAAakHYlsAAKQMANwMAIANB2ABqQdCWwAApAwA3AwAgA0HIlsAAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMsBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJB2JXAABDwAgALIANB8ABqJAAL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjgEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI4BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ8BAkAgA0EIaiAJQSAQrgNFBEAgA0HoAGpB6PzAACkDADcDACADQeAAakHg/MAAKQMANwMAIANB2ABqQdj8wAApAwA3AwAgA0HQ/MAAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMwBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJB5PvAABDwAgALIANB8ABqJAALkQUCAX8JfiMAQYACayIFJAAgBSABIAMgBBC2ASAFQZABaiABQfgDaikDADcDACAFQYgBaiABQfADaikDADcDACAFQYABaiABQegDaikDADcDACAFQRI6AJgBIAUgASkD4AM3A3ggBUHIAWoiA0HYx8AAQQQQsAECQCAFKALIAUUEQCAFKQPoASELIAUpA+ABIQggBSkD2AEhBiAFKQPQASEMIAMgARCcAQJAIAUoAsgBRQRAIAUpA+ABIQkgBSkD2AEhBwJ+IAUpA9ABIg0gDFgEQCAGIAdUrSEKIAYgB30MAQsgBiAHVK0gBiAHUa18IQogBiAHQn+FfAshDiAFKQPoASEHIAggCX0hBgJAIApQBEAgCCAJVK0hCAwBCyAGIApUrSAIIAlUrXwhCCAGIAp9IQYLIAsgB30hCQJAIAhQBEAgByALWA0BDAULIAcgC1YgCCAJVnINBCAJIAh9IQkLIAVBEjoAwAEgBSAJNwO4ASAFIAY3A7ABIAUgDjcDqAEgBSAMIA19NwOgASAFQdAAaiIDIAVB+ABqIAVBoAFqEMYBIAVBKGoiBCADIAIQxgEgBUHgAWogAUHYAWopAwA3AwAgBUHYAWogAUHQAWopAwA3AwAgBUHQAWogAUHIAWopAwA3AwAgBUESOgDoASAFIAEpA8ABNwPIASAAQQhqIAQgBSAFQcgBahB0IABBADYCAAwBCyAFKALMASEBIABBATYCACAAIAE2AgQLIAVBgAJqJAAPCyAFIAUoAswBNgL8AUHtxMAAQSsgBUH8AWpBmMXAAEHsyMAAEJcCAAsgBUEANgLYASAFQQE2AswBIAVB5MTAADYCyAEgBUIENwLQASAFQcgBakG0xMAAEMUCAAuRBQIBfwl+IwBBgAJrIgUkACAFIAEgAyAEELYBIAVBkAFqIAFB+ANqKQMANwMAIAVBiAFqIAFB8ANqKQMANwMAIAVBgAFqIAFB6ANqKQMANwMAIAVBEjoAmAEgBSABKQPgAzcDeCAFQcgBaiIDQdjHwABBBBCwAQJAIAUoAsgBRQRAIAUpA+gBIQsgBSkD4AEhCCAFKQPYASEGIAUpA9ABIQwgAyABEJwBAkAgBSgCyAFFBEAgBSkD4AEhCSAFKQPYASEHAn4gBSkD0AEiDSAMWARAIAYgB1StIQogBiAHfQwBCyAGIAdUrSAGIAdRrXwhCiAGIAdCf4V8CyEOIAUpA+gBIQcgCCAJfSEGAkAgClAEQCAIIAlUrSEIDAELIAYgClStIAggCVStfCEIIAYgCn0hBgsgCyAHfSEJAkAgCFAEQCAHIAtYDQEMBQsgByALViAIIAlWcg0EIAkgCH0hCQsgBUESOgDAASAFIAk3A7gBIAUgBjcDsAEgBSAONwOoASAFIAwgDX03A6ABIAVB0ABqIgMgBUH4AGogBUGgAWoQxgEgBUEoaiIEIAMgAhDGASAFQeABaiABQdgBaikDADcDACAFQdgBaiABQdABaikDADcDACAFQdABaiABQcgBaikDADcDACAFQRI6AOgBIAUgASkDwAE3A8gBIABBCGogBCAFIAVByAFqEHQgAEEANgIADAELIAUoAswBIQEgAEEBNgIAIAAgATYCBAsgBUGAAmokAA8LIAUgBSgCzAE2AvwBQe3EwABBKyAFQfwBakGYxcAAQdzewAAQlwIACyAFQQA2AtgBIAVBATYCzAEgBUHkxMAANgLIASAFQgQ3AtABIAVByAFqQbTEwAAQxQIAC+4EAQp/IwBBMGsiAyQAIANBAzoALCADQSA2AhwgA0EANgIoIAMgATYCJCADIAA2AiAgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACKAIMIgBFDQEgAigCCCEBIABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAiAgACgCACAEIAMoAiQoAgwRAwANBAsgASgCACADQQxqIAEoAgQRAQANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACKAIUIgBFDQAgAEEFdCELIABBAWtB////P3FBAWohByACKAIIIQggAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBEDAA0DCyADIAUgCmoiAUEQaigCADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhBEEAIQlBACEGAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBEEDdCAIaiIMKAIEDQEgDCgCACEEC0EBIQYLIAMgBDYCECADIAY2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsgBEEDdCAIaiIGKAIEDQEgBigCACEEC0EBIQkLIAMgBDYCGCADIAk2AhQgCCABQRRqKAIAQQN0aiIBKAIAIANBDGogASgCBBEBAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAcgAigCBE8NASADKAIgIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiQoAgwRAwBFDQELQQEMAQtBAAsgA0EwaiQAC/0EAgZ/AX4jAEGwAWsiAiQAIAJBATYCfCACQYz+wAA2AnggAkIBNwKEASACIAGtQoCAgIDQCIQ3A1AgAiACQdAAajYCgAEgAkEUaiACQfgAahDTAQJAIAACfyABKQMYIghCAFkEQCAAQRI6ACggACAINwMgIAAgASkDADcDCCAAQRhqIAFBEGopAwA3AwAgAEEQaiABQQhqKQMANwMAIAIoAhQiAQRAIAIoAhggARCLAwtBAAwBCyACQfAAakHw/MAAKQMANwMAIAJB6ABqQej8wAApAwA3AwAgAkHgAGpB4PzAACkDADcDACACQdgAakHY/MAAKQMANwMAIAJB0PzAACkDADcDUCACQZgBakG4/8AAKQMANwMAIAJBkAFqQbD/wAApAwA3AwAgAkGIAWpBqP/AACkDADcDACACQYABaiIDQaD/wAApAwA3AwAgAkGY/8AAKQMANwN4IAJCgICAgJAIIgggAkH4AGqthDcDSCACIAggAkHQAGqthDcDQCACIAJBFGqtQoCAgIDACIQ3AzggAkEANgIwIAJBBDYCJCACQfj+wAA2AiAgAkEDNgIsIAIgAkE4ajYCKCACQaQBaiIBIAJBIGoQ0wEgAkEIaiABQbyGwQBBwP/AABCmAiACKAIMIQQgAigCCCEFIAMgAkGsAWooAgA2AgBBmeDBAC0AABogAiACKQKkATcDeEEYQQQQ9wIiAUUNASABIAU2AgQgAUGkh8EANgIAIAEgAikDeDcCDCABIAQ2AgggAUEUaiADKAIANgIAIAAgATYCBCACKAIUIgEEQCACKAIYIAEQiwMLQQELNgIAIAJBsAFqJAAPC0EEQRgQqAMAC/0EAgZ/AX4jAEGwAWsiAiQAIAJBATYCfCACQYigwQA2AnggAkIBNwKEASACIAGtQoCAgIDQCIQ3A1AgAiACQdAAajYCgAEgAkEUaiACQfgAahDTAQJAIAACfyABKQMYIghCAFkEQCAAQRI6ACggACAINwMgIAAgASkDADcDCCAAQRhqIAFBEGopAwA3AwAgAEEQaiABQQhqKQMANwMAIAIoAhQiAQRAIAIoAhggARCLAwtBAAwBCyACQfAAakG4osEAKQMANwMAIAJB6ABqQbCiwQApAwA3AwAgAkHgAGpBqKLBACkDADcDACACQdgAakGgosEAKQMANwMAIAJBmKLBACkDADcDUCACQZgBakHgosEAKQMANwMAIAJBkAFqQdiiwQApAwA3AwAgAkGIAWpB0KLBACkDADcDACACQYABaiIDQciiwQApAwA3AwAgAkHAosEAKQMANwN4IAJCgICAgLAPIgggAkH4AGqthDcDSCACIAggAkHQAGqthDcDQCACIAJBFGqtQoCAgICgD4Q3AzggAkEANgIwIAJBBDYCJCACQfSgwQA2AiAgAkEDNgIsIAIgAkE4ajYCKCACQaQBaiIBIAJBIGoQ0wEgAkEIaiABQZykwQBBhKLBABCmAiACKAIMIQQgAigCCCEFIAMgAkGsAWooAgA2AgBBmeDBAC0AABogAiACKQKkATcDeEEYQQQQ9wIiAUUNASABIAU2AgQgAUGEpcEANgIAIAEgAikDeDcCDCABIAQ2AgggAUEUaiADKAIANgIAIAAgATYCBCACKAIUIgEEQCACKAIYIAEQiwMLQQELNgIAIAJBsAFqJAAPC0EEQRgQqAMAC7wEAgJ/CX4jAEGAAWsiBCQAIARBCGoiBSABIAMQ2wECQAJAAkAgAiAFEJwCQf8BcUEBRwRAIARB0ABqQezEwABBARCwASAEKAJQDQIgACAEKQNYNwMAIABBIGogBEH4AGopAwA3AwAgAEEYaiAEQfAAaikDADcDACAAQRBqIARB6ABqKQMANwMAIABBCGogBEHgAGopAwA3AwAMAQsgAikDECEIIAIpAwghBiAEKQMYIQkgBCkDECEHAn4gAikDACIMIAQpAwgiDVoEQCAGIAdUrSEKIAYgB30MAQsgBiAHVK0gBiAHUa18IQogBiAHQn+FfAshDiACKQMYIQYgBCkDICEHIAggCX0hCwJAIApQBEAgCCAJVK0hCAwBCyAKIAtWrSAIIAlUrXwhCCALIAp9IQsLIAYgB30hCQJAIAhQBEAgBiAHWg0BDAQLIAYgB1QgCCAJVnINAyAJIAh9IQkLIARBEjoASCAEIAk3A0AgBCALNwM4IAQgDjcDMCAEIAwgDX03AyggBEHoAGogAUGYBmopAwA3AwAgBEHgAGogAUGQBmopAwA3AwAgBEHYAGogAUGIBmopAwA3AwAgBEESOgBwIAQgASkDgAY3A1AgACAEQShqIARB0ABqEMQBCyAEQYABaiQADwsgBCAEKAJUNgIoQe3EwABBKyAEQShqQZjFwABB5PrAABCXAgALIARBADYCYCAEQQE2AlQgBEHkxMAANgJQIARCBDcCWCAEQdAAakG0xMAAEMUCAAuRBAELfyABQQFrIQ0gACgCBCEKIAAoAgAhCyAAKAIIIQwDQAJAAkAgAiADSQ0AA0AgASADaiEFAkACQCACIANrIgdBCE8EQAJAIAVBA2pBfHEiBiAFayIEBEBBACEAA0AgACAFai0AAEEKRg0FIAQgAEEBaiIARw0ACyAEIAdBCGsiAE0NAQwDCyAHQQhrIQALA0AgBkEEaigCACIJQYqUqNAAc0GBgoQIayAJQX9zcSAGKAIAIglBipSo0ABzQYGChAhrIAlBf3NxckGAgYKEeHENAiAGQQhqIQYgBEEIaiIEIABNDQALDAELIAIgA0YEQCACIQMMBAtBACEAA0AgACAFai0AAEEKRg0CIAcgAEEBaiIARw0ACyACIQMMAwsgBCAHRgRAIAIhAwwDCwNAIAQgBWotAABBCkYEQCAEIQAMAgsgByAEQQFqIgRHDQALIAIhAwwCCyAAIANqIgZBAWohAwJAIAIgBk0NACAAIAVqLQAAQQpHDQBBACEFIAMhBiADIQAMAwsgAiADTw0ACwtBASEFIAIiACAIIgZHDQBBAA8LAkAgDC0AAEUNACALQczGwQBBBCAKKAIMEQMARQ0AQQEPC0EAIQQgACAIRwRAIAAgDWotAABBCkYhBAsgACAIayEAIAEgCGohByAMIAQ6AAAgBiEIIAsgByAAIAooAgwRAwAiACAFckUNAAsgAAuzBAEEfyMAQZABayIDJAAgA0GAAWogAUEYaikDADcDACADQfgAaiABQRBqKQMANwMAIANB8ABqIAFBCGopAwA3AwAgA0EBNgIkIANByJTAADYCICADQgE3AiwgAyADQegAaiIFrUKAgICAwACENwNYIAMgASkDADcDaCADIANB2ABqNgIoIANBFGogA0EgahDTASADIAMoAhggAygCHBABIgQ2AmggA0EIaiAFEMQCIAMoAgwhASADKAIIIQUgBEGEAU8EQCAEEAALAkACQCAFRQRAIABBAjYCACAAIAE2AgQMAQsgA0EBNgJsIANB4JTAADYCaCADQgE3AnQgAyADQRRqrUKAgICA0ACENwMgIAMgA0EgaiIENgJwIANB2ABqIANB6ABqIgUQ0wEgA0EANgIoIANCgICAgBA3AiAgA0EDOgCIASADQSA2AnggA0EANgKEASADQdCawAA2AoABIANBADYCcCADQQA2AmggAyAENgJ8IAIgBRCVAg0BIANBQGsiAiADQShqKAIANgIAIANB0ABqIgQgA0HgAGooAgA2AgAgAyADKQIgNwM4IAMgAykCWDcDSCABQYQBTwRAIAEQAAsgAEEANgIAIAAgAykDSDcCBCAAIAMpAzg3AhAgAEEMaiAEKAIANgIAIABBGGogAigCADYCAAsgAygCFCIABEAgAygCGCAAEIsDCyADQZABaiQADwtB6JrAAEE3IANByABqQaCbwABB/JvAABCXAgALugQCA38JfiMAQbABayIFJAAgBUEIaiABIAMgBBC2ASAFQYABakHYx8AAQQQQsAECQCAFKAKAAUUEQCAFKQOYASEKIAUpA5ABIQggBSkDGCELIAUpAxAhCQJ+IAUpA4gBIg4gBSkDCCIPWgRAIAggCVStIQwgCCAJfQwBCyAIIAlUrSAIIAlRrXwhDCAIIAlCf4V8CyEQIAUpA6ABIQggBSkDICEJIAogC30hDQJAIAxQBEAgCiALVK0hCgwBCyAMIA1WrSAKIAtUrXwhCiANIAx9IQ0LIAggCX0hCwJAIApQBEAgCCAJWg0BDAMLIAggCVQgCiALVnINAiALIAp9IQsLIAVBEjoAeCAFIAs3A3AgBSANNwNoIAUgEDcDYCAFIA4gD303A1ggBUGYAWoiBiABQdgBaikDADcDACAFQZABaiIEIAFB0AFqKQMANwMAIAVBiAFqIgMgAUHIAWopAwA3AwAgBUESOgCgASAFIAEpA8ABNwOAASAFQTBqIgcgAiAFQdgAaiAFQYABaiICEHQgBiABQZgEaikDADcDACAEIAFBkARqKQMANwMAIAMgAUGIBGopAwA3AwAgBUESOgCgASAFIAEpA4AENwOAASAAIAcgAhDGASAFQbABaiQADwsgBSAFKAKEATYCWEHtxMAAQSsgBUHYAGpBmMXAAEH8yMAAEJcCAAsgBUEANgKQASAFQQE2AoQBIAVB5MTAADYCgAEgBUIENwKIASAFQYABakG0xMAAEMUCAAu6BAIDfwl+IwBBsAFrIgUkACAFQQhqIAEgAyAEELYBIAVBgAFqQdjHwABBBBCwAQJAIAUoAoABRQRAIAUpA5gBIQogBSkDkAEhCCAFKQMYIQsgBSkDECEJAn4gBSkDiAEiDiAFKQMIIg9aBEAgCCAJVK0hDCAIIAl9DAELIAggCVStIAggCVGtfCEMIAggCUJ/hXwLIRAgBSkDoAEhCCAFKQMgIQkgCiALfSENAkAgDFAEQCAKIAtUrSEKDAELIAwgDVatIAogC1StfCEKIA0gDH0hDQsgCCAJfSELAkAgClAEQCAIIAlaDQEMAwsgCCAJVCAKIAtWcg0CIAsgCn0hCwsgBUESOgB4IAUgCzcDcCAFIA03A2ggBSAQNwNgIAUgDiAPfTcDWCAFQZgBaiIGIAFB2AFqKQMANwMAIAVBkAFqIgQgAUHQAWopAwA3AwAgBUGIAWoiAyABQcgBaikDADcDACAFQRI6AKABIAUgASkDwAE3A4ABIAVBMGoiByACIAVB2ABqIAVBgAFqIgIQdCAGIAFBmARqKQMANwMAIAQgAUGQBGopAwA3AwAgAyABQYgEaikDADcDACAFQRI6AKABIAUgASkDgAQ3A4ABIAAgByACEMYBIAVBsAFqJAAPCyAFIAUoAoQBNgJYQe3EwABBKyAFQdgAakGYxcAAQezewAAQlwIACyAFQQA2ApABIAVBATYChAEgBUHkxMAANgKAASAFQgQ3AogBIAVBgAFqQbTEwAAQxQIAC6IEAQR/IwBBgAFrIgMkACADQQA2AlAgA0KAgICAEDcCSCADQQM6AHggA0EgNgJoIANBADYCdCADQeyJwQA2AnAgA0EANgJgIANBADYCWCADIANByABqNgJsIAEgA0HYAGoiBRDuAUUEQAJAIANBGGogA0HQAGooAgAiATYCACADIAMpAkg3AxAgAyADKAIUIAEQASIENgJYIANBCGogBRDEAiADKAIMIQEgAygCCCEFIARBhAFPBEAgBBAACwJAIAVFBEAgAEECNgIAIAAgATYCBAwBCyADQQE2AlwgA0HAi8EANgJYIANCATcCZCADIANBEGqtQoCAgIDQC4Q3A0ggAyADQcgAaiIENgJgIANBPGogA0HYAGoiBRDTASADQQA2AlAgA0KAgICAEDcCSCADQQM6AHggA0EgNgJoIANBADYCdCADQeyJwQA2AnAgA0EANgJgIANBADYCWCADIAQ2AmwgAiAFEJUCDQEgA0EoaiICIANB0ABqKAIANgIAIANBOGoiBCADQcQAaigCADYCACADIAMpAkg3AyAgAyADKQI8NwMwIAFBhAFPBEAgARAACyAAQQA2AgAgACADKQMwNwIEIAAgAykDIDcCECAAQQxqIAQoAgA2AgAgAEEYaiACKAIANgIACyADKAIQIgAEQCADKAIUIAAQiwMLIANBgAFqJAAPCwtBhIrBAEE3IANB/wBqQbyKwQBBmIvBABCXAgAL6WECHX8DfiMAQZAVayIKJAAgCiACNgIEIAogATYCACAKKAIAIgQQOSEGIAQQOiEFIAQQOyEDIAQQPCEHIAQQPSEIIAQQPiELIAQQPyENIAQQQCEMIAQQQSEPIAQQQiEQIAQQQyEOIAQQRCESIAQQRSETIAQQRiERIApB4AtqIgkgBBBHNgI4IAkgETYCNCAJIBM2AjAgCSASNgIsIAkgDjYCKCAJIBA2AiQgCSAPNgIgIAkgDDYCHCAJIA02AhggCSALNgIUIAkgCDYCECAJIAc2AgwgCSADNgIIIAkgBTYCBCAJIAY2AgAgCkH4D2ohBiMAQeAIayIEJAAgBEG4CGoiBSAJQQxqIgtB2KbAABCsAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCgCuAhFBEAgBEH8A2ogBEHYCGoiAykDADcCACAEQfQDaiAEQdAIaiIHKQMANwIAIARB7ANqIARByAhqIggpAwA3AgAgBCAEKQPACDcC5AMgBSAJQRBqQeimwAAQrQEgBCgCuAgNASAEQaQEaiADKQMANwIAIARBnARqIAcpAwA3AgAgBEGUBGogCCkDADcCACAEIAQpA8AINwKMBCAFIAlBCGpB+KbAABCsASAEKAK4CA0CIARBzARqIAMpAwA3AgAgBEHEBGogBykDADcCACAEQbwEaiAIKQMANwIAIAQgBCkDwAg3ArQEIAUgCUGIp8AAEKwBIAQoArgIDQMgBEH0BGogAykDADcCACAEQewEaiAHKQMANwIAIARB5ARqIAgpAwA3AgAgBCAEKQPACDcC3AQgBSAJQRRqQZinwAAQrAEgBCgCuAgNBCAEQZwFaiADKQMANwIAIARBlAVqIAcpAwA3AgAgBEGMBWogCCkDADcCACAEIAQpA8AINwKEBSAFIAlBHGpBqKfAABCsASAEKAK4CA0FIARBxAVqIAMpAwA3AgAgBEG8BWogBykDADcCACAEQbQFaiAIKQMANwIAIAQgBCkDwAg3AqwFIAUgCUEgakG4p8AAEKwBIAQoArgIDQYgBEHsBWogAykDADcCACAEQeQFaiAHKQMANwIAIARB3AVqIAgpAwA3AgAgBCAEKQPACDcC1AUgBSAJQSRqQcinwAAQrAEgBCgCuAgNByAEQZQGaiADKQMANwIAIARBjAZqIAcpAwA3AgAgBEGEBmogCCkDADcCACAEIAQpA8AINwL8BSAFIAlBKGpB2KfAABCsASAEKAK4CA0IIARBvAZqIAMpAwA3AgAgBEG0BmogBykDADcCACAEQawGaiAIKQMANwIAIAQgBCkDwAg3AqQGIAUgCUEsakHop8AAEKwBIAQoArgIDQkgBEHkBmogAykDADcCACAEQdwGaiAHKQMANwIAIARB1AZqIAgpAwA3AgAgBCAEKQPACDcCzAYgBSAJQTBqQfinwAAQrAEgBCgCuAgNCiAEQYwHaiADKQMANwIAIARBhAdqIAcpAwA3AgAgBEH8BmogCCkDADcCACAEIAQpA8AINwL0BiAFIAlBBGpBiKjAABCsASAEKAK4CA0LIARBtAdqIAMpAwA3AgAgBEGsB2ogBykDADcCACAEQaQHaiAIKQMANwIAIAQgBCkDwAg3ApwHIAUgCUEYakGYqMAAEKwBIAQoArgIDQwgBEHcB2ogAykDADcCACAEQdQHaiAHKQMANwIAIARBzAdqIAgpAwA3AgAgBCAEKQPACDcCxAcgBSAJQTRqQaiowAAQrAEgBCgCuAgNDSAEQYQIaiADKQMANwIAIARB/AdqIAcpAwA3AgAgBEH0B2ogCCkDADcCACAEIAQpA8AINwLsByAFIAlBOGpBuKjAABCsASAEKAK4CEUEQCAEQawIaiADKQMAIiA3AgAgBEGkCGogBykDACIhNwIAIARBnAhqIAgpAwAiIjcCACAEQegAaiAiNwMAIARB8ABqICE3AwAgBEH4AGogIDcDACAEIAQpA8AIIiA3ApQIIARBCGogBEHgA2pBBHIiBUEIaikCADcDACAEQRBqIAVBEGopAgA3AwAgBEEYaiAFQRhqKQIANwMAIAQgIDcDYCAEIAUpAgA3AwAgBEE4aiAEQYgEakEEciIFQRhqKQIANwMAIARBMGogBUEQaikCADcDACAEQShqIAVBCGopAgA3AwAgBCAFKQIANwMgIARB2ABqIARB6AdqQQRyIgVBGGopAgA3AwAgBEHQAGogBUEQaikCADcDACAEQcgAaiAFQQhqKQIANwMAIAQgBSkCADcDQCAEQZgBaiAEQbAEakEEciIFQRhqKQIANwMAIARBkAFqIAVBEGopAgA3AwAgBEGIAWogBUEIaikCADcDACAEIAUpAgA3A4ABIARBuAFqIARB2ARqQQRyIgVBGGopAgA3AwAgBEGwAWogBUEQaikCADcDACAEQagBaiAFQQhqKQIANwMAIAQgBSkCADcDoAEgBEHYAWogBEGABWpBBHIiBUEYaikCADcDACAEQdABaiAFQRBqKQIANwMAIARByAFqIAVBCGopAgA3AwAgBCAFKQIANwPAASAEQfgBaiAEQagFakEEciIFQRhqKQIANwMAIARB8AFqIAVBEGopAgA3AwAgBEHoAWogBUEIaikCADcDACAEIAUpAgA3A+ABIARBmAJqIARB0AVqQQRyIgVBGGopAgA3AwAgBEGQAmogBUEQaikCADcDACAEQYgCaiAFQQhqKQIANwMAIAQgBSkCADcDgAIgBEG4AmogBEH4BWpBBHIiBUEYaikCADcDACAEQbACaiAFQRBqKQIANwMAIARBqAJqIAVBCGopAgA3AwAgBCAFKQIANwOgAiAEQdgCaiAEQaAGakEEciIFQRhqKQIANwMAIARB0AJqIAVBEGopAgA3AwAgBEHIAmogBUEIaikCADcDACAEIAUpAgA3A8ACIARB+AJqIARByAZqQQRyIgVBGGopAgA3AwAgBEHwAmogBUEQaikCADcDACAEQegCaiAFQQhqKQIANwMAIAQgBSkCADcD4AIgBEGYA2ogBEHwBmpBBHIiBUEYaikCADcDACAEQZADaiAFQRBqKQIANwMAIARBiANqIAVBCGopAgA3AwAgBCAFKQIANwOAAyAEQbgDaiAEQZgHakEEciIFQRhqKQIANwMAIARBsANqIAVBEGopAgA3AwAgBEGoA2ogBUEIaikCADcDACAEIAUpAgA3A6ADIARB2ANqIARBwAdqQQRyIgVBGGopAgA3AwAgBEHQA2ogBUEQaikCADcDACAEQcgDaiAFQQhqKQIANwMAIAQgBSkCADcDwAMgBkEIaiAEQeADEKwDGiAGQQA2AgAMDwsgBEGoCGogBEHUCGooAgAiBTYCACAEQaAIaiAEQcwIaikCACIgNwMAIARBmAhqIARBxAhqKQIAIiE3AwAgBCAEKQK8CCIiNwOQCCAGQRxqIAU2AgAgBkEUaiAgNwIAIAZBDGogITcCACAGICI3AgQgBkEBNgIADA4LIARB+ANqIARB1AhqKAIAIgU2AgAgBEHwA2ogBEHMCGopAgAiIDcDACAEQegDaiAEQcQIaikCACIhNwMAIAQgBCkCvAgiIjcD4AMgBkEcaiAFNgIAIAZBFGogIDcCACAGQQxqICE3AgAgBiAiNwIEIAZBATYCAAwNCyAEQaAEaiAEQdQIaigCACIFNgIAIARBmARqIARBzAhqKQIAIiA3AwAgBEGQBGogBEHECGopAgAiITcDACAEIAQpArwIIiI3A4gEIAZBHGogBTYCACAGQRRqICA3AgAgBkEMaiAhNwIAIAYgIjcCBCAGQQE2AgAMDAsgBEHIBGogBEHUCGooAgAiBTYCACAEQcAEaiAEQcwIaikCACIgNwMAIARBuARqIARBxAhqKQIAIiE3AwAgBCAEKQK8CCIiNwOwBCAGQRxqIAU2AgAgBkEUaiAgNwIAIAZBDGogITcCACAGICI3AgQgBkEBNgIADAsLIARB8ARqIARB1AhqKAIAIgU2AgAgBEHoBGogBEHMCGopAgAiIDcDACAEQeAEaiAEQcQIaikCACIhNwMAIAQgBCkCvAgiIjcD2AQgBkEcaiAFNgIAIAZBFGogIDcCACAGQQxqICE3AgAgBiAiNwIEIAZBATYCAAwKCyAEQZgFaiAEQdQIaigCACIFNgIAIARBkAVqIARBzAhqKQIAIiA3AwAgBEGIBWogBEHECGopAgAiITcDACAEIAQpArwIIiI3A4AFIAZBHGogBTYCACAGQRRqICA3AgAgBkEMaiAhNwIAIAYgIjcCBCAGQQE2AgAMCQsgBEHABWogBEHUCGooAgAiBTYCACAEQbgFaiAEQcwIaikCACIgNwMAIARBsAVqIARBxAhqKQIAIiE3AwAgBCAEKQK8CCIiNwOoBSAGQRxqIAU2AgAgBkEUaiAgNwIAIAZBDGogITcCACAGICI3AgQgBkEBNgIADAgLIARB6AVqIARB1AhqKAIAIgU2AgAgBEHgBWogBEHMCGopAgAiIDcDACAEQdgFaiAEQcQIaikCACIhNwMAIAQgBCkCvAgiIjcD0AUgBkEcaiAFNgIAIAZBFGogIDcCACAGQQxqICE3AgAgBiAiNwIEIAZBATYCAAwHCyAEQZAGaiAEQdQIaigCACIFNgIAIARBiAZqIARBzAhqKQIAIiA3AwAgBEGABmogBEHECGopAgAiITcDACAEIAQpArwIIiI3A/gFIAZBHGogBTYCACAGQRRqICA3AgAgBkEMaiAhNwIAIAYgIjcCBCAGQQE2AgAMBgsgBEG4BmogBEHUCGooAgAiBTYCACAEQbAGaiAEQcwIaikCACIgNwMAIARBqAZqIARBxAhqKQIAIiE3AwAgBCAEKQK8CCIiNwOgBiAGQRxqIAU2AgAgBkEUaiAgNwIAIAZBDGogITcCACAGICI3AgQgBkEBNgIADAULIARB4AZqIARB1AhqKAIAIgU2AgAgBEHYBmogBEHMCGopAgAiIDcDACAEQdAGaiAEQcQIaikCACIhNwMAIAQgBCkCvAgiIjcDyAYgBkEcaiAFNgIAIAZBFGogIDcCACAGQQxqICE3AgAgBiAiNwIEIAZBATYCAAwECyAEQYgHaiAEQdQIaigCACIFNgIAIARBgAdqIARBzAhqKQIAIiA3AwAgBEH4BmogBEHECGopAgAiITcDACAEIAQpArwIIiI3A/AGIAZBHGogBTYCACAGQRRqICA3AgAgBkEMaiAhNwIAIAYgIjcCBCAGQQE2AgAMAwsgBEGwB2ogBEHUCGooAgAiBTYCACAEQagHaiAEQcwIaikCACIgNwMAIARBoAdqIARBxAhqKQIAIiE3AwAgBCAEKQK8CCIiNwOYByAGQRxqIAU2AgAgBkEUaiAgNwIAIAZBDGogITcCACAGICI3AgQgBkEBNgIADAILIARB2AdqIARB1AhqKAIAIgU2AgAgBEHQB2ogBEHMCGopAgAiIDcDACAEQcgHaiAEQcQIaikCACIhNwMAIAQgBCkCvAgiIjcDwAcgBkEcaiAFNgIAIAZBFGogIDcCACAGQQxqICE3AgAgBiAiNwIEIAZBATYCAAwBCyAEQYAIaiAEQdQIaigCACIFNgIAIARB+AdqIARBzAhqKQIAIiA3AwAgBEHwB2ogBEHECGopAgAiITcDACAEIAQpArwIIiI3A+gHIAZBHGogBTYCACAGQRRqICA3AgAgBkEMaiAhNwIAIAYgIjcCBCAGQQE2AgALIAkoAgAiBUGEAU8EQCAFEAALIAkoAgQiBUGEAU8EQCAFEAALIAkoAggiBUGEAU8EQCAFEAALIAsoAgAiBUGEAU8EQCAFEAALIAkoAhAiBUGEAU8EQCAFEAALIAkoAhQiBUGEAU8EQCAFEAALIAkoAhgiBUGEAU8EQCAFEAALIAkoAhwiBUGEAU8EQCAFEAALIAkoAiAiBUGEAU8EQCAFEAALIAkoAiQiBUGEAU8EQCAFEAALIAkoAigiBUGEAU8EQCAFEAALIAkoAiwiBUGEAU8EQCAFEAALIAkoAjAiBUGEAU8EQCAFEAALIAkoAjQiBUGEAU8EQCAFEAALIAkoAjgiBUGEAU8EQCAFEAALIARB4AhqJAACQAJAAkAgCigC+A9FBEAgCkH4B2pBBHIgCkGAEGoiEkHgAxCsAyETIwBBQGoiASQAIApBBGooAgAiAhApIQ8gAhAqIRAgAhArIQ4gAhAsIREgAhAtIRQgAhAuIRUgAhAvIRYgAhAwIRcgAUE4aiACEDEgASgCOCEYIAEoAjwhBSABQTBqIAIQMiABKAIwIRkgASgCNCEDIAFBKGogAhAzIAEoAighGiABKAIsIQcgAUEgaiACEDQgASgCICEbIAEoAiQhCCABQRhqIAIQNSABKAIYIRwgASgCHCELIAFBEGogAhA2IAEoAhAhHSABKAIUIQ0gAUEIaiACEDcgASgCCCEeIAEoAgwhDCABIAIQOCABKAIAIR8gASgCBCECIApBkBRqIgQgFzYCfCAEIBY2AnggBCAVNgJ0IAQgFDYCcCAEIBE2AmwgBCAONgJoIAQgEDYCZCAEIA82AmAgBCACNgJcIAQgHzYCWCAEIAI2AlQgBCAMNgJQIAQgHjYCTCAEIAw2AkggBCANNgJEIAQgHTYCQCAEIA02AjwgBCALNgI4IAQgHDYCNCAEIAs2AjAgBCAINgIsIAQgGzYCKCAEIAg2AiQgBCAHNgIgIAQgGjYCHCAEIAc2AhggBCADNgIUIAQgGTYCECAEIAM2AgwgBCAFNgIIIAQgGDYCBCAEIAU2AgAgAUFAayQAIAYhAkEAIQwjAEGgDGsiAyQAIANB0AVqIgEgBEEwaiIRQciowAAQ1QEgA0GYBGoiByADQdwFaiIGKQIANwMAIANBoARqIgggA0HkBWoiBSgCADYCACADIAMpAtQFNwOQBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygC0AUiC0ECRgRAIANBsARqIAcpAwA3AwAgA0G4BGogCCgCADYCACADIAMpA5AENwOoBCABIARBGGpB2KjAABDVASADQcgEaiIHIAYpAgA3AwAgA0HQBGoiCCAFKAIANgIAIAMgAykC1AU3A8AEIAMoAtAFIgtBAkcNAiADQeAEaiAHKQMANwMAIANB6ARqIAgoAgA2AgAgAyADKQPABDcD2AQgASAEQSRqQeiowAAQ1QEgA0H4BGoiByAGKQIANwMAIANBgAVqIgggBSgCADYCACADIAMpAtQFNwPwBCADKALQBSILQQJHDQMgA0GQBWogBykDADcDACADQZgFaiAIKAIANgIAIAMgAykD8AQ3A4gFIAEgBEEMakH4qMAAENUBIANBqAVqIgEgBikCADcDACADQbAFaiIGIAUoAgA2AgAgAyADKQLUBTcDoAUgAygC0AUiBUECRw0EIANBwAVqIAEpAwA3AwAgA0HIBWogBigCADYCACADIAMpA6AFNwO4BSADIAQoAnwQGzYC9AYgA0H4C2oiASADQfQGakGIqcAAEKwBIAMoAvgLDQUgA0HsBmogA0GYDGoiBikDADcCACADQeQGaiADQZAMaiIFKQMANwIAIANB3AZqIANBiAxqIgcpAwA3AgAgAyADKQOADDcC1AYgAyAEKAJ8EBw2ApwHIAEgA0GcB2pBmKnAABCsASADKAL4Cw0GIANBlAdqIAYpAwA3AgAgA0GMB2ogBSkDADcCACADQYQHaiAHKQMANwIAIAMgAykDgAw3AvwGIAMgBCgCfBAdNgLEByABIANBxAdqQaipwAAQrAEgAygC+AsNByADQbwHaiAGKQMANwIAIANBtAdqIAUpAwA3AgAgA0GsB2ogBykDADcCACADIAMpA4AMNwKkByADIAQoAnwQHjYC7AcgASADQewHakG4qcAAEKwBIAMoAvgLDQggA0HkB2ogBikDACIgNwIAIANB3AdqIAUpAwAiITcCACADQdQHaiAHKQMAIiI3AgAgA0G4BmogIjcDACADQcAGaiAhNwMAIANByAZqICA3AwAgAyADKQOADCIgNwLMByADQdgFaiADQdAGakEEciIIQQhqKQIANwMAIANB4AVqIAhBEGopAgA3AwAgA0HoBWogCEEYaikCADcDACADICA3A7AGIAMgCCkCADcD0AUgA0GIBmogA0H4BmpBBHIiCEEYaikCADcDACADQYAGaiAIQRBqKQIANwMAIANB+AVqIAhBCGopAgA3AwAgAyAIKQIANwPwBSADQagGaiADQaAHakEEciIIQRhqKQIANwMAIANBoAZqIAhBEGopAgA3AwAgA0GYBmogCEEIaikCADcDACADIAgpAgA3A5AGIAEgBEHgAGpByKnAABCsASADKAL4Cw0JIANBjAhqIAYpAwAiIDcCACADQYQIaiAFKQMAIiE3AgAgA0H8B2ogBykDACIiNwIAIANBoAhqICI3AwAgA0GoCGogITcDACADQbAIaiAgNwMAIAMgAykDgAwiIDcC9AcgAyAgNwOYCCABIARB5ABqQdipwAAQrAEgAygC+AsNCiADQdQIaiAGKQMAIiA3AgAgA0HMCGogBSkDACIhNwIAIANBxAhqIAcpAwAiIjcCACADQegIaiAiNwMAIANB8AhqICE3AwAgA0H4CGogIDcDACADIAMpA4AMIiA3ArwIIAMgIDcD4AggASAEQegAakHoqcAAEKwBIAMoAvgLDQsgA0GcCWogBikDACIgNwIAIANBlAlqIAUpAwAiITcCACADQYwJaiAHKQMAIiI3AgAgA0GwCWogIjcDACADQbgJaiAhNwMAIANBwAlqICA3AwAgAyADKQOADCIgNwKECSADICA3A6gJIAEgBEH4AGpB+KnAABCsASADKAL4Cw0MIANB5AlqIAYpAwA3AgAgA0HcCWogBSkDADcCACADQdQJaiAHKQMANwIAIAMgAykDgAw3AswJIAEgBEHwAGpBiKrAABCsASADKAL4Cw0NIANBjApqIAYpAwA3AgAgA0GECmogBSkDADcCACADQfwJaiAHKQMANwIAIAMgAykDgAw3AvQJIAEgBEH0AGpBmKrAABCsASADKAL4Cw0BIANBtApqIAYpAwA3AgAgA0GsCmogBSkDADcCACADQaQKaiAHKQMANwIAIAMgAykDgAw3ApwKIAEgBEGoqsAAENUBIANByApqIgYgA0GEDGopAgA3AwAgA0HQCmoiBSADQYwMaigCADYCACADIAMpAvwLNwPACiADKAL4CyIHQQJHDQ4gASAEQcgAakG4qsAAENUBIANB4ApqIANBhAxqKQIANwMAIANB6ApqIANBjAxqKAIANgIAIAMgAykC/As3A9gKIAMoAvgLIgFBAkcNDyADQawLaiEIIAQoAlghByAEKAJcIQtBACEGQQAhASMAQRBrIg8kAEEBIQ0CQCALQQFxBEAgCEKAgICAiIDACDcCAAwBCwJAIAtBAkkNAAJAAkAgBy0AAEEwRgRAIActAAFB+ABGDQELIAtBAXYhBgwBCyALQQJrIgtBAXYhBiALQQJJDQEgB0ECaiEHC0GZ4MEALQAAGgJAIAZBARD3AiINBEAgBy0AAEGSscEAai0AACIQQf8BRg0BIActAAFBkrHBAGotAAAiDkH/AUYNAUEBIQEDQAJAIA0gASIFakEBayAOIBBBBHRyOgAAIAEgBkYNACAHIAxqIg5BAmotAABBkrHBAGotAAAiEEH/AUYNACAMQQJqIQwgAUEBaiEBIA5BA2otAABBkrHBAGotAAAiDkH/AUcNAQsLIAUgBkkNASAGIQEMAgtBASAGEOMCAAsgD0EIaiEFQQAhAQNAIAEgB2ogAUEBaiEBLQAAQZKxwQBqLQAAQf8BRw0ACyABQQFrIQwCQCALIAsgAWtBAWpPBEAgBSAMNgIEIAUgASAHakEBay0AADYCAAwBCyAMIAtB+LPBABCgAgALIAggDykDCDcCBCAIQYCAgIB4NgIAIA0gBhCLAwwBCyAIIAY2AgggCCANNgIEIAggATYCAAsgD0EQaiQAIANBkAtqIQYjAEHQAGsiASQAAkACQAJAIAgoAgBBgICAgHhHBEAgBiAIKQIANwIEIAZBDGogCEEIaigCADYCAEECIQcMAQsgASAIKQIENwIAIAEgATYCCEEBIQcgAUEBNgIsIAFBvMDAADYCKCABQgE3AjQgASABQQhqrUKAgICAgAaENwMYIAEgAUEYaiIFNgIwIAFBDGogAUEoaiIIENMBIAFBADYCICABQoCAgIAQNwIYIAFBAzoASCABQSA2AjggAUEANgJEIAFBgL/AADYCQCABQQA2AjAgAUEANgIoIAEgBTYCPEHIqsAAIAgQlQINASAGIAEpAhg3AhAgBkEYaiABQSBqKAIANgIAIAZBDGogAUEUaigCADYCACAGIAEpAgw3AgQLIAYgBzYCACABQdAAaiQADAELQZi/wABBNyABQc8AakHQv8AAQazAwAAQlwIACyADKAKcCyEFIAMoApgLIQEgAygClAshBiADKAKQCyIHQQJHDRACQCAFQSBGBEAgA0GRDGogAUEYaikAADcAACADQYkMaiABQRBqKQAANwAAIANBgQxqIAFBCGopAAA3AAAgAyABKQAANwD5C0EAIQcgBkUNASABIAYQiwMMAQsgAyAFNgKEDCADIAE2AoAMIAMgBjYC/AtBASEHCyADIAc6APgLIwBBEGsiBiQAIANB0AtqIgUCfyADQfgLaiIHIgEtAABFBEAgBSABKQABNwABIAVBGWogAUEZaikAADcAACAFQRFqIAFBEWopAAA3AAAgBUEJaiABQQlqKQAANwAAQQAMAQsgBkEIaiABQQxqKAIANgIAIAYgASkCBDcDACMAQdAAayIBJAAgASAGNgIIIAFBATYCLCABQZizwAA2AiggAUIBNwI0IAEgAUEIaq1CgICAgNAChDcDGCABIAFBGGoiCDYCMCABQQxqIAFBKGoiCxDTASABQQA2AiAgAUKAgICAEDcCGCABQQM6AEggAUEgNgI4IAFBADYCRCABQdyxwAA2AkAgAUEANgIwIAFBADYCKCABIAg2AjxB2KrAACALEJUCBEBB9LHAAEE3IAFBzwBqQayywABBiLPAABCXAgALIAVBBGoiBSABKQIYNwIQIAVBGGogAUEgaigCADYCACAFQQxqIAFBFGooAgA2AgAgBSABKQIMNwIEIAVBATYCACABQdAAaiQAIAYoAgAiAQRAIAYoAgQgARCLAwtBAQs6AAAgBkEQaiQAIAMtANALDREgA0GIC2oiBSADQekLaikAADcDACADQYALaiIIIANB4QtqKQAANwMAIANB+ApqIgsgA0HZC2opAAA3AwAgAyADKQDRCzcD8AogByAEQTxqQeiqwAAQ1QEgA0HAC2oiASADQYQMaikCADcDACADQcgLaiIGIANBjAxqKAIANgIAIAMgAykC/As3A7gLIAMoAvgLIg1BAkcNEiAHIARB7ABqQfiqwAAQrAEgAygC+AtFBEAgA0HsC2ogA0GYDGopAwAiIDcCACADQeQLaiADQZAMaikDACIhNwIAIANB3AtqIANBiAxqKQMAIiI3AgAgA0GIAmogIjcDACADQZACaiAhNwMAIANBmAJqICA3AwAgA0GIA2ogA0GwBGopAwA3AwAgA0GQA2ogA0G4BGooAgA2AgAgAyADKQOADCIgNwLUCyADICA3A4ACIAMgAykDqAQ3A4ADIANBpANqIAYoAgA2AgAgA0GcA2ogASkDADcCACADIAMpA7gLNwKUAyADQbgDaiADQegKaigCADYCACADQbADaiADQeAKaikDADcDACADIAMpA9gKNwOoAyADQZgBaiAFKQMANwMAIANBkAFqIAgpAwA3AwAgA0GIAWogCykDADcDACADIAMpA/AKNwOAASADQbgBaiADQbAIaikDADcDACADQbABaiADQagIaikDADcDACADQagBaiADQaAIaikDADcDACADIAMpA5gINwOgASADQdgBaiADQfgIaikDADcDACADQdABaiADQfAIaikDADcDACADQcgBaiADQegIaikDADcDACADIAMpA+AINwPAASADQfgBaiADQcAJaikDADcDACADQfABaiADQbgJaikDADcDACADQegBaiADQbAJaikDADcDACADIAMpA6gJNwPgASADQbgCaiADQfAJakEEciIBQRhqKQIANwMAIANBsAJqIAFBEGopAgA3AwAgA0GoAmogAUEIaikCADcDACADIAEpAgA3A6ACIANB2AJqIANBmApqQQRyIgFBGGopAgA3AwAgA0HQAmogAUEQaikCADcDACADQcgCaiABQQhqKQIANwMAIAMgASkCADcDwAIgA0H4AmogA0HICWpBBHIiAUEYaikCADcDACADQfACaiABQRBqKQIANwMAIANB6AJqIAFBCGopAgA3AwAgAyABKQIANwPgAiADQcwDaiADQZgFaigCADYCACADQcQDaiADQZAFaikDADcCACADIAMpA4gFNwK8AyADQeADaiADQcgFaigCADYCACADQdgDaiADQcAFaikDADcDACADIAMpA7gFNwPQAyADQfQDaiADQegEaigCADYCACADQewDaiADQeAEaikDADcCACADIAMpA9gENwLkAyADQYgEaiADQdAKaigCADYCACADQYAEaiADQcgKaikDADcDACADIAMpA8AKNwP4AyACQQhqIAMgA0HQBWpBgAEQrAMiAUGQBBCsAxogAkEANgIAIAEoAuwHIgJBhAFPBEAgAhAACyABKALEByICQYQBTwRAIAIQAAsgASgCnAciAkGEAU8EQCACEAALIAEoAvQGIgFBhAFJDRggARAADBgLIANB6AtqIANBlAxqKAIAIgE2AgAgA0HgC2ogA0GMDGopAgAiIDcDACADQdgLaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcD0AsgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwTCyADKALoBSEBIAIgAykDkAQ3AgggAiABNgIcIAIgCzYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwWCyADQbAKaiADQZQMaigCACIBNgIAIANBqApqIANBjAxqKQIAIiA3AwAgA0GgCmogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A5gKIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMEQsgAygC6AUhASACIAMpA8AENwIIIAIgATYCHCACIAs2AgQgAkEBNgIAIAJBGGogA0HQBGooAgA2AgAgAkEQaiADQcgEaikDADcCAAwUCyADKALoBSEBIAIgAykD8AQ3AgggAiABNgIcIAIgCzYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwTCyADKALoBSEBIAIgAykDoAU3AgggAiABNgIcIAIgBTYCBCACQQE2AgAgAkEYaiADQbAFaigCADYCACACQRBqIANBqAVqKQMANwIADBILIANB6AZqIANBlAxqKAIAIgE2AgAgA0HgBmogA0GMDGopAgAiIDcDACADQdgGaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcD0AYgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwQCyADQZAHaiADQZQMaigCACIBNgIAIANBiAdqIANBjAxqKQIAIiA3AwAgA0GAB2ogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A/gGIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMDgsgA0G4B2ogA0GUDGooAgAiATYCACADQbAHaiADQYwMaikCACIgNwMAIANBqAdqIANBhAxqKQIAIiE3AwAgAyADKQL8CyIiNwOgByACQRxqIAE2AgAgAkEUaiAgNwIAIAJBDGogITcCACACICI3AgQgAkEBNgIADAwLIANB4AdqIANBlAxqKAIAIgE2AgAgA0HYB2ogA0GMDGopAgAiIDcDACADQdAHaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcDyAcgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwKCyADQYgIaiADQZQMaigCACIBNgIAIANBgAhqIANBjAxqKQIAIiA3AwAgA0H4B2ogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A/AHIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMCQsgA0HQCGogA0GUDGooAgAiATYCACADQcgIaiADQYwMaikCACIgNwMAIANBwAhqIANBhAxqKQIAIiE3AwAgAyADKQL8CyIiNwO4CCACQRxqIAE2AgAgAkEUaiAgNwIAIAJBDGogITcCACACICI3AgQgAkEBNgIADAgLIANBmAlqIANBlAxqKAIAIgE2AgAgA0GQCWogA0GMDGopAgAiIDcDACADQYgJaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcDgAkgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwHCyADQeAJaiADQZQMaigCACIBNgIAIANB2AlqIANBjAxqKQIAIiA3AwAgA0HQCWogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A8gJIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMBgsgA0GICmogA0GUDGooAgAiATYCACADQYAKaiADQYwMaikCACIgNwMAIANB+AlqIANBhAxqKQIAIiE3AwAgAyADKQL8CyIiNwPwCSACQRxqIAE2AgAgAkEUaiAgNwIAIAJBDGogITcCACACICI3AgQgAkEBNgIADAULIAMoApAMIQEgAiADKQPACjcCCCACIAE2AhwgAiAHNgIEIAJBATYCACACQRhqIAUoAgA2AgAgAkEQaiAGKQMANwIADAQLIAMoApAMIQYgAiADKQPYCjcCCCACIAY2AhwgAiABNgIEIAJBATYCACACQRhqIANB6ApqKAIANgIAIAJBEGogA0HgCmopAwA3AgAMAwsgAiADKQKgCzcCFCACQRxqIANBqAtqKAIANgIAIAIgBTYCECACIAE2AgwgAiAGNgIIIAIgBzYCBCACQQE2AgAMAgsgA0GLC2ogA0HsC2ooAgAiATYAACADQYMLaiADQeQLaikCACIgNwAAIANB+wpqIANB3AtqKQIAIiE3AAAgAyADKQLUCyIiNwDzCiACQRxqIAE2AAAgAkEUaiAgNwAAIAJBDGogITcAACACICI3AAQgAkEBNgIADAELIAMoApAMIQUgAiADKQO4CzcCCCACIAU2AhwgAiANNgIEIAJBATYCACACQRhqIAYoAgA2AgAgAkEQaiABKQMANwIACyADKALsByIBQYQBSQ0AIAEQAAsgAygCxAciAUGEAUkNACABEAALIAMoApwHIgFBhAFJDQAgARAACyADKAL0BiIBQYQBSQ0AIAEQAAsgBCgCYCIBQYQBTwRAIAEQAAsgBCgCZCIBQYQBTwRAIAEQAAsgBCgCaCIBQYQBTwRAIAEQAAsgBCgCbCIBQYQBTwRAIAEQAAsgBCgCcCIBQYQBTwRAIAEQAAsgBCgCdCIBQYQBTwRAIAEQAAsgBCgCeCIBQYQBTwRAIAEQAAsgBCgCfCIBQYQBTwRAIAEQAAsgBCgCACIBBEAgBCgCBCABEIsDCyAEKAIMIgEEQCAEKAIQIAEQiwMLIAQoAhgiAQRAIAQoAhwgARCLAwsgBCgCJCIBBEAgBCgCKCABEIsDCyARKAIAIgEEQCAEKAI0IAEQiwMLIAQoAjwiAQRAIAQoAkAgARCLAwsgBCgCSCIBBEAgBCgCTCABEIsDCyAEKAJUIgEEQCAEKAJYIAEQiwMLIANBoAxqJAAgCigC+A8NASAKQegDaiAJQQRyIBJBkAQQrANBkAQQrAMaIApBCGoiASATQeADEKwDGiAAQQhqIAFB8AcQrAMaIABBADYCACAKKAIEIQIgCigCACIAQYQBTwRAIAAQAAsMAwsgCkGQCGogCkGUEGooAgAiBDYCACAKQYgIaiAKQYwQaikCACIgNwMAIApBgAhqIApBhBBqKQIAIiE3AwAgCiAKKQL8DyIiNwP4ByAAQRxqIAQ2AgAgAEEUaiAgNwIAIABBDGogITcCACAAICI3AgQgAEEBNgIADAELIApB+AtqIApBlBBqKAIAIgE2AgAgCkHwC2ogCkGMEGopAgAiIDcDACAKQegLaiAKQYQQaikCACIhNwMAIAogCikC/A8iIjcD4AsgAEEcaiABNgIAIABBFGogIDcCACAAQQxqICE3AgAgACAiNwIEIABBATYCACAKKAIEIQIgCigCACEBCyABQYQBTwRAIAEQAAsLIAJBgwFLBEAgAhAACyAKQZAVaiQAC9oDAQN/IwBBsAFrIgQkAAJAAkACQAJAIAMpAwBQBEAgBEHYAGogASACEKYBIAQoAlgNAiAEQShqIARBgAFqKQMANwMAIARBIGogBEH4AGopAwA3AwAgBEEYaiAEQfAAaikDADcDACAEQRBqIARB6ABqKQMANwMAIAQgBCkDYDcDCAwBCyAEQShqIANBKGopAwA3AwAgBEEgaiADQSBqKQMANwMAIARBGGogA0EYaikDADcDACAEQRBqIANBEGopAwA3AwAgBCADKQMINwMICyAEQfAAaiICIAFBuARqKQMANwMAIARB6ABqIgMgAUGwBGopAwA3AwAgBEHgAGogAUGoBGopAwA3AwAgBEESOgB4IAQgASkDoAQ3A1ggBEEwaiIFIARBCGogBEHYAGoiBhDHASAGIAEQnAEgBCgCWA0BIARBqAFqIARBgAFqKQMANwMAIARBoAFqIARB+ABqKQMANwMAIARBmAFqIAIpAwA3AwAgBEGQAWogAykDADcDACAEIAQpA2A3A4gBIABBCGogBSAEQYgBahDHASAAQQA2AgAMAgsgBCgCXCEBIABBATYCACAAIAE2AgQMAQsgBCgCXCEBIABBATYCACAAIAE2AgQLIARBsAFqJAALkwQCAn8JfiMAQbABayIDJAAgA0FAayABQfgDaikDADcDACADQThqIAFB8ANqKQMANwMAIANBMGogAUHoA2opAwA3AwAgA0ESOgBIIAMgASkD4AM3AyggA0H4AGoiBEHYx8AAQQQQsAECQCADKAJ4RQRAIAMpA5gBIQogAykDkAEhByADKQOIASEFIAMpA4ABIQsgBCABEJwBAkAgAygCeEUEQCADKQOQASEIIAMpA4gBIQYCfiADKQOAASIMIAtYBEAgBSAGVK0hCSAFIAZ9DAELIAUgBlStIAUgBlGtfCEJIAUgBkJ/hXwLIQ0gAykDmAEhBiAHIAh9IQUCQCAJUARAIAcgCFStIQcMAQsgBSAJVK0gByAIVK18IQcgBSAJfSEFCyAKIAZ9IQgCQCAHUARAIAYgClgNAQwFCyAGIApWIAcgCFZyDQQgCCAHfSEICyADQRI6AHAgAyAINwNoIAMgBTcDYCADIA03A1ggAyALIAx9NwNQIAMgA0EoaiADQdAAahDGASAAQQhqIAMgAhDGASAAQQA2AgAMAQsgAygCfCEBIABBATYCACAAIAE2AgQLIANBsAFqJAAPCyADIAMoAnw2AqwBQe3EwABBKyADQawBakGYxcAAQczewAAQlwIACyADQQA2AogBIANBATYCfCADQeTEwAA2AnggA0IENwKAASADQfgAakG0xMAAEMUCAAuyCAIMfwF+IwBBMGsiBSQAIABBDGohDSAFQQhqrUKAgICAkBiEIQ8CfwNAIAYhBAJAIAIgCU8EQANAIAEgCWohB0EBIQ4CfyACIAlrIgZBCE8EQAJAAkACQAJAIAdBA2pBfHEiAyAHRg0AIAMgB2siAyAGIAMgBkkbIghFDQBBACEDQQEhCgNAIAMgB2otAABBCkYNBCAIIANBAWoiA0cNAAsgCCAGQQhrIgpLDQIMAQsgBkEIayEKQQAhCAsDQCAHIAhqIgNBBGooAgBBipSo0ABzIgtBgYKECGsgC0F/c3EgAygCAEGKlKjQAHMiA0GBgoQIayADQX9zcXJBgIGChHhxDQEgCEEIaiIIIApNDQALCwJAAkAgBiAIayILRQRAQQAhCwwBCyAHIAhqIQdBACEDQQEhCgNAIAMgB2otAABBCkYEQCADIQsMAwsgCyADQQFqIgNHDQALC0EAIQoLIAggC2ohAwsgBSADNgIEIAUgCjYCACAFKAIEIQMgBSgCAAwBC0EAIQNBACACIAlGDQAaA0BBASADIAdqLQAAQQpGDQEaIAYgA0EBaiIDRw0ACyAGIQNBAAsiB0EBRwRAIAIhCSAHDQNBACEOIAQhBiACIQMMAwsgAyAJaiIDQQFqIQkCQCACIANNDQAgASADai0AAEEKRw0AIAkhBgwDCyACIAlPDQALC0EAIQ4gBCEGIAIhAwsgBSADIARrIgM2AgwgBSABIARqNgIIAkACQAJAAkAgDEUEQCAALQAQDQEMAgsgDSgCAEEKEO8CDQIgAEEBOgAQIAUoAgwhAwsgA0UNAiANIQMjAEHQAGsiBCQAAn8CQAJAAkAgACgCAEEBaw4CAgEACyAEIABBBGo2AiggBEEBNgI0IARBjK/BADYCMCAEQgE3AjwgBCAEQShqrUKAgICA4BiENwMQIAQgBEEQajYCOCADIARBMGpB6K7BACgCABEBAAwCCyAAKAIEIAwgA0HUrsEAIAAoAggoAhARCAAMAQsgBCAAQQRqNgIMIAwEQCAEQQA2AkAgBEEBNgI0IARBsK/BADYCMCAEQgQ3AjggAyAEQTBqQeiuwQAoAgARAQAMAQsgBCAEQQxqrUKAgICA8BiENwMoIARBATYCJCAEQQI2AhQgBEGYr8EANgIQIARBATYCHCAEQQE6AEwgBEEANgJIIARCIDcCQCAEQoCAgIDAADcCOCAEQQI2AjAgBCAEQTBqNgIgIAQgBEEoajYCGCADIARBEGpB6K7BACgCABEBAAsgBEHQAGokAA0BIABBADoAEAsgDSgCACEDIAUgDzcDKCAFQQE2AhQgBUHsrsEANgIQIAVCATcCHCADQRRqKAIAIANBGGooAgAgBSAFQShqNgIYIAVBEGoQswFFDQELQQEMAgsgDEEBaiEMIA4NAAtBAAsgBUEwaiQAC8oDAgN/BH4jAEHAAWsiAyQAIANB0ABqIAFBIGoiBCkDADcDACADQcgAaiABQRhqKQMANwMAIANBQGsgAUEQaikDADcDACADQThqIAFBCGopAwA3AwAgAyABKQMANwMwQgEhBgJAAkACQCAELQAAIgEOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIAFBAXEiBBsgB0IAIAQbIAggCRCWAiADQSBqIAYgByAGIAcQlgIgAUEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggAUEBdiEBDQALIAMgCCAJIAYgBxCWAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQciUwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgPAAhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQ0wEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQiwMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEHogA0HAAWokAAvKAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQlgIgA0EgaiAGIAcgBiAHEJYCIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQlgIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0HIlMAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIDwAIQ3A7gBIAMgA0G4AWo2AqgBIANBlAFqIANBoAFqENMBIANB8ABqQgA3AwAgA0IANwNoIAEpAwAhBiADKQOAASEHIAMoApQBIgEEQCADKAKYASABEIsDCyADQRI6AHggAyAHNwNYIAMgBjcDYCAAIANBMGogA0HYAGogAhBzIANBwAFqJAALygMCA38EfiMAQcABayIDJAAgA0HQAGogAUEgaiIEKQMANwMAIANByABqIAFBGGopAwA3AwAgA0FAayABQRBqKQMANwMAIANBOGogAUEIaikDADcDACADIAEpAwA3AzBCASEGAkACQAJAIAQtAAAiAQ4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgAUEBcSIEGyAHQgAgBBsgCCAJEJYCIANBIGogBiAHIAYgBxCWAiABQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCABQQF2IQENAAsgAyAIIAkgBiAHEJYCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANByJTAADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICA8ACENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDTASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCLAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQcyADQcABaiQAC8oDAgN/BH4jAEHAAWsiAyQAIANB0ABqIAFBIGoiBCkDADcDACADQcgAaiABQRhqKQMANwMAIANBQGsgAUEQaikDADcDACADQThqIAFBCGopAwA3AwAgAyABKQMANwMwQgEhBgJAAkACQCAELQAAIgEOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIAFBAXEiBBsgB0IAIAQbIAggCRCWAiADQSBqIAYgByAGIAcQlgIgAUEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggAUEBdiEBDQALIAMgCCAJIAYgBxCWAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQciUwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgPAAhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQ0wEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQiwMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiACIANB2ABqEHogA0HAAWokAAvKAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQlgIgA0EgaiAGIAcgBiAHEJYCIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQlgIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0GM/sAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIDgCIQ3A7gBIAMgA0G4AWo2AqgBIANBlAFqIANBoAFqENMBIANB8ABqQgA3AwAgA0IANwNoIAEpAwAhBiADKQOAASEHIAMoApQBIgEEQCADKAKYASABEIsDCyADQRI6AHggAyAHNwNYIAMgBjcDYCAAIANBMGogA0HYAGogAhB7IANBwAFqJAALygMCA38EfiMAQcABayIDJAAgA0HQAGogAUEgaiIEKQMANwMAIANByABqIAFBGGopAwA3AwAgA0FAayABQRBqKQMANwMAIANBOGogAUEIaikDADcDACADIAEpAwA3AzBCASEGAkACQAJAIAQtAAAiAQ4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgAUEBcSIEGyAHQgAgBBsgCCAJEJYCIANBIGogBiAHIAYgBxCWAiABQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCABQQF2IQENAAsgAyAIIAkgBiAHEJYCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANBjP7AADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICA4AiENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDTASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCLAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIANB2ABqIAIQdCADQcABaiQAC8oDAgN/BH4jAEHAAWsiAyQAIANB0ABqIAFBIGoiBCkDADcDACADQcgAaiABQRhqKQMANwMAIANBQGsgAUEQaikDADcDACADQThqIAFBCGopAwA3AwAgAyABKQMANwMwQgEhBgJAAkACQCAELQAAIgEOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIAFBAXEiBBsgB0IAIAQbIAggCRCWAiADQSBqIAYgByAGIAcQlgIgAUEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggAUEBdiEBDQALIAMgCCAJIAYgBxCWAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQYz+wAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgOAIhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQ0wEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQiwMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiACIANB2ABqEHQgA0HAAWokAAvKAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQlgIgA0EgaiAGIAcgBiAHEJYCIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQlgIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0GM/sAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIDgCIQ3A7gBIAMgA0G4AWo2AqgBIANBlAFqIANBoAFqENMBIANB8ABqQgA3AwAgA0IANwNoIAEpAwAhBiADKQOAASEHIAMoApQBIgEEQCADKAKYASABEIsDCyADQRI6AHggAyAHNwNYIAMgBjcDYCAAIANBMGogAiADQdgAahB7IANBwAFqJAALtgMCC38FfiMAQdABayIEJAAgACkDGCENAkACQCAAKQMAIg4gACkDCCIPhCAAKQMQIhCEIA2EUEUEQCAEQQBB0AAQrQMiAEHPAGohBSAAQfgAaiEDIABBsAFqIQYgAEHoAGohBwNAIAcgDTcDACAAQeAAaiAQNwMAIABB2ABqIA83AwAgACAONwNQIANCADcDACADQQhqIghCADcDACADQRBqIglCADcDACAAQgo3A3AgAEGQAWoiCiAAQdAAaiILIABB8ABqIgwQcSAAIAYpAwAiETcDUCACQc8AakHPAEsNAiACIAVqIBGnQTBqOgAAIAAgDTcDaCAAIBA3A2AgACAPNwNYIAAgDjcDUCADQgA3AwAgCEIANwMAIAlCADcDACAAQgo3A3AgCiALIAwQcSAAKQOoASENIAApA5ABIg4gACkDmAEiD4QgACkDoAEiEIQgDYRQRQRAIAJBAWshAgwBCwsgAUEBQQFBACAAIAJqQc8AakEBIAJrEKoBIQAMAgsgASgCFEHOtcEAQQEgASgCGCgCDBEDACEADAELQX9B0ABB9LXBABCgAgALIARB0AFqJAAgAAv7AwECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQEgACADayIAQZDkwQAoAgBGBEAgAigCBEEDcUEDRw0BQYjkwQAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQ2AELAkACQAJAIAIoAgQiA0ECcUUEQCACQZTkwQAoAgBGDQIgAkGQ5MEAKAIARg0DIAIgA0F4cSICENgBIAAgASACaiIBQQFyNgIEIAAgAWogATYCACAAQZDkwQAoAgBHDQFBiOTBACABNgIADwsgAiADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFBgAJPBEAgACABEOoBDwsgAUF4cUH44cEAaiECAn9BgOTBACgCACIDQQEgAUEDdnQiAXFFBEBBgOTBACABIANyNgIAIAIMAQsgAigCCAshASACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0GU5MEAIAA2AgBBjOTBAEGM5MEAKAIAIAFqIgE2AgAgACABQQFyNgIEIABBkOTBACgCAEcNAUGI5MEAQQA2AgBBkOTBAEEANgIADwtBkOTBACAANgIAQYjkwQBBiOTBACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALC7YDAgF/CX4jAEHQAGsiAyQAIANBCGogARDXAQJAIAMoAghFBEAgAykDICEJIAMpAxghBCACKQMQIQYgAikDCCEFAn4gAykDECILIAIpAwAiDFoEQCAEIAVUrSEIIAQgBX0MAQsgBCAFVK0gBCAFUa18IQggBCAFQn+FfAshCiADKQMoIQQgAikDGCEFIAkgBn0hBwJAIAhQBEBCf0IAIAYgCVYbIQYMAQtCf0IAIAYgCVYbIAcgCFStfSEGIAcgCH0hBwsCQCAEIAV9IAZ8IgRCAFMNACADIAQ3A0ggAyAHNwNAIAMgCjcDOCADIAsgDH0iBTcDMCADQSBqQgA3AwAgA0EYakIANwMAIANBEGpCADcDACADQgA3AwggA0EwaiADQQhqIgEQnAJB/wFxQf8BRg0AIAMgBDcDICADIAc3AxggAyAKNwMQIAMgBTcDCCAAIAEQtQEMAgsgA0EANgIYIANBATYCDCADQYSJwQA2AgggA0IENwIQIANBCGpBjInBABDSASEBIABBATYCACAAIAE2AgQMAQsgAygCDCEBIABBATYCACAAIAE2AgQLIANB0ABqJAALkQMCAX8GfiMAQUBqIgIkACACQRhqQgA3AwAgAkEQakIANwMAIAJBCGpCADcDACACQgA3AwAgAkE4akIANwMAIAJBMGpCADcDACACQShqQgA3AwAgAkIANwMgIAIgAkEgahCcAkH/AXFB/wFGBEAgASkDCCEDIAEpAxghBkIAIAEpAxAiBH0hBQJAAn4gASkDACIIUARAQgAgA30hByADQgBSrQwBCyADQn+FIQcgA0IAUq0gA1CtfAsiA1AEQCAEQgBSrSEEDAELIAMgBVatIARCAFKtfCEEIAUgA30hBQsgACAFNwMQIAAgBzcDCCAAQgAgCH03AwBCACAGfSEDAkAgBFAEQCAAIAM3AxggBlBFDQEgAkFAayQADwsgACADIAR9NwMYCyACQQA2AjAgAkEBNgIkIAJB1MHAADYCICACQgQ3AiggAkEgakHwvsAAEMUCAAsgAkEBNgIkIAJB7L3AADYCICACQgE3AiwgAiABrUKAgICAwACENwMAIAIgAjYCKCACQSBqQfS9wAAQxQIAC5EDAgF/Bn4jAEFAaiICJAAgAkEYakIANwMAIAJBEGpCADcDACACQQhqQgA3AwAgAkIANwMAIAJBOGpCADcDACACQTBqQgA3AwAgAkEoakIANwMAIAJCADcDICACIAJBIGoQnAJB/wFxQf8BRgRAIAEpAwghAyABKQMYIQZCACABKQMQIgR9IQUCQAJ+IAEpAwAiCFAEQEIAIAN9IQcgA0IAUq0MAQsgA0J/hSEHIANCAFKtIANQrXwLIgNQBEAgBEIAUq0hBAwBCyADIAVWrSAEQgBSrXwhBCAFIAN9IQULIAAgBTcDECAAIAc3AwggAEIAIAh9NwMAQgAgBn0hAwJAIARQBEAgACADNwMYIAZQRQ0BIAJBQGskAA8LIAAgAyAEfTcDGAsgAkEANgIwIAJBATYCJCACQeCHwQA2AiAgAkIENwIoIAJBIGpB9IXBABDFAgALIAJBATYCJCACQfCEwQA2AiAgAkIBNwIsIAIgAa1CgICAgMAAhDcDACACIAI2AiggAkEgakH4hMEAEMUCAAuRAwIBfwZ+IwBBQGoiAiQAIAJBGGpCADcDACACQRBqQgA3AwAgAkEIakIANwMAIAJCADcDACACQThqQgA3AwAgAkEwakIANwMAIAJBKGpCADcDACACQgA3AyAgAiACQSBqEJwCQf8BcUH/AUYEQCABKQMIIQMgASkDGCEGQgAgASkDECIEfSEFAkACfiABKQMAIghQBEBCACADfSEHIANCAFKtDAELIANCf4UhByADQgBSrSADUK18CyIDUARAIARCAFKtIQQMAQsgAyAFVq0gBEIAUq18IQQgBSADfSEFCyAAIAU3AxAgACAHNwMIIABCACAIfTcDAEIAIAZ9IQMCQCAEUARAIAAgAzcDGCAGUEUNASACQUBrJAAPCyAAIAMgBH03AxgLIAJBADYCMCACQQE2AiQgAkHspsEANgIgIAJCBDcCKCACQSBqQYymwQAQxQIACyACQQE2AiQgAkG8p8EANgIgIAJCATcCLCACIAGtQoCAgIDAAIQ3AwAgAiACNgIoIAJBIGpBsKjBABDFAgAL7QICBH8IfiMAQUBqIgMkACAAAn8DQCACRQRAIAAgCTcDICAAIAc3AxggACAINwMQIAAgCjcDCEEADAILAkAgAS0AAEEwayIEQf8BcUEJSwRAQQAhBAwBCyADQTBqIApCAEIKQgAQlgIgA0EgaiAIQgBCCkIAEJYCIANBEGogB0IAQgpCABCWAiADIAlCAEIKQgAQlgIgA0EIaikDACADQRhqKQMAIANBKGopAwAgA0E4aikDACIIIAMpAyB8IgwgCFStfCIHIAMpAxB8IgggB1StfCIHIAMpAwB8IgsgB1StfFBFBEBBASEEDAELIAFBAWohASALIAMpAzAiByAErUL/AYN8IgogB1QiBiAMQgF8Ig1QcSIEIAggBK18IgcgCFRxIgWtfCIOIAsgBRshCSAHIAggBBshB0EBIQQgDSAMIAYbIQggAkEBayECIAVFIAsgDlhyDQELCyAAIAQ6AAFBAQs6AAAgA0FAayQAC6gDAgJ/CX4jAEGAAWsiAyQAIANB0ABqIgRBgOeEDxCfAiADQRI6AHAgAyACIAQQxAEgBEHoh8EAQQQQsAECQCADKAJQRQRAIAMpA2ghByADKQNgIQUgASkDECEIIAEpAwghBgJ+IAMpA1giCyABKQMAIgxaBEAgBSAGVK0hCSAFIAZ9DAELIAUgBlStIAUgBlGtfCEJIAUgBkJ/hXwLIQ0gAykDcCEFIAEpAxghBiAHIAh9IQoCQCAJUARAIAcgCFStIQcMAQsgCSAKVq0gByAIVK18IQcgCiAJfSEKCyAFIAZ9IQgCQCAHUARAIAUgBloNAQwDCyAFIAZUIAcgCFZyDQIgCCAHfSEICyADQRI6AEggAyAINwNAIAMgCjcDOCADIA03AzAgAyALIAx9NwMoIANB0ABqIgIgASADEMcBIAAgA0EoaiACEMQBIANBgAFqJAAPCyADIAMoAlQ2AihB2ILBAEErIANBKGpBhIPBAEGcicEAEJcCAAsgA0EANgJgIANBATYCVCADQeCHwQA2AlAgA0IENwJYIANB0ABqQfSFwQAQxQIAC48DAgF/CH4jAEFAaiICJAAgASkDGCEGIAApAwAhAwJ/IAApAxgiBUIAWQRAQQEgBkIAUw0BGiABKQMAIQQgASkDCCEHIAEpAxAhCCAAKQMIIQkgACkDECEKIAIgBTcDGCACIAo3AxAgAiAJNwMIIAIgAzcDACACIAY3AzggAiAINwMwIAIgBzcDKCACIAQ3AyAgAiACQSBqEJwCDAELQf8BIAZCAFkNABogACkDCCEEIAEpAxAhCCABKQMAIQkgASkDCCEHIAApAxAhCiACQgAgA30iAzcDACACIARCf4VCACAEfSIEIANCAFIiABs3AwggAiAKQn+FIgMgBFAgAEF/c3EiAK18IgQgAyAAGzcDECACIAAgAyAEVnGtIAVCf4V8NwMYIAJCACAJfSIDNwMgIAIgB0J/hUIAIAd9IgUgA0IAUiIAGzcDKCACIAhCf4UiAyAFUCAAQX9zcSIArXwiBSADIAAbNwMwIAIgACADIAVWca0gBkJ/hXw3AzggAkEgaiACEJwCCyACQUBrJAAL6QIBBX8CQEHN/3tBECAAIABBEE0bIgBrIAFNDQAgAEEQIAFBC2pBeHEgAUELSRsiBGpBDGoQayICRQ0AIAJBCGshAQJAIABBAWsiAyACcUUEQCABIQAMAQsgAkEEayIFKAIAIgZBeHEgAiADakEAIABrcUEIayICIABBACACIAFrQRBNG2oiACABayICayEDIAZBA3EEQCAAIAMgACgCBEEBcXJBAnI2AgQgACADaiIDIAMoAgRBAXI2AgQgBSACIAUoAgBBAXFyQQJyNgIAIAEgAmoiAyADKAIEQQFyNgIEIAEgAhDJAQwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEEMkBCyAAQQhqIQMLIAMLyQMBBH8jAEEwayICJAAgACgCDCEDAkACQAJAAkACQAJAIAAoAgQOAgABAgsgAw0BQQEhAEEAIQMMAgsgAw0AIAAoAgAiACgCBCEDIAAoAgAhAAwBCyACQRRqIAAQ0wFBpODBACgCAEECRwRAEKkCCyACQZzgwQAoAgAgAkEUakH0q8EAQaDgwQAoAgAoAhQRBgAgAigCACIDIAEgAigCBCIBKAIgEQAAIAJBKGoiBCACQRxqKAIANgIAQZngwQAtAAAaIAIgAikCFDcDIEEYQQQQ9wIiAARAIAAgATYCCCAAIAM2AgQgAEHIq8EANgIAIAAgAikDIDcCDCAAQRRqIAQoAgA2AgAMAgtBBEEYEKgDAAsgAiADNgIkIAIgADYCIEGk4MEAKAIAQQJHBEAQqQILIAJBCGpBnODBACgCACACQSBqQcyswQBBoODBACgCACgCFBEGACACKAIIIgMgASACKAIMIgEoAiARAABBmeDBAC0AABogAigCJCEEIAIoAiAhBUEUQQQQ9wIiAEUNASAAIAQ2AhAgACAFNgIMIAAgATYCCCAAIAM2AgQgAEGgrMEANgIACyACQTBqJAAgAA8LQQRBFBCoAwAL/gIBB38jAEEQayIEJAACQAJAAkACQAJAIAEoAgQiAkUNACABKAIAIQcgAkEDcSEFAkAgAkEESQRAQQAhAgwBCyAHQRxqIQMgAkF8cSEIQQAhAgNAIAMoAgAgA0EIaygCACADQRBrKAIAIANBGGsoAgAgAmpqamohAiADQSBqIQMgCCAGQQRqIgZHDQALCyAFBEAgBkEDdCAHakEEaiEDA0AgAygCACACaiECIANBCGohAyAFQQFrIgUNAAsLIAEoAgwEQCACQQBIDQEgBygCBEUgAkEQSXENASACQQF0IQILIAINAQtBASEDQQAhAgwBC0EAIQUgAkEASA0BQZngwQAtAAAaQQEhBSACQQEQ9wIiA0UNAQsgBEEANgIIIAQgAzYCBCAEIAI2AgAgBEH4wMEAIAEQswFFDQFB2MHBAEEzIARBD2pBjMLBAEG0wsEAEJcCAAsgBSACEOMCAAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACAEQRBqJAAL9gIBBH8jAEEQayIEJAAgAiABa0ECdiIDIAAoAgAgACgCCCIFa0sEQCAAIAUgAxD6AQsgASACRwRAA0ACQAJ/AkAgAkEEayICKAIAIgNBgAFPBEAgBEEANgIMIANBgBBJDQEgA0GAgARJBEAgBCADQQx2QeABcjoADCAEIANBBnZBP3FBgAFyOgANQQIhBkEDDAMLIAQgA0ESdkHwAXI6AAwgBCADQQZ2QT9xQYABcjoADiAEIANBDHZBP3FBgAFyOgANQQMhBkEEDAILIAAoAggiBSAAKAIARgRAIAAQ/QELIAAoAgQgBWogAzoAACAAIAVBAWo2AggMAgsgBCADQQZ2QcABcjoADEEBIQZBAgshBSAEQQxqIAZyIANBP3FBgAFyOgAAIAUgACgCACAAKAIIIgNrSwRAIAAgAyAFEPoBIAAoAgghAwsgACgCBCADaiAEQQxqIAUQrAMaIAAgAyAFajYCCAsgASACRw0ACwsgBEEQaiQAC5YOARh/IwBBgAFrIgUkACAFIAE2AgwgBUEoaiEHIAEoAgQhCgJAIAEoAggiAUUEQEEBIQkMAQsgAUEATgRAQZngwQAtAAAaQQEhCCABQQEQ9wIiCQ0BCyAIIAEQ4wIACyAJIAogARCsAyEIIAcgATYCCCAHIAg2AgQgByABNgIAIAVBEGohBiAFKAIsIhohASAFKAIwIQQjAEEgayIDJAAgBEECSQR/QQAFIAQgBEECa0HMtcEAIAFBAhCuAyIHGyEEIAdFQQF0CyEHIANBADYCECADQQA6ABQgAyABIAdqIgE2AgggAyABNgIAIAMgBDYCBCADIAEgBGo2AgwgA0EYaiIHIAMQnQECQAJ/AkACQAJAIAMoAhgiBEGCgMQARg0AIAMoAhwhASAEQYGAxABHDQIgByADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhByAEQYGAxABHBEAgByEBDAMLIANBGGogAxCdASADKAIYIgRBgoDEAEYNACADKAIcIQggBEGBgMQARwRAIAghAQwDCyADQRhqIAMQnQEgAygCGCIEQYKAxABGDQAgAygCHCEJIARBgYDEAEcEQCAJIQEMAwsgA0EYaiADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhCiAEQYGAxABHBEAgCiEBDAMLIANBGGogAxCdASADKAIYIgRBgoDEAEYNACADKAIcIQsgBEGBgMQARwRAIAshAQwDCyADQRhqIAMQnQEgAygCGCIEQYKAxABGDQAgAygCHCEMIARBgYDEAEcEQCAMIQEMAwsgA0EYaiADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhDSAEQYGAxABHBEAgDSEBDAMLIANBGGogAxCdASADKAIYIgRBgoDEAEYNACADKAIcIQ4gBEGBgMQARwRAIA4hAQwDCyADQRhqIAMQnQEgAygCGCIEQYKAxABGDQAgAygCHCEPIARBgYDEAEcEQCAPIQEMAwsgA0EYaiADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhECAEQYGAxABHBEAgECEBDAMLIANBGGogAxCdASADKAIYIgRBgoDEAEYNACADKAIcIREgBEGBgMQARwRAIBEhAQwDCyADQRhqIAMQnQEgAygCGCIEQYKAxABGDQAgAygCHCESIARBgYDEAEcEQCASIQEMAwsgA0EYaiADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhEyAEQYGAxABHBEAgEyEBDAMLIANBGGogAxCdASADKAIYIgRBgoDEAEYNACADKAIcIRQgBEGBgMQARwRAIBQhAQwDCyADQRhqIAMQnQEgAygCGCIEQYKAxABGDQAgAygCHCEVIARBgYDEAEcEQCAVIQEMAwsgA0EYaiADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhFiAEQYGAxABHBEAgFiEBDAMLIANBGGogAxCdASADKAIYIgRBgoDEAEYNACADKAIcIRcgBEGBgMQARwRAIBchAQwDCyADQRhqIAMQnQEgAygCGCIEQYKAxABGDQAgAygCHCEYIARBgYDEAEcEQCAYIQEMAwsgA0EYaiADEJ0BIAMoAhgiBEGCgMQARg0AIAMoAhwhGSAEQYGAxABHBEAgGSEBDAMLIANBGGogAxCdASADKAIYQYKAxABGDQELQYCAxAAhAUEEDAILIAYgGToAFCAGIBg6ABMgBiAXOgASIAYgFjoAESAGIBU6ABAgBiAUOgAPIAYgEzoADiAGIBI6AA0gBiAROgAMIAYgEDoACyAGIA86AAogBiAOOgAJIAYgDToACCAGIAw6AAcgBiALOgAGIAYgCjoABSAGIAk6AAQgBiAIOgADIAYgBzoAAiAGIAE6AAEgBkEAOgAADAILIAYgBDYCBEEICyAGaiABNgIAIAZBAToAAAsgA0EgaiQAAkACQCAFLQAQRQRAIAAgBSkAETcABCAAQRRqIAVBIWooAAA2AAAgAEEMaiAFQRlqKQAANwAAQQIhAQwBCyAFIAUpAhQ3AjQgBUECNgJcIAVBiI7BADYCWCAFQgI3AmQgBSAFQTRqrUKAgICAwAyENwNQIAUgBUEMaq1CgICAgMALhDcDSCAFIAVByABqIgc2AmAgBUE8aiAFQdgAaiIIENMBQQAhASAFQQA2AlAgBUKAgICAEDcCSCAFQQM6AHggBUEgNgJoIAVBADYCdCAFQeiLwQA2AnAgBUEANgJgIAVBADYCWCAFIAc2AmwgAiAIEJUCDQEgACAFKQJINwIQIABBGGogBUHQAGooAgA2AgAgAEEMaiAFQcQAaigCADYCACAAIAUpAjw3AgQLIAAgATYCACAFKAIoIgAEQCAaIAAQiwMLIAVBgAFqJAAPC0GAjMEAQTcgBUH/AGpBuIzBAEGUjcEAEJcCAAuyAwEHf0EBIQkCQAJAIAJFDQAgASACQQF0aiEKIABBgP4DcUEIdiELIABB/wFxIQ0DQCABQQJqIQwgByABLQABIgJqIQggCyABLQAAIgFHBEAgASALSw0CIAghByAMIgEgCkYNAgwBCwJAAkAgByAITQRAIAQgCEkNASADIAdqIQEDQCACRQ0DIAJBAWshAiABLQAAIAFBAWohASANRw0AC0EAIQkMBQsgByAIQYDNwQAQjwMACyMAQTBrIgAkACAAIAQ2AgQgACAINgIAIABBAjYCDCAAQfjJwQA2AgggAEICNwIUIAAgAEEEaq1CgICAgNAOhDcDKCAAIACtQoCAgIDQDoQ3AyAgACAAQSBqNgIQIABBCGpBgM3BABDFAgALIAghByAMIgEgCkcNAAsLIAZFDQAgBSAGaiEEIABB//8DcSEBA0AgBUEBaiEAAkAgBS0AACICwCIDQQBOBEAgACEFDAELIAAgBEcEQCAFLQABIANB/wBxQQh0ciECIAVBAmohBQwBC0HwzMEAEJADAAsgASACayIBQQBIDQEgCUEBcyEJIAQgBUcNAAsLIAlBAXEL+QICBX8BfiMAQeAAayICJAACQAJAIAEpAxgiB0IAWQRAIAAgBzcDICAAIAEpAwA3AwggAEEYaiABQRBqKQMANwMAIABBEGogAUEIaikDADcDAAwBCyACQcgAaiABQRhqKQMANwMAIAJBQGsgAUEQaikDADcDACACQThqIgQgAUEIaikDADcDAEEBIQMgAkEBNgIUIAJBxKrBADYCECACQgE3AhwgAiABKQMANwMwIAIgAkEwaq1CgICAgMAAhDcDKCACIAJBKGo2AhggAkHUAGoiASACQRBqENMBIAJBCGogAUGcpMEAQcyqwQAQpgIgAigCDCEFIAIoAgghBiAEIAJB3ABqKAIANgIAQZngwQAtAAAaIAIgAikCVDcDMEEYQQQQ9wIiAUUNASABIAY2AgQgAUGEpcEANgIAIAEgAikDMDcCDCABIAU2AgggAUEUaiAEKAIANgIAIAAgATYCBAsgACADNgIAIAJB4ABqJAAPC0EEQRgQqAMAC/ECAQR/IAAoAgwhAgJAAkAgAUGAAk8EQCAAKAIYIQMCQAJAIAAgAkYEQCAAQRRBECAAKAIUIgIbaigCACIBDQFBACECDAILIAAoAggiASACNgIMIAIgATYCCAwBCyAAQRRqIABBEGogAhshBANAIAQhBSABIgJBFGogAkEQaiACKAIUIgEbIQQgAkEUQRAgARtqKAIAIgENAAsgBUEANgIACyADRQ0CIAAgACgCHEECdEHo4MEAaiIBKAIARwRAIANBEEEUIAMoAhAgAEYbaiACNgIAIAJFDQMMAgsgASACNgIAIAINAUGE5MEAQYTkwQAoAgBBfiAAKAIcd3E2AgAMAgsgACgCCCIAIAJHBEAgACACNgIMIAIgADYCCA8LQYDkwQBBgOTBACgCAEF+IAFBA3Z3cTYCAA8LIAIgAzYCGCAAKAIQIgEEQCACIAE2AhAgASACNgIYCyAAKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsLgAMCBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRB08bBAEHQxsEAIAkbQQJBAyAJGyAGKAIYKAIMEQMADQEgBigCFCABIAIgBigCGCgCDBEDAA0BIAYoAhRBoMbBAEECIAYoAhgoAgwRAwANASADIAYgBCgCDBEBACEHDAELIAlFBEAgBigCFEHVxsEAQQMgBigCGCgCDBEDAA0BIAYoAhwhCAsgBUEBOgAbIAUgBikCFDcCDCAFQbTGwQA2AjQgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUgBUEMaiIINgIwIAggASACELcBDQAgCEGgxsEAQQIQtwENACADIAVBHGogBCgCDBEBAA0AIAUoAjBB2MbBAEECIAUoAjQoAgwRAwAhBwsgAEEBOgAFIAAgBzoABCAFQUBrJAAgAAvsAgIEfwF+IwBBQGoiBCQAIAQgAjYCFCAEIAE2AhBBASEFIARBATYCJCAEQfCtwQA2AiAgBEIBNwIsIARCgICAgOASIgggBEEQaq2ENwM4IAQgBEE4ajYCKAJAIAMoAhQiBiADKAIYIgcgBEEgahCzAQ0AQQAhBSADLQAcQQRxRQ0AIAggBEEYaq2EIQggBCgCFCECIAQoAhAhA0EBIQEDQAJAIAUEQCACIQEgAyEAIAMNAUEAIQUMAwtBACEFA0AgA0UNAyAEQQhqIAMgAigCGBEAACAEKAIMIQIgBCgCCCEDIAFBAWsiAQ0ACyACIQEgAyEAIANFDQILIAQgACABKAIYEQAAIAQoAgQhAiAEKAIAIQMgBCABNgIcIAQgADYCGEEBIQUgBEEBNgIkIARB/K3BADYCICAEQgE3AiwgBCAINwM4IAQgBEE4ajYCKEEAIQEgBiAHIARBIGoQswFFDQALCyAEQUBrJAAgBQvKAgIIfgF/IwBBQGoiCyQAIAsgAiABQaAGahBxIAspAzAhBiALKQMoIQQgAikDCCEDAn4gAikDACIJIAspAyAiCloEQCADIAR9IQcgAyAEVK0MAQsgAyAEQn+FfCEHIAMgBFStIAMgBFGtfAshBSALKQM4IQggAikDECIDIAZ9IQQCQCAFUARAIAMgBlStIQMMAQsgBCAFVK0gAyAGVK18IQMgBCAFfSEECyACKQMYIgYgCH0hBQJAAkAgA1AEQCAAIAU3AxggACAENwMQIAAgBzcDCCAAIAkgCn03AwAgBiAIVA0BDAILIAAgBDcDECAAIAc3AwggACAFIAN9NwMYIAAgCSAKfTcDACAGIAhUDQAgAyAFWA0BCyALQQA2AhAgC0EBNgIEIAtB5MTAADYCACALQgQ3AgggC0G0xMAAEMUCAAsgC0FAayQAC8ECAQN/IwBBgAFrIgQkAAJ/AkACQCABKAIcIgJBEHFFBEAgAkEgcQ0BIAA1AgAgARDhAQwDCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTByIANB1wBqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsMAQsgACgCACEAQQAhAgNAIAIgBGpB/wBqIABBD3EiA0EwciADQTdqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsgAkGAAWoiAEGBAU8EQCAAQYABQfzGwQAQjQMACyABQQFBjMfBAEECIAIgBGpBgAFqQQAgAmsQqgEMAQsgAkGAAWoiAEGBAU8EQCAAQYABQfzGwQAQjQMACyABQQFBjMfBAEECIAIgBGpBgAFqQQAgAmsQqgELIARBgAFqJAALvAwCCX8RfiMAQbAYayIDJAAgA0G4EGogARACIAEQAxC8AQJAAkAgAygCuBBFBEAgA0HQAGoiBCADQcAIakEEciADQcAQakHwBxCsA0HwBxCsAxogA0EoaiEFIwBB8AFrIgIkACACQcgBaiAEQdgDaikDADcDACACQcABaiAEQdADaikDADcDACACQbgBaiAEQcgDaikDADcDACACQThqIgYgBEHIAWopAwA3AwAgAkFAayIIIARB0AFqKQMANwMAIAJByABqIgcgBEHYAWopAwA3AwAgAkESOgDQASACIAQpA8ADNwOwASACIAQpA8ABNwMwIAJB0ABqIglBEjoAACACQaABaiIKIAkpAwA3AwAgAkGYAWoiCSAHKQMANwMAIAJBkAFqIgcgCCkDADcDACACQYgBaiAGKQMANwMAIAIgAikDMDcDgAEgAkEIaiACQbABaiACQYABaiIGEMUBIAZB7MTAAEEBELABAkACQAJAIAIoAoABRQRAIAJB+ABqIAJBqAFqKQMANwMAIAJB8ABqIAopAwA3AwAgAkHoAGogCSkDADcDACACQeAAaiAHKQMANwMAIAIgAikDiAE3A1ggAkESOgDQASACIAQpAxgiEzcDyAEgAiAEKQMQIhQ3A8ABIAIgBCkDCCIONwO4ASACIAQpAwAiGTcDsAEgAikDECIMIAQpA6gFIg98Ig0gDFQhBiACKQMYIhEgESAEKQOwBSIVfCILViEIIAIpAyAiEiASIAQpA7gFIhZ8IhBWIQcCQCACKQMIIhcgBCkDoAUiGnwiGyAXWgR+IAatBSANQgF8Ig1QrSAGrXwLIhhQBH4gCK0FIAsgCyAYfCILVq0gCK18CyIYUARAIAIgEDcDmAEgAiALNwOQASACIA03A4gBIAIgGzcDgAEgB0UNAQwDCyACIAs3A5ABIAIgDTcDiAEgAiAbNwOAASACIBAgGHwiCzcDmAEgByALIBBUcg0CCyACQRI6AKABIAJBsAFqIAJBgAFqEJwCQf8BcUEBRgRAAn4gFyAZWARAIAwgDlatIRAgDiAMfQwBCyAMIA5WrSAMIA5RrXwhECAOIAxCf4V8CyENIBQgEX0hCwJAIBBQBEAgESAUVq0hDAwBCyALIBBUrSARIBRWrXwhDCALIBB9IQsLIBMgEn0hDgJAIAxQBEAgEiATWA0BDAULIBIgE1YgDCAOVnINBCAOIAx9IQ4LAn4gGiAZIBd9IhFYBEAgDSAPVK0hDCANIA99DAELIA0gD1StIA0gD1GtfCEMIA0gD0J/hXwLIRIgCyAVfSEPAkAgDFAEQCALIBVUrSENDAELIAwgD1atIAsgFVStfCENIA8gDH0hDwsgDiAWfSELAkAgDVAEQCAOIBZaDQEMBQsgDiAWVCALIA1Ucg0EIAsgDX0hCwsgAkESOgCgASACIAs3A5gBIAIgDzcDkAEgAiASNwOIASACIBEgGn03A4ABIAJB2ABqIAJBgAFqIAJBMGoQxwELIAUgAikDWDcDACAFQSBqIAJB+ABqKQMANwMAIAVBGGogAkHwAGopAwA3AwAgBUEQaiACQegAaikDADcDACAFQQhqIAJB4ABqKQMANwMAIAJB8AFqJAAMAwsgAiACKAKEATYCsAFB7cTAAEErIAJBsAFqQZjFwABBlMfAABCXAgALIAJBADYC6AEgAkEBNgLcASACQeCHwQA2AtgBIAJCBDcC4AEgAkHYAWpB9IXBABDFAgALIAJBADYCkAEgAkEBNgKEASACQeTEwAA2AoABIAJCBDcCiAEgAkGAAWpBtMTAABDFAgALIANBCGogBUHcnsAAELgBIAFBgwFLDQEMAgsgA0EQaiADQcQQaikCADcDACADQRhqIANBzBBqKQIANwMAIANBIGogA0HUEGooAgA2AgAgAyADKQK8EDcDCCABQYQBSQ0BCyABEAALAn8gAygCCCIEQQJGBEAgAygCDCEBQQAMAQsgA0HQEGogA0EgaigCADYCACADQcgQaiADQRhqKQMANwMAIANBwBBqIANBEGopAwA3AwAgAyADKQMINwO4EEEAIQEgA0G4EGoQ5QELIQIgACAEQQJHNgIIIAAgAjYCBCAAIAE2AgAgA0GwGGokAAvBAgIIfgF/IwBBIGsiCyQAIAEpAwghBCACKQMQIQYgAikDCCEDAn4gASkDACIJIAIpAwAiCloEQCAEIAN9IQcgAyAEVq0MAQsgBCADQn+FfCEHIAMgBFatIAMgBFGtfAshBSACKQMYIQggASkDECIDIAZ9IQQCQCAFUARAIAMgBlStIQMMAQsgBCAFVK0gAyAGVK18IQMgBCAFfSEECyABKQMYIgYgCH0hBQJAAkAgA1AEQCAAIAU3AxggACAENwMQIAAgBzcDCCAAIAkgCn03AwAgBiAIWg0BDAILIAAgBDcDECAAIAc3AwggACAFIAN9NwMYIAAgCSAKfTcDACAGIAhUIAMgBVZyDQELIAtBIGokAA8LIAtBADYCGCALQQE2AgwgC0HAlMAANgIIIAtCBDcCECALQQhqQZCUwAAQxQIAC8ECAgh+AX8jAEEgayILJAAgASkDCCEEIAIpAxAhBiACKQMIIQMCfiABKQMAIgkgAikDACIKWgRAIAQgA30hByADIARWrQwBCyAEIANCf4V8IQcgAyAEVq0gAyAEUa18CyEFIAIpAxghCCABKQMQIgMgBn0hBAJAIAVQBEAgAyAGVK0hAwwBCyAEIAVUrSADIAZUrXwhAyAEIAV9IQQLIAEpAxgiBiAIfSEFAkACQCADUARAIAAgBTcDGCAAIAQ3AxAgACAHNwMIIAAgCSAKfTcDACAGIAhaDQEMAgsgACAENwMQIAAgBzcDCCAAIAUgA303AxggACAJIAp9NwMAIAYgCFQgAyAFVnINAQsgC0EgaiQADwsgC0EANgIYIAtBATYCDCALQeSuwAA2AgggC0IENwIQIAtBCGpBtK7AABDFAgALwQICCH4BfyMAQSBrIgskACABKQMIIQQgAikDECEGIAIpAwghAwJ+IAEpAwAiCSACKQMAIgpaBEAgBCADfSEHIAMgBFatDAELIAQgA0J/hXwhByADIARWrSADIARRrXwLIQUgAikDGCEIIAEpAxAiAyAGfSEEAkAgBVAEQCADIAZUrSEDDAELIAQgBVStIAMgBlStfCEDIAQgBX0hBAsgASkDGCIGIAh9IQUCQAJAIANQBEAgACAFNwMYIAAgBDcDECAAIAc3AwggACAJIAp9NwMAIAYgCFoNAQwCCyAAIAQ3AxAgACAHNwMIIAAgBSADfTcDGCAAIAkgCn03AwAgBiAIVCADIAVWcg0BCyALQSBqJAAPCyALQQA2AhggC0EBNgIMIAtB5MTAADYCCCALQgQ3AhAgC0EIakG0xMAAEMUCAAu+AgIFfwF+IwBBMGsiBCQAQSchAgJAIABCkM4AVARAIAAhBwwBCwNAIARBCWogAmoiA0EEayAAIABCkM4AgCIHQpDOAH59pyIFQf//A3FB5ABuIgZBAXRBjsfBAGovAAA7AAAgA0ECayAFIAZB5ABsa0H//wNxQQF0QY7HwQBqLwAAOwAAIAJBBGshAiAAQv/B1y9WIAchAA0ACwsgB6ciA0HjAEsEQCACQQJrIgIgBEEJamogB6ciAyADQf//A3FB5ABuIgNB5ABsa0H//wNxQQF0QY7HwQBqLwAAOwAACwJAIANBCk8EQCACQQJrIgIgBEEJamogA0EBdEGOx8EAai8AADsAAAwBCyACQQFrIgIgBEEJamogA0EwcjoAAAsgAUEBQQFBACAEQQlqIAJqQScgAmsQqgEgBEEwaiQAC8UCAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQMAgsgACgCCCIDIAAoAgBGBEAgABD9AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD6ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEKwDGiAAIAEgA2o2AggLIAJBEGokAEEAC+cDAQZ/IwBBEGsiAyQAAkACfwJAIAFBgAFPBEAgA0EANgIMIAFBgBBJDQEgAUGAgARJBEAgAyABQT9xQYABcjoADiADIAFBDHZB4AFyOgAMIAMgAUEGdkE/cUGAAXI6AA1BAwwDCyADIAFBP3FBgAFyOgAPIAMgAUEGdkE/cUGAAXI6AA4gAyABQQx2QT9xQYABcjoADSADIAFBEnZBB3FB8AFyOgAMQQQMAgsgACgCCCIHIAAoAgBGBEAjAEEgayICJAAgACgCACIFQQFqIgRFBEBBAEEAEOMCAAtBCCAFQQF0IgYgBCAEIAZJGyIEIARBCE0bIgRBf3NBH3YhBiACIAUEfyACIAU2AhwgAiAAKAIENgIUQQEFQQALNgIYIAJBCGogBiAEIAJBFGoQiwIgAigCCARAIAIoAgwgAigCEBDjAgALIAIoAgwhBSAAIAQ2AgAgACAFNgIEIAJBIGokAAsgACAHQQFqNgIIIAAoAgQgB2ogAToAAAwCCyADIAFBP3FBgAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCICa0sEQCAAIAIgARD7ASAAKAIIIQILIAAoAgQgAmogA0EMaiABEKwDGiAAIAEgAmo2AggLIANBEGokAEEAC8UCAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQMAgsgACgCCCIDIAAoAgBGBEAgABD+AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD8ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEKwDGiAAIAEgA2o2AggLIAJBEGokAEEAC9oCAQR/IwBBQGoiASQAAkACQCAAKAIARQRAIAFBADYCFCABQoCAgIAQNwIMIAFBAzoAOCABQSA2AiggAUEANgI0IAFB7InBADYCMCABQQA2AiAgAUEANgIYIAEgAUEMajYCLCAAIAFBGGoQ8gENAiABKAIMIQIgASgCECIDIAEoAhQQXyEEIAJFDQEgAyACEIsDDAELIAFBADYCFCABQoCAgIAQNwIMIAFBAzoAOCABQSA2AiggAUEANgI0IAFB7InBADYCMCABQQA2AiAgAUEANgIYIAEgAUEMajYCLCAAIAFBGGoQ8gENASABKAIMIQIgASgCECIDIAEoAhQQXiEEIAJFDQAgAyACEIsDCyAAKAIEIgIEQCAAKAIIIAIQiwMLIAAoAhAiAgRAIAAoAhQgAhCLAwsgAUFAayQAIAQPC0GEisEAQTcgAUE/akG8isEAQZiLwQAQlwIAC8UCAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQMAgsgACgCCCIDIAAoAgBGBEAgABD9AQsgACADQQFqNgIIIAAoAgQgA2ogAToAAAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD6ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABEKwDGiAAIAEgA2o2AggLIAJBEGokAEEAC7kCAgJ/A34jAEHgAGsiAiQAIAJBCGogASkDAEIAQgpCABCWAiABIAIpAwgiBTcDACACQRhqIAFBCGoiAykDAEIAQgpCABCWAiADIAIpAxgiBiACQRBqKQMAfCIENwMAIAJBKGogAUEQaiIDKQMAQgBCCkIAEJYCIAJBOGogAUEYaiIBKQMAQgBCCkIAEJYCIAAgBTcDACAAQQhqIAQ3AwAgAyACKQMoIgUgAkEgaikDACAEIAZUrXx8IgQ3AwAgAEEQaiAENwMAIAEgAikDOCIGIAJBMGopAwAgBCAFVK18fCIENwMAIABBGGogBDcDACACQUBrKQMAIAQgBlStfFAEQCACQeAAaiQADwsgAkEANgJYIAJBATYCTCACQey1wQA2AkggAkIENwJQIAJByABqQfS1wQAQxQIAC7sCAQN/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQIhBEEDDAMLIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQMhBEEEDAILIAAoAggiAyAAKAIARgRAIAAQ/QELIAAoAgQgA2ogAToAACAAIANBAWo2AggMAgsgAiABQQZ2QcABcjoADEEBIQRBAgshAyACQQxqIARyIAFBP3FBgAFyOgAAIAMgACgCACAAKAIIIgFrSwRAIAAgASADEPoBIAAoAgghAQsgACgCBCABaiACQQxqIAMQrAMaIAAgASADajYCCAsgAkEQaiQAQQALuwIBA38jAEEQayICJAACQAJ/AkAgAUGAAU8EQCACQQA2AgwgAUGAEEkNASABQYCABEkEQCACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAiEEQQMMAwsgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBAyEEQQQMAgsgACgCCCIDIAAoAgBGBEAgABD+AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBBnZBwAFyOgAMQQEhBEECCyEDIAJBDGogBHIgAUE/cUGAAXI6AAAgAyAAKAIAIAAoAggiAWtLBEAgACABIAMQ/AEgACgCCCEBCyAAKAIEIAFqIAJBDGogAxCsAxogACABIANqNgIICyACQRBqJABBAAvEAgEEfyAAQgA3AhAgAAJ/QQAgAUGAAkkNABpBHyABQf///wdLDQAaIAFBBiABQQh2ZyIDa3ZBAXEgA0EBdGtBPmoLIgI2AhwgAkECdEHo4MEAaiEEQQEgAnQiA0GE5MEAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghBhOTBAEGE5MEAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWpBEGoiBCgCACICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBCAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC6MCAgZ+An8jAEEgayIJJAAgASkDCCIDIAIpAwh8IgYgA1QhCiACKQMQIQMgASkDACIEIAIpAwB8IgggBFoEfiAKrQUgBkIBfCIGUK0gCq18CyEEIAIpAxghBSABKQMQIgcgA3wiAyAHVCECIAEpAxgiByAFfCIFIAdUIQECQAJAIARQBH4gAq0FIAMgAyAEfCIDVq0gAq18CyIEUARAIAAgBTcDGCAAIAM3AxAgACAGNwMIIAAgCDcDACABRQ0BDAILIAAgAzcDECAAIAY3AwggACAINwMAIAAgBCAFfCIDNwMYIAEgAyAFVHINAQsgCUEgaiQADwsgCUEANgIYIAlBATYCDCAJQdTBwAA2AgggCUIENwIQIAlBCGpB8L7AABDFAgALowICBn4CfyMAQSBrIgkkACABKQMIIgMgAikDCHwiBiADVCEKIAIpAxAhAyABKQMAIgQgAikDAHwiCCAEWgR+IAqtBSAGQgF8IgZQrSAKrXwLIQQgAikDGCEFIAEpAxAiByADfCIDIAdUIQIgASkDGCIHIAV8IgUgB1QhAQJAAkAgBFAEfiACrQUgAyADIAR8IgNWrSACrXwLIgRQBEAgACAFNwMYIAAgAzcDECAAIAY3AwggACAINwMAIAFFDQEMAgsgACADNwMQIAAgBjcDCCAAIAg3AwAgACAEIAV8IgM3AxggASADIAVUcg0BCyAJQSBqJAAPCyAJQQA2AhggCUEBNgIMIAlB4IfBADYCCCAJQgQ3AhAgCUEIakH0hcEAEMUCAAumAgIIfgF/IwBBIGsiCiQAIAEpAwghAyAAKQMQIQUgACkDCCECAn4gACkDACIIIAEpAwAiCVoEQCACIAN9IQcgAiADVK0MAQsgAiADQn+FfCEHIAIgA1StIAIgA1GtfAshBCAAKQMYIQYgBSABKQMQIgJ9IQMCQCAEUARAIAIgBVatIQIMAQsgAyAEVK0gAiAFVq18IQIgAyAEfSEDCyAGIAEpAxgiBX0hBAJAAkAgAlAEQCAFIAZYDQEMAgsgBSAGViACIARWcg0BIAQgAn0hBAsgACAENwMYIAAgAzcDECAAIAc3AwggACAIIAl9NwMAIApBIGokAA8LIApBADYCGCAKQQE2AgwgCkHstcEANgIIIApCBDcCECAKQQhqQfS1wQAQxQIAC60CAgF/BH4jAEFAaiICJAAgACkDACEEAn8CQAJAAkAgACkDGCIGQgBTBEAgACkDCCEDIAApAxAhBSACQgAgBH0iBDcDACACIANCf4VCACADfSIDIARCAFIiABs3AwggAiAFQn+FIgQgA1AgAEF/c3EiAK18IgMgBCAAGzcDECACIAAgAyAEVHGtIAZCf4V8NwMYQS0hAAwBCyAAKQMIIQMgACkDECEFIAIgBjcDGCACIAU3AxAgAiADNwMIIAIgBDcDAEErIQAgAS0AHEEBcUUNAQsgASAAEO8CDQELIAJBATYCJCACQeSwwQA2AiAgAkIBNwIsIAIgAq1CgICAgMAOhDcDOCACIAJBOGo2AiggASgCFCABKAIYIAJBIGoQswEMAQtBAQsgAkFAayQAC7YCAQd/IwBBEGsiAiQAQQEhBwJAAkAgASgCFCIEQScgASgCGCgCECIFEQEADQAgAiAAKAIAQYECEKcBAkAgAi0AAEGAAUYEQCACQQhqIQZBgAEhAwNAAkAgA0GAAUcEQCACLQAKIgAgAi0AC08NBCACIABBAWo6AAogAEEKTw0GIAAgAmotAAAhAQwBC0EAIQMgBkEANgIAIAIoAgQhASACQgA3AwALIAQgASAFEQEARQ0ACwwCC0EKIAItAAoiASABQQpNGyEAIAEgAi0ACyIDIAEgA0sbIQYDQCABIAZGDQEgAiABQQFqIgM6AAogACABRg0DIAEgAmohCCADIQEgBCAILQAAIAURAQBFDQALDAELIARBJyAFEQEAIQcLIAJBEGokACAHDwsgAEEKQYTZwQAQoAIAC4ICAgV+An8jAEEgayIHJAAgACkDCCICIAEpAwh8IgUgAlQhCCAAKQMQIQIgACkDACIDIAEpAwB8IgYgA1oEfiAIrQUgBUIBfCIFUK0gCK18CyEEIAIgAiABKQMQfCICViEIIAApAxgiAyADIAEpAxh8IgNWIQECQAJAIARQBH4gCK0FIAIgAiAEfCICVq0gCK18CyIEUARAIAFFDQEMAgsgAQ0BIAMgAyAEfCIDVg0BCyAAIAM3AxggACACNwMQIAAgBTcDCCAAIAY3AwAgB0EgaiQADwsgB0EANgIYIAdBATYCDCAHQey1wQA2AgggB0IENwIQIAdBCGpB9LXBABDFAgALkAIBAX8jAEEQayICJAAgACgCACEAAn8gASgCACABKAIIcgRAIAJBADYCDCABIAJBDGoCfwJAAkAgAEGAAU8EQCAAQYAQSQ0BIABBgIAETw0CIAIgAEE/cUGAAXI6AA4gAiAAQQx2QeABcjoADCACIABBBnZBP3FBgAFyOgANQQMMAwsgAiAAOgAMQQEMAgsgAiAAQT9xQYABcjoADSACIABBBnZBwAFyOgAMQQIMAQsgAiAAQT9xQYABcjoADyACIABBEnZB8AFyOgAMIAIgAEEGdkE/cUGAAXI6AA4gAiAAQQx2QT9xQYABcjoADUEECxCjAQwBCyABKAIUIAAgASgCGCgCEBEBAAsgAkEQaiQAC5sBAgN/An4jAEFAaiICJAAgAEEQaiEDIABBBGohBEKAgICAsAshBUKAgICAwAshBiAAKAIARRogAiADNgIMIAJBAjYCFCACQdiLwQA2AhAgAkICNwIcIAIgBSACQQxqrYQ3AzAgAiAGIAJBPGqthDcDKCACIAQ2AjwgAiACQShqNgIYIAEoAhQgASgCGCACQRBqELMBIAJBQGskAAuJAgECfyMAQdAAayIDJAAgAyABNgIIIANBATYCLCADQfS3wAA2AiggA0IBNwI0IAMgA0EIaq1CgICAgPABhDcDGCADIANBGGoiATYCMCADQQxqIANBKGoiBBDTASADQQA2AiAgA0KAgICAEDcCGCADQQM6AEggA0EgNgI4IANBADYCRCADQbi2wAA2AkAgA0EANgIwIANBADYCKCADIAE2AjwgAiAEEJUCBEBB0LbAAEE3IANBzwBqQYi3wABB5LfAABCXAgALIAAgAykCGDcCECAAQRhqIANBIGooAgA2AgAgAEEMaiADQRRqKAIANgIAIAAgAykCDDcCBCAAQQE2AgAgA0HQAGokAAvnAQEBfyMAQRBrIgIkACACQQA2AgwgACACQQxqAn8CQAJAIAFBgAFPBEAgAUGAEEkNASABQYCABE8NAiACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAMLIAIgAToADEEBDAILIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBBAsQvwEgAkEQaiQAC/kBAgN/AX4jAEEwayICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEsaiIEQQA2AgAgAkKAgICAEDcCJCACQSRqQaC7wQAgAxCzARogAkEgaiAEKAIAIgM2AgAgAiACKQIkIgU3AxggAUEIaiADNgIAIAEgBTcCAAsgASkCACEFIAFCgICAgBA3AgAgAkEQaiIDIAFBCGoiASgCADYCACABQQA2AgBBmeDBAC0AABogAiAFNwMIQQxBBBD3AiIBRQRAQQRBDBCoAwALIAEgAikDCDcCACABQQhqIAMoAgA2AgAgAEGQwMEANgIEIAAgATYCACACQTBqJAALuAICBH8DfiMAQSBrIgEkACMAQRBrIgAkACABQQg2AgAgAUEgNgIEIABBEGokACABKAIAIQACQAJAIAEoAgQiAwR/QZngwQAtAAAaIAMgABD3AgUgAAsiAgRAIAJBAjYCECACQoGAgIAQNwMAQeDgwQApAwAhBANAIARCAXwiBVANAkHg4MEAIAVB4ODBACkDACIGIAQgBlEiABs3AwAgBiEEIABFDQALIAIgBTcDCEG05MEAKAIARQ0CIAFBADYCGCABQQE2AgwgAUG4usEANgIIIAFCBDcCECABQQhqQZC7wQAQxQIACyAAIAMQqAMACyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBpL7BADYCCCAAQgQ3AhAgAEEIakGsvsEAEMUCAAtBtOTBACACNgIAIAFBIGokAAuBAgECfyMAQSBrIgYkAEHY4MEAQdjgwQAoAgAiB0EBajYCAAJAAkAgB0EASA0AQbDkwQAtAAANAEGw5MEAQQE6AABBrOTBAEGs5MEAKAIAQQFqNgIAIAYgBToAHSAGIAQ6ABwgBiADNgIYIAYgAjYCFCAGQdjAwQA2AhAgBkEBNgIMQczgwQAoAgAiAkEASA0AQczgwQAgAkEBajYCAEHM4MEAQdDgwQAoAgAEfyAGIAAgASgCEBEAACAGIAYpAwA3AgxB0ODBACgCACAGQQxqQdTgwQAoAgAoAhQRAABBzODBACgCAEEBawUgAgs2AgBBsOTBAEEAOgAAIAQNAQsACwALxgEBBH8jAEEgayIDJAAgASABIAJqIgJLBEBBAEEAEOMCAAtBBCEBQQQgACgCACIFQQF0IgQgAiACIARJGyICIAJBBE0bIgRBAnQhBiACQYCAgIACSUECdCECAkAgBUUEQEEAIQEMAQsgAyAFQQJ0NgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogAiAGIANBFGoQiQIgAygCCARAIAMoAgwgAygCEBDjAgALIAMoAgwhASAAIAQ2AgAgACABNgIEIANBIGokAAvEAQEGfyMAQSBrIgEkACAAKAIAIgNBAWoiAkUEQEEAQQAQ4wIAC0EEIQVBBCADQQF0IgQgAiACIARJGyICIAJBBE0bIgRBAnQhBiACQYCAgIACSUECdCECAkAgA0UEQEEAIQUMAQsgASADQQJ0NgIcIAEgACgCBDYCFAsgASAFNgIYIAFBCGogAiAGIAFBFGoQiQIgASgCCARAIAEoAgwgASgCEBDjAgALIAEoAgwhAyAAIAQ2AgAgACADNgIEIAFBIGokAAu4AQEDfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQ4wIAC0EBIQFBCCAAKAIAIgVBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEAkAgBUUEQEEAIQEMAQsgAyAFNgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogBCACIANBFGoQiQIgAygCCARAIAMoAgwgAygCEBDjAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAu4AQEDfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQ4wIAC0EBIQFBCCAAKAIAIgVBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEAkAgBUUEQEEAIQEMAQsgAyAFNgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogBCACIANBFGoQiwIgAygCCARAIAMoAgwgAygCEBDjAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAu4AQEDfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQ4wIAC0EBIQFBCCAAKAIAIgVBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEAkAgBUUEQEEAIQEMAQsgAyAFNgIcIAMgACgCBDYCFAsgAyABNgIYIANBCGogBCACIANBFGoQ/wEgAygCCARAIAMoAgwgAygCEBDjAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAurAQEEfyMAQSBrIgEkACAAKAIAIgNBAWoiAkUEQEEAQQAQ4wIAC0EIIANBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEIAEgAwR/IAEgAzYCHCABIAAoAgQ2AhRBAQVBAAs2AhggAUEIaiAEIAIgAUEUahCJAiABKAIIBEAgASgCDCABKAIQEOMCAAsgASgCDCEDIAAgAjYCACAAIAM2AgQgAUEgaiQAC6sBAQR/IwBBIGsiASQAIAAoAgAiA0EBaiICRQRAQQBBABDjAgALQQggA0EBdCIEIAIgAiAESRsiAiACQQhNGyICQX9zQR92IQQgASADBH8gASADNgIcIAEgACgCBDYCFEEBBUEACzYCGCABQQhqIAQgAiABQRRqEP8BIAEoAggEQCABKAIMIAEoAhAQ4wIACyABKAIMIQMgACACNgIAIAAgAzYCBCABQSBqJAALrgEBA39BASEEQQQhBiABRSACQQBIckUEQAJ/AkACQAJ/IAMoAgQEQCADKAIIIgFFBEAgAkUEQAwEC0GZ4MEALQAAGiACQQEQ9wIMAgsgAygCACABQQEgAhDlAgwBCyACRQRADAILQZngwQAtAAAaIAJBARD3AgsiBEUNAQsgACAENgIEQQAMAQsgAEEBNgIEQQELIQRBCCEGIAIhBQsgACAGaiAFNgIAIAAgBDYCAAuYBwIHfwR+IwBBQGoiAyQAIANBBGohBCMAQbAZayICJAAgAkGQEWoiBSABEAIgARADELwBAkACQAJAAkAgAigCkBFFBEAgAkGoAWoiBiACQZgJakEEciACQZgRakHwBxCsA0HwBxCsAxogAkH4AGogBhCcASACKAJ4BEAgAiACKAJ8NgKMGSACIAJBjBlqIgY2ApAZIAJBATYClBEgAkH0t8AANgKQESACQgE3ApwRIAIgAkGQGWqtQoCAgIDwAYQ3A6AZIAIgAkGgGWoiBzYCmBEgAkGUGWogBRDTASACQQA2AqgZIAJCgICAgBA3AqAZIAJBAzoAsBEgAkEgNgKgESACQQA2AqwRIAJBuLbAADYCqBEgAkEANgKYESACQQA2ApARIAIgBzYCpBFBvJ3AACAFEJUCDQMgAkHkAGogAkGoGWooAgA2AgAgAkHYAGoiBSACQZwZaigCADYCACACIAIpAqAZNwJcIAIgAikClBk3A1AgBhDtAiACQThqIAJB4ABqKQMAIgk3AwAgAkEwaiAFKQMAIgo3AwAgAiACKQNQIgs3AyggBEEBNgIAIAQgCzcCBCAEQQxqIAo3AgAgBEEUaiAJNwIADAILIAJB8ABqIAJBoAFqKQMAIgk3AwAgAkEwaiACQYgBaikDACIKNwMAIAJBOGogAkGQAWopAwAiCzcDACACQUBrIAJBmAFqKQMAIgw3AwAgAkHIAGogCTcDACACQQhqIAo3AwAgAkEQaiALNwMAIAJBGGogDDcDACACQSBqIAk3AwAgAiACKQOAASIJNwMoIAIgCTcDACAEIAJBzJ3AABC4ASABQYMBTQ0EDAMLIAJBsAlqIAJBrBFqKAIAIgU2AgAgAkGoCWogAkGkEWopAgAiCTcDACACQaAJaiACQZwRaikCACIKNwMAIAIgAikClBEiCzcDmAkgBEEYaiAFNgIAIARBEGogCTcCACAEQQhqIAo3AgAgBCALNwIACyABQYMBSw0BDAILQdC2wABBNyACQa8ZakGIt8AAQeS3wAAQlwIACyABEAALIAJBsBlqJAACfyADKAIEIgFBAkYEQCADKAIIIQhBAAwBCyADQThqIANBHGooAgA2AgAgA0EwaiADQRRqKQIANwMAIANBKGogA0EMaikCADcDACADIAMpAgQ3AyAgA0EgahDlAQshAiAAIAFBAkc2AgggACACNgIEIAAgCDYCACADQUBrJAALtg0CCX8HfiMAQUBqIgUkACAFQQRqIQYjAEHwAmsiAiQAIAIgARAEIgM2ArQBIAJBqAJqIgggAkG0AWpB3J3AABCtAQJAAkACQAJAIAIoAqgCRQRAIAJBrAFqIAJByAJqIgQpAwAiCzcCACACQaQBaiACQcACaiIHKQMAIgw3AgAgAkGcAWogAkG4AmoiCSkDACINNwIAIAJBwAFqIA03AwAgAkHIAWogDDcDACACQdABaiALNwMAIAIgAikDsAIiCzcClAEgAiALNwO4ASACIAEQBSIDNgLUAiAIIAJB1AJqQeydwAAQrAEgAigCqAJFBEAgAkGcAmogBCkDACILNwIAIAJBlAJqIAcpAwAiDDcCACACQYwCaiAJKQMAIg03AgAgAkHgAWogDTcDACACQegBaiAMNwMAIAJB8AFqIAs3AwAgAiACKQOwAiILNwKEAiACIAs3A9gBIAJBEjoA+AEjAEGAAWsiAyQAIANB2ABqIgRBgOeEDxCfAiADQRI6AHggA0EIaiACQdgBaiIHIAQQxAEgAkG4AWoiBCkDACELAn4gBCkDGCIPQgBZBEAgBCkDECEMIAQpAwghDSAPDAELIAQpAwgiDEJ/hUIAIAx9IgxCACALfSILQgBSIgkbIQ0gBCkDEEJ/hSIOIAxQIAlBf3NxIgStfCIQIA4gBBshDCAEIA4gEFZxrSAPQn+FfAshDiADQRI6AHggAyAONwNwIAMgDDcDaCADIA03A2AgAyALNwNYIANBMGogA0HYAGogA0EIahDHASADKQNIIQsgAykDQCENIAMpAzghDCADKQMwIQ4gD0IAUwRAIAxCf4VCACAMfSIRQgAgDn0iDkIAUiIEGyEMIA1Cf4UiECARUCAEQX9zcSIErXwiESAQIAQbIQ0gBCAQIBFWca0gC0J/hXwhCwsgAkHoAGohBAJAIAsgD4VCAFkEQCAEIAs3AyAgBCANNwMYIAQgDDcDECAEIA43AwggBEEANgIAIANBgAFqJAAMAQtBrInBABCQAwALIAIoAmgEQCACIAIoAmw2AtgCIAIgAkHYAmo2AtwCIAJBATYCrAIgAkH0t8AANgKoAiACQgE3ArQCIAIgAkHcAmqtQoCAgIDwAYQ3A9gBIAIgBzYCsAIgAkHgAmogCBDTASACQQA2AuABIAJCgICAgBA3AtgBIAJBAzoAyAIgAkEgNgK4AiACQQA2AsQCIAJBuLbAADYCwAIgAkEANgKwAiACQQA2AqgCIAIgBzYCvAJB/J3AACAIEJUCRQ0DQdC2wABBNyACQe8CakGIt8AAQeS3wAAQlwIACyACQTBqIAJB+ABqKQMAIgs3AwAgAkE4aiACQYABaikDACIMNwMAIAJBQGsgAkGIAWopAwAiDTcDACACQRBqIAs3AwAgAkEYaiAMNwMAIAJBIGogDTcDACACIAIpA3AiCzcDKCACIAs3AwggBiACQQhqQYyewAAQuwEgAigC1AIiA0GEAU8EQCADEAALIAIoArQBIgNBhAFPBEAgAxAACwwFCyACQZgCaiACQcQCaigCACIENgIAIAJBkAJqIAJBvAJqKQIAIgs3AwAgAkGIAmogAkG0AmopAgAiDDcDACACIAIpAqwCIg03A4ACIAZBGGogBDYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQagBaiACQcQCaigCACIENgIAIAJBoAFqIAJBvAJqKQIAIgs3AwAgAkGYAWogAkG0AmopAgAiDDcDACACIAIpAqwCIg03A5ABIAZBGGogBDYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQdwAaiACQeABaigCADYCACACQdAAaiIDIAJB6AJqKAIANgIAIAIgAikC2AE3AlQgAiACKQLgAjcDSCACQdgCahDtAiACQThqIAJB2ABqKQMAIgs3AwAgAkEwaiADKQMAIgw3AwAgAiACKQNIIg03AyggBkEBNgIAIAYgDTcCBCAGQQxqIAw3AgAgBkEUaiALNwIAIAIoAtQCIQMLIANBhAFPBEAgAxAACyACKAK0ASEDCyADQYQBTwRAIAMQAAsLIAFBgwFLBEAgARAACyACQfACaiQAAn8gBSgCBCIBQQJGBEAgBSgCCCEKQQAMAQsgBUE4aiAFQRxqKAIANgIAIAVBMGogBUEUaikCADcDACAFQShqIAVBDGopAgA3AwAgBSAFKQIENwMgIAVBIGoQ5QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAo2AgAgBUFAayQAC7URAgp/C34jAEFAaiIFJAAgBUEEaiEGIwBB8AJrIgIkACACIAEQBiIDNgK0ASACQagCaiIKIAJBtAFqQZyewAAQrQECQAJAAkACQCACKAKoAkUEQCACQawBaiACQcgCaiIHKQMAIgw3AgAgAkGkAWogAkHAAmoiBCkDACINNwIAIAJBnAFqIAJBuAJqIggpAwAiDjcCACACQcABaiAONwMAIAJByAFqIA03AwAgAkHQAWogDDcDACACIAIpA7ACIgw3ApQBIAIgDDcDuAEgAiABEAciAzYC1AIgCiACQdQCakGsnsAAEKwBIAIoAqgCRQRAIAJBnAJqIAcpAwAiDDcCACACQZQCaiAEKQMAIg03AgAgAkGMAmogCCkDACIONwIAIAJB4AFqIA43AwAgAkHoAWogDTcDACACQfABaiAMNwMAIAIgAikDsAIiDDcChAIgAiAMNwPYASACQRI6APgBIAJB6ABqIQcjAEGQAWsiAyQAIANB2ABqIgRBgOeEDxCfAiADQRI6AHggAyACQdgBaiIIIAQQxAEgAkG4AWoiBCkDACEMAn4gBCkDGCITQgBZBEAgBCkDECEQIAQpAwghDSATDAELIAQpAwgiDUJ/hUIAIA19IhBCACAMfSIMQgBSIgkbIQ0gBCkDEEJ/hSIOIBBQIAlBf3NxIgStfCIPIA4gBBshECAEIA4gD1ZxrSATQn+FfAshESADQdgAakHoh8EAQQQQsAECQAJAAkAgAygCWEUEQCANIAMpA2giD3wiDiAPVCEEIAMpA3AhDSAMIAMpA2AiD3wiEiAPWgR+IAStBSAOQgF8Ig5QrSAErXwLIQ8gDSAQfCIMIA1UIQQgAykDeCINIA0gEXwiDVYhCQJAIA9QBH4gBK0FIAwgDCAPfCIMVq0gBK18CyIQUARAIAlFDQEMBAsgCQ0DIA0gDSAQfCINVg0DCyADQRI6AHggAyANNwNwIAMgDDcDaCADIA43A2AgAyASNwNYIANBKGogA0HYAGoiBCADEG4gBwJ/IAMoAihFBEAgAykDSCEPIAMpA0AhESADKQM4IQwgAykDMCEUIARB6IfBAEEEELABIAMoAlgNAyADKQNoIQ4gAykDeCESIBEgAykDcCIVfSENAkACfiADKQNgIhYgFFgEQCAMIA59IRAgDCAOVK0MAQsgDCAOQn+FfCEQIAwgDlStIAwgDlGtfAsiDFAEQCARIBVUrSEODAELIAwgDVatIBEgFVStfCEOIA0gDH0hDQsgDyASfSEMAkAgDlAEQCAPIBJaDQEMBgsgDCAOVCAPIBJUcg0FIAwgDn0hDAsgFCAWfSEOIBNCAFMEQCAQQn+FQgAgEH0iEUIAIA59Ig5CAFIiBBshECANQn+FIg8gEVAgBEF/c3EiBK18IhEgDyAEGyENIAQgDyARVnGtIAxCf4V8IQwLIAwgE4VCAFkEQCAHIAw3AyAgByANNwMYIAcgEDcDECAHIA43AwhBAAwCC0G8icEAEJADAAsgByADKAIsNgIEQQELNgIAIANBkAFqJAAMAwsgAyADKAJcNgKMAUHYgsEAQSsgA0GMAWpBhIPBAEHcicEAEJcCAAsgAyADKAJcNgIoQdiCwQBBKyADQShqQYSDwQBBzInBABCXAgALIANBADYCaCADQQE2AlwgA0Hgh8EANgJYIANCBDcCYCADQdgAakH0hcEAEMUCAAsgAigCaARAIAIgAigCbDYC2AIgAiACQdgCajYC3AIgAkEBNgKsAiACQfS3wAA2AqgCIAJCATcCtAIgAiACQdwCaq1CgICAgPABhDcD2AEgAiAINgKwAiACQeACaiAKENMBIAJBADYC4AEgAkKAgICAEDcC2AEgAkEDOgDIAiACQSA2ArgCIAJBADYCxAIgAkG4tsAANgLAAiACQQA2ArACIAJBADYCqAIgAiAINgK8AkG8nsAAIAoQlQJFDQNB0LbAAEE3IAJB7wJqQYi3wABB5LfAABCXAgALIAJBMGogAkH4AGopAwAiDDcDACACQThqIAJBgAFqKQMAIg03AwAgAkFAayACQYgBaikDACIONwMAIAJBEGogDDcDACACQRhqIA03AwAgAkEgaiAONwMAIAIgAikDcCIMNwMoIAIgDDcDCCAGIAJBCGpBzJ7AABC7ASACKALUAiIDQYQBTwRAIAMQAAsgAigCtAEiA0GEAU8EQCADEAALDAULIAJBmAJqIAJBxAJqKAIAIgc2AgAgAkGQAmogAkG8AmopAgAiDDcDACACQYgCaiACQbQCaikCACINNwMAIAIgAikCrAIiDjcDgAIgBkEYaiAHNgIAIAZBEGogDDcCACAGQQhqIA03AgAgBiAONwIADAILIAJBqAFqIAJBxAJqKAIAIgc2AgAgAkGgAWogAkG8AmopAgAiDDcDACACQZgBaiACQbQCaikCACINNwMAIAIgAikCrAIiDjcDkAEgBkEYaiAHNgIAIAZBEGogDDcCACAGQQhqIA03AgAgBiAONwIADAILIAJB3ABqIAJB4AFqKAIANgIAIAJB0ABqIgMgAkHoAmooAgA2AgAgAiACKQLYATcCVCACIAIpAuACNwNIIAJB2AJqEO0CIAJBOGogAkHYAGopAwAiDDcDACACQTBqIAMpAwAiDTcDACACIAIpA0giDjcDKCAGQQE2AgAgBiAONwIEIAZBDGogDTcCACAGQRRqIAw3AgAgAigC1AIhAwsgA0GEAU8EQCADEAALIAIoArQBIQMLIANBhAFPBEAgAxAACwsgAUGDAUsEQCABEAALIAJB8AJqJAACfyAFKAIEIgFBAkYEQCAFKAIIIQtBAAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahDlAQshAiAAIAFBAkc2AgggACACNgIEIAAgCzYCACAFQUBrJAALwQkCBn8EfiMAQUBqIgMkACADQQRqIQQjAEHQGWsiAiQAIAIgARAIIgU2AsgBIAJBsBFqIAJByAFqQeyewAAQrAECQAJAIAIoArARRQRAIAJB1AlqIAJB0BFqKQMAIgg3AgAgAkHMCWogAkHIEWopAwAiCTcCACACQcQJaiACQcARaikDACIKNwIAIAJBCGogCjcDACACQRBqIAk3AwAgAkEYaiAINwMAIAIgAikDuBEiCDcCvAkgAiAINwMAIAVBhAFPBEAgBRAACyACQbARaiABEAIgARADELwBIAIoArARRQ0BIAJB0AlqIAJBzBFqKAIAIgU2AgAgAkHICWogAkHEEWopAgAiCDcDACACQcAJaiACQbwRaikCACIJNwMAIAIgAikCtBEiCjcDuAkgBEEYaiAFNgIAIARBEGogCDcCACAEQQhqIAk3AgAgBCAKNwIADAILIAJB0AlqIAJBzBFqKAIAIgY2AgAgAkHICWogAkHEEWopAgAiCDcDACACQcAJaiACQbwRaikCACIJNwMAIAIgAikCtBEiCjcDuAkgBEEYaiAGNgIAIARBEGogCDcCACAEQQhqIAk3AgAgBCAKNwIAIAVBhAFJDQEgBRAADAELIAJByAFqIgUgAkG4CWpBBHIgAkG4EWpB8AcQrANB8AcQrAMaIAJBmAFqIAUgAhCEAQJAIAIoApgBBEAgAiACKAKcATYCrBkgAiACQawZajYCsBkgAkEBNgK0ESACQfS3wAA2ArARIAJCATcCvBEgAiACQbAZaq1CgICAgPABhDcDwBkgAiACQcAZaiIFNgK4ESACQbQZaiACQbARaiIGENMBIAJBADYCyBkgAkKAgICAEDcCwBkgAkEDOgDQESACQSA2AsARIAJBADYCzBEgAkG4tsAANgLIESACQQA2ArgRIAJBADYCsBEgAiAFNgLEEUH8nsAAIAYQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBkAFqIAJBwAFqKQMAIgg3AwAgAkHQAGogAkGoAWopAwAiCTcDACACQdgAaiACQbABaikDACIKNwMAIAJB4ABqIAJBuAFqKQMAIgs3AwAgAkHoAGogCDcDACACQShqIAk3AwAgAkEwaiAKNwMAIAJBOGogCzcDACACQUBrIAg3AwAgAiACKQOgASIINwNIIAIgCDcDICAEIAJBIGpBjJ/AABC4AQwBCyACQYQBaiACQcgZaigCADYCACACQfgAaiIFIAJBvBlqKAIANgIAIAIgAikCwBk3AnwgAiACKQK0GTcDcCACQawZahDtAiACQdgAaiACQYABaikDACIINwMAIAJB0ABqIAUpAwAiCTcDACACIAIpA3AiCjcDSCAEQQE2AgAgBCAKNwIEIARBDGogCTcCACAEQRRqIAg3AgALIAFBgwFLBEAgARAACyACQdAZaiQAAn8gAygCBCIBQQJGBEAgAygCCCEHQQAMAQsgA0E4aiADQRxqKAIANgIAIANBMGogA0EUaikCADcDACADQShqIANBDGopAgA3AwAgAyADKQIENwMgIANBIGoQ5QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAc2AgAgA0FAayQAC/EIAgt/BH4jAEFAaiIEJAAgBEEEaiEFIwBBsBlrIgIkACACQZARaiIHIAEQAiABEAMQvAECQAJAAkACQCACKAKQEUUEQCACQagBaiIGIAJBmAlqQQRyIAJBmBFqQfAHEKwDQfAHEKwDGiMAQeAAayIDJAAgA0EIaiIJIAYQnAEgAkH4AGoiCAJ/IAMoAghFBEAgA0HYAGogA0EwaikDADcDACADQdAAaiADQShqKQMANwMAIANByABqIANBIGoiCikDADcDACADQUBrIANBGGoiCykDADcDACADIAMpAxA3AzggCiAGQZgGaikDADcDACALIAZBkAZqKQMANwMAIANBEGogBkGIBmopAwA3AwAgA0ESOgAoIAMgBikDgAY3AwggCEEIaiADQThqIAkQzwFBAAwBCyAIIAMoAgw2AgRBAQs2AgAgA0HgAGokACACKAJ4BEAgAiACKAJ8NgKMGSACIAJBjBlqIgM2ApAZIAJBATYClBEgAkH0t8AANgKQESACQgE3ApwRIAIgAkGQGWqtQoCAgIDwAYQ3A6AZIAIgAkGgGWoiBjYCmBEgAkGUGWogBxDTASACQQA2AqgZIAJCgICAgBA3AqAZIAJBAzoAsBEgAkEgNgKgESACQQA2AqwRIAJBuLbAADYCqBEgAkEANgKYESACQQA2ApARIAIgBjYCpBFBnJ/AACAHEJUCDQMgAkHkAGogAkGoGWooAgA2AgAgAkHYAGoiBiACQZwZaigCADYCACACIAIpAqAZNwJcIAIgAikClBk3A1AgAxDtAiACQThqIAJB4ABqKQMAIg03AwAgAkEwaiAGKQMAIg43AwAgAiACKQNQIg83AyggBUEBNgIAIAUgDzcCBCAFQQxqIA43AgAgBUEUaiANNwIADAILIAJB8ABqIAJBoAFqKQMAIg03AwAgAkEwaiACQYgBaikDACIONwMAIAJBOGogAkGQAWopAwAiDzcDACACQUBrIAJBmAFqKQMAIhA3AwAgAkHIAGogDTcDACACQQhqIA43AwAgAkEQaiAPNwMAIAJBGGogEDcDACACQSBqIA03AwAgAiACKQOAASINNwMoIAIgDTcDACAFIAJBrJ/AABC4ASABQYMBTQ0EDAMLIAJBsAlqIAJBrBFqKAIAIgM2AgAgAkGoCWogAkGkEWopAgAiDTcDACACQaAJaiACQZwRaikCACIONwMAIAIgAikClBEiDzcDmAkgBUEYaiADNgIAIAVBEGogDTcCACAFQQhqIA43AgAgBSAPNwIACyABQYMBSw0BDAILQdC2wABBNyACQa8ZakGIt8AAQeS3wAAQlwIACyABEAALIAJBsBlqJAACfyAEKAIEIgFBAkYEQCAEKAIIIQxBAAwBCyAEQThqIARBHGooAgA2AgAgBEEwaiAEQRRqKQIANwMAIARBKGogBEEMaikCADcDACAEIAQpAgQ3AyAgBEEgahDlAQshAiAAIAFBAkc2AgggACACNgIEIAAgDDYCACAEQUBrJAALvQYCCX8DfiMAQUBqIgMkACADQQRqIQQjAEGAAmsiAiQAIAIgARAJIgU2AnwgAkHQAWoiBiACQfwAakG8n8AAEKwBAkACQCACKALQAUUEQCACQfQAaiACQfABaiIHKQMAIgs3AgAgAkHsAGogAkHoAWoiCCkDACIMNwIAIAJB5ABqIAJB4AFqIgkpAwAiDTcCACACQThqIA03AwAgAkFAayAMNwMAIAJByABqIAs3AwAgAiACKQPYASILNwJcIAIgCzcDMCACQRI6AFAgAiABEAoiBTYC/AEgBiACQfwBakHMn8AAEKwBIAIoAtABRQRAIAJBxAFqIAcpAwAiCzcCACACQbwBaiAIKQMAIgw3AgAgAkG0AWogCSkDACINNwIAIAJBiAFqIA03AwAgAkGQAWogDDcDACACQZgBaiALNwMAIAIgAikD2AEiCzcCrAEgAiALNwOAASACQRI6AKABIAJBCGoiBSACQTBqIAJBgAFqEM8BIAQgBUHcn8AAELgBIAIoAvwBIgRBhAFPBEAgBBAACyACKAJ8IgRBhAFPBEAgBBAACwwDCyACQcABaiACQewBaigCACIGNgIAIAJBuAFqIAJB5AFqKQIAIgs3AwAgAkGwAWogAkHcAWopAgAiDDcDACACIAIpAtQBIg03A6gBIARBGGogBjYCACAEQRBqIAs3AgAgBEEIaiAMNwIAIAQgDTcCACAFQYQBTwRAIAUQAAsgAigCfCEFDAELIAJB8ABqIAJB7AFqKAIAIgY2AgAgAkHoAGogAkHkAWopAgAiCzcDACACQeAAaiACQdwBaikCACIMNwMAIAIgAikC1AEiDTcDWCAEQRhqIAY2AgAgBEEQaiALNwIAIARBCGogDDcCACAEIA03AgALIAVBhAFPBEAgBRAACwsgAUGDAUsEQCABEAALIAJBgAJqJAACfyADKAIEIgFBAkYEQCADKAIIIQpBAAwBCyADQThqIANBHGooAgA2AgAgA0EwaiADQRRqKQIANwMAIANBKGogA0EMaikCADcDACADIAMpAgQ3AyAgA0EgahDlAQshAiAAIAFBAkc2AgggACACNgIEIAAgCjYCACADQUBrJAALugEBA38jAEEwayICJAAgAkEYaiIDIABBCGooAgA2AgAgAiAAKQIANwMQIAJBCGogAkEQakG0uMAAIAEQpgIgAigCDCEEIAIoAgghASACQShqIgAgAygCADYCAEGZ4MEALQAAGiACIAIpAxA3AyBBGEEEEPcCIgNFBEBBBEEYEKgDAAsgAyABNgIEIANBnLnAADYCACADIAIpAyA3AgwgAyAENgIIIANBFGogACgCADYCACACQTBqJAAgAwu6AQEDfyMAQTBrIgIkACACQRhqIgMgAEEIaigCADYCACACIAApAgA3AxAgAkEIaiACQRBqQbyGwQAgARCmAiACKAIMIQQgAigCCCEBIAJBKGoiACADKAIANgIAQZngwQAtAAAaIAIgAikDEDcDIEEYQQQQ9wIiA0UEQEEEQRgQqAMACyADIAE2AgQgA0Gkh8EANgIAIAMgAikDIDcCDCADIAQ2AgggA0EUaiAAKAIANgIAIAJBMGokACADC7IBAQF/IwBBEGsiBSQAIAAoAhQgASACIAAoAhgoAgwRAwAhASAFQQA6AA0gBSABOgAMIAUgADYCCCAFQQhqQamNwQBBAyADIAQQ2QEhAAJ/IAUtAAwiAUEARyAFLQANRQ0AGkEBIAENABogACgCACIALQAcQQRxRQRAIAAoAhRB28bBAEECIAAoAhgoAgwRAwAMAQsgACgCFEHaxsEAQQEgACgCGCgCDBEDAAsgBUEQaiQAC5sBAQF/AkACQCABBEAgAkEASA0BAn8gAygCBARAAkAgAygCCCIERQRADAELIAMoAgAgBCABIAIQ5QIMAgsLIAEgAkUNABpBmeDBAC0AABogAiABEPcCCyIDBEAgACACNgIIIAAgAzYCBCAAQQA2AgAPCyAAIAI2AgggACABNgIEDAILIABBADYCBAwBCyAAQQA2AgQLIABBATYCAAunAQEBfyMAQRBrIgYkAAJAIAEEQCAGQQRqIAEgAyAEIAUgAigCEBEHAAJAIAYoAgQiAiAGKAIMIgFNBEAgBigCCCEFDAELIAJBAnQhAiAGKAIIIQMgAUUEQEEEIQUgAyACEIsDDAELIAMgAkEEIAFBAnQiAhDlAiIFRQ0CCyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQZS2wQBBMhCjAwALQQQgAhDjAgALpwEAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQCADKAIIIgFFBEBBmeDBAC0AABogAkEBEPcCDAILIAMoAgAgAUEBIAIQ5QIMAQtBmeDBAC0AABogAkEBEPcCCyIBBEAgACACNgIIIAAgATYCBCAAQQA2AgAPCyAAIAI2AgggAEEBNgIEIABBATYCAA8LIABBADYCBCAAQQE2AgAPCyAAQQA2AgQgAEEBNgIAC7ABAQN/IAEoAgwhAgJAAkACQAJAAkACQCABKAIEDgIAAQILIAINAUEBIQNBACEBQQEhAgwDCyACRQ0BCyAAIAEQ0wEPCyABKAIAIgEoAgAhAyABKAIEIgFFBEBBASECQQAhAQwBCyABQQBIDQFBmeDBAC0AABpBASEEIAFBARD3AiICRQ0BCyACIAMgARCsAyECIAAgATYCCCAAIAI2AgQgACABNgIADwsgBCABEOMCAAuoAQECfyMAQTBrIgIkAAJ/IAAoAgAiA0GAgMQARwRAIAIgAzYCACACIAAoAgQ2AgQgAkECNgIMIAJB/LbBADYCCCACQgI3AhQgAiACQQRqrUKAgICA0A6ENwMoIAIgAq1CgICAgKAOhDcDICACIAJBIGo2AhAgASgCFCABKAIYIAJBCGoQswEMAQsgASgCFEGMt8EAQRQgASgCGCgCDBEDAAsgAkEwaiQAC5EBAQN/IwBBgAFrIgQkACAAKAIAIQADQCACIARqQf8AaiAAQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYEBTwRAIABBgAFB/MbBABCNAwALIAFBAUGMx8EAQQIgAiAEakGAAWpBACACaxCqASAEQYABaiQAC5ABAQN/IwBBgAFrIgQkACAAKAIAIQADQCACIARqQf8AaiAAQQ9xIgNBMHIgA0E3aiADQQpJGzoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgQFPBEAgAEGAAUH8xsEAEI0DAAsgAUEBQYzHwQBBAiACIARqQYABakEAIAJrEKoBIARBgAFqJAALlQEBAX8jAEEQayIDJAAgAAJ/IAEoAgBFBEAgACABKQMINwMIIABBKGogAUEoaikDADcDACAAQSBqIAFBIGopAwA3AwAgAEEYaiABQRhqKQMANwMAIABBEGogAUEQaikDADcDAEEADAELIAMgASgCBDYCDCAAQQRqIANBDGoiACACEPMBIAAQ7QJBAQs2AgAgA0EQaiQAC80BAQZ/IwBBEGsiAiQAIAAoAgAhAyACRAAAAAAAAAAAEFgiADYCBCACQQRqKAIAEFohBCAAQYQBTwRAIAAQAAsgAygCACAEEFkhBSMAQRBrIgAkACAAQQhqIAMoAgBBChBdIAAoAgghBiACQQRqIgMgACgCDCIHNgIIIAMgBjYCBCADIAc2AgAgAEEQaiQAIAEgBUEBRkEBQQAgAigCCCIAIAIoAgwQqgEgAigCBCIDBEAgACADEIsDCyAEQYQBTwRAIAQQAAsgAkEQaiQAC4gBAQF/AkAgAiABIAEgAhCcAiIDQf8BcQR/IAMFIAEtACAiAyACLQAgIgJJDQEgAiADRwtB/wFxQQFGGyEBCyAAIAEpAwA3AwAgAEEgaiABQSBqKQMANwMAIABBGGogAUEYaikDADcDACAAQRBqIAFBEGopAwA3AwAgAEEIaiABQQhqKQMANwMAC5ABAgN/AX4jAEEgayICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEcaiIEQQA2AgAgAkKAgICAEDcCFCACQRRqQaC7wQAgAxCzARogAkEQaiAEKAIAIgM2AgAgAiACKQIUIgU3AwggAUEIaiADNgIAIAEgBTcCAAsgAEGQwMEANgIEIAAgATYCACACQSBqJAALuQIBA38jAEEQayIDJAACfwJAAkACQCAAKAIAIgIoAgAiAEH//8MAa0EAIABB/v//AHFBgIDEAEYbQQFrDgIBAgALIAMgAkEEajYCDCMAQRBrIgAkACABKAIUQdnAwABBEyABKAIYKAIMEQMAIQQgAEEAOgANIAAgBDoADCAAIAE2AgggAEEIakHswMAAQQEgAkHwwMAAENkBQYDBwABBBSADQQxqQYjBwAAQ2QEhAQJ/IAAtAAwiAkEARyAALQANRQ0AGkEBIAINABogASgCACIBLQAcQQRxRQRAIAEoAhRB28bBAEECIAEoAhgoAgwRAwAMAQsgASgCFEHaxsEAQQEgASgCGCgCDBEDAAsgAEEQaiQADAILIAFBmMHAAEEJEOsCDAELIAFBocHAAEETEOsCCyADQRBqJAALegIBfwF+IwBBMGsiAiQAIAJBAzYCBCACQZTEwQA2AgAgAkIDNwIMIAJCgICAgNAOIgMgAEEMaq2ENwMoIAIgAyAAQQhqrYQ3AyAgAiAArUKAgICA8B2ENwMYIAIgAkEYajYCCCABKAIUIAEoAhggAhCzASACQTBqJAALbgEGfiAAIANC/////w+DIgUgAUL/////D4MiBn4iByAGIANCIIgiBn4iCCAFIAFCIIgiCX58IgVCIIZ8Igo3AwAgACAHIApWrSAGIAl+IAUgCFStQiCGIAVCIIiEfHwgASAEfiACIAN+fHw3AwgLfAEBfyMAQUBqIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUECNgIcIAVBpMbBADYCGCAFQgI3AiQgBSAFQRBqrUKAgICA4B2ENwM4IAUgBUEIaq1CgICAgPAdhDcDMCAFIAVBMGo2AiAgBUEYaiAEEMUCAAv3AwIHfwF+IwBBEGsiBCQAIAAoAgAiAEEIaigCACEGIABBBGooAgAhACABKAIUQeXDwQBBASABKAIYKAIMEQMAIQMgBEEEaiICQQA6AAUgAiADOgAEIAIgATYCACAGBEADQCAEIAA2AgwgBEEMaiEIIwBBQGoiASQAQQEhAwJAIARBBGoiBS0ABA0AIAUtAAUhAwJAIAUoAgAiAigCHCIHQQRxRQRAIANFDQFBASEDIAIoAhRB08bBAEECIAIoAhgoAgwRAwBFDQEMAgsgA0UEQEEBIQMgAigCFEG4xMEAQQEgAigCGCgCDBEDAA0CIAIoAhwhBwtBASEDIAFBAToAGyABIAIpAhQ3AgwgAUG0xsEANgI0IAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEJIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCTcCHCABIAFBDGo2AjAgCCABQRxqQdDAwAAoAgARAQANASABKAIwQdjGwQBBAiABKAI0KAIMEQMAIQMMAQsgCCACQdDAwAAoAgARAQAhAwsgBUEBOgAFIAUgAzoABCABQUBrJAAgAEEBaiEAIAZBAWsiBg0ACwsgBEEEaiIALQAEBH9BAQUgACgCACIAKAIUQd3GwQBBASAAKAIYKAIMEQMACyAEQRBqJAALdQEDfyMAQTBrIgIkACACQSRqIgMgABCMASACQQE2AgQgAkGM/sAANgIAIAIgA61CgICAgMAIhDcDGCACQgE3AgwgAiACQRhqNgIIIAEoAhQgASgCGCACELMBIAIoAiQiAQRAIAIoAiggARCLAwsgAkEwaiQAC3UBA38jAEEwayICJAAgAkEkaiIDIAAQjAEgAkECNgIEIAJBqILBADYCACACIAOtQoCAgIDACIQ3AxggAkIBNwIMIAIgAkEYajYCCCABKAIUIAEoAhggAhCzASACKAIkIgEEQCACKAIoIAEQiwMLIAJBMGokAAt+AQF/IwBBMGsiAiQAIAJBATYCDCACQcC5wQA2AgggAkIBNwIUIAIgAkEoaq1CgICAgOAahDcDICACQSRBIyAALQAAIgAbNgIsIAJB67nBAEHIucEAIAAbNgIoIAIgAkEgajYCECABKAIUIAEoAhggAkEIahCzASACQTBqJAALdQICfgF/AkBBfyABKQMYIgIgACkDGCIDUiACIANWGyIEDQBBfyABKQMQIgIgACkDECIDUiACIANWGyIEDQBBfyABKQMIIgIgACkDCCIDUiACIANWGyIEDQBBfyABKQMAIgIgACkDACIDUiACIANWGyEECyAEC3kBA38jAEEQayICJAACfyAAKAIAIgAoAgQiA0UEQCACIAAgACgCACgCBBEAACACKAIAIAEgAigCBCgCDBEBAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAAAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALdAEDfyMAQRBrIgIkAAJ/IAAoAgQiA0UEQCACIAAgACgCACgCBBEAACACKAIAIAEgAigCBCgCDBEBAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAAAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALbAEBfyMAQSBrIgIkACABQQBIBEAgAkEANgIYIAJBATYCDCACQcC0wQA2AgggAkIENwIQIAJBCGpB9LXBABDFAgALIABCADcDCCAAQRhqQgA3AwAgAEEQakIANwMAIAAgAa03AwAgAkEgaiQAC2oCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQYDFwQA2AgggA0ICNwIUIANCgICAgNAOIgQgA62ENwMoIAMgBCADQQRqrYQ3AyAgAyADQSBqNgIQIANBCGogAhDFAgALZwAjAEEwayIAJABBmODBAC0AAARAIABBAjYCDCAAQeC+wQA2AgggAEIBNwIUIAAgATYCLCAAIABBLGqtQoCAgIDQDoQ3AyAgACAAQSBqNgIQIABBCGpBiL/BABDFAgALIABBMGokAAtWAQJ+AkAgAkHAAHFFBEAgAkUNAUIAIAJBP3GtIgSGIAFBACACa0E/ca2IhCEDIAEgBIYhAQwBCyABIAJBP3GthiEDQgAhAQsgACABNwMAIAAgAzcDCAtkAQF/IwBB8A9rIgQkACAEQfgHaiABIAIgAxB8AkAgBCgC+AdFBEAgBEEIaiIBIARBgAhqQfAHEKwDGiAAIAEQnAEMAQsgBCgC/AchASAAQQE2AgAgACABNgIECyAEQfAPaiQAC2wBBH8gAEEEaigCACECIAAoAgBBADoAAAJAIAIoAgAiASgCACIARQ0AIAAgAUEEaigCACIBKAIAEQUAIAEoAgQiA0UNACABKAIIIQQgACADEIsDCyACKAIAIgBB8KrBADYCBCAAQQE2AgBBAQtcAQN/IwBBEGsiAiQAIAJBCGogARBXIAIoAggiBARAIAIoAgwhAyAAIAQ2AgQgACADNgIIIAAgAzYCACABQYQBTwRAIAEQAAsgAkEQaiQADwtBxrbBAEEVEKMDAAtoAQF/IwBBEGsiBCQAQaTgwQAoAgBBAkcEQBCpAgsgBEEIakGc4MEAKAIAIAEgAkGg4MEAKAIAKAIUEQYAIAQoAggiASADIAQoAgwiAigCIBEAACAAIAI2AgQgACABNgIAIARBEGokAAtnAQR/IAAoAgBBADoAAAJAIAAoAgQiAigCACIBKAIAIgBFDQAgACABQQRqKAIAIgEoAgARBQAgASgCBCIDRQ0AIAEoAgghBCAAIAMQiwMLIAIoAgAiAEHwqsEANgIEIABBATYCAEEBC1UBAn8CQCAAKAIQQQFHDQAgACgCFCIBQQA6AAAgACgCGCICRQ0AIAEgAhCLAwsCQCAAQX9GDQAgACAAKAIEIgFBAWs2AgQgAUEBRw0AIABBIBCLAwsLxQkBCn8jAEEgayIEJAAgBEEBOgALIARBnODBADYCDCAEIARBH2o2AhggBCAEQQxqNgIUIAQgBEELajYCECAEQRBqIQcjAEEgayICJABBpODBACgCACEBAkACQAJAAkADQAJAAkACQAJAIAFBA3EiAw4DAQIFAAsDQAwACwALIAcNAQsQqwIhBUGk4MEAIAJBCGogA3IiCEGk4MEAKAIAIgAgACABRiIGGzYCACACIAU2AgggAiABIANrNgIMIAJBADoAEAJAIAZFBEBBACADayEFA0AgACIBQQNxIANHDQICQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQqAILEKsCIQZBpODBACAIQaTgwQAoAgAiACAAIAFGIgkbNgIAIAJBADoAECACIAY2AgggAiABIAVqNgIMIAlFDQALCyACLQAQRQRAA0AjAEEQayIBJABBtOTBACgCACIARQRAEPYBQbTkwQAoAgAhAAsgACAAKAIAIgNBAWo2AgACQAJAIANBAE4EQCAARQ0BIAAgACgCACIDQQFrNgIAIAEgADYCDCADQQFGBEACQCABQQxqKAIAIgAoAhBBAUcNACAAKAIUIgNBADoAACAAKAIYIgVFDQAgAyAFEIsDCwJAIABBf0YNACAAIAAoAgQiA0EBazYCBCADQQFHDQAgAEEgEIsDCwsgAUEQaiQADAILAAsQ0QIACyACLQAQRQ0ACwsCQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQqAILQaTgwQAoAgAhAQwCCwJAIAIoAggiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgAigCCBCoAgtBpODBACgCACEBDAELQaTgwQAgAUEBakGk4MEAKAIAIgAgACABRhs2AgAgACABRyAAIQENAAsgB0HsqsEAKAIAEQIAIQFBpODBACgCACEAQaTgwQBBAkEAIAEbNgIAIAIgAEEDcSIBNgIEIAFBAUcNASAAQQFrIgBFDQADQCAAKAIAIQMgAEEANgIAIANFDQMgACgCBCAAQQE6AAggAyADKAIAIgBBAWs2AgAgAEEBRgRAIAMQqAILIgANAAsLIAJBIGokAAwCCyACQQA2AggjAEEQayIBJAAgAUGsucEANgIMIAEgAkEEajYCCCMAQfAAayIAJAAgAEGkuMEANgIMIAAgAUEIajYCCCAAQaS4wQA2AhQgACABQQxqNgIQIABBkMXBADYCGCAAQQI2AhwCQCACQQhqIgEoAgBFBEAgAEEDNgJcIABBzMXBADYCWCAAQgM3AmQgACAAQRBqrUKAgICA4B2ENwNIIAAgAEEIaq1CgICAgOAdhDcDQAwBCyAAQTBqIAFBEGopAgA3AwAgAEEoaiABQQhqKQIANwMAIAAgASkCADcDICAAQQQ2AlwgAEGAxsEANgJYIABCBDcCZCAAIABBEGqtQoCAgIDgHYQ3A1AgACAAQQhqrUKAgICA4B2ENwNIIAAgAEEgaq1CgICAgIAehDcDQAsgACAAQRhqrUKAgICA8B2ENwM4IAAgAEE4ajYCYCAAQdgAakGwucEAEMUCAAtBnLnBABCQAwALIARBIGokAAtTAQV/AkAgACgCBCIBRQ0AIAEgACgCCCICKAIAEQUAIAIoAgQiA0UNACACKAIIIQQgASADEIsDCyAAKAIMIgEEQCAAKAIQIAEQiwMLIABBGBCLAwtGAQJ/QbTkwQAoAgAiAEUEQBD2AUG05MEAKAIAIQALIAAgACgCACIBQQFqNgIAAkAgAUEATgRAIABFDQEgAA8LAAsQ0QIAC1ABAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAAAgAiACKAIIIAIoAgwoAhgRAAAgAigCBCEBIAAgAigCADYCACAAIAE2AgQgAkEQaiQAC0wBBX8CQCAAKAIEIgFFDQAgASAAKAIIIgIoAgARBQAgAigCBCIDRQ0AIAIoAgghBCABIAMQiwMLIAAoAgwiAQRAIAAoAhAgARCLAwsLTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAARQ0AIANBzMbBAEEEIAIoAgwRAwBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEBAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEPoBIAAoAgghAwsgACgCBCADaiABIAIQrAMaIAAgAiADajYCCEEAC0gBAX8jAEEQayICJAAgAkEIaiABELwCIAIgAigCCCACKAIMKAIYEQAAIAIoAgQhASAAIAIoAgA2AgAgACABNgIEIAJBEGokAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEPsBIAAoAgghAwsgACgCBCADaiABIAIQrAMaIAAgAiADajYCCEEAC0MBAX8gAiAAKAIAIAAoAggiA2tLBEAgACADIAIQ/AEgACgCCCEDCyAAKAIEIANqIAEgAhCsAxogACACIANqNgIIQQALTwECf0GZ4MEALQAAGiABKAIEIQIgASgCACEDQQhBBBD3AiIBRQRAQQRBCBCoAwALIAEgAjYCBCABIAM2AgAgAEGgwMEANgIEIAAgATYCAAu3AwEGfyMAQRBrIgIkAEGa4MEALQAAQQNHBEAgAkEBOgALIAIgAkELajYCDCACQQxqIQAjAEEgayIBJAACQAJAAkACQAJAAkACQEGa4MEALQAAQQFrDgMCBAEAC0Ga4MEAQQI6AAAgACgCACIALQAAIABBADoAAEUNAiMAQSBrIgAkAAJAAkACQEHY4MEAKAIAQf////8HcQRAQazkwQAoAgANAQtBzODBACgCAA0BQdTgwQAoAgAhA0HU4MEAQeyfwAA2AgBB0ODBACgCACEEQdDgwQBBATYCAEHM4MEAQQA2AgACQCAERQ0AIAQgAygCABEFACADKAIEIgVFDQAgAygCCBogBCAFEIsDCyAAQSBqJAAMAgsgAEEANgIYIABBATYCDCAAQcy/wQA2AgggAEIENwIQIABBCGpB8L/BABDFAgALAAtBmuDBAEEDOgAACyABQSBqJAAMBAsgAUEANgIYIAFBATYCDCABQbCgwAA2AggMAgtBxKHAABCQAwALIAFBADYCGCABQQE2AgwgAUHwoMAANgIICyABQgQ3AhAgAUEIakGEncAAEMUCAAsLIAJBEGokAAtFAQR/AkAgAEEEaigCACIDRQ0AIAMgAEEIaigCACIEKAIAEQUAIAQoAgQiBUUNACAEKAIIIQYgAyAFEIsDCyAAQRgQiwMLRQEEfwJAIABBBGooAgAiAUUNACABIABBCGooAgAiAigCABEFACACKAIEIgNFDQAgAigCCCEEIAEgAxCLAwsgAEEUEIsDC0UBBH8CQCAAQQRqKAIAIgNFDQAgAyAAQQhqKAIAIgQoAgARBQAgBCgCBCIFRQ0AIAQoAgghBiADIAUQiwMLIABBFBCLAwtNAQF/QZngwQAtAAAaQQZBARD3AiIBRQRAQQFBBhDjAgALIAFBBGpBmJ3AAC8AADsAACABQZSdwAAoAAA2AAAgACABNgIAIABBBjYCBAs4AAJAIAFpQQFHQYCAgIB4IAFrIABJcg0AIAAEQEGZ4MEALQAAGiAAIAEQ9wIiAUUNAQsgAQ8LAAtCAQF/IwBBIGsiAyQAIANBADYCECADQQE2AgQgA0IENwIIIAMgATYCHCADIAA2AhggAyADQRhqNgIAIAMgAhDFAgALRQECfyABKAIAQQoQXCEBQazgwQAoAgAhAkGo4MEAKAIAIQNBqODBAEIANwIAIAAgAiABIANBAUYiARs2AgQgACABNgIACz4BAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAAAgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEBAA0BGgsgAw0BQQALDwsgACADIAQgASgCDBEDAAv6BQIGfgN/IwBBIGsiCiQAIAEhBEIAIQEjAEEgayILJAACQAJAAkAgA1AEQCACUCACUCADIARWcXINASALQRBqIANBwAAgAnmnayIMQf8AcRCiAkIBIAxBP3GthiEIIAtBGGopAwAhBiALKQMQIQcDQCACIAZ9IAQgB1StfSIBQgBZBEAgBSAIhCEFIAFQIAQgB30iBCADVHENBCABIQILIAZCP4YgB0IBiIQhByAIQgGIIQggBkIBiCEGDAALAAsCQAJAAkACQCACUEUEQCACIANUDQMgAiADUQ0BIAIgAiADgCIIIAN+fSEBIANCgICAgBBaDQIgBEL/////D4MgAUIghiAEQiCIhCIBIAEgA4AiASADfn1CIIaEIgIgAyACIAOAIgJ+fSEEIAFCIIYgAoQhBSABQiCIIAiEIQhCACEBDAcLIAQgBCADgCIFIAN+fSEEDAULIAQgBCACgCIFIAJ+fSEEQgEhCAwFCyABUCADIARWcQ0BIANCAYghBiADQj+GIQdCgICAgICAgICAfyECA0ACQCABIAZ9IAQgB1StfSIFQgBZBEAgBCAHfSEEIAIgCYQhCSAFUA0BIAUhAQsgBkI/hiAHQgGIhCEHIAJCAYghAiAGQgGIIQYMAQsLIAQgA4AiASAJhCEFIAQgASADfn0hBEIAIQEMBAsgCyADQT8gA3kiAacgAnkiBadrQUBrIAEgBVEbIgwQogJCASAMQT9xrYYhASALQQhqKQMAIQYgCykDACEHA0ACQCACIAZ9IAQgB1StfSIFQgBZBEAgBCAHfSEEIAEgCYQhCSAFUA0BIAUhAgsgBkI/hiAHQgGIhCEHIAFCAYghASAGQgGIIQYMAQsLIAQgA4AiASAJhCEFIAQgASADfn0hBEIAIQEMAgsMAgsgAiEBC0IAIQgLIAogBDcDECAKIAU3AwAgCkEYaiABNwMAIAogCDcDCCALQSBqJAAgCikDACEBIAAgCkEIaikDADcDCCAAIAE3AwAgCkEgaiQAC8kCAQN/IAAoAgAhACABKAIcIgNBEHFFBEAgA0EgcUUEQCAAMQAAIAEQ4QEPCyMAQYABayIEJAAgAC0AACEAA0AgAiAEakH/AGogAEEPcSIDQTByIANBN2ogA0EKSRs6AAAgAkEBayECIAAiA0EEdiEAIANBEE8NAAsgAkGAAWoiAEGBAU8EQCAAQYABQfzGwQAQjQMACyABQQFBjMfBAEECIAIgBGpBgAFqQQAgAmsQqgEgBEGAAWokAA8LIwBBgAFrIgQkACAALQAAIQADQCACIARqQf8AaiAAQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAkEBayECIAAiA0EEdiEAIANBEE8NAAsgAkGAAWoiAEGBAU8EQCAAQYABQfzGwQAQjQMACyABQQFBjMfBAEECIAIgBGpBgAFqQQAgAmsQqgEgBEGAAWokAAs5AQF/IAAoAgAhACABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQjgMPCyAAIAEQjwIPCyAAIAEQjgILOAEBfyMAQRBrIgIkACACQQhqIAAgACgCACgCBBEAACACKAIIIAEgAigCDCgCEBEBACACQRBqJAALNAEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUG8jcEAQQYgAkEMakHEjcEAEIgCIAJBEGokAAs0AQF/IwBBEGsiAiQAIAIgACgCADYCDCABQaSNwQBBBSACQQxqQayNwQAQiAIgAkEQaiQAC0MBAn8gASgCABBbIQFBrODBACgCACECQajgwQAoAgAhA0Go4MEAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALrAIBAn8jAEEgayICJAAgAkEBOwEcIAIgATYCGCACIAA2AhQgAkG8xMEANgIQIAJBATYCDCMAQRBrIgEkACACQQxqIgAoAggiAkUEQEGAwMEAEJADAAsgASAAKAIMNgIMIAEgADYCCCABIAI2AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQQEhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAIAI2AgwgAEGAgICAeDYCACAAQcTAwQAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREPcBAAsgACADNgIEIAAgAjYCACAAQbDAwQAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREPcBAAsxAQF/IwBBEGsiAiQAIAIgADYCDCABQdSNwQBBCiACQQxqQeCNwQAQiAIgAkEQaiQAC7IIAgR+BX8gASgCHCIHQRBxRQRAIAdBIHFFBEAgACkDACEDIABBCGopAwAhAiMAQZABayIAJAAgAEEnNgKMASAAQRBqAn4gAkKAgCBaBEAgAEEwaiADQgBC87LYwZ6evcyVf0IAEJYCIABBIGogA0IAQtLhqtrtp8mH9gBCABCWAiAAQdAAaiACQgBC87LYwZ6evcyVf0IAEJYCIABBQGsgAkIAQtLhqtrtp8mH9gBCABCWAiAAQcgAaikDACAAQShqKQMAIABBOGopAwAiBCAAKQMgfCICIARUrXwiBSAAKQNAfCIEIAVUrXwgBCAAQdgAaikDACACIAApA1B8IAJUrXx8IgIgBFStfCIFQj6IIQQgBUIChiACQj6IhAwBCyACQi2GIANCE4iEQr2igqOOqwSACyICIARCgIDgsLeft5z1AEIAEJYCIAApAxAgA3wgAEHlAGoiByAAQYwBaiIIEKsBIAFBAUEBQQACfyAAKAKMASIBIAIgBIRQDQAaIABB+QBqQTAgAUEUaxCtAxogAEEUNgKMASAAIARCLYYgAkITiIQiA0K9ooKjjqsEgCIEIAJCgIDgsLeft5z1AEIAEJYCIAApAwAgAnwgByAIEKsBIAAoAowBIgEgA0K9ooKjjqsEVA0AGiAAQeYAakEwIAFBAWsQrQMaIAAgBKdBMHI6AGVBAAsiASAAQeUAampBJyABaxCqASAAQZABaiQADwsCf0EAIQcjAEGAAWsiCSQAIABBCGopAwAhAiAAKQMAIQNBgAEhACAJQYABaiEIAkACQANAIABFDQEgCEEBayADp0EPcSIGQTByIAZBN2ogBkEKSRs6AAACQCACUCIKIANCEFRxBEAgAEEBayEADAELIAhBAmsiCCACQjyGIANCBIiEp0EPcSIGQTByIAZBN2ogBkEKSRs6AAAgAkI4hiADQoACVCEGIABBAmshACACQgiIIQIgA0IIiIQhAyAGIApxRQ0BCwsgAEGBAU8NASAAIQcLIAFBAUGMx8EAQQIgByAJakGAASAHaxCqASAJQYABaiQADAELIABBgAFB/MbBABCNAwALDwsCf0EAIQcjAEGAAWsiCSQAIABBCGopAwAhAiAAKQMAIQNBgAEhACAJQYABaiEIAkACQANAIABFDQEgCEEBayADp0EPcSIGQTByIAZB1wBqIAZBCkkbOgAAAkAgAlAiCiADQhBUcQRAIABBAWshAAwBCyAIQQJrIgggAkI8hiADQgSIhKdBD3EiBkEwciAGQdcAaiAGQQpJGzoAACACQjiGIANCgAJUIQYgAEECayEAIAJCCIghAiADQgiIhCEDIAYgCnFFDQELCyAAQYEBTw0BIAAhBwsgAUEBQYzHwQBBAiAHIAlqQYABIAdrEKoBIAlBgAFqJAAMAQsgAEGAAUH8xsEAEI0DAAsLMAEBfyMAQRBrIgIkACACQQhqIAAQvAIgAigCCCABIAIoAgwoAhARAQAgAkEQaiQACzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABEI4DDwsgACABEI8CDwsgACABEI4CCy4AAkAgA2lBAUdBgICAgHggA2sgAUlyRQRAIAAgASADIAIQ5QIiAA0BCwALIAALNwEBfyMAQSBrIgEkACABQQA2AhggAUEBNgIMIAFBsNnBADYCCCABQgQ3AhAgAUEIaiAAEMUCAAs7AQF/QQEhAgJAIAAgARDcAQ0AIAEoAhRBx8PBAEECIAEoAhgoAgwRAwANACAAQQRqIAEQ3AEhAgsgAgs4AQF/IAEoAhQhAiABKAIYKAIMIQEgAC0AAEUEQCACQeCjwQBBASABEQMADwsgAkEBQQAgAREDAAs4AEGZ4MEALQAAGkEEQQQQ9wIiAUUEQEEEQQQQqAMACyABQQA2AgAgAEGQrsEANgIEIAAgATYCAAs4AQN/AkAgACgCBCIBRQ0AIAEgACgCCCIAKAIAEQUAIAAoAgQiAkUNACAAKAIIIQMgASACEIsDCwssACAAIAEpAAA3AAAgAEEQaiABQRBqKAAANgAAIABBCGogAUEIaikAADcAAAtoAQJ/IwBBEGsiASQAIAFB3gA2AgwgAUH9vMEANgIIIwBBIGsiACQAIABBATYCBCAAQdzDwQA2AgAgAEIBNwIMIAAgAUEIaq1CgICAgPAdhDcDGCAAIABBGGo2AgggAEHcvcEAEMUCAAslACAARQRAQZS2wQBBMhCjAwALIAAgAiADIAQgBSABKAIQEQkACyMAIABFBEBBlLbBAEEyEKMDAAsgACACIAMgBCABKAIQEQYACyMAIABFBEBBlLbBAEEyEKMDAAsgACACIAMgBCABKAIQERgACyMAIABFBEBBlLbBAEEyEKMDAAsgACACIAMgBCABKAIQEQgACyMAIABFBEBBlLbBAEEyEKMDAAsgACACIAMgBCABKAIQERoACyMAIABFBEBBlLbBAEEyEKMDAAsgACACIAMgBCABKAIQERwACyYBAn8gACgCACIBQYCAgIB4ckGAgICAeEcEQCAAKAIEIAEQiwMLCygAIABBDGpBACACQuTb1KCa6f7yl39RG0EAIAFC0+qFkZT32IZ/URsLKQAgAEEMakEAIAJC7bqtts2F1PXjAFEbQQAgAUL4gpm9le7Gxbl/URsLJAAgAC0AAEUEQCABQbivwQBBHRDrAg8LIAFB7LDBAEEmEOsCCyEAIABFBEBBlLbBAEEyEKMDAAsgACACIAMgASgCEBEEAAscACAAKAIAIgBBBGooAgAgAEEIaigCACABEKIBCxwAIAAoAgAiAEEEaigCACAAQQhqKAIAIAEQqwMLHAAgACgCACIAQRRqKAIAIABBGGooAgAgARCzAQsfACAARQRAQZS2wQBBMhCjAwALIAAgAiABKAIQEQEACxgBAn8gACgCACIBBEAgACgCBCABEIsDCwsZACAAKAIAIgAoAgAgAEEEaigCACABEKsDC0YAIABFBEAjAEEgayIAJAAgAEEANgIYIABBATYCDCAAQaTBwQA2AgggAEIENwIQIABBCGpByMHBABDFAgALIAAgARCoAwALFgAgAEG0uMAANgIEIAAgAUEMajYCAAviBgEGfwJ/AkACQAJAAkACQCAAQQRrIgUoAgAiBkF4cSIEQQRBCCAGQQNxIgcbIAFqTwRAIAdBACABQSdqIgkgBEkbDQECQAJAIAJBCU8EQCACIAMQ0QEiCA0BQQAMCQsgA0HM/3tLDQFBECADQQtqQXhxIANBC0kbIQECQCAHRQRAIAFBgAJJIAQgAUEEcklyIAQgAWtBgYAIT3INAQwJCyAAQQhrIgIgBGohBwJAAkACQAJAIAEgBEsEQCAHQZTkwQAoAgBGDQQgB0GQ5MEAKAIARg0CIAcoAgQiBkECcQ0FIAZBeHEiBiAEaiIEIAFJDQUgByAGENgBIAQgAWsiA0EQSQ0BIAUgASAFKAIAQQFxckECcjYCACABIAJqIgEgA0EDcjYCBCACIARqIgIgAigCBEEBcjYCBCABIAMQyQEMDQsgBCABayIDQQ9LDQIMDAsgBSAEIAUoAgBBAXFyQQJyNgIAIAIgBGoiASABKAIEQQFyNgIEDAsLQYjkwQAoAgAgBGoiBCABSQ0CAkAgBCABayIDQQ9NBEAgBSAGQQFxIARyQQJyNgIAIAIgBGoiASABKAIEQQFyNgIEQQAhA0EAIQEMAQsgBSABIAZBAXFyQQJyNgIAIAEgAmoiASADQQFyNgIEIAIgBGoiAiADNgIAIAIgAigCBEF+cTYCBAtBkOTBACABNgIAQYjkwQAgAzYCAAwKCyAFIAEgBkEBcXJBAnI2AgAgASACaiIBIANBA3I2AgQgByAHKAIEQQFyNgIEIAEgAxDJAQwJC0GM5MEAKAIAIARqIgQgAUsNBwsgAxBrIgFFDQEgASAAQXxBeCAFKAIAIgFBA3EbIAFBeHFqIgEgAyABIANJGxCsAyAAEK4BDAgLIAggACABIAMgASADSRsQrAMaIAUoAgAiAkF4cSIDIAFBBEEIIAJBA3EiAhtqSQ0DIAJBACADIAlLGw0EIAAQrgELIAgMBgtB4bvBAEEuQZC8wQAQugIAC0GgvMEAQS5B0LzBABC6AgALQeG7wQBBLkGQvMEAELoCAAtBoLzBAEEuQdC8wQAQugIACyAFIAEgBkEBcXJBAnI2AgAgASACaiICIAQgAWsiAUEBcjYCBEGM5MEAIAE2AgBBlOTBACACNgIAIAAMAQsgAAsLFgAgAEG8hsEANgIEIAAgAUEMajYCAAsWACAAQZykwQA2AgQgACABQQxqNgIACxYAIABBzKzBADYCBCAAIAFBDGo2AgALFgAgAEH0q8EANgIEIAAgAUEMajYCAAsOACABBEAgACABEIsDCwsWACAAKAIUIAEgAiAAKAIYKAIMEQMACxQAIAAoAgAgASAAKAIEKAIQEQEACxQAIAAoAgAiACAAKAIAKAIAEQUACxQAIAAoAgAgASAAKAIEKAIMEQEACxQAIAAoAhQgASAAKAIYKAIQEQEAC8cIAQV/IwBB8ABrIgUkACAFIAM2AgwgBSACNgIIAkACQCABQYECTwRAIAACf0EDIAAsAIACQb9/Sg0AGkECIAAsAP8BQb9/Sg0AGiAALAD+AUG/f0oLQf0BaiIGaiwAAEG/f0wNASAFIAY2AhQgBSAANgIQQQUhB0G8ysEAIQYMAgsgBSABNgIUIAUgADYCEEEBIQYMAQsgACABQQAgBiAEEPACAAsgBSAHNgIcIAUgBjYCGAJAAkACQAJAAkAgASACSSIHIAEgA0lyRQRAIAIgA0sNAQJAIAJFIAEgAk1yRQRAIAAgAmosAABBQEgNAQsgAyECCyAFIAI2AiAgAiABIgNJBEAgAkEDayIDQQAgAiADTxsiAyACQQFqIgdLDQMCQCADIAdGDQAgACAHaiAAIANqIghrIQcgACACaiIJLAAAQb9/SgRAIAdBAWshBgwBCyACIANGDQAgCUEBayICLAAAQb9/SgRAIAdBAmshBgwBCyACIAhGDQAgCUECayICLAAAQb9/SgRAIAdBA2shBgwBCyACIAhGDQAgCUEDayICLAAAQb9/SgRAIAdBBGshBgwBCyACIAhGDQAgB0EFayEGCyADIAZqIQMLAkAgA0UNACABIANNBEAgASADRg0BDAYLIAAgA2osAABBv39MDQULIAEgA0YNAwJ/AkACQCAAIANqIgEsAAAiAEEASARAIAEtAAFBP3EhBiAAQR9xIQIgAEFfSw0BIAJBBnQgBnIhAgwCCyAFIABB/wFxNgIkQQEMAgsgAS0AAkE/cSAGQQZ0ciEGIABBcEkEQCAGIAJBDHRyIQIMAQsgAkESdEGAgPAAcSABLQADQT9xIAZBBnRyciICQYCAxABGDQULIAUgAjYCJEEBIAJBgAFJDQAaQQIgAkGAEEkNABpBA0EEIAJBgIAESRsLIQAgBSADNgIoIAUgACADajYCLCAFQQU2AjQgBUHEy8EANgIwIAVCBTcCPCAFIAVBGGqtQoCAgIDwHYQ3A2ggBSAFQRBqrUKAgICA8B2ENwNgIAUgBUEoaq1CgICAgJAehDcDWCAFIAVBJGqtQoCAgICAB4Q3A1AgBSAFQSBqrUKAgICA0A6ENwNIDAULIAUgAiADIAcbNgIoIAVBAzYCNCAFQYTMwQA2AjAgBUIDNwI8IAUgBUEYaq1CgICAgPAdhDcDWCAFIAVBEGqtQoCAgIDwHYQ3A1AgBSAFQShqrUKAgICA0A6ENwNIDAQLIAVBBDYCNCAFQeTKwQA2AjAgBUIENwI8IAUgBUEYaq1CgICAgPAdhDcDYCAFIAVBEGqtQoCAgIDwHYQ3A1ggBSAFQQxqrUKAgICA0A6ENwNQIAUgBUEIaq1CgICAgNAOhDcDSAwDCyADIAdBuMzBABCPAwALIAQQkAMACyAAIAEgAyABIAQQ8AIACyAFIAVByABqNgI4IAVBMGogBBDFAgALEQAgACgCBCAAKAIIIAEQqwMLEwAgAEEoNgIEIABB/LfAADYCAAsgACAAQvTTncyM7av4IjcDCCAAQo/br+y2xJSmazcDAAsgACAAQqLL/bSm1brAQjcDCCAAQqWTmLe4zoKBATcDAAsTACAAQfC4wAA2AgQgACABNgIACxEAIAAoAgQgACgCCCABEKIBCxoAAn8gAUEJTwRAIAEgABDRAQwBCyAAEGsLCxMAIABBKDYCBCAAQYSGwQA2AgALEwAgAEH4hsEANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARCrAwsTACAAQSg2AgQgAEHho8EANgIACxMAIABB2KTBADYCBCAAIAE2AgALIgAgAEKi+ciH7tyLtap/NwMIIABC7dqY15vd967iADcDAAsRACAAKAIAIAAoAgQgARCiAQshACAAQt769//5o87Ps383AwggAEKg4aHLzteD2QI3AwALEwAgAEEoNgIEIABBiKvBADYCAAsTACAAQYitwQA2AgQgACABNgIACxMAIABBxK3BADYCBCAAIAE2AgALIgAgAELevcKWnNn84KF/NwMIIABCpvDJlbTzivf1ADcDAAsWAEGs4MEAIAA2AgBBqODBAEEBNgIACyEAIABC5NvUoJrp/vKXfzcDCCAAQtPqhZGU99iGfzcDAAshACAAQpTV95jr18HJ6QA3AwggAELzqNHa3Z6JoGw3AwALIgAgAELtuq22zYXU9eMANwMIIABC+IKZvZXuxsW5fzcDAAsTACAAQaDAwQA2AgQgACABNgIACxEAIAEgACgCACAAKAIEEKMBCxEAIAEoAhQgASgCGCAAELMBC2IBAn8CQAJAIABBBGsoAgAiAkF4cSIDQQRBCCACQQNxIgIbIAFqTwRAIAJBACADIAFBJ2pLGw0BIAAQrgEMAgtB4bvBAEEuQZC8wQAQugIAC0GgvMEAQS5B0LzBABC6AgALCw4AIAAoAgAgASACEOsCC2sBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0HYycEANgIIIANCAjcCFCADIANBBGqtQoCAgIDQDoQ3AyggAyADrUKAgICA0A6ENwMgIAMgA0EgajYCECADQQhqIAIQxQIACwwAIAA1AgAgARDhAQtrAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBrMrBADYCCCADQgI3AhQgAyADQQRqrUKAgICA0A6ENwMoIAMgA61CgICAgNAOhDcDICADIANBIGo2AhAgA0EIaiACEMUCAAsPAEHmw8EAQSsgABC6AgALCwAgACMAaiQAIwALDgAgAUGMnMAAQQUQ6wILDgAgAUGgs8AAQQUQ6wILDAAgACgCACABEJ0CCw4AIAFBuLnAAEEFEOsCCw4AIABBgL/AACABELMBCw4AIAFB1MDAAEEFEOsCCw4AIABB3MHAACABELMBCw4AIAFBmMPAAEEFEOsCC6YBAQF/IAAoAgAjAEFAaiIAJAAoAgAhAiAAQgA3AzggAEE4aiACEGAgACAAKAI8IgI2AjQgACAAKAI4NgIwIAAgAjYCLCAAIABBLGqtQoCAgIDwGoQ3AyAgAEECNgIMIABBmLrBADYCCCAAQgE3AhQgACAAQSBqNgIQIAEoAhQgASgCGCAAQQhqELMBIAAoAiwiAgRAIAAoAjAgAhCLAwsgAEFAayQACw4AIAFBqIvBAEEFEOsCCw4AIABB6IvBACABELMBCw4AIAFBpI3BAEEFEOsCCw4AIAFB7JDBAEESEOsCCwwAIAAoAgAgARCVAgsMACAAKAIAIAEQ7wILDgAgAEH0rsEAIAEQswELDAAgACgCACABEI4DCwkAIAAgARBhAAsOACAAQaC7wQAgARCzAQsOACAAQfjAwQAgARCzAQsOACABQejAwQBBBRDrAgsOACABQe3AwQBBCxDrAgsaACAAIAFByODBACgCACIAQdgBIAAbEQAAAAvFAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAyAAKAIARgRAIAAQ/gELIAAgA0EBajYCCCAAKAIEIANqIAE6AAAMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQ/AEgACgCCCEDCyAAKAIEIANqIAJBDGogARCsAxogACABIANqNgIICyACQRBqJABBAAsOACAAQbTGwQAgARCzAQsLACACIAAgARCjAQu4AgEHfwJAIAIiBEEQSQRAIAAhAgwBCyAAQQAgAGtBA3EiA2ohBSADBEAgACECIAEhBgNAIAIgBi0AADoAACAGQQFqIQYgAkEBaiICIAVJDQALCyAFIAQgA2siCEF8cSIHaiECAkAgASADaiIDQQNxBEAgB0EATA0BIANBA3QiBEEYcSEJIANBfHEiBkEEaiEBQQAgBGtBGHEhBCAGKAIAIQYDQCAFIAYgCXYgASgCACIGIAR0cjYCACABQQRqIQEgBUEEaiIFIAJJDQALDAELIAdBAEwNACADIQEDQCAFIAEoAgA2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwsgCEEDcSEEIAMgB2ohAQsgBARAIAIgBGohAwNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANJDQALCyAAC68BAQN/IAEhBQJAIAJBEEkEQCAAIQEMAQsgAEEAIABrQQNxIgNqIQQgAwRAIAAhAQNAIAEgBToAACABQQFqIgEgBEkNAAsLIAQgAiADayICQXxxIgNqIQEgA0EASgRAIAVB/wFxQYGChAhsIQMDQCAEIAM2AgAgBEEEaiIEIAFJDQALCyACQQNxIQILIAIEQCABIAJqIQIDQCABIAU6AAAgAUEBaiIBIAJJDQALCyAAC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCAAQQFqIQAgAUEBaiEBIAJBAWsiAg0BDAILCyAEIAVrIQMLIAMLCQAgAEEANgIACwkAIAAgARCeAgsJACAAIAE2AgALCQAgACABEO4BCwkAIAAgARDIAQsHACAAEO0CC+0GAgd/AX4CQCMAQdAAayICJAAgAkEANgIoIAJCgICAgBA3AiAgAkEDOgBMIAJBIDYCPCACQQA2AkggAkHcwcAANgJEIAJBADYCNCACQQA2AiwgAiACQSBqNgJAIwBBQGoiACQAQQEhBgJAIAJBLGoiBCgCFCIDQazEwQBBDCAEKAIYIgcoAgwiBBEDAA0AIAEoAgwhBSAAQQM2AhQgAEGUxMEANgIQIABCAzcCHCAAIAWtQoCAgIDwHYQ3AyggACAFQQxqrUKAgICA0A6ENwM4IAAgBUEIaq1CgICAgNAOhDcDMCAAIABBKGoiCDYCGCADIAcgAEEQahCzAQ0AIANB5MPBAEEBIAQRAwANAAJAIAEoAggiBQRAIANBuMTBAEEBIAQRAwANAiAAQThqIAVBEGopAgA3AwAgAEEwaiAFQQhqKQIANwMAIAAgBSkCADcDKCADIAcgCBCzAUUNAQwCCyAAIAEoAgAiBSABKAIEQQxqKAIAEQAAIAApAwBC+IKZvZXuxsW5f1INACAAKQMIQu26rbbNhdT14wBSDQAgA0G4xMEAQQEgBBEDAA0BIAMgBSgCACAFKAIEIAQRAwANAQtBACEGCyAAQUBrJAACQCAGRQRAIAJBGGogAkEoaigCACIDNgIAIAIgAikCICIJNwMQIAmnIgAgA2tBCU0EQCACQRBqIANBChD7ASACKAIYIQMgAigCECEACyACKAIUIgEgA2oiBEGdw8AAKQAANwAAIARBCGpBpcPAAC8AADsAACACIANBCmoiAzYCGCACQQhqEFQiBRBVIAIoAgghBiACKAIMIgQgACADa0sEQCACQRBqIAMgBBD7ASACKAIUIQEgAigCGCEDIAIoAhAhAAsgASADaiAGIAQQrAMaIAIgAyAEaiIDNgIYIAAgA2tBAU0EQCACQRBqIANBAhD7ASACKAIYIQMgAigCFCEBCyABIANqQYoUOwAAIAIgA0ECaiIDNgIYAkAgAyACKAIQIgdPBEAgASEADAELIANFBEBBASEAIAEgBxCLAwwBCyABIAdBASADEOUCIgBFDQILIAAgAxBWIAQEQCAGIAQQiwMLIAVBhAFPBEAgBRAACyACQdAAaiQADAILQfTBwABBNyACQRBqQazCwABBiMPAABCXAgALQQEgAxDjAgALCwIACwIACwud3gEKAEGAgMAAC70WY2FsY3VsYXRlX3NoYXJlc19pbl9naXZlbl9ib25kc19vdXRfdXA6IHkgPSAgPCAgPSBkeQAAEAAsAAAALAAQAAMAAAAvABAABQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL3lpZWxkX3NwYWNlLnJzAAAATAAQAHEAAABdAAAAGAAAADFlMThjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogayA9ICA9IHnUABAALAAAACwAEAADAAAAAAEQAAQAAABMABAAcQAAAGkAAAAYAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQADAAAABAAAAAQAAAABAAAATAAQAHEAAAByAAAALQAAAEwAEABxAAAAcgAAABkAAABjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogX3ogPSAgPSB6ZQAAiAEQAC0AAAAsABAAAwAAALUBEAAFAAAATAAQAHEAAAB8AAAAGAAAAEwAEABxAAAAdQAAACkAAABMABAAcQAAAHUAAAAZAAAATAAQAHEAAABwAAAAEgAAAEwAEABxAAAAYwAAACUAAABleHBlY3RlZCBrPSA+PSB6ZT0AACQCEAALAAAALwIQAAcAAABMABAAcQAAAD4AAAAYAAAATAAQAHEAAABDAAAAKwAAAEwAEABxAAAAQwAAABcAAABleHBlY3RlZCB5PSA+PSBkZWx0YV95PQB4AhAACwAAAIMCEAAMAAAATAAQAHEAAABLAAAAGAAAAEwAEABxAAAARgAAACcAAABMABAAcQAAAEYAAAAXAAAATAAQAHEAAABBAAAAEQAAAEwAEABxAAAANgAAADoAAABjYWxjdWxhdGVfc2hhcmVzX291dF9naXZlbl9ib25kc19pbl9kb3duOiBrID0gAADwAhAALgAAACwAEAADAAAAAAEQAAQAAABMABAAcQAAALcAAAAYAAAATAAQAHEAAADEAAAALQAAAEwAEABxAAAAxAAAABkAAAAwAAAATAAQAHEAAADQAAAAEAAAAEwAEABxAAAAxwAAACkAAABMABAAcQAAAMcAAAAZAAAATAAQAHEAAADCAAAAEgAAAEwAEABxAAAAswAAACUAAABMABAAcQAAAFABAAAaAAAATAAQAHEAAABOAQAAMAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvbWF4LnJzAADcAxAAbgAAAC4AAAAXAAAAUmVhY2hlZCBhYnNvbHV0ZSBtYXggYm9uZCBhbW91bnQgaW4gYGNhbGN1bGF0ZV9tYXhfbG9uZ2AuAAAAXAQQADkAAADcAxAAbgAAAGsAAAAcAAAA3AMQAG4AAACaAAAAFwAAANwDEABuAAAAoAAAABgAAABJbml0aWFsIGd1ZXNzIGluIGBjYWxjdWxhdGVfbWF4X2xvbmdgIGlzIGluc29sdmVudCB3aXRoIGVycm9yOgoA0AQQAD8AAADcAxAAbgAAAGAAAAAcAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbG9uZy9vcGVuLnJzTWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBJbnB1dCBhbW91bnQgdG9vIGxvdwAAAJcFEAAuAAAAKAUQAG8AAAAiAAAAGAAAAEluc3VmZmljaWVudExpcXVpZGl0eTogTmVnYXRpdmUgSW50ZXJlc3TgBRAAKAAAACgFEABvAAAALQAAABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL2Nsb3NlLnJzIAYQAHAAAAASAAAAGAAAAENsb3NpbmcgdGhlIGxvbmcgcmVzdWx0cyBpbiBmZWVzIGV4Y2VlZGluZyB0aGUgbG9uZyBwcm9jZWVkcy4AAACgBhAAPQAAACAGEABwAAAAHQAAABgAAAAgBhAAcAAAADwAAAANAAAAIAYQAHAAAAA4AAAANAAAACAGEABwAAAAMwAAAA0AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9tYXgucnNleHBlY3RlZCBidWRnZXQ9ID49IG1pbl90cmFuc2FjdGlvbl9hbW91bnQ9AACXBxAAEAAAAKcHEAAbAAAAKAcQAG8AAADTAAAAGAAAAE5vIHNvbHZlbnQgc2hvcnQgaXMgcG9zc2libGUuAAAA5AcQAB0AAAAoBxAAbwAAAPgAAAAYAAAAbWF4IHNob3J0IGV4Y2VlZGVkIGJ1ZGdldAAAABwIEAAZAAAAKAcQAG8AAABYAQAAGAAAAG1heCBzaG9ydCBib25kIGFtb3VudCBleGNlZWRlZCBhYnNvbHV0ZSBtYXggYm9uZCBhbW91bnQAUAgQADcAAAAoBxAAbwAAAF0BAAAYAAAAKAcQAG8AAADmAAAAQwAAACgHEABvAAAAygAAABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9jbG9zZS5ycwAAAMAIEABxAAAA1gAAABgAAADACBAAcQAAAOcAAAAYAAAAwAgQAHEAAAD6AAAAGAAAAMAIEABxAAAA+QAAADUAAADACBAAcQAAABMAAAANAAAAwAgQAHEAAAAoAAAAEAAAAMAIEABxAAAAIQAAACgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAACkCRAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAgChAAHQAAAAEAAAAAAAAASW52YWxpZCBCaWdJbnQ6IFAKEAAQAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5yc2gKEABwAAAASwAAAE8AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAAgAAAAEAAAABAAAAAEAAABoChAAcAAAAM0AAABGAAAAAQAAAAAAAAABAEHolsAAC4ElEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LnALEAALAAAAewsQACEAAABoChAAcAAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AALwLEAAdAAAA2QsQAAkAAABoChAAcAAAAKwAAAAUAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9tYXRoLnJzAAAABAwQAGkAAABAAAAADgAAAENhbm5vdCBkaXZpZGUgYnkgemVyby4AAIAMEAAWAAAABAwQAGkAAAA2AAAADQAAAEZpeGVkUG9pbnQgb3BlcmF0aW9uIG92ZXJmbG93ZWQ6ICAqICAvIACwDBAAIQAAANEMEAADAAAA1AwQAAMAAAAEDBAAaQAAAD8AAAAaAAAABAwQAGkAAAAwAAAACgAAAAQMEABpAAAAJgAAAA0AAAAEDBAAaQAAAC8AAAAWAAAABAwQAGkAAAB1AAAAFQAAAAQMEABpAAAAXQAAABEAAAAJAAAADAAAAAQAAAAKAAAACwAAAAwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AA0AAAAAAAAAAQAAAA4AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAsA0QAEsAAAD/CQAADgAAAEVycm9yL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY29uc29sZV9lcnJvcl9wYW5pY19ob29rLTAuMS43L3NyYy9saWIucnMAABEOEABxAAAAlQAAAA4AAAAwLjE2LjFjcmF0ZXMvaHlwZXJkcml2ZS13YXNtL3NyYy9saWIucnMAmg4QACEAAAAtAAAACgAAAJoOEAAhAAAALgAAAAoAAACaDhAAIQAAAD4AAAAWAAAAmg4QACEAAAA/AAAAJAAAAJoOEAAhAAAAQQAAAAYAAACaDhAAIQAAAEIAAAAGAAAAmg4QACEAAABSAAAAFgAAAJoOEAAhAAAAUwAAACQAAACaDhAAIQAAAFUAAAAGAAAAmg4QACEAAABWAAAABgAAAJoOEAAhAAAAXwAAAAoAAACaDhAAIQAAAGsAAAAuAAAAmg4QACEAAABvAAAACgAAAJoOEAAhAAAAcAAAAAoAAACaDhAAIQAAAHoAAAAKAAAAmg4QACEAAAB7AAAACgAAAJoOEAAhAAAAigAAABgAAACaDhAAIQAAAIsAAAAkAAAAmg4QACEAAACNAAAABgAAABAAAAAAAAAAAQAAABEAAAASAAAAEwAAAE9uY2UgaW5zdGFuY2UgaGFzIHByZXZpb3VzbHkgYmVlbiBwb2lzb25lZAAABBAQACoAAABvbmUtdGltZSBpbml0aWFsaXphdGlvbiBtYXkgbm90IGJlIHBlcmZvcm1lZCByZWN1cnNpdmVseTgQEAA4AAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9zdGQvc3JjL3N5bmMvb25jZS5yc3gQEABMAAAAlQAAADIAAABjcmF0ZXMvaHlwZXJkcml2ZS13YXNtL3NyYy9sb25nL2ZlZXMucnMA1BAQACcAAAAWAAAALAAAANQQEAAnAAAAFwAAADwAAADUEBAAJwAAABkAAAAPAAAA1BAQACcAAAAnAAAALAAAANQQEAAnAAAAKwAAAAoAAADUEBAAJwAAAC0AAAAPAAAA1BAQACcAAAA4AAAAIgAAANQQEAAnAAAAOQAAACQAAADUEBAAJwAAADoAAAAjAAAA1BAQACcAAAA8AAAACgAAANQQEAAnAAAAPgAAAA8AAADUEBAAJwAAAEgAAAAeAAAA1BAQACcAAABJAAAAIAAAANQQEAAnAAAASgAAAB8AAADUEBAAJwAAAE0AAAAPAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvc2hvcnQvb3Blbi5yc+wREAAoAAAAGQAAACwAAADsERAAKAAAABoAAABCAAAA7BEQACgAAAAeAAAACgAAAOwREAAoAAAAIAAAAA8AAADsERAAKAAAAC4AAAAsAAAA7BEQACgAAAAyAAAACgAAAOwREAAoAAAANAAAAA8AAADsERAAKAAAAEkAAAAiAAAA7BEQACgAAABKAAAALQAAAOwREAAoAAAASwAAACMAAADsERAAKAAAAE0AAAAKAAAA7BEQACgAAABPAAAADwAAAOwREAAoAAAAawAAACkAAADsERAAKAAAAGwAAAAtAAAA7BEQACgAAABtAAAALwAAAOwREAAoAAAAbwAAADMAAADsERAAKAAAAHcAAAAKAAAA7BEQACgAAAB4AAAACgAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL3R5cGVzLnJzADQTEAAjAAAAZQAAADMAAAA0ExAAIwAAAGYAAAA3AAAANBMQACMAAABnAAAAMQAAADQTEAAjAAAAaAAAADUAAAA0ExAAIwAAAGkAAAA5AAAANBMQACMAAABqAAAAOQAAADQTEAAjAAAAawAAAEsAAAA0ExAAIwAAAGwAAAA7AAAANBMQACMAAABtAAAATQAAADQTEAAjAAAAcAAAABIAAAA0ExAAIwAAAHEAAABLAAAANBMQACMAAAByAAAAMwAAADQTEAAjAAAAcwAAADEAAAA0ExAAIwAAAHQAAAA/AAAANBMQACMAAAB1AAAAQQAAADQTEAAjAAAAfwAAACsAAAA0ExAAIwAAAIAAAAA1AAAANBMQACMAAACBAAAAKwAAADQTEAAjAAAAggAAADEAAAA0ExAAIwAAAIQAAAAsAAAANBMQACMAAACFAAAAKgAAADQTEAAjAAAAhgAAADwAAAA0ExAAIwAAAIcAAABEAAAANBMQACMAAACJAAAASQAAADQTEAAjAAAAigAAAEMAAAA0ExAAIwAAAIsAAABLAAAANBMQACMAAACMAAAALwAAADQTEAAjAAAAjQAAADkAAAA0ExAAIwAAAI4AAAA9AAAANBMQACMAAACPAAAAPQAAADQTEAAjAAAAkAAAADMAAAA0ExAAIwAAAJIAAAASAAAANBMQACMAAACUAAAAEgAAADQTEAAjAAAAlQAAADsAAAA0ExAAIwAAAJYAAABBAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbG9uZy9vcGVuLnJzAIgVEAAnAAAAFgAAACwAAACIFRAAJwAAABgAAAA8AAAAiBUQACcAAAAaAAAADwAAAIgVEAAnAAAAJwAAACwAAACIFRAAJwAAACsAAAAKAAAAiBUQACcAAAAtAAAADwAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL2xwLnJzEBYQACAAAAApAAAAOgAAABAWEAAgAAAAKgAAACQAAAD//////////////////////////////////////////xIAAAAAAAAAEBYQACAAAAAtAAAAIgAAABAWEAAgAAAAMwAAACMAAAAQFhAAIAAAADQAAAAjAAAAEBYQACAAAAA6AAAACgAAABAWEAAgAAAAPAAAAA8AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAADIFhAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABEFxAAHQAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL3Nob3J0L2Nsb3NlLnJzAAAAbBcQACkAAAAaAAAALAAAAGwXEAApAAAAGwAAAEIAAABsFxAAKQAAABwAAABEAAAAbBcQACkAAAAdAAAAMAAAAGwXEAApAAAAHgAAAC4AAABsFxAAKQAAACgAAAAKAAAAbBcQACkAAAAqAAAADwAAAGwXEAApAAAAPAAAACwAAABsFxAAKQAAAD8AAABEAAAAbBcQACkAAABCAAAAQgAAAGwXEAApAAAARAAAADAAAABsFxAAKQAAAEUAAAAuAAAAbBcQACkAAABIAAAAMwAAADAxZTE4AAAAbBcQACkAAABjAAAADAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAFAAAAAQAAAAEAAAAAQAAAGwXEAApAAAAWQAAACsAAABsFxAAKQAAAFEAAAAJAAAAFgAAAAwAAAAEAAAAFwAAABgAAAAMAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAZAAAAAAAAAAEAAAAaAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzADwZEABLAAAA/wkAAA4AAAABAAAAAAAAAEVycm9yY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbG9uZy9jbG9zZS5ycwAAAKUZEAAoAAAAEAAAACIAAAClGRAAKAAAABEAAAAkAAAApRkQACgAAAASAAAAIwAAAKUZEAAoAAAAFAAAAAoAAAClGRAAKAAAABYAAAAPAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvc2hvcnQvZmVlcy5ycyAaEAAoAAAAFgAAACwAAAAgGhAAKAAAABgAAAA9AAAAIBoQACgAAAAaAAAADwAAACAaEAAoAAAAJwAAACwAAAAgGhAAKAAAACsAAAAKAAAAIBoQACgAAAAtAAAADwAAACAaEAAoAAAANwAAACIAAAAgGhAAKAAAADgAAAAkAAAAIBoQACgAAAA5AAAAIwAAACAaEAAoAAAAOwAAAAoAAAAgGhAAKAAAAD0AAAAPAAAAIBoQACgAAABGAAAAHgAAACAaEAAoAAAARwAAACAAAAAgGhAAKAAAAEgAAAAfAAAAIBoQACgAAABLAAAADwAAABsAAAAMAAAABAAAABwAAAAdAAAADAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAHgAAAAAAAAABAAAAHwAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCYGxAASwAAAP8JAAAOAAAAAQAAAAAAAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5GwAAAAwAAAAEAAAAIAAAABsAAAAMAAAABAAAACEAAAAgAAAAJBwQACIAAAAjAAAAJAAAACIAAAAlAAAAJgAAABgAAAAEAAAAJwAAACYAAAAYAAAABAAAACgAAAAnAAAAYBwQACkAAAAqAAAAJAAAACkAAAAlAAAAKwAAACwAAAAsAAAALQAAAC4AAAAuAAAALwAAAEVycm9yY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbG9uZy9tYXgucnMAvRwQACYAAAAdAAAAHQAAAL0cEAAmAAAAHgAAACoAAAC9HBAAJgAAACEAAAAKAAAAvRwQACYAAAAjAAAADwAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL3Nob3J0L21heC5ycwAkHRAAJwAAACUAAAAdAAAAJB0QACcAAAAmAAAALQAAACQdEAAnAAAAJwAAACoAAAAkHRAAJwAAACkAAAArAAAAJB0QACcAAAAuAAAACgAAACQdEAAnAAAAMAAAAA8AAAAkHRAAJwAAAEMAAAAqAAAAJB0QACcAAABEAAAAKgAAACQdEAAnAAAARwAAAAoAAAAkHRAAJwAAAEkAAAAPAEGQvMAAC5cHL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZS5yc0ZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6IHoeEAA2AAAAEB4QAGoAAACQAAAABQAAAENhbm5vdCBmbGlwIHNpZ24gb2YgdW5zaWduZWQgdHlwZTogAMgeEAAjAAAAEB4QAGoAAABpAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwAAAAQfEABpAAAAJgAAAAEAAAAxAAAADAAAAAQAAAAyAAAAMwAAAAwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ADQAAAAAAAAAAQAAADUAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA4B8QAEsAAAD/CQAADgAAAAEAAAAAAAAANgAAAAQAAAAEAAAANwAAAEVycm9ySW52YWxpZEhleENoYXJhY3RlcmMAAAA2AAAABAAAAAQAAAA4AAAAaW5kZXgAAAA2AAAABAAAAAQAAAA5AAAAT2RkTGVuZ3RoSW52YWxpZFN0cmluZ0xlbmd0aGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AAAAtCAQAB0AAAA6AAAADAAAAAQAAAA7AAAAPAAAAD0AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AD4AAAAAAAAAAQAAAD8AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAPCEQAEsAAAD/CQAADgAAAEVycm9yCgpTdGFjazoKCgBBx8PAAAuCOYAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAADIIRAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABEIhAAHQAAADBjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlQwAAAAQAAAAEAAAAAQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2Jhc2UucnNTdGF0ZSBpcyBpbnNvbHZlbnQuIEV4cGVjdGVkIHNoYXJlX3Jlc2VydmVzPSA+IGxvbmdfZXhwb3N1cmVfc2hhcmVzPSArIG1pbl9zaGFyZV9yZXNlcnZlcz0SIxAALAAAAD4jEAAYAAAAViMQABYAAACoIhAAagAAAB4AAAAYAAAAqCIQAGoAAAAsAAAAJwAAADFlMzaoIhAAagAAAEQAAAANAAAAqCIQAGoAAAA/AAAAQwAAAKgiEABqAAAAPgAAAEIAAAAxZTE4L1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbG9uZy9mZWVzLnJzANwjEABvAAAAFQAAAEkAAADcIxAAbwAAABUAAAAVAAAA3CMQAG8AAABIAAAAFQAAANwjEABvAAAAYgAAABEAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL21heC5ycwAAjCQQAG4AAAAYAAAAFQAAAIwkEABuAAAAFwAAAFEAAACMJBAAbgAAABcAAAAdAAAAjCQQAG4AAAAUAAAAEAAAAIwkEABuAAAAEwAAAA0AAAB0YXJnZXQgc2hhcmUgcmVzZXJ2ZXMgbGVzcyB0aGFuIGVmZmVjdGl2ZSBzaGFyZSByZXNlcnZlc0wlEAA4AAAAjCQQAG4AAADvAAAAGAAAAIwkEABuAAAA6QAAAA4AAACMJBAAbgAAAOgAAAAQAAAAjCQQAG4AAADnAAAAJgAAAIwkEABuAAAA5gAAABAAAACMJBAAbgAAAOUAAAA+AAAAjCQQAG4AAADlAAAAEAAAAIwkEABuAAAA2QAAACgAAACMJBAAbgAAANkAAAASAAAAjCQQAG4AAADXAAAAGwAAAIwkEABuAAAA1gAAAB0AAACMJBAAbgAAANUAAAAlAAAAjCQQAG4AAADTAAAAVQAAAIwkEABuAAAA0wAAACEAAACMJBAAbgAAAM8AAAAZAAAAMC44ZTE4AACMJBAAbgAAABgBAABAAAAAjCQQAG4AAAAYAQAALAAAAIwkEABuAAAAFwEAAA8AAACMJBAAbgAAABYBAAAmAAAAjCQQAG4AAAAWAQAAEgAAADJlMTiMJBAAbgAAAFEBAAA/AAAAjCQQAG4AAABRAQAAIwAAAIwkEABuAAAAUAEAAA8AAACMJBAAbgAAAE8BAAA+AAAAjCQQAG4AAABOAQAAFQAAAIwkEABuAAAATQEAAEQAAACMJBAAbgAAAEoBAABRAAAAZXhwZWN0ZWQgbmV3X3NoYXJlX2Ftb3VudD0gPj0gZ292ZXJuYW5jZV9mZWVfc2hhcmVzPUgnEAAaAAAAYicQABoAAACMJBAAbgAAAIIBAAAYAAAATG9uZyB3b3VsZCByZXN1bHQgaW4gYW4gaW5zb2x2ZW50IHBvb2wuAJwnEAAnAAAAjCQQAG4AAACUAQAAEQAAAIwkEABuAAAAigEAAFEAAACMJBAAbgAAALEBAAATAAAAjCQQAG4AAACwAQAAQgAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvb3Blbi5yc01pbmltdW1UcmFuc2FjdGlvbkFtb3VudDogSW5wdXQgYW1vdW50IHRvbyBsb3cAAAB7KBAALgAAAAwoEABvAAAAIgAAABgAAABJbnN1ZmZpY2llbnRMaXF1aWRpdHk6IE5lZ2F0aXZlIEludGVyZXN0xCgQACgAAAAMKBAAbwAAAC0AAAAYAAAAT3BlbiBsb25nIGRlcml2YXRpdmUgaXMgdW5kZWZpbmVkLgAABCkQACIAAAAMKBAAbwAAAGIAAAAYAAAADCgQAG8AAABrAAAAUQAAAAwoEABvAAAAawAAACIAAAAMKBAAbwAAAGYAAAAZAAAADCgQAG8AAABXAAAAHgAAAEludmFsaWRBcHI6IEFwciBpcyBvdXRzaWRlIHRoZSBzbGlwcGFnZSBndWFyZC4AAIApEAAuAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvYWRkLnJzuCkQAGwAAAAVAAAAGAAAAERlY3JlYXNlZFByZXNlbnRWYWx1ZVdoZW5BZGRpbmdMaXF1aWRpdHk6IFByZXNlbnQgdmFsdWUgZGVjcmVhc2VkIGFmdGVyIGFkZGluZyBsaXF1aWRpdHkuAAAANCoQAFkAAAC4KRAAbAAAACQAAAAYAAAATWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBOb3QgZW5vdWdoIGxwIHNoYXJlcyBtaW50ZWQuAACoKhAANgAAALgpEABsAAAALQAAABgAAABPdXRwdXRMaW1pdDogTm90IGVub3VnaCBscCBzaGFyZXMgbWludGVkLgAAAPgqEAApAAAAuCkQAGwAAAA0AAAAGAAAAE1pbmltdW1UcmFuc2FjdGlvbkFtb3VudDogQ29udHJpYnV0aW9uIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluaW11bSB0cmFuc2FjdGlvbi4APCsQAE8AAAC4KRAAbAAAAEIAAAAYAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvbWF0aC5yc3VwZGF0ZSB3b3VsZCByZXN1bHQgaW4gc2hhcmUgcmVzZXJ2ZXMgYmVsb3cgbWluaW11bS4AAAARLBAANAAAAKQrEABtAAAAWQAAABgAAACkKxAAbQAAAFgAAABIAAAATmVnYXRpdmUgcHJlc2VudCB2YWx1ZSEAcCwQABcAAACkKxAAbQAAAKQAAAAYAAAApCsQAG0AAACjAAAAHAAAAKQrEABtAAAALAEAACMAAACkKxAAbQAAAMwAAAAnAAAAQXZlcmFnZSB0aW1lIHJlbWFpbmluZyBpcyBncmVhdGVyIHRoYW4gMWUxOC7QLBAALAAAAKQrEABtAAAAOwEAABgAAACkKxAAbQAAAEcBAAANAAAApCsQAG0AAABEAQAADQAAAKQrEABtAAAAOQEAAFkAAACkKxAAbQAAADkBAAArAAAAVmF1bHQgc2hhcmUgcHJpY2UgaXMgemVyby4AAFQtEAAaAAAApCsQAG0AAAA3AQAAGAAAAKQrEABtAAAANgEAACgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9scC91dGlscy5ycwAAmC0QAG4AAAA/AAAAMgAAAJgtEABuAAAAPwAAABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9jbG9zZS5ycwAAACguEABxAAAAdQAAAA0AAAAoLhAAcQAAALMAAAANAAAAKC4QAHEAAADFAAAAGQAAACguEABxAAAAwgAAAAwAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9mZWVzLnJz3C4QAHAAAAAUAAAAFQAAANwuEABwAAAARAAAABUAAADcLhAAcAAAAHkAAAARAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvbWF4LnJzMWU5Tm8gc29sdmVudCBzaG9ydCBpcyBwb3NzaWJsZS4A7i8QAB0AAAB8LxAAbwAAADkAAAAYAAAASW5wdXQgdG9vIGxhcmdlLgogICAgICAgICAgICAgICAgdGFyZ2V0X2Jhc2VfYW1vdW50PQogICAgICAgICAgICAgICAgbWF4X2Jhc2VfYW1vdW50ICAgPSQwEAA0AAAAWDAQACQAAAB8LxAAbwAAAEAAAAAYAAAAQ291bGQgbm90IGNvbnZlcmdlIHRvIGEgYm9uZCBhbW91bnQgZ2l2ZW4gbWF4IGl0ZXJhdGlvbnMgPSAuCiAgICAgICAgICAgIFRhcmdldCBiYXNlIGRlcG9zaXQgPSAKICAgICAgICAgICAgRXJyb3IgICAgICAgICAgICAgICA9IAogICAgICAgICAgICBUb2xlcmFuY2UgICAgICAgICAgID0gAAAAnDAQADsAAADXMBAAJAAAAPswEAAjAAAAHjEQACMAAAB8LxAAbwAAAJwAAAAUAAAAY3VycmVudF9ib25kX2Ftb3VudD0gaXMgbGVzcyB0aGFuIHRoZSBleHBlY3RlZCBhYnNvbHV0ZV9tYXg9LCBidXQgc3RpbGwgbm90IHNvbHZlbnQudDEQABQAAACIMRAAKAAAALAxEAAYAAAAfC8QAG8AAACSAAAAJAAAAHwvEABvAAAAMwAAADMAAAB8LxAAbwAAAIwBAAArAAAAfC8QAG8AAACmAQAADQAAAHwvEABvAAAAoQEAAB4AAAB8LxAAbwAAAMUBAAA9AAAAfC8QAG8AAADFAQAAJwAAAHwvEABvAAAAyAEAADsAAAB8LxAAbwAAAMgBAAAnAAAAfC8QAG8AAADDAQAAQQAAAHwvEABvAAAAwAEAABoAAAB8LxAAbwAAADsCAAAzAAAAZXhwZWN0ZWQgc2hhcmVfcmVzZXJ2ZXM9ID49IHNoYXJlX2RlbHRhPaAyEAAYAAAAuDIQABAAAAB8LxAAbwAAAGkCAAAYAAAAZXhwZWN0ZWQgbG9uZ19leHBvc3VyZT0gPj0gY2hlY2twb2ludF9leHBvc3VyZT0u6DIQABcAAAD/MhAAGAAAABczEAABAAAAfC8QAG8AAABzAgAAHAAAAFNob3J0IHdvdWxkIHJlc3VsdCBpbiBhbiBpbnNvbHZlbnQgcG9vbC5AMxAAKAAAAHwvEABvAAAAfwIAABEAAABJbnZhbGlkIGRlcml2YXRpdmUuAIAzEAATAAAAfC8QAG8AAACiAgAAEQAAAHwvEABvAAAAnQIAABAAAAB8LxAAbwAAAJwCAAAQAAAATWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBJbnB1dCBhbW91bnQgdG9vIGxvdy4gYm9uZF9hbW91bnQgPSAgbXVzdCBiZSA+PSAAAMwzEAA+AAAACjQQAAwAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9vcGVuLnJzKDQQAHAAAAA5AAAAGAAAAEluc3VmZmljaWVudExpcXVpZGl0eTogTmVnYXRpdmUgSW50ZXJlc3QuCiAgICAgICAgICAgICAgICBleHBlY3RlZCBib25kX2Ftb3VudD0gPD0gc2hhcmVfcmVzZXJ2ZXNfZGVsdGFfaW5fc2hhcmVzPQAAqDQQAE8AAAD3NBAAIwAAACg0EABwAAAAUwAAABgAAABUaGUgdHJhbnNhY3Rpb24gY3VydmUgZmVlID0gLCBjb21wdXRlZCB3aXRoIGNvZWZmaWNpZW50ID0gLAogICAgICAgICAgICAgICAgaXMgdG9vIGhpZ2guIEl0IG11c3QgYmUgbGVzcyB0aGFuIHNoYXJlIHJlc2VydmVzIGRlbHRhID0gAAAAPDUQABwAAABYNRAAHgAAAHY1EABLAAAAKDQQAHAAAABkAAAAGAAAACg0EABwAAAAQwAAAEMAAAAoNBAAcAAAAM8AAAA9AAAAKDQQAHAAAADBAAAAFwAAACg0EABwAAAAvwAAAA4AAAAoNBAAcAAAAAoBAAAZAAAAKDQQAHAAAAAGAQAAHgAAACg0EABwAAAA/AAAABMAAAAoNBAAcAAAADABAAAYAAAAc2hvcnRfcHJpbmNpcGFsPSBpcyB0b28gbG93IHRvIGFjY291bnQgZm9yIGZlZXM9bDYQABAAAAB8NhAAIAAAACg0EABwAAAAMwEAABgAAAAoNBAAcAAAAJkBAABXAAAAKDQQAHAAAACZAQAADgAAACg0EABwAAAAygEAACMAAABleHBlY3RlZCB5PSA+IDAA7DYQAAsAAAD3NhAABAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL3lpZWxkX3NwYWNlLnJzAAAADDcQAHEAAAAiAAAAGAAAAAw3EABxAAAAIQAAABgAAABleHBlY3RlZCBrPSA+PSB6ZT0AAKA3EAALAAAAqzcQAAcAAAAMNxAAcQAAAD4AAAAYAAAADDcQAHEAAABDAAAAKwAAAAw3EABxAAAAQwAAABcAAAAgPj0gZGVsdGFfeT3sNhAACwAAAPQ3EAAMAAAADDcQAHEAAABLAAAAGAAAAAw3EABxAAAARgAAACcAAAAMNxAAcQAAAEYAAAAXAAAADDcQAHEAAABBAAAAEQAAAAw3EABxAAAANgAAADoAAABjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogeSA9ICA8ICA9IGR5YDgQACwAAACMOBAAAwAAAI84EAAFAAAADDcQAHEAAABdAAAAGAAAAGNhbGN1bGF0ZV9zaGFyZXNfaW5fZ2l2ZW5fYm9uZHNfb3V0X3VwOiBrID0gID0gebw4EAAsAAAAjDgQAAMAAADoOBAABAAAAAw3EABxAAAAaQAAABgAAAAMNxAAcQAAAHIAAAAtAAAADDcQAHEAAAByAAAAGQAAAGNhbGN1bGF0ZV9zaGFyZXNfaW5fZ2l2ZW5fYm9uZHNfb3V0X3VwOiBfeiA9ICA9IHplAAA0ORAALQAAAIw4EAADAAAAYTkQAAUAAAAMNxAAcQAAAHwAAAAYAAAADDcQAHEAAAB1AAAAKQAAAAw3EABxAAAAdQAAABkAAAAMNxAAcQAAAHAAAAASAAAADDcQAHEAAABjAAAAJQAAAGNhbGN1bGF0ZV9zaGFyZXNfb3V0X2dpdmVuX2JvbmRzX2luX2Rvd246IGsgPSAAANA5EAAuAAAAjDgQAAMAAADoOBAABAAAAAw3EABxAAAAtwAAABgAAAAMNxAAcQAAAMQAAAAtAAAADDcQAHEAAADEAAAAGQAAAAw3EABxAAAA0AAAABAAAAAMNxAAcQAAAMcAAAApAAAADDcQAHEAAADHAAAAGQAAAAw3EABxAAAAwgAAABIAAAAMNxAAcQAAALMAAAAlAAAADDcQAHEAAADlAAAAPwAAAAw3EABxAAAA5QAAACkAAABjYWxjdWxhdGVfbWF4X2J1eV9zaGFyZXNfaW46IG9wdGltYWxfemUgPSAAALg6EAAqAAAAjDgQAAMAAABhORAABQAAAAw3EABxAAAA8QAAABEAAAAMNxAAcQAAAOgAAAA5AAAADDcQAHEAAADoAAAAKQAAAAw3EABxAAAA4wAAABoAAAAMNxAAcQAAAOIAAABGAAAADDcQAHEAAAAIAQAAOwAAAAw3EABxAAAACAEAACcAAABjYWxjdWxhdGVfbWF4X2J1eV9ib25kc19vdXQ6IHkgPSAgPSBvcHRpbWFsX3kAAABsOxAAIQAAAIw4EAADAAAAjTsQAAwAAAAMNxAAcQAAABMBAAARAAAADDcQAHEAAAALAQAANwAAAAw3EABxAAAACwEAACcAAAAMNxAAcQAAAAYBAAAZAAAADDcQAHEAAAAFAQAAPQAAAAw3EABxAAAANAEAADcAAAAMNxAAcQAAADQBAAAnAAAAY2FsY3VsYXRlX21heF9zZWxsX2JvbmRzX2luOiBvcHRpbWFsX3kgPSAAAAAkPBAAKQAAAIw4EAADAAAA6DgQAAQAAAAMNxAAcQAAAD8BAAARAAAADDcQAHEAAAA3AQAAOwAAAAw3EABxAAAANwEAACcAAAAMNxAAcQAAADIBAAAZAAAADDcQAHEAAAAvAQAAKQAAAAw3EABxAAAAUAEAABoAAAAMNxAAcQAAAE4BAAAwAAAADDcQAHEAAABcAQAAGgAAAAw3EABxAAAAWgEAACoAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9saWIucnMAAAD4PBAAaQAAAJ4AAAANAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5yc3Q9EABwAAAASwAAAE8AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAEcAAAAEAAAABAAAAAEAAAB0PRAAcAAAAM0AAABGAAAAAQAAAAAAAAABAEHw/MAAC8UFEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2Lng+EAALAAAAgz4QACEAAAB0PRAAcAAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAMQ+EAAdAAAA4T4QAAkAAAB0PRAAcAAAAKwAAAAUAAAAAQAAAAAAAABGYWlsZWQgdG8gY29udmVydCB2YWx1ZSB0byB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSB0eXBlOgogICAgdmFsdWU6IAogICAgVW5kZXJseWluZyByYW5nZTogIHRvIAoAFD8QAEcAAABbPxAAFwAAAHI/EAAEAAAAdj8QAAEAAAD//////////////////////////////////////////xIAAAAAAAAAdD0QAHAAAAApAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwAAANA/EABpAAAAQAAAAA4AAABDYW5ub3QgZGl2aWRlIGJ5IHplcm8uAABMQBAAFgAAANA/EABpAAAANgAAAA0AAABGaXhlZFBvaW50IG9wZXJhdGlvbiBvdmVyZmxvd2VkOiAgKiAgLyAAfEAQACEAAACdQBAAAwAAAKBAEAADAAAA0D8QAGkAAAA/AAAAGgAAANA/EABpAAAAMAAAAAoAAADQPxAAaQAAACYAAAANAAAA0D8QAGkAAAAvAAAAFgAAANA/EABpAAAAdQAAABUAAADQPxAAaQAAAF0AAAARAAAARml4ZWRQb2ludCgpHEEQAAsAAAAnQRAAAQBB2ILBAAupDGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUASAAAAAQAAAAEAAAAAQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdmFsdWUucnNGYWlsZWQgdG8gY29udmVydCB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSB0byB1MTI4OiD+QRAANgAAAJRBEABqAAAAkAAAAAUAAABDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IABMQhAAIwAAAJRBEABqAAAAaQAAAA0AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAACIQhAAaQAAACYAAAABAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheUkAAAAMAAAABAAAAEoAAABJAAAADAAAAAQAAABLAAAASgAAACxDEABMAAAATQAAAE4AAABPAAAAUAAAAFEAAAAYAAAABAAAAFIAAABRAAAAGAAAAAQAAABTAAAAUgAAAGhDEABUAAAAVQAAAE4AAABUAAAAUAAAAFYAAABXAAAAVwAAAFgAAABZAAAAWQAAAFoAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAMBDEAAdAAAAMWUxOC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL3V0aWxzLnJzZWZmZWN0aXZlIHNoYXJlIHJlc2VydmVzIGNhbm5vdCBiZSBuZWdhdGl2ZQAAV0QQACsAAADsQxAAawAAADAAAAAUAAAA7EMQAGsAAAB6AAAABgAAAOxDEABrAAAAjAAAADoAAADsQxAAawAAAJ8AAAA6AAAA7EMQAGsAAACeAAAAVAAAAOxDEABrAAAAngAAAAoAAABeAAAADAAAAAQAAABfAAAAYAAAAGEAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AGIAAAAAAAAAAQAAAGMAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMATEUQAEsAAAD/CQAADgAAAEVycm9ySW52YWxpZCBCaWdJbnQ6IAAAAK1FEAAQAAAACiAgICBMb2NhdGlvbjogAAEAAAAAAAAAyEUQAA8AAABpAAAADAAAAAQAAABqAAAAawAAAGEAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AGwAAAAAAAAAAQAAAG0AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMASEYQAEsAAAD/CQAADgAAAEVycm9yb2JqbgAAAAQAAAAEAAAAbwAAAE9iamVjdAAAbgAAAAQAAAAEAAAAcAAAAFJhbmdlRXJyb3IAAG4AAAAEAAAABAAAAHEAAABJbnZhbGlkIGFkZHJlc3M6IAogICAgAADwRhAAEQAAAAFHEAAFAAAASW52YWxpZCB1aW50MjU2OiAAAAAYRxAAEQAAAAFHEAAFAAAARmFpbGVkIHRvIHBhcnNlIEJpZ0ludDogPEcQABgAAAABRxAABQAAAEludmFsaWQgaW50MjU2OiBkRxAAEAAAAAFHEAAFAEGnj8EACwKAAgBByI/BAAvJEi9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwAAAMhHEABpAAAAJgAAAAEAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAERIEAAdAAAAVHJ5RnJvbUJpZ0ludEVycm9yRXhwb25lbnQgIGlzIHRvbyBzbWFsbCBmb3IgVTI1NjogAH5IEAAJAAAAh0gQABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3V0aWxzLnJzAACwSBAAagAAADYAAAAJAAAAVW5leHBlY3RlZCBjaGFyYWN0ZXIgaW4gVTI1NjogAAAsSRAAHgAAALBIEABqAAAALQAAAA0AAAAgaXMgdG9vIHNtYWxsIGZvciBJMjU2OiB+SBAACQAAAGRJEAAYAAAAsEgQAGoAAABsAAAACQAAAFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGluIEkyNTY6IAAAnEkQAB4AAACwSBAAagAAAGQAAAANAAAAMTM1MzA1OTk5MzY4ODkzMjMxNTg5aW52YWxpZCBleHBvbmVudCAAAOlJEAARAAAAsEgQAGoAAAB+AAAACQAAADUAAACwSBAAagAAAIQAAAAJAAAANTQ5MTY3Nzc0Njc3MDc0NzMzNTExNDE0NzExMjgAAACwSBAAagAAAIkAAAAOAAAAMjQzODUyNzI1MjE0NTQ4NDc5MDQ2NTkwNzY5ODU2OTMyNzYAsEgQAGoAAAC6AAAAEwAAADM4MjI4MzMwNzQ5NjMyMzY0NTMwNDI3MzgyNTg5MDIxNTgwMDMxNTU0MTY2MTU2NjcxOTVjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAHcAAAAEAAAABAAAAAEAAACwSBAAagAAAMgAAAASAAAAsEgQAGoAAADGAAAAHgAAALBIEABqAAAAoAAAABcAAACwSBAAagAAAIoAAAAXAAAAsEgQAGoAAACJAAAAJAAAALBIEABqAAAAhAAAAB4AAACwSBAAagAAAH0AAAANAAAAQ2Fubm90IGNhbGN1bGF0ZSBsbiBvZiBvZiBuZWdhdGl2ZSBudW1iZXIgb3IgemVyby4AAGxLEAAyAAAAsEgQAGoAAADQAAAACQAAADk2MTU5MzI3MzI4NTQ1OTYzODUyMzg0ODYzMjI1NDA2NjI5NjI0ODI4MTU3MDgxODMzMTYzODkyNjU4MDg5NDQ1NTI0NDM0NTY0ODU3MjU3MzkwMzc5NTg3NDAzNzU3NDMzOTMxMTExMTUwOTEwOTQ0MDk2NzA1MjAyMzg1NTUyNjk2NzQ1MDIzNzA5NjY3MjU0MDYzNzYzMzM2NTM0NTE1ODU3MTQ3MDY3NzM0MTczNzg2MDg3ODY3MDQ2MzYxODQ1MjY3OTUxNjQyMzU2NTEzNTA0MjYyNTgyNDk3ODc0OTg1NTczMDM1MjMzNDQwNjczNDY2MzAwNDUxODEzOTM2NzE2OTQ4NzQ3OTkzMTc4ODM3NjQwOTA1NjE0NTQ5NTgyODM0NDcwMzYxNzI5MjQ1NzU3MjcxOTY0NTEzMDY5NTY0MDE2ODY2OTAzOTQwMjc2NjM2NTE2MjQyMDg3Njk1NTMyMDQwNDg0NTc1OTAzOTIwMTIzNjI0ODUwNjE4MTY2MjIzMTg1Mzg5OTY5ODUwMTU3MTQwMjY1MzM1OTQyNzEzODkwOTQyOTk3MTI0NDM4NzMwMDI3NzM3NjU1ODM3NQAAsEgQAGoAAAANAQAACwAAADE2NzcyMDIxMTA5OTY3MTg1ODgzNDI4MjA5NjcwNjc0NDM5NjM1MTYxNjYxNjU5NzU3NzU1MjY4NTYxNDIyMTQ4NzI4NTk1ODE5Mzk0NzQ2OTE5MzgyMDU1OTIxOTg3ODE3NzkwODA5MzQ5OTIwODM3MTYwMDkyMDE3OTgyOTczMTg2MTczNjcwMjc3OTMyMTYyMTQ1OTU5NTQ3MjI1ODA0OTA3NDEwMTU2NzM3Nzg4MzAyMDAxODMwOAAAsEgQAGoAAAAfAQAAGAAAALBIEABqAAAAGwEAAAkAAACwSBAAagAAABgBAAAYAAAAsEgQAGoAAAALAQAAFwAAALBIEABqAAAABwEAABcAAACwSBAAagAAAAMBAAAXAAAAsEgQAGoAAAD/AAAAFwAAALBIEABqAAAA+wAAABcAAACwSBAAagAAAPcAAAAyAAAAsEgQAGoAAAD2AAAAIAAAALBIEABqAAAA8gAAABcAAACwSBAAagAAAO8AAAA0AAAAsEgQAGoAAADuAAAANAAAALBIEABqAAAA7QAAADQAAACwSBAAagAAAOwAAAA0AAAAsEgQAGoAAADrAAAANAAAALBIEABqAAAA6gAAACAAAAB4AAAAAAAAAAEAAAB5AAAAsEgQAGoAAADlAAAANQAAALBIEABqAAAA5QAAABgAAACwSBAAagAAAOQAAAAcAAAAsEgQAGoAAADhAAAAIQAAALBIEABqAAAA4AAAACEAAACwSBAAagAAAN8AAAAhAAAAsEgQAGoAAADeAAAAIQAAALBIEABqAAAA3QAAACEAAACwSBAAagAAANwAAAAhAAAAsEgQAGoAAADaAAAAIQAAAAEAAAAAAAAARmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdHlwZToKICAgIHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKABBQEABHAAAAV1AQABcAAABuUBAABAAAAHJQEAABAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5yc5RQEABwAAAAKQAAAA0AQbiiwQALuQQSAAAAAAAAAP//////////////////////////////////////////EgAAAAAAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAHwAAAAEAAAABAAAAAEAAACUUBAAcAAAAM0AAABGAAAAAQAAAAAAAAABAAAAAAAAAEZpeGVkUG9pbnQoKcRREAALAAAAz1EQAAEAAAAtZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQAAAH0AAAAMAAAABAAAAH4AAAB9AAAADAAAAAQAAAB/AAAAfgAAAAxSEACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAAAYAAAABAAAAIYAAACFAAAAGAAAAAQAAACHAAAAhgAAAEhSEACIAAAAiQAAAIIAAACIAAAAhAAAAIoAAACLAAAAiwAAAIwAAACNAAAAjQAAAI4AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAACgUhAAaQAAACYAAAABAAAASW50ZWdlciBvdmVyZmxvdyB3aGVuIGNhc3RpbmcgdG8gdXNpemUAABxTEAAmAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABMUxAAHQBBmKfBAAv6OENhbm5vdCBmbGlwIHNpZ24gb2YgdW5zaWduZWQgdHlwZTogAJhTEAAjAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZS5ycwAAxFMQAGoAAABpAAAADQAAAEZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6IAAAQFQQADYAAADEUxAAagAAAJAAAAAFAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZV9pbXBscy5yc0ZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIG9mIHR5cGUgVTI1NiB0byBJMjU2OiAAAFUQAEMAAACQVBAAcAAAAH8AAAABAAAAjwAAAAwAAAAEAAAAkAAAAJEAAACSAAAAAAAAAAEAAACTAAAAlAAAAJUAAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5mAAAABQAAAAEAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACdAAAAngAAAJ8AAACfAAAAoAAAAKEAAAAMAAAABAAAAKIAAAChAAAADAAAAAQAAACjAAAAogAAAORVEACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqgAAAKsAAACsAAAArAAAAK0AAACYAAAACAAAAAQAAACuAAAAmAAAAAgAAAAEAAAArwAAAK4AAAA8VhAApAAAALAAAACmAAAApwAAAKgAAACxAAAAGAAAAAQAAACyAAAAsQAAABgAAAAEAAAAswAAALIAAAB4VhAAtAAAALUAAACmAAAAtgAAAKgAAAC3AAAAFAAAAAQAAAC4AAAAtwAAABQAAAAEAAAAuQAAALgAAAC0VhAAugAAALsAAACmAAAAvAAAAKgAAAABAAAAAAAAADogAAD4VhAAAgAAAJgAAAAEAAAABAAAAJgAAAAEAAAABAAAAL0AAAAEVxAABFcQAL4AAAC/AAAAwAAAAAoKQ2F1c2VkIGJ5OgogICAgCgpMb2NhdGlvbjoKAAAAwgAAAAQAAAAEAAAAwwAAAMQAAADFAAAAAQAAAAAAAADCAAAAFAAAAAQAAACZAAAAmgAAAJsAAAABAAAAAAAAADogAAABAAAAAAAAAJRXEAACAAAAICAgICAgAACoVxAABgAAAGludmFsaWQgZGlnaXQgZm91bmQgaW4gc3RyaW5nL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZXRoZXJzLWNvcmUtMi4wLjE0L3NyYy90eXBlcy9pMjU2LnJzAAAA1VcQAGwAAADTAAAAMgAAANVXEABsAAAA1AAAADIAAAABAAAAAAAAAG51bWJlciBkb2VzIG5vdCBmaXQgaW4gMjU2LWJpdCBpbnRlZ2Vy////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg///////////////////////////////////woLDA0OD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2NvbnN0LWhleC0xLjEyLjAvc3JjL2xpYi5ycwAAAJJZEABjAAAAugIAAAwAAABVbnNpZ25lZCBpbnRlZ2VyIGNhbid0IGJlIGNyZWF0ZWQgZnJvbSBuZWdhdGl2ZSB2YWx1ZQAAAAhaEAA1AAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwAAALFaEAAQAAAAMHgwYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3fPWhAAHQAAAEhaEABpAAAAJgAAAAEAAABIWhAAaQAAACsAAAABAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRgdW53cmFwX3Rocm93YCBmYWlsZWRJbnZhbGlkIGNoYXJhY3RlciAnJyBhdCBwb3NpdGlvbiBbWxAAEwAAAG5bEAAOAAAASW52YWxpZCBpbnB1dCBsZW5ndGgvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ydXN0Yy1oZXgtMi4xLjAvc3JjL2xpYi5ycwAAoFsQAGIAAAD+AAAAKAAAAKBbEABiAAAA/gAAAD8AAADUAAAABAAAAAQAAADVAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvb25jZV9jZWxsLTEuMTkuMC9zcmMvaW1wX3N0ZC5ycwA0XBAAZwAAAKEAAAA2AAAAAQAAADRcEABnAAAAmwAAAAkAAAABAAAAAAAAAGEgY2hhcmFjdGVyIGlzIG5vdCBpbiB0aGUgcmFuZ2UgMC05dGhlIG51bWJlciBpcyB0b28gbGFyZ2UgZm9yIHRoZSB0eXBlSnNWYWx1ZSgpD10QAAgAAAAXXRAAAQAAAHJlZW50cmFudCBpbml0AAAoXRAADgAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAQF0QAE0AAAAkAQAAQgAAANkAAAAMAAAABAAAANoAAADbAAAA3AAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZAC4XRAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAAuF0QACkAAACuBAAADQAAAGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvbW9kLnJzdXNlIG9mIHN0ZDo6dGhyZWFkOjpjdXJyZW50KCkgaXMgbm90IHBvc3NpYmxlIGFmdGVyIHRoZSB0aHJlYWQncyBsb2NhbCBkYXRhIGhhcyBiZWVuIGRlc3Ryb3llZABgXhAAHQAAAOUCAAATAAAAZmFpbGVkIHRvIGdlbmVyYXRlIHVuaXF1ZSB0aHJlYWQgSUQ6IGJpdHNwYWNlIGV4aGF1c3RlZADsXhAANwAAAGBeEAAdAAAAuAQAAA0AAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAAA8XxAAFQAAAFFfEAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzcF8QABgAAABiAQAACQAAAGNhbm5vdCBtb2RpZnkgdGhlIHBhbmljIGhvb2sgZnJvbSBhIHBhbmlja2luZyB0aHJlYWSYXxAANAAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnPUXxAAHAAAAIYAAAAJAAAA1F8QABwAAACLAgAAHgAAANkAAAAMAAAABAAAAN0AAADeAAAACAAAAAQAAADfAAAA3gAAAAgAAAAEAAAA4AAAAOEAAADiAAAAEAAAAAQAAADjAAAA5AAAAOUAAAAAAAAAAQAAAOYAAABFcnJvckxheW91dEVycm9y5wAAAAwAAAAEAAAA6AAAAOkAAADqAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACQYBAAEQAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnOsYBAAHAAAABkAAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yAOsAAAAAAAAAAQAAAOwAAABsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMcYRAAGAAAAHkCAAAgAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDrAAAAAAAAAAEAAADtAAAAbGlicmFyeS9hbGxvYy9zcmMvc3luYy5ycwAAAIBhEAAZAAAAdQEAADIAAABsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMuLjAxMjM0NTY3ODlhYmNkZWYAAAABAAAAAAAAADpbY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAAAAEAAAAAAAAA5GEQAAEAAADkYRAAAQAAAHBhbmlja2VkIGF0IAoAAADyAAAAAAAAAAEAAADzAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAExiEAAgAAAAbGIQABIAAAA9PSE9bWF0Y2hlc2Fzc2VydGlvbiBgbGVmdCAgcmlnaHRgIGZhaWxlZAogIGxlZnQ6IAogcmlnaHQ6IACbYhAAEAAAAKtiEAAXAAAAwmIQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAAm2IQABAAAADkYhAAEAAAAPRiEAAJAAAAwmIQAAkAAAA6IAAAAQAAAAAAAAAgYxAAAgAAAPQAAAAMAAAABAAAAPUAAAD2AAAA9wAAACAgICAgeyAsICB7CiwKfSB9XWxpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwAAAF5jEAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXNzZXJ0aW9uIGZhaWxlZDogKmN1cnIgPiAxOQAAXmMQABsAAADvAQAABQAAAKxhEAAbAAAAZgkAABoAAACsYRAAGwAAAF8JAAAiAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIKRkEAASAAAAtmQQACIAAAByYW5nZSBlbmQgaW5kZXgg6GQQABAAAAC2ZBAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgAAhlEAAWAAAAHmUQAA0AAABbLi4uXWJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGBgQWUQAA4AAABPZRAABAAAAFNlEAAQAAAAY2UQAAEAAABieXRlIGluZGV4ICBpcyBub3QgYSBjaGFyIGJvdW5kYXJ5OyBpdCBpcyBpbnNpZGUgIChieXRlcyApIG9mIGAAhGUQAAsAAACPZRAAJgAAALVlEAAIAAAAvWUQAAYAAABjZRAAAQAAACBpcyBvdXQgb2YgYm91bmRzIG9mIGAAAIRlEAALAAAA7GUQABYAAABjZRAAAQAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5ycwAcZhAAGwAAAAUBAAAsAAAAbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3ByaW50YWJsZS5ycwAAAEhmEAAlAAAAGgAAADYAAABIZhAAJQAAAAoAAAArAAAAAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IHwEkAWoEawKvA7ECvALPAtEC1AzVCdYC1wLaAeAF4QLnBOgC7iDwBPgC+gP7AQwnOz5OT4+enp97i5OWorK6hrEGBwk2PT5W89DRBBQYNjdWV3+qrq+9NeASh4mOngQNDhESKTE0OkVGSUpOT2RlXLa3GxwHCAoLFBc2OTqoqdjZCTeQkagHCjs+ZmmPkhFvX7/u71pi9Pz/U1Samy4vJyhVnaCho6SnqK26vMQGCwwVHTo/RVGmp8zNoAcZGiIlPj/n7O//xcYEICMlJigzODpISkxQU1VWWFpcXmBjZWZrc3h9f4qkqq+wwNCur25vvpNeInsFAwQtA2YDAS8ugIIdAzEPHAQkCR4FKwVEBA4qgKoGJAQkBCgINAtOQ4E3CRYKCBg7RTkDYwgJMBYFIQMbBQFAOARLBS8ECgcJB0AgJwQMCTYDOgUaBwQMB1BJNzMNMwcuCAqBJlJLKwgqFhomHBQXCU4EJAlEDRkHCgZICCcJdQtCPioGOwUKBlEGAQUQAwWAi2IeSAgKgKZeIkULCgYNEzoGCjYsBBeAuTxkUwxICQpGRRtICFMNSQcKgPZGCh0DR0k3Aw4ICgY5BwqBNhkHOwMcVgEPMg2Dm2Z1C4DEikxjDYQwEBaPqoJHobmCOQcqBFwGJgpGCigFE4KwW2VLBDkHEUAFCwIOl/gIhNYqCaLngTMPAR0GDgQIgYyJBGsFDQMJBxCSYEcJdDyA9gpzCHAVRnoUDBQMVwkZgIeBRwOFQg8VhFAfBgaA1SsFPiEBcC0DGgQCgUAfEToFAYHQKoLmgPcpTAQKBAKDEURMPYDCPAYBBFUFGzQCgQ4sBGQMVgqArjgdDSwECQcCDgaAmoPYBBEDDQN3BF8GDAQBDwwEOAgKBigIIk6BVAwdAwkHNggOBAkHCQeAyyUKhAYAAQMFBQYGAgcGCAcJEQocCxkMGg0QDgwPBBADEhITCRYBFwQYARkDGgcbARwCHxYgAysDLQsuATAEMQIyAacCqQKqBKsI+gL7Bf0C/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1tcXl9kZY2RqbS6u8XJ3+Tl8A0RRUlkZYCEsry+v9XX8PGDhYukpr6/xcfP2ttImL3Nxs7PSU5PV1leX4mOj7G2t7/BxsfXERYXW1z29/7/gG1x3t8OH25vHB1ffX6ur3+7vBYXHh9GR05PWFpcXn5/tcXU1dzw8fVyc490dZYmLi+nr7e/x8/X35oAQJeYMI8f0tTO/05PWlsHCA8QJy/u725vNz0/QkWQkVNndcjJ0NHY2ef+/wAgXyKC3wSCRAgbBAYRgawOgKsFHwmBGwMZCAEELwQ0BAcDAQcGBxEKUA8SB1UHAwQcCgkDCAMHAwIDAwMMBAUDCwYBDhUFTgcbB1cHAgYXDFAEQwMtAwEEEQYPDDoEHSVfIG0EaiWAyAWCsAMaBoL9A1kHFgkYCRQMFAxqBgoGGgZZBysFRgosBAwEAQMxCywEGgYLA4CsBgoGLzFNA4CkCDwDDwM8BzgIKwWC/xEYCC8RLQMhDyEPgIwEgpcZCxWIlAUvBTsHAg4YCYC+InQMgNYagRAFgN8L8p4DNwmBXBSAuAiAywUKGDsDCgY4CEYIDAZ0Cx4DWgRZCYCDGBwKFglMBICKBqukDBcEMaEEgdomBwwFBYCmEIH1BwEgKgZMBICNBIC+AxsDDw1saWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvdW5pY29kZV9kYXRhLnJzAAtsEAAoAAAAUAAAACgAAAALbBAAKAAAAFwAAAAWAAAAbGlicmFyeS9jb3JlL3NyYy9lc2NhcGUucnMAAFRsEAAaAAAAOAAAAAsAAABcdXsAVGwQABoAAABmAAAAIwAAAGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8AAACUbBAAGQAAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAcYUjzHqFMQDRhUPBqoVFPbyFSnbyhUgDPYVNl0aFTANohVADg4VWu4mFX7OQhWdDooVkgAO5Z8AF/WgBwAAcALQEBAQIBAgEBSAswFRABZQcCBgICAQQjAR4bWws6CQkBGAQBCQEDAQUrAzwIKhgBIDcBAQEECAQBAwcKAh0BOgEBAQIECAEJAQoCGgECAjkBBAIEAgIDAwEeAgMBCwI5AQQFAQIEARQCFgYBAToBAQIBBAgBBwMKAh4BOwEBAQwBCQEoAQMBNwEBAwUDAQQHAgsCHQE6AQIBAgEDAQUCBwILAhwCOQIBAQIECAEJAQoCHQFIAQQBAgMBAQgBUQECBwwIYgECCQsHSQIbAQEBAQE3DgEFAQIFCwEkCQFmBAEGAQICAhkCBAMQBA0BAgIGAQ8BAAMAAx0CHgIeAkACAQcIAQILCQEtAwEBdQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggGCgIBMB8xBDAHAQEFASgJDAIgBAICAQM4AQECAwEBAzoIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCy4DMAECBAICJwFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQABABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAAQAAlADRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkKBAIBXwMCAQECBgECAZ0BAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUBAQEAAQYPAAU7BwABPwRRAQACAC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAQAB20HAGCA8ACDAQlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjJTEuODAuMC1uaWdodGx5IChjOTg3YWQ1MjcgMjAyNC0wNS0wMSkGd2FscnVzBjAuMjAuMwx3YXNtLWJpbmRnZW4SMC4yLjkyICgyYTRhNDkzNjIpACwPdGFyZ2V0X2ZlYXR1cmVzAisPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dA==") + input = base64Decode("AGFzbQEAAAABxwEdYAJ/fwBgAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgAX8AYAR/f39/AGAFf39/f38AYAR/f39/AX9gBX9/f39/AX9gAABgBn9/f39/fwBgAAF/YAZ/f39/f38Bf2ADf35+AGADf35+AX9gAXwBf2ADfn9/AGAHf39/f39/fwF/YAJ+fwF/YAV/fn5+fgBgA39+fwBgBH9+fn4AYAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AAqUvYhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAFFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3Bvb2xpbmZvX2NkZDAzZjNlM2RlMzM5YzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19wb29sY29uZmlnX2E2N2JjZTViYzUzNDI1ZjcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19hcHJfMWI1ZTliMDI5MGRjZmM5OQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJ19fd2JnX3Bvc2l0aW9uZHVyYXRpb25fNjkwMzZkNmZjMDhlM2RhYgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX2FweV82NjJkZTllZDYyMjhmYTcyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfcG9zaXRpb25kdXJhdGlvbl9lMzhkNTk4N2MwOGJhNmQxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMiX193YmdfY3VycmVudHRpbWVfMGQ1OGUxOWQyN2UxYjE4ZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHF9fd2JnX3ByaWNlX2RjNGQ4M2ZkN2JiMzUyZWIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19wb3NpdGlvbmR1cmF0aW9uX2ZjMThiODE1NjU4NzI2ZDYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ19jdXJyZW50dGltZV83ODM4NzhkNjZiOWU1MzQ3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfY29udHJpYnV0aW9uXzgyN2JiNDdhMDY1ZmNkYTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19hc2Jhc2VfYzY5OTk0ZDA2Yjk1Y2Y0MQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJl9fd2JnX21pbmxwc2hhcmVwcmljZV81MjJmODUyZTNkMGRiYzU2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMdX193YmdfbWluYXByXzNkZmY3ZTFkODM1YmI5YmIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19tYXhhcHJfNGE5ZmNiNmZkNTZhOTdjMgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX2J1ZGdldF80MTFkNjNmYjZkNDU1YzhjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193Ymdfb3BlbnZhdWx0c2hhcmVwcmljZV9iNWIyYzE5NWQ4NmY1NjRlAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGV4cG9zdXJlX2VkMWVjNDg2OTcyMTYwZWQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyhfX3diZ19jb25zZXJ2YXRpdmVwcmljZV9hNzk4Yzg2NDFjOWY2OGI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbWF4aXRlcmF0aW9uc184NzVmZjA0ZDBlYjI3ZWI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGV4cG9zdXJlXzZhMGMwYWNlNDkzODY4OWQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19tYXhpdGVyYXRpb25zXzFiZjBlMGRjZjAzZTFjNjEAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2FkYjk2MWM5MTYyMDkzMjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlX2FlN2FmYWQyYmI0Y2Y2YzQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzVkOTQ0ZWY5NDlmOGE5NDkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2JhOGU4ZjVhNTRlNWVkZTAAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlXzIxMjhjMGYyOWQwMWU2MTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ192YXJpYWJsZWFweV8xNTdlOTVjNmQxNjgyZDU5AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfdGFyZ2V0YmFzZWFtb3VudF9lNWQ3NmZlMDM4MDU2MjQyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193Ymdfb3BlbnZhdWx0c2hhcmVwcmljZV9hMzg3ZmRmZWVlMGRkODZkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMsX193YmdfYWJzb2x1dGVtYXhib25kYW1vdW50Xzk3YThiMWNhZGI5M2Q4MDEAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyVfX3diZ19tYXliZXRvbGVyYW5jZV8zOWY3ZGU3ZjJiODA0MDdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfbWF5YmVtYXhpdGVyYXRpb25zXzU3MzNmOGQ5ZGIwOWRhMmMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19jdXJ2ZV9iNzE5ZGE4NTkxNzdkYjkzAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMbX193YmdfZmxhdF8wMWE2MTkwN2MxNTcxYzdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfZ292ZXJuYW5jZWxwX2Y0NzUxNjE0ODEwMDIzYTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19nb3Zlcm5hbmNlem9tYmllXzI2MTNiM2VjOWQyMGE5OGUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50X2U4N2Q3OTRlMDAyMzUwNzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50XzAwMGU1ZGM1Mzg0ODY4OWUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzRhMWI2NzE1YTg4YTFhZjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19tYXR1cml0eXRpbWVfNWY2NzlhOGU2Mjk0YjY1NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIl9fd2JnX2N1cnJlbnR0aW1lXzQ4MDRmNjkzNTFiNDdlNjgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzE2MGRmY2JjZTZmOTQxOTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2MyMTE5Y2M2Y2JjNTcxNGQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlX2FlYTYyNGYyMTA5NWYzMzMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcytfX3diZ19jbG9zZXZhdWx0c2hhcmVwcmljZV8xNTU2ZmM3MGE0MWJhOTI0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMtX193YmdfaW5pdGlhbHZhdWx0c2hhcmVwcmljZV9kOWU4YzNiMmVlN2VhMTUyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMrX193YmdfbWluaW11bXNoYXJlcmVzZXJ2ZXNfODQxMTkwMDUwNmIyNDcwMQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzL19fd2JnX21pbmltdW10cmFuc2FjdGlvbmFtb3VudF9lNmIwZTNiNjFmMTcxNTJjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193YmdfY2lyY3VpdGJyZWFrZXJkZWx0YV83MDgxNTk5OTNkMmQxODM4AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfcG9zaXRpb25kdXJhdGlvbl9lYjQxMzRkMjJhZDRkYzMzAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGR1cmF0aW9uXzFjN2Q0MzI1ZWJmNGEwYmUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ190aW1lc3RyZXRjaF83MzVlZTY5NzA2YzI4MzdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMbX193YmdfZmVlc181OTI3MmJkZjRhMDI2Y2NiAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludHJld2FyZGVyX2NmOTIzNGY3NTA4MzIwZjIAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19mZWVjb2xsZWN0b3JfNzQ2OGQ4YTRiNDI1YjE3OAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJV9fd2JnX3N3ZWVwY29sbGVjdG9yXzA4OGQ2NTQyYzE2NGQzYzAAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19nb3Zlcm5hbmNlXzRjYmMyODZmNTFhMmJhZGEAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyBfX3diZ19iYXNldG9rZW5fN2Q2NmNmNTU4MzVmZmE2YgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJ19fd2JnX3ZhdWx0c2hhcmVzdG9rZW5fNmU5OTZhYjhlNjg1NGMyYwAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJF9fd2JnX2xpbmtlcmZhY3RvcnlfY2IzNTFiNDNjNGMzYWNjMAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJV9fd2JnX2xpbmtlcmNvZGVoYXNoXzI2MDE2Mjk2ZmI1ZjkwOTQAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19scHRvdGFsc3VwcGx5X2U0Yjg3MDQ5ZGY0MDFjZTIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19scHNoYXJlcHJpY2VfZTMzODliZTM1ZTI2ODE3NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2JvbmRyZXNlcnZlc183MGFiYzE1ODAwOTUwZGU0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193Ymdfc2hhcmVyZXNlcnZlc19kNjU5YTRhYmNhMjM0ZjZmAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMmX193Ymdfc2hhcmVhZGp1c3RtZW50X2E4NjJjOTgzZGYxODdkZDkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyZfX3diZ192YXVsdHNoYXJlcHJpY2VfYjdmMDdiNjUwNzE3ZGQ3NgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2xvbmdleHBvc3VyZV8wODFiMTMyZGI5MGFjODk4AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfbG9uZ3NvdXRzdGFuZGluZ183NzgwZmMxYjc1MGU2NGVlAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMuX193YmdfbG9uZ2F2ZXJhZ2VtYXR1cml0eXRpbWVfMGQxMzIxMWU1Njk1N2RjZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKF9fd2JnX3Nob3J0c291dHN0YW5kaW5nXzIzZWJjNjBkZmZhM2M3ZWQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcy9fX3diZ19zaG9ydGF2ZXJhZ2VtYXR1cml0eXRpbWVfOWZmYTM5ZWY2OGJiZjBkNAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzNl9fd2JnX3dpdGhkcmF3YWxzaGFyZXNyZWFkeXRvd2l0aGRyYXdfMzM0ZDQ5NTYxMjUxZmI0NAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzL19fd2JnX3dpdGhkcmF3YWxzaGFyZXNwcm9jZWVkc18wNjMwNmQ2NzZhOWU5ZWMxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193Ymdfem9tYmllYmFzZXByb2NlZWRzXzYyNDAzMjQwNjJmY2YzMzQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ196b21iaWVzaGFyZXJlc2VydmVzX2FkNjgwM2ZjOGNjMDgzYTkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19idWRnZXRfY2U1MmVhNmY0OGExZGM1ZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKV9fd2JnX2NoZWNrcG9pbnRleHBvc3VyZV9iMjM1NWQyMjMzOWNjODY0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbWF4aXRlcmF0aW9uc185MmRlZDExNGNmYjQ1Mzg0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMhX193YmdfYmFzZWFtb3VudF8wYmIwOGY2ODI2NDIxMzA2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMhX193YmdfYmFzZWFtb3VudF9kZTMzOTczMWFkYjRhMjE3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYADBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19zdGFja182NTgyNzlmZTQ0NTQxY2Y2AAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMcX193YmdfZXJyb3JfZjg1MTY2N2FmNzFiY2ZjNgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwAQFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzDV9fd2JpbmRnZW5fZ2UAARcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19CaWdJbnRfNDJiNjkyYzE4ZTFhYzZkNgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX0JpZ0ludF9mMDBiODY0MDk4MDEyNzI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNjZiZTNjOGUxYzZhN2M3NgABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzBiNTI3ZmNlMGU4ZjJiYWIABBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjhjNTExZDliYWViZmE4OQABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX25ld181ZGQ4NmViYzkxN2Q5ZjUyAAEXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAAD1ALSAgAACwQHBAcHBgQEBAQCBwQEBAAGBgQGAAAGBgYAAAAAAAAEBAEAAAEAAAAECwAGAAAAAAAHBwQABgAEAAABAwcHAAAAAAAAAAAABAMNEQYEBAQIBQQEAwAAAwQEBAMEBAQEAQAEBAAAAAQBAQgABAQSAAAABAAJAwQBEwQEBAACAAEBAQEBAAAEBAABAAEAAQEKBAUHBAUEBQQDBgAAAAAAAAABAQYJCwYAAQEBAQEBAQEUBwEBAQEBAQECAAQEBAACFQYABgUKBQUKAw4FDgwAAAABAwADAwoFAQQAAAUWAQEBAQEACQEIAQEBBQEBBgANBxcZCRsFDw8BBgEBAQMFAQAACAAAAAAEAwUBAQEHAQAAAAABAQAAAQAAAAAAAAAAAQUAAAABAQEAAwEFAgEBAQEBAQEBAQEBAQEBAQEBAQABAAEBAQABAwEAAAEBBQAEBAcBcAHpAekBBQMBABEGCQF/AUGAgMAACwfZBSUGbWVtb3J5AgAKZ2V0VmVyc2lvbgC7AglzcG90UHJpY2UA/wEPY2FsY0hwckdpdmVuQXByAIACD2NhbGNIcHJHaXZlbkFweQCBAhdpZGxlU2hhcmVSZXNlcnZlc0luQmFzZQDgAQxwcmVzZW50VmFsdWUAggIIc3BvdFJhdGUAgwIWY2FsY0FwckdpdmVuRml4ZWRQcmljZQCEAgppbml0aWFsaXplALoCEGNhbGNBZGRMaXF1aWRpdHkAeghtYXhTaG9ydACBARBhYnNvbHV0ZU1heFNob3J0AJEBDWNhbGNPcGVuU2hvcnQAlQETc3BvdFByaWNlQWZ0ZXJTaG9ydACjAQ9jYWxjSW1wbGllZFJhdGUAiwEWc2hvcnRCb25kc0dpdmVuRGVwb3NpdACCARBvcGVuTG9uZ0N1cnZlRmVlAKcBFW9wZW5Mb25nR292ZXJuYW5jZUZlZQCkARFjbG9zZUxvbmdDdXJ2ZUZlZQCHARBjbG9zZUxvbmdGbGF0RmVlAJMBDWNhbGNDbG9zZUxvbmcAigERb3BlblNob3J0Q3VydmVGZWUAqAEWb3BlblNob3J0R292ZXJuYW5jZUZlZQClARJjbG9zZVNob3J0Q3VydmVGZWUAiAERY2xvc2VTaG9ydEZsYXRGZWUAlAEOY2FsY0Nsb3NlU2hvcnQAfhRjYWxjU2hvcnRNYXJrZXRWYWx1ZQB0B21heExvbmcAkgEMY2FsY09wZW5Mb25nAKkBEnNwb3RQcmljZUFmdGVyTG9uZwCmARFfX3diaW5kZ2VuX21hbGxvYwC8AhJfX3diaW5kZ2VuX3JlYWxsb2MAygIfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgCQAw9fX3diaW5kZ2VuX2ZyZWUA6wIUX193YmluZGdlbl9leG5fc3RvcmUAhQMQX193YmluZGdlbl9zdGFydAC6AgnXAwEAQQEL6AHLApsChgGxA7AD8gLQAuICtgLjAZUDkQOxA7IDsgOyA5EC4gK2AuMBkgPCApACwwKxA5YC4gK2AuMBkwOUA+ICtgKXA5YD8gL3Aq0D9QL0ArMDqwLMAqwDtwLzArcCqALlAvYC2gKuAuICuALkAZgDmQOXAssCmALNArED8gKvA7EDsQPiAvIC9wKtA/UC+QKtA7MDqwLMAqwDtwLzArcCqALnAvoC2gKuAowC3wLiArkC5QGaA5sDyQKPApkC3ALyAsUCnAPGAuICuQLmAZ0D3gLvAfsCxAGOA+0BsQOeA/ICiQGxA+IC8gL3Aq0D9QL8Aq0DswOrAswCrAO3AvMCtwKoAugC/QLaAq4C7gKfA78B8gGgA/sChAOtA4MDgAOtA7MDrwLqAoED2wKwAuIC8gL3AvUCrQOoAukCggPaAq4CwALEApwCsgL+ArICqwLEApwCsgLzArIC/wK0Ac4BrgP7Ao0DoQPgAp0CowLRAtEC0QLjAqID1wKJAtQC1wLTAuEC3QLUAtQC2ALWAtUCwwL7AvICogLiArYC5wGkA4YDhwOJA7QCiAOlA9kCkgLwAf4BrQPiArkC5QGmA6cDqAPvAooDiwPPArsBtQKqAwqWkxfSAqe8AQIKfxx+IwBB0AtrIgIkAAJAAkACQCABKQMYIg5CAFkEQCABKQMAIQ8gASkDCCERIAEpAxAhFCACIA43A8ALIAIgFDcDuAsgAiARNwOwCyACIA83A6gLIAJBgAtqIgNCADcDACACQfgKaiIFQgA3AwAgAkHwCmoiBEIANwMAIAJCADcD6AogAkGoC2ogAkHoCmoQmgJB/wFxQQFGDQELIAJBADYC+ApBASEBIAJBATYC7AogAkHQlsEANgLoCiACQgQ3AvAKIAAgAkHoCmpB2JbBABDNATYCBAwBCyACIA43A8ALIAIgFDcDuAsgAiARNwOwCyACIA83A6gLIARCfzcDACADQgA3AwAgAkJ/NwPoCiACQgA3A/gKIAJBqAtqIgYgAkHoCmoiCBCaAiEEIAEpAxghFCABKQMQIQ8gASkDCCEZIAEpAwAhGyACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIARB/wFxIgpBAUatQgeGIhE3A6gLIAVCADcDACADQgA3AwAgAkIANwPwCiACQv////8PNwPoCgJ+AkACQAJAAkACQAJAAkAgBiAIEJoCQf8BcUEBRwRAIBGnIQMCQAJ+AkACfiAUQgBZBEAgCkEBRw0CIAEgA0EDdmoiBCkDACEbIARBCGopAwAhGUIAIQ8gA0EGdiIDQQJqIgRBBEYEQEIAIRQMAwsgA0EDdCABakEYaikDACEUIAEgBEEDdGopAwAMAQtCACAEQf8BcUEBRw0CGiACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQv8ANwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIRQCfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDyACKQPACyEODAELIAIpA7gLIQ8gFFBFBEAgFEIBfSEUIAIpA8ALIQ4MAQsgAikDwAshDiAPUA0BIA9CAX0hD0J/IRQLIAxCAX0MAQsgDlANBEJ/IQ8gDkIBfSEOQn8hFEJ/CyAPQn+FIQ0gFEJ/hSABIANBA3ZqIgQpAwAhGCAEQQhqKQMAQgAhD0IAIRQgA0EGdiIDQQJqIgRBBEcEQCADQQN0IAFqQRhqKQMAIRQgASAEQQN0aikDACEPCyAOQn+FIBSEIRSEIRlCf4UgGIQhGyANIA+ECyEPQgAgFEIAUw0BGgsgAiAUNwPACyACIA83A7gLIAIgGTcDsAsgAiAbNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQn83A+gKIAJBqAtqIAJB6ApqEJoCQf8BcUEBRq1CBoYLIQ4gASkDGCEPIAEpAxAhGSABKQMIIRsgASkDACEcIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgDiARhCIUNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahCaAkH/AXFBAUYNAiAUpyEDAn4CQEIAAn4CQAJAIA9CAFkEQCAUUA0EIAEgA0EDdmopAwAhHEIAIQ8gA0EGdiIDQQFqIgRBBEcNAUIAIRtCACEZDAQLIBRQRQ0BQgAMBAsgASAEQQN0aikDACEbIANBAmoiBEEERgRAQgAhGQwDCyABIARBA3RqKQMAIRkgA0EDaiIDQQRGDQIgASADQQN0aikDAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIQ8CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshESACKQPACyEODAELIAIpA7gLIREgD1BFBEAgD0IBfSEPIAIpA8ALIQ4MAQsgAikDwAshDiARUA0BIBFCAX0hEUJ/IQ8LIAxCAX0MAQsgDlAND0J/IREgDkIBfSEOQn8hD0J/CyAOQn+FIQ4gEUJ/hSERIA9Cf4UhDUJ/hSABIANBA3ZqKQMAQgAhDwJAIANBBnYiA0EBaiIEQQRGBEBCACEZDAELIAEgBEEDdGopAwAhEiADQQJqIgRBBEYEQEIAIRkMAQsgASAEQQN0aikDACEZIANBA2oiA0EERg0AIAEgA0EDdGopAwAhDwsgESAZhCEZIA0gEoQhG4QhHCAOIA+ECyIPQgBTDQEaCyACIA83A8ALIAIgGTcDuAsgAiAbNwOwCyACIBw3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEJoCQf8BcUEBRq1CBYYLIQ8gASkDGCEOIAEpAxAhECABKQMIIRwgASkDACEbIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgDyAUhCIRNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahCaAkH/AXFBAUcEQCARpyEEAkACQCAOQgBZBEAgEVANDCABIARBBnYiA0EDdGopAwAhDEIAIQ4gA0EBaiIFQQRHDQFCACEcDAkLIBFQRQ0BQgAMDAsgASAFQQN0aikDACAPiCEcIANBAmoiBkEERg0HIAEgBkEDdGopAwAgD4ghECADQQNqIgZBBEYNCCABIAZBA3RqKQMAIA+IIQ4MCAsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiARQv8BhTcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyEOAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRkgAikDwAshEAwBCyACKQO4CyEZIA5QRQRAIA5CAX0hDiACKQPACyEQDAELIAIpA8ALIRAgGVANASAZQgF9IRlCfyEOCyAMQgF9DAELIBBQDQ1CfyEZIBBCAX0hEEJ/IQ5CfwshDCABIARBBnYiA0EDdGopAwAhDUIAIRIgA0EBaiIFQQRGBEBCACEbDAULIAEgBUEDdGopAwAgD4ghGyADQQJqIgZBBEYNBCABIAZBA3RqKQMAIA+IIRwgA0EDaiIGQQRGDQUgASAGQQN0aikDACAPiCESDAULQYCVwQBBKyACQc8LakGInsEAQYifwQAQlQIACwwKC0GAlcEAQSsgAkHPC2pBiJ7BAEGon8EAEJUCAAtBgJXBAEErIAJBzwtqQYiewQBBmJ/BABCVAgALQgAhHAsgEEJ/hSEWIBlCf4UgDkJ/hSEXIAxCf4UhDCANIA+IIRkCQCAEQSBxRSAUQsABUXINACABIAVBA3RqKQMAIA+GIBl8IRkgBUEDRg0AIAEgA0ECaiIEQQN0aikDACAPhiAbfCEbIARBA0YNACADQQN0IAFqQRhqKQMAIA+GIBx8IRwLIBIgFoQhDiAchCEQIBcgG4QhHCAMIBmEIRsMAgtCACEQCyAMIA+IIRsgBEEgcUUgFELAAVFyDQAgASAFQQN0aikDACAPhiAbfCEbIAVBA0YNACABIANBAmoiBEEDdGopAwAgD4YgHHwhHCAEQQNGDQAgA0EDdCABakEYaikDACAPhiAQfCEQC0IAIA5CAFMNARoLIAIgDjcDwAsgAiAQNwO4CyACIBw3A7ALIAIgGzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL//wM3A+gKIAJBqAtqIAJB6ApqEJoCQf8BcUEBRq1CBIYLIQ0gASkDGCEOIAEpAxAhEiABKQMIIRwgASkDACEbIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgDSARhCIMNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKahCaAkH/AXFBAUYEQEGAlcEAQSsgAkHPC2pBiJ7BAEH4nsEAEJUCAAsgDKchBAJ+AkACQAJAAkACQAJAIA5CAFkEQCAMUA0GIA0gD4QhDyABIARBBnYiA0EDdGopAwAhEUIAIQ4gA0EBaiIFQQRHDQFCACEcDAMLIAxQRQ0BQgAMBgsgASAFQQN0aikDACAPiCEcIANBAmoiBkEERg0BIAEgBkEDdGopAwAgD4ghEiADQQNqIgZBBEYNAiABIAZBA3RqKQMAIA+IIQ4MAgsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiAMQv8BhTcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyEOAn4CQAJAIAIpA6gLIhFQRQRAIAIpA7gLIRsgAikDwAshEAwBCyACKQO4CyEbIA5QRQRAIA5CAX0hDiACKQPACyEQDAELIAIpA8ALIRAgG1ANASAbQgF9IRtCfyEOCyARQgF9DAELIBBQDQdCfyEbIBBCAX0hEEJ/IQ5CfwsgDSAPhCEPIAEgBEEGdiIDQQN0aikDAEIAIRICQAJAIANBAWoiBUEERgRAQgAhGQwBCyABIAVBA3RqKQMAIA+IIRkgA0ECaiIGQQRGDQAgASAGQQN0aikDACAPiCEcIANBA2oiBkEERg0BIAEgBkEDdGopAwAgD4ghEgwBC0IAIRwLIA+IIREgEEJ/hSEPIBtCf4UhDSAOQn+FIRhCf4UhFgJAIARBMHFFIBRCwAFRcg0AIAEgBUEDdGopAwBCACAMfUIwgyIOhiARfCERIAVBA0YNACABIANBAmoiBEEDdGopAwAgDoYgGXwhGSAEQQNGDQAgA0EDdCABakEYaikDACAOhiAcfCEcCyAPIBKEIQ4gDSAchCESIBggGYQhHCARIBaEIRsMAgtCACESCyARIA+IIRsgBEEwcUUgFELAAVFyDQAgASAFQQN0aikDAEIAIAx9QjCDIg+GIBt8IRsgBUEDRg0AIAEgA0ECaiIEQQN0aikDACAPhiAcfCEcIARBA0YNACADQQN0IAFqQRhqKQMAIA+GIBJ8IRILQgAgDkIAUw0BGgsgAiAONwPACyACIBI3A7gLIAIgHDcDsAsgAiAbNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv8BNwPoCiACQagLaiACQegKahCaAkH/AXFBAUatQgOGCyEPIAEpAxghESABKQMQIRwgASkDCCEZIAEpAwAhDiACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIAwgD4QiDzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQmgJB/wFxQQFGBEBBgJXBAEErIAJBzwtqQYiewQBB6J7BABCVAgALIA+nIQQCfgJAAkACQAJAAkACQCARQgBZBEAgD1ANBiAPQjiDIQ4gASAEQQZ2IgNBA3RqKQMAIQxCACERIANBAWoiBUEERw0BQgAhGQwDCyAPUEUNAUIADAYLIAEgBUEDdGopAwAgDoghGSADQQJqIgZBBEYNASABIAZBA3RqKQMAIA6IIRwgA0EDaiIGQQRGDQIgASAGQQN0aikDACAOiCERDAILIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAIgD0L/AYU3A+gKIAJBqAtqQdiPwQAgAkHoCmoQrAEgAikDsAshEQJ+AkACQCACKQOoCyIOUEUEQCACKQO4CyEbIAIpA8ALIRAMAQsgAikDuAshGyARUEUEQCARQgF9IREgAikDwAshEAwBCyACKQPACyEQIBtQDQEgG0IBfSEbQn8hEQsgDkIBfQwBCyAQUA0HQn8hGyAQQgF9IRBCfyERQn8LIA9COIMhDiABIARBBnYiA0EDdGopAwBCACESAkACQCADQQFqIgVBBEYEQEIAIRkMAQsgASAFQQN0aikDACAOiCEZIANBAmoiBkEERg0AIAEgBkEDdGopAwAgDoghHCADQQNqIgZBBEYNASABIAZBA3RqKQMAIA6IIRIMAQtCACEcCyAOiCEOIBBCf4UhDSAbQn+FIRYgEUJ/hSEYQn+FAkAgBEE/cUUgFELAAVFyDQAgASAFQQN0aikDAEIAIA99IhGGIA58IQ4gBUEDRg0AIAEgA0ECaiIEQQN0aikDACARQj+DIhGGIBl8IRkgBEEDRg0AIANBA3QgAWpBGGopAwAgEYYgHHwhHAsgDSAShCERIBYgHIQhHCAYIBmEIRkgDoQhDgwCC0IAIRwLIAwgDoghDiAEQT9xRSAUQsABUXINACABIAVBA3RqKQMAQgAgD30iDIYgDnwhDiAFQQNGDQAgASADQQJqIgRBA3RqKQMAIAxCP4MiDIYgGXwhGSAEQQNGDQAgA0EDdCABakEYaikDACAMhiAcfCEcC0IAIBFCAFMNARoLIAIgETcDwAsgAiAcNwO4CyACIBk3A7ALIAIgDjcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIPNwPoCiACQagLaiACQegKahCaAkH/AXFBAUatQgKGCyEMIAEpAxghESABKQMQIRAgASkDCCEZIAEpAwAhDiACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIAwgD4QiDzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQmgJB/wFxQQFGBEBBgJXBAEErIAJBzwtqQYiewQBB2J7BABCVAgALIA+nIQQCfgJAAkACQAJAAkACQCARQgBZBEAgD1ANBiABIARBBnYiA0EDdGopAwAhDEIAIREgA0EBaiIFQQRHDQFCACEZDAMLIA9QRQ0BQgAMBgsgASAFQQN0aikDACAPQj+DIg6IIRkgA0ECaiIGQQRGDQEgASAGQQN0aikDACAOiCEQIANBA2oiBkEERg0CIAEgBkEDdGopAwAgDoghEQwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIA9C/wGFNwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIRECfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDiACKQPACyEcDAELIAIpA7gLIQ4gEVBFBEAgEUIBfSERIAIpA8ALIRwMAQsgAikDwAshHCAOUA0BIA5CAX0hDkJ/IRELIAxCAX0MAQsgHFANB0J/IQ4gHEIBfSEcQn8hEUJ/CyABIARBBnYiA0EDdGopAwAhFkIAIRACQAJAIANBAWoiBUEERgRAQgAhGQwBCyABIAVBA3RqKQMAIA9CP4MiDIghGSADQQJqIgZBBEYNACABIAZBA3RqKQMAIAyIIRsgA0EDaiIGQQRGDQEgASAGQQN0aikDACAMiCEQDAELQgAhGwsgHEJ/hSEMIA5Cf4UhGCARQn+FIRdCf4UgFiAPiCEOAkAgBEE/cUUgFELAAVFyDQAgASAFQQN0aikDAEIAIA99IhGGIA58IQ4gBUEDRg0AIAEgA0ECaiIEQQN0aikDACARQj+DIhGGIBl8IRkgBEEDRg0AIANBA3QgAWpBGGopAwAgEYYgG3whGwsgDCAQhCERIBggG4QhECAXIBmEIRkgDoQhDgwCC0IAIRALIAwgD4ghDiAEQT9xRSAUQsABUXINACABIAVBA3RqKQMAQgAgD30iDIYgDnwhDiAFQQNGDQAgASADQQJqIgRBA3RqKQMAIAxCP4MiDIYgGXwhGSAEQQNGDQAgA0EDdCABakEYaikDACAMhiAQfCEQC0IAIBFCAFMNARoLIAIgETcDwAsgAiAQNwO4CyACIBk3A7ALIAIgDjcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIDNwPoCiACQagLaiACQegKahCaAkH/AXFBAUatQgGGCyEMIAEpAxghESABKQMQIRsgASkDCCEZIAEpAwAhDiACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIAwgD4QiDzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQmgJB/wFxQQFGBEBBgJXBAEErIAJBzwtqQYiewQBByJ7BABCVAgALIA+nIQMCfwJAAkACQAJAAkAgEUIAWQRAIA9QDQVCACEOQgAhGUIAIRtCACERIA9C/gFWDQUgASADQQZ2IgRBA3RqKQMAIQwgBEEBaiIFQQRHDQEMAwsgA0EBa0H+AUkNAUH/AQwFCyABIAVBA3RqKQMAIA9CP4MiDoghGSAEQQJqIgZBBEYNASABIAZBA3RqKQMAIA6IIRsgBEEDaiIGQQRGDQEgASAGQQN0aikDACAOiCERDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAIgD0L/AYU3A+gKIAJBqAtqQdiPwQAgAkHoCmoQrAEgAikDsAshEQJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEOIAIpA8ALIRwMAQsgAikDuAshDiARUEUEQCARQgF9IREgAikDwAshHAwBCyACKQPACyEcIA5QDQEgDkIBfSEOQn8hEQsgDEIBfQwBCyAcUA0GQn8hDiAcQgF9IRxCfyERQn8LIAEgA0EGdiIEQQN0aikDACEWQgAhEAJAAkAgBEEBaiIFQQRGBEBCACEZDAELIAEgBUEDdGopAwAgD0I/gyIMiCEZIARBAmoiBkEERg0AIAEgBkEDdGopAwAgDIghGyAEQQNqIgZBBEYNASABIAZBA3RqKQMAIAyIIRAMAQtCACEbCyAcQn+FIQwgDkJ/hSEYIBFCf4UhF0J/hSAWIA+IIQ4CQCADQT9xRSAUQsABUXINACABIAVBA3RqKQMAQgAgD30iEYYgDnwhDiAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBFCP4MiEYYgGXwhGSADQQNGDQAgBEEDdCABakEYaikDACARhiAbfCEbCyAMIBCEIREgGCAbhCEbIBcgGYQhGSAOhCEODAELIAwgD4ghDiADQT9xRSAUQsABUXINACABIAVBA3RqKQMAQgAgD30iFIYgDnwhDiAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBRCP4MiFIYgGXwhGSADQQNGDQAgBEEDdCABakEYaikDACAUhiAbfCEbCyARQgBZDQBB/wEMAQsgAiARNwPACyACIBs3A7gLIAIgGTcDsAsgAiAONwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQgE3A+gKIAJBqAtqIAJB6ApqEJoCCyEDIAJB6ApqQeiWwQBBAhB3AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKALoCkUEQCACKQP4CiEOIAIpA4gLIRRCACACKQOACyIRfSEZAkACfiAPIANB/wFxQQFGrYQiDCACKQPwCiINWgRAQgAgDn0hGyAOQgBSrQwBCyAOQn+FIRsgDkIAUq0gDlCtfAsiDlAEQEJ/QgAgEUIAUhshEgwBC0J/QgAgEUIAUhsgDiAZVq19IRIgGSAOfSEZCyACQegKakHqlsEAQQMQdyACKALoCg0BIAIpA/gKIQ4gEiAUfSEiIAIpA4gLIAIpA4ALIg8gGX0hFAJAAn4gAikD8AoiGCAMIA19IhxaBEAgDiAbfSETIA4gG1StDAELIA4gG0J/hXwhEyAOIBtUrSAOIBtRrXwLIg5QBEBCf0IAIA8gGVQbIREMAQtCf0IAIA8gGVQbIA4gFFatfSERIBQgDn0hFAsgIn0gEXwiDkIAUw0CIAIgDjcDwAsgAiAUNwO4CyACIBM3A7ALIAIgGCAcfSIMNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKaiIDEJoCQf8BcUEBRg0CQgAhFEIAIQ9CACERQgAhDiAMpyIEQf8BTQRAIwBBIGsiBUEYaiIKQgA3AwAgBUEQaiILQgA3AwAgBUEIaiIHQgA3AwAgBUIANwMAAkAgBEH/AUsNACAFIARBBnYiBkEDdGogASkDACIRIAStIg6GNwMAAkAgBkEBaiIIQQRGDQAgBSAIQQN0aiABKQMIIA5CP4MiD4Y3AwAgBkECaiIJQQRGDQAgBSAJQQN0aiABKQMQIA+GNwMAIAZBA2oiCUEERg0AIAUgCUEDdGogASkDGCAPhjcDAAsgBEE/cUUgBEG/AUtyDQAgBSAIQQN0aiIEIAQpAwAgEUIAIA59Ig6IfDcDACAIQQNGDQAgBSAGQQJqIgRBA3RqIgggCCkDACABKQMIIA5CP4MiDoh8NwMAIARBA0YNACAGQQN0IAVqQRhqIgQgBCkDACABKQMQIA6IfDcDAAsgAyAFKQMANwMAIANBGGogCikDADcDACADQRBqIAspAwA3AwAgA0EIaiAHKQMANwMAIAIpA/gKIREgAikD6AohFCACKQPwCiEPIAIpA4ALIQ4LIAEgFDcDACABQRhqIgggDjcDACABQRBqIgogETcDACABQQhqIgsgDzcDACACQegKaiEFQgAhD0IAIRFCACEUQgAhDCMAQUBqIgMkACADQQhqQZ8BEJ4CAkACQAJAIAMpAxBCAFINACADKQMYQgBSDQAgAykDIFBFDQAgAykDCCIOQv////8PVg0AIA5C/wFWDQIgASAOpyIHQQZ2IgRBA3RqKQMAIQ0gBEEBaiIGQQRGDQEgASAGQQN0aikDACAOQj+DIg+IIREgBEECaiIJQQRGDQEgASAJQQN0aikDACAPiCEUIARBA2oiCUEERg0BIAEgCUEDdGopAwAgD4ghDAwBCyADQQA2AjggA0EBNgIsIANB8KXBADYCKCADQgQ3AjAgA0EoakG4pcEAELMCAAsgDSAOiCEPIAdBP3FFIA5CvwFWcg0AIAEgBkEDdGopAwBCACAOfSIOhiAPfCEPIAZBA0YNACABIARBAmoiBkEDdGopAwAgDkI/gyIOhiARfCERIAZBA0YNACAEQQN0IAFqQRhqKQMAIA6GIBR8IRQLIAUgDDcDGCAFIBQ3AxAgBSARNwMIIAUgDzcDACADQUBrJAAgCCACQYALaikDADcDACAKIAJB+ApqKQMANwMAIAsgAkHwCmopAwA3AwAgASACKQPoCjcDACAIKQMAIRQgCikDACEOIAspAwAhDyABKQMAIREgBUHtlsEAQR8QdyACKALoCg0DIA8gAikD+Ap8IhAgD1QhAyACKQOACyAOfCIVIA5UIQQgAikDiAshDEJ/IRYgESARIAIpA/AKfCISWAR+IAOtBSAQQgF8IhBQrSADrXwLIg1QBH4gBK0FIBUgDSAVfCIVVq0gBK18CyINUAR+IAwgFHwFIAwgFHwgDXwLIhNCAFkEQCAQIBKEIBMgFYSEQgBSrSEWCyATQgBTBEAgEEJ/hUIAIBB9Ig1CACASfSISQgBSIgMbIRAgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSATQn+FfCETC0J/IA8gEYQgDoQgFIRCAFKtIBRCAFMbIBZ+IBEhDSAPIRYgDiEYIBQiDEIAUwRAIA9Cf4VCACAPfSIYQgAgDX0iDUIAUiIDGyEWIA5Cf4UiDCAYUCADQX9zcSIDrXwiGiAMIAMbIRggAyAMIBpWca0gFEJ/hXwhDAsgAkG4CmogDUIAIBJCABCUAiACQagKaiANQgAgEEIAEJQCIAJBmApqIA1CACAVQgAQlAIgAkGICmogFkIAIBJCABCUAiACQfgJaiAWQgAgEEIAEJQCIAJB6AlqIBhCACASQgAQlAIgAikDmAoiGiACQbAKaikDACACKQOoCiIdIAJBwApqKQMAfCIgIB1UrXx8Ih0gGlStIAJB8AlqKQMAIAJBgApqKQMAIAJBoApqKQMAIBUgFn4gDSATfnwgECAYfnx8IAwgEn58fHx8IAJBkApqKQMAIAIpA4gKIgwgIHwiFSAMVK18IgwgHXwiDSAMVK18IAIpA/gJIgwgDXwiDSAMVK18IAIpA+gJIgwgDXwiEiAMVK18IRBCAloEQCAQQn+FIg0gAikDuAoiFkIAIBV9IhiEUCIDIBJCf4UiDCADrXwiFyAMVHEiBK18IA0gBBshECAYIBVCf4UgFlAbIRUgFyAMIAMbIRILAn4gEEIAWQRAIBBCIIYgEkIgiIQhEyAQQiCIIQ1CACEWIBJCIIYgFUIgiIQMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyETAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ0gAikDwAshFgwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEWDAELIAIpA8ALIRYgDVANASANQgF9IQ1CfyETCyAMQgF9DAELIBZQDRhCfyENIBZCAX0hFkJ/IRNCfwshDCANQn+FIBBCIIiEIQ0gEEIghiASQiCIhCATQn+FhCETIBZCf4UhFiASQiCGIBVCIIiEIAxCf4WECyEMIAJB6ApqQYyXwQBBIBB3IAIoAugKDQQgEyACKQP4CnwiECATVCEDIAIpA4ALIA18IhUgDVQhBCACKQOICyENIAwgDCACKQPwCnwiElgEfiADrQUgEEIBfCIQUK0gA618CyIMUAR+IAStBSAVIAwgFXwiFVatIAStfAsiDFAEfiANIBZ8BSANIBZ8IAx8CyENQn8gECAShCANIBWEhEIAUq0gDUIAUyIHGyEXIAcEQCAQQn+FQgAgEH0iFkIAIBJ9IhJCAFIiAxshECAVQn+FIgwgFlAgA0F/c3EiA618IhYgDCADGyEVIAMgDCAWVnGtIA1Cf4V8IQ0LIBEhEyAPIRYgDiEYIBQiDEIAUwRAIA9Cf4VCACAPfSIYQgAgEX0iE0IAUiIDGyEWIA5Cf4UiDCAYUCADQX9zcSIDrXwiGiAMIAMbIRggAyAMIBpWca0gFEJ/hXwhDAsgAkHYCWogE0IAIBJCABCUAiACQcgJaiATQgAgEEIAEJQCIAJBuAlqIBNCACAVQgAQlAIgAkGoCWogFkIAIBJCABCUAiACQZgJaiAWQgAgEEIAEJQCIAJBiAlqIBhCACASQgAQlAIgAikDuAkiGiACQdAJaikDACACKQPICSIdIAJB4AlqKQMAfCIgIB1UrXx8Ih0gGlStIAJBkAlqKQMAIAJBoAlqKQMAIAJBwAlqKQMAIBUgFn4gDSATfnwgECAYfnx8IAwgEn58fHx8IAJBsAlqKQMAIAIpA6gJIgwgIHwiFSAMVK18IgwgHXwiDSAMVK18IAIpA5gJIgwgDXwiDSAMVK18IAIpA4gJIgwgDXwiEiAMVK18IRBCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAXfkICWgRAIBBCf4UiDSACKQPYCSIWQgAgFX0iGIRQIgMgEkJ/hSIMIAOtfCIXIAxUcSIErXwgDSAEGyEQIBggFUJ/hSAWUBshFSAXIAwgAxshEgsCfiAQQgBZBEAgEEIghiASQiCIhCETIBBCIIghDUIAIRYgEkIghiAVQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIRMCfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDSACKQPACyEWDAELIAIpA7gLIQ0gE1BFBEAgE0IBfSETIAIpA8ALIRYMAQsgAikDwAshFiANUA0BIA1CAX0hDUJ/IRMLIAxCAX0MAQsgFlANGEJ/IQ0gFkIBfSEWQn8hE0J/CyEMIA1Cf4UgEEIgiIQhDSAQQiCGIBJCIIiEIBNCf4WEIRMgFkJ/hSEWIBJCIIYgFUIgiIQgDEJ/hYQLIQwgAkHoCmpBrJfBAEEgEHcgAigC6AoNBSATIAIpA/gKfCIQIBNUIQMgAikDgAsgDXwiFSANVCEEIAIpA4gLIQ0gDCAMIAIpA/AKfCISWAR+IAOtBSAQQgF8IhBQrSADrXwLIgxQBH4gBK0FIBUgDCAVfCIVVq0gBK18CyIMUAR+IA0gFnwFIA0gFnwgDHwLIRNCfyAQIBKEIBMgFYSEQgBSrSATQgBTIgcbIRcgBwRAIBBCf4VCACAQfSINQgAgEn0iEkIAUiIDGyEQIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gE0J/hXwhEwsgESENIA8hFiAOIRggFCIMQgBTBEAgD0J/hUIAIA99IhhCACANfSINQgBSIgMbIRYgDkJ/hSIMIBhQIANBf3NxIgOtfCIaIAwgAxshGCADIAwgGlZxrSAUQn+FfCEMCyACQfgIaiANQgAgEkIAEJQCIAJB6AhqIA1CACAQQgAQlAIgAkHYCGogDUIAIBVCABCUAiACQcgIaiAWQgAgEkIAEJQCIAJBuAhqIBZCACAQQgAQlAIgAkGoCGogGEIAIBJCABCUAiACKQPYCCIaIAJB8AhqKQMAIAIpA+gIIh0gAkGACWopAwB8IiAgHVStfHwiHSAaVK0gAkGwCGopAwAgAkHACGopAwAgAkHgCGopAwAgFSAWfiANIBN+fCAQIBh+fHwgDCASfnx8fHwgAkHQCGopAwAgAikDyAgiDCAgfCIVIAxUrXwiDCAdfCINIAxUrXwgAikDuAgiDCANfCINIAxUrXwgAikDqAgiDCANfCISIAxUrXwhEEJ/IA8gEYQgDoQgFIRCAFKtIBRCAFMbIBd+QgJaBEAgEEJ/hSINIAIpA/gIIhZCACAVfSIYhFAiAyASQn+FIgwgA618IhcgDFRxIgStfCANIAQbIRAgGCAVQn+FIBZQGyEVIBcgDCADGyESCwJ+IBBCAFkEQCAQQiCGIBJCIIiEIRMgEEIgiCEYQgAhHSASQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQdiPwQAgAkHoCmoQrAEgAikDsAshEwJ+AkACQCACKQOoCyIWUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSATUEUEQCATQgF9IRMgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEwsgFkIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyETQn8LIRYgDUJ/hSAQQiCIhCEYIBBCIIYgEkIgiIQgE0J/hYQhEyAMQn+FIR0gEkIghiAVQiCIhCAWQn+FhAshFyACQegKakHMl8EAQSAQdyACKALoCg0GIAIpA4ALIRYgAikD+AohDAJ+IAIpA/AKIhogF1gEQCAMIBNWrSENIBMgDH0MAQsgDCATVq0gDCATUa18IQ0gEyAMQn+FfAshFSACKQOICyEMIBggFn0hEgJAIA1QBEBCf0IAIBYgGFYbIRgMAQtCf0IAIBYgGFYbIA0gElatfSEYIBIgDX0hEgsgFyAafSEQQn8hFiAdIAx9IBh8Ig1CAFkEQCAQIBWEIA0gEoSEQgBSrSEWCyANQgBTBEAgFUJ/hUIAIBV9IhhCACAQfSIQQgBSIgMbIRUgEkJ/hSIMIBhQIANBf3NxIgOtfCIYIAwgAxshEiADIAwgGFZxrSANQn+FfCENC0J/IA8gEYQgDoQgFIRCAFKtIBRCAFMbIBZ+IBEhEyAPIRYgDiEYIBQiDEIAUwRAIA9Cf4VCACAPfSIYQgAgEX0iE0IAUiIDGyEWIA5Cf4UiDCAYUCADQX9zcSIDrXwiGiAMIAMbIRggAyAMIBpWca0gFEJ/hXwhDAsgAkGYCGogE0IAIBBCABCUAiACQYgIaiATQgAgFUIAEJQCIAJB+AdqIBNCACASQgAQlAIgAkHoB2ogFkIAIBBCABCUAiACQdgHaiAWQgAgFUIAEJQCIAJByAdqIBhCACAQQgAQlAIgAikD+AciGiACQZAIaikDACACKQOICCIdIAJBoAhqKQMAfCIgIB1UrXx8Ih0gGlStIAJB0AdqKQMAIAJB4AdqKQMAIAJBgAhqKQMAIBIgFn4gDSATfnwgFSAYfnx8IAwgEH58fHx8IAJB8AdqKQMAIAIpA+gHIgwgIHwiFSAMVK18IgwgHXwiDSAMVK18IAIpA9gHIgwgDXwiDSAMVK18IAIpA8gHIgwgDXwiEiAMVK18IRBCAloEQCAQQn+FIg0gAikDmAgiFkIAIBV9IhiEUCIDIBJCf4UiDCADrXwiFyAMVHEiBK18IA0gBBshECAYIBVCf4UgFlAbIRUgFyAMIAMbIRILAn4gEEIAWQRAIBBCIIYgEkIgiIQhEyAQQiCIIRhCACEdIBJCIIYgFUIgiIQMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyETAn4CQAJAIAIpA6gLIhZQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyETCyAWQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRNCfwshFiANQn+FIBBCIIiEIRggEEIghiASQiCIhCATQn+FhCETIAxCf4UhHSASQiCGIBVCIIiEIBZCf4WECyEXIAJB6ApqQeyXwQBBIBB3IAIoAugKDQcgAikDgAshFiACKQP4CiEMAn4gAikD8AoiGiAXWARAIAwgE1atIQ0gEyAMfQwBCyAMIBNWrSAMIBNRrXwhDSATIAxCf4V8CyEVIAIpA4gLIQwgGCAWfSESAkAgDVAEQEJ/QgAgFiAYVhshGAwBC0J/QgAgFiAYVhsgDSASVq19IRggEiANfSESCyAXIBp9IRBCfyEWIB0gDH0gGHwiE0IAWQRAIBAgFYQgEiAThIRCAFKtIRYLIBNCAFMEQCAVQn+FQgAgFX0iDUIAIBB9IhBCAFIiAxshFSASQn+FIgwgDVAgA0F/c3EiA618Ig0gDCADGyESIAMgDCANVnGtIBNCf4V8IRMLQn8gDyARhCAOhCAUhEIAUq0gFEIAUyIHGyAHBEAgD0J/hUIAIA99IhhCACARfSIRQgBSIgMbIQ8gDkJ/hSIMIBhQIANBf3NxIgOtfCIYIAwgAxshDiADIAwgGFZxrSAUQn+FfCEUCyACQbgHaiARQgAgEEIAEJQCIAJBqAdqIBFCACAVQgAQlAIgAkGYB2ogEUIAIBJCABCUAiACQYgHaiAPQgAgEEIAEJQCIAJB+AZqIA9CACAVQgAQlAIgAkHoBmogDkIAIBBCABCUAiACKQOYByIMIAJBsAdqKQMAIAIpA6gHIhggAkHAB2opAwB8IhcgGFStfHwiGCAMVK0gAkHwBmopAwAgAkGAB2opAwAgAkGgB2opAwAgDyASfiARIBN+fCAOIBV+fHwgECAUfnx8fHwgAkGQB2opAwAgAikDiAciDiAXfCIRIA5UrXwiDiAYfCIPIA5UrXwgAikD+AYiDiAPfCIPIA5UrXwgDyACKQPoBiIOfCIPIA5UrXwhFCAWfkICWgRAIBRCf4UiFCACKQO4ByIMQgAgEX0iDYRQIgMgD0J/hSIOIAOtfCIPIA5UcSIErXwgFCAEGyEUIA0gEUJ/hSAMUBshESAPIA4gAxshDwsCfiAUQgBZBEAgD0IghiARQiCIhCERIBRCIIghEEIAIQ0gFEIghiAPQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshECACKQPACyESDAELIAIpA7gLIRAgDlBFBEAgDkIBfSEOIAIpA8ALIRIMAQsgAikDwAshEiAQUA0BIBBCAX0hEEJ/IQ4LIAxCAX0MAQsgElANGEJ/IRAgEkIBfSESQn8hDkJ/CyEMIBBCf4UgFEIgiIQhECAPQiCGIBFCIIiEIAxCf4WEIREgEkJ/hSENIBRCIIYgD0IgiIQgDkJ/hYQLIQ4gAkHoCmpBjJjBAEEgEHcgAigC6AoNCCACKQP4CiEPIAIpA4gLIQwgECACKQOACyIUfSESAkACfiACKQPwCiIWIBFYBEAgDiAPfSEVIA4gD1StDAELIA4gD0J/hXwhFSAOIA9UrSAOIA9RrXwLIg5QBEBCf0IAIBAgFFQbIRgMAQtCf0IAIBAgFFQbIA4gElatfSEYIBIgDn0hEgsgESAWfSEQIAEpAxghFEJ/IRYgDSAMfSAYfCINQgBZBEAgECAVhCANIBKEhEIAUq0hFgsgASkDECEOIAEpAwghDyABKQMAIREgDUIAUwRAIBVCf4VCACAVfSIYQgAgEH0iEEIAUiIDGyEVIBJCf4UiDCAYUCADQX9zcSIDrXwiGCAMIAMbIRIgAyAMIBhWca0gDUJ/hXwhDQtCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAWfiARIRMgDyEWIA4hGCAUIgxCAFMEQCAPQn+FQgAgD30iGEIAIBF9IhNCAFIiAxshFiAOQn+FIgwgGFAgA0F/c3EiA618IhogDCADGyEYIAMgDCAaVnGtIBRCf4V8IQwLIAJB2AZqIBNCACAQQgAQlAIgAkHIBmogE0IAIBVCABCUAiACQbgGaiATQgAgEkIAEJQCIAJBqAZqIBZCACAQQgAQlAIgAkGYBmogFkIAIBVCABCUAiACQYgGaiAYQgAgEEIAEJQCIAIpA7gGIhogAkHQBmopAwAgAikDyAYiHSACQeAGaikDAHwiICAdVK18fCIdIBpUrSACQZAGaikDACACQaAGaikDACACQcAGaikDACASIBZ+IA0gE358IBUgGH58fCAMIBB+fHx8fCACQbAGaikDACACKQOoBiIMICB8IhggDFStfCIMIB18Ig0gDFStfCACKQOYBiIMIA18Ig0gDFStfCACKQOIBiIMIA18IhAgDFStfCEgIAIpA9gGIR1CAloEQCAgQn+FIg1CACAYfSIWUEIAIB19Ih1CAFIiBEF/c3EiAyAQQn+FIgwgA618IhcgDFRxIgWtfCANIAUbISAgFyAMIAMbIRAgGEJ/hSAWIAQbIRgLIAJB6ApqQayYwQBBHhB3IAIoAugKDQkgAikDgAsgECACKQP4CiImQiCGIAIpA/AKIg1CIIiEIgx9IRYCQCANQiCGIicgGFgEQEJ/QgAgDCAQVhshJAwBC0J/QgAgDCAQVhsgFlCtfSEkIBZCAX0hFgsgAkHoCmpBypjBAEEfEHcgAigC6AoNCiAPIAIpA/gKfCIQIA9UIQMgAikDgAsgDnwiFSAOVCEEIAIpA4gLIQwgESARIAIpA/AKfCISWAR+IAOtBSAQQgF8IhBQrSADrXwLIg1QBH4gBK0FIBUgDSAVfCIVVq0gBK18CyINUAR+IAwgFHwFIAwgFHwgDXwLIRNCfyAQIBKEIBMgFYSEQgBSrSATQgBTIgcbISEgBwRAIBBCf4VCACAQfSINQgAgEn0iEkIAUiIDGyEQIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gE0J/hXwhEwsgESENIA8hDCAOIRcgFCEaIBRCAFMEQCAMQn+FQgAgDH0iF0IAIA19Ig1CAFIiAxshDCAOQn+FIhogF1AgA0F/c3EiA618Ih4gGiADGyEXIAMgGiAeVnGtIBRCf4V8IRoLIAJB+AVqIA1CACASQgAQlAIgAkHoBWogDUIAIBBCABCUAiACQdgFaiANQgAgFUIAEJQCIAJByAVqIAxCACASQgAQlAIgAkG4BWogDEIAIBBCABCUAiACQagFaiAXQgAgEkIAEJQCIAIpA9gFIh4gAkHwBWopAwAgAikD6AUiHyACQYAGaikDAHwiIyAfVK18fCIfIB5UrSACQbAFaikDACACQcAFaikDACACQeAFaikDACAMIBV+IA0gE358IBAgF358fCASIBp+fHx8fCACQdAFaikDACACKQPIBSIMICN8IhUgDFStfCIMIB98Ig0gDFStfCACKQO4BSIMIA18Ig0gDFStfCACKQOoBSIMIA18IhIgDFStfCEQQn8gDyARhCAOhCAUhEIAUq0gFEIAUxsgIX5CAloEQCAQQn+FIg0gAikD+AUiF0IAIBV9IhqEUCIDIBJCf4UiDCADrXwiEyAMVHEiBK18IA0gBBshECAaIBVCf4UgF1AbIRUgEyAMIAMbIRILAn4gEEIAWQRAIBBCIIYgEkIgiIQhEyASQiCGIBVCIIiEIRUgEEIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyETAn4CQAJAIAIpA6gLIhdQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyETCyAXQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRNCfwshFyANQn+FIBBCIIiEIQ0gEEIghiASQiCIhCATQn+FhCETIBJCIIYgFUIgiIQgF0J/hYQhFSAMQn+FCyEMIAJB6ApqQemYwQBBIBB3IAIoAugKDQsgEyACKQP4CnwiECATVCEDIAIpA4ALIRogFSAVIAIpA/AKfCISWAR+IAOtBSAQQgF8IhBQrSADrXwLIRcgDSAafCIVIA1UIQMgAikDiAshDUJ/IBAgEoQgF1AEfiADrQUgFSAVIBd8IhVWrSADrXwLIhdQBH4gDCANfAUgDCANfCAXfAsiEyAVhIRCAFKtIBNCAFMiBxshISAHBEAgEEJ/hUIAIBB9Ig1CACASfSISQgBSIgMbIRAgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSATQn+FfCETCyARIQ0gDyEMIA4hFyAUIRogFEIAUwRAIAxCf4VCACAMfSIXQgAgDX0iDUIAUiIDGyEMIA5Cf4UiGiAXUCADQX9zcSIDrXwiHiAaIAMbIRcgAyAaIB5Wca0gFEJ/hXwhGgsgAkGYBWogDUIAIBJCABCUAiACQYgFaiANQgAgEEIAEJQCIAJB+ARqIA1CACAVQgAQlAIgAkHoBGogDEIAIBJCABCUAiACQdgEaiAMQgAgEEIAEJQCIAJByARqIBdCACASQgAQlAIgAikD+AQiHiACQZAFaikDACACKQOIBSIfIAJBoAVqKQMAfCIjIB9UrXx8Ih8gHlStIAJB0ARqKQMAIAJB4ARqKQMAIAJBgAVqKQMAIAwgFX4gDSATfnwgECAXfnx8IBIgGn58fHx8IAJB8ARqKQMAIAIpA+gEIgwgI3wiFSAMVK18IgwgH3wiDSAMVK18IAIpA9gEIgwgDXwiDSAMVK18IAIpA8gEIgwgDXwiEiAMVK18IRBCfyAPIBGEIA6EIBSEQgBSrSAUQgBTGyAhfkICWgRAIBBCf4UiDSACKQOYBSIXQgAgFX0iGoRQIgMgEkJ/hSIMIAOtfCITIAxUcSIErXwgDSAEGyEQIBogFUJ/hSAXUBshFSATIAwgAxshEgsCfiAQQgBZBEAgEEIghiASQiCIhCETIBJCIIYgFUIgiIQhFSAQQiCIIQ1CAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIRMCfgJAAkAgAikDqAsiF1BFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gE1BFBEAgE0IBfSETIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRMLIBdCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hE0J/CyEXIA1Cf4UgEEIgiIQhDSAQQiCGIBJCIIiEIBNCf4WEIRMgEkIghiAVQiCIhCAXQn+FhCEVIAxCf4ULIQwgAkHoCmpBiZnBAEEhEHcgAigC6AoNDCATIAIpA/gKfCIQIBNUIQMgAikDgAshGiAVIBUgAikD8Ap8IhJYBH4gA60FIBBCAXwiEFCtIAOtfAshFyANIBp8IhUgDVQhAyACKQOICyENQn8gECAShCAXUAR+IAOtBSAVIBUgF3wiFVatIAOtfAsiF1AEfiAMIA18BSAMIA18IBd8CyITIBWEhEIAUq0gE0IAUyIHGyEhIAcEQCAQQn+FQgAgEH0iDUIAIBJ9IhJCAFIiAxshECAVQn+FIgwgDVAgA0F/c3EiA618Ig0gDCADGyEVIAMgDCANVnGtIBNCf4V8IRMLIBEhDSAPIQwgDiEXIBQhGiAUQgBTBEAgDEJ/hUIAIAx9IhdCACANfSINQgBSIgMbIQwgDkJ/hSIaIBdQIANBf3NxIgOtfCIeIBogAxshFyADIBogHlZxrSAUQn+FfCEaCyACQbgEaiANQgAgEkIAEJQCIAJBqARqIA1CACAQQgAQlAIgAkGYBGogDUIAIBVCABCUAiACQYgEaiAMQgAgEkIAEJQCIAJB+ANqIAxCACAQQgAQlAIgAkHoA2ogF0IAIBJCABCUAiACKQOYBCIeIAJBsARqKQMAIAIpA6gEIh8gAkHABGopAwB8IiMgH1StfHwiHyAeVK0gAkHwA2opAwAgAkGABGopAwAgAkGgBGopAwAgDCAVfiANIBN+fCAQIBd+fHwgEiAafnx8fHwgAkGQBGopAwAgAikDiAQiDCAjfCIVIAxUrXwiDCAffCINIAxUrXwgAikD+AMiDCANfCINIAxUrXwgAikD6AMiDCANfCISIAxUrXwhEEJ/IA8gEYQgDoQgFIRCAFKtIBRCAFMbICF+QgJaBEAgEEJ/hSINIAIpA7gEIhdCACAVfSIahFAiAyASQn+FIgwgA618IhMgDFRxIgStfCANIAQbIRAgGiAVQn+FIBdQGyEVIBMgDCADGyESCwJ+IBBCAFkEQCAQQiCGIBJCIIiEIRMgEkIghiAVQiCIhCEVIBBCIIghDUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQdiPwQAgAkHoCmoQrAEgAikDsAshEwJ+AkACQCACKQOoCyIXUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSATUEUEQCATQgF9IRMgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEwsgF0IBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyETQn8LIRcgDUJ/hSAQQiCIhCENIBBCIIYgEkIgiIQgE0J/hYQhEyASQiCGIBVCIIiEIBdCf4WEIRUgDEJ/hQshDCACQegKakGqmcEAQSEQdyACKALoCg0NIBMgAikD+Ap8IhAgE1QhAyACKQOACyEaIBUgFSACKQPwCnwiElgEfiADrQUgEEIBfCIQUK0gA618CyEXIA0gGnwiFSANVCEDIAIpA4gLIQ1CfyAQIBKEIBdQBH4gA60FIBUgFSAXfCIVVq0gA618CyIXUAR+IAwgDXwFIAwgDXwgF3wLIhMgFYSEQgBSrSATQgBTIgcbISEgBwRAIBBCf4VCACAQfSINQgAgEn0iEkIAUiIDGyEQIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gE0J/hXwhEwsgESENIA8hDCAOIRcgFCEaIBRCAFMEQCAMQn+FQgAgDH0iF0IAIA19Ig1CAFIiAxshDCAOQn+FIhogF1AgA0F/c3EiA618Ih4gGiADGyEXIAMgGiAeVnGtIBRCf4V8IRoLIAJB2ANqIA1CACASQgAQlAIgAkHIA2ogDUIAIBBCABCUAiACQbgDaiANQgAgFUIAEJQCIAJBqANqIAxCACASQgAQlAIgAkGYA2ogDEIAIBBCABCUAiACQYgDaiAXQgAgEkIAEJQCIAIpA7gDIh4gAkHQA2opAwAgAikDyAMiHyACQeADaikDAHwiIyAfVK18fCIfIB5UrSACQZADaikDACACQaADaikDACACQcADaikDACAMIBV+IA0gE358IBAgF358fCASIBp+fHx8fCACQbADaikDACACKQOoAyIMICN8IhUgDFStfCIMIB98Ig0gDFStfCACKQOYAyIMIA18Ig0gDFStfCACKQOIAyIMIA18IhIgDFStfCEQQn8gDyARhCAOhCAUhEIAUq0gFEIAUxsgIX5CAloEQCAQQn+FIg0gAikD2AMiF0IAIBV9IhqEUCIDIBJCf4UiDCADrXwiEyAMVHEiBK18IA0gBBshECAaIBVCf4UgF1AbIRUgEyAMIAMbIRILAn4gEEIAWQRAIBBCIIYgEkIgiIQhEyASQiCGIBVCIIiEIRUgEEIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyETAn4CQAJAIAIpA6gLIhdQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBNQRQRAIBNCAX0hEyACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyETCyAXQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRNCfwshFyANQn+FIBBCIIiEIQ0gEEIghiASQiCIhCATQn+FhCETIBJCIIYgFUIgiIQgF0J/hYQhFSAMQn+FCyEMIAJB6ApqQcuZwQBBIRB3IAIoAugKDQ4gEyACKQP4CnwiECATVCEDIAIpA4ALIRogFSAVIAIpA/AKfCISWAR+IAOtBSAQQgF8IhBQrSADrXwLIRcgDSAafCIVIA1UIQMgAikDiAshDUJ/IBAgEoQgF1AEfiADrQUgFSAVIBd8IhVWrSADrXwLIhdQBH4gDCANfAUgDCANfCAXfAsiEyAVhIRCAFKtIBNCAFMiBxshDSAHBEAgEEJ/hUIAIBB9IhdCACASfSISQgBSIgMbIRAgFUJ/hSIMIBdQIANBf3NxIgOtfCIXIAwgAxshFSADIAwgF1ZxrSATQn+FfCETC0J/IA8gEYQgDoQgFIRCAFKtIBRCAFMbIA1+An4gFEIAWQRAIA4hDSAUDAELIA9Cf4VCACAPfSINQgAgEX0iEUIAUiIDGyEPIA5Cf4UiDCANUCADQX9zcSIDrXwiGiAMIAMbIQ0gAyAMIBpWca0gFEJ/hXwLIQwgAkH4AmogEUIAIBJCABCUAiACQegCaiARQgAgEEIAEJQCIAJB2AJqIBFCACAVQgAQlAIgAkHIAmogD0IAIBJCABCUAiACQbgCaiAPQgAgEEIAEJQCIAJBqAJqIA1CACASQgAQlAIgAikD2AIiGiACQfACaikDACACKQPoAiIhIAJBgANqKQMAfCIeICFUrXx8IiEgGlStIAJBsAJqKQMAIAJBwAJqKQMAIAJB4AJqKQMAIA8gFX4gESATfnwgDSAQfnx8IAwgEn58fHx8IAJB0AJqKQMAIAIpA8gCIg8gHnwiECAPVK18Ig8gIXwiESAPVK18IAIpA7gCIg8gEXwiESAPVK18IAIpA6gCIg8gEXwiESAPVK18IQ9CAloEQCAPQn+FIg8gAikD+AIiDEIAIBB9Ig2EUCIDIBFCf4UiESADrXwiFyARVHEiBK18IA8gBBshDyANIBBCf4UgDFAbIRAgFyARIAMbIRELAn4gD0IAWQRAIA9CIIYgEUIgiIQhEiARQiCGIBBCIIiEIRBCACETIA9CIIgMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyESAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRUgAikDwAshEwwBCyACKQO4CyEVIBJQRQRAIBJCAX0hEiACKQPACyETDAELIAIpA8ALIRMgFVANASAVQgF9IRVCfyESCyAMQgF9DAELIBNQDRhCfyEVIBNCAX0hE0J/IRJCfwshDCAPQiCGIBFCIIiEIBJCf4WEIRIgEUIghiAQQiCIhCAMQn+FhCEQIBNCf4UhEyAVQn+FIA9CIIiECyERIAJB6ApqQeyZwQBBIBB3IAIoAugKDQ8gEiACKQP4CnwiDyASVCEDIAIpA4ALIBF8IhIgEVQhBCACKQOICyEMIBAgECACKQPwCnwiEVgEfiADrQUgD0IBfCIPUK0gA618CyINUAR+IAStBSASIA0gEnwiElatIAStfAsiDVAEfiAMIBN8BSAMIBN8IA18CyETQn8gDyARhCASIBOEhEIAUq0gE0IAUyIHGyABKQMIIRUgASkDACEQIAcEQCAPQn+FQgAgD30iF0IAIBF9IhFCAFIiARshDyASQn+FIgwgF1AgAUF/c3EiAa18IhcgDCABGyESIAEgDCAXVnGtIBNCf4V8IRMLQn8gECAVhCAOhCAUhEIAUq0gFEIAUyIBGyABBEAgFUJ/hUIAIBV9IhpCACAQfSIQQgBSIgEbIRUgDkJ/hSIMIBpQIAFBf3NxIgGtfCIaIAwgARshDiABIAwgGlZxrSAUQn+FfCEUCyACQZgCaiAQQgAgEUIAEJQCIAJBiAJqIBBCACAPQgAQlAIgAkH4AWogEEIAIBJCABCUAiACQegBaiAVQgAgEUIAEJQCIAJB2AFqIBVCACAPQgAQlAIgAkHIAWogDkIAIBFCABCUAiACKQP4ASIMIAJBkAJqKQMAIAIpA4gCIhogAkGgAmopAwB8IiEgGlStfHwiGiAMVK0gAkHQAWopAwAgAkHgAWopAwAgAkGAAmopAwAgEiAVfiAQIBN+fCAOIA9+fHwgESAUfnx8fHwgAkHwAWopAwAgAikD6AEiDiAhfCIRIA5UrXwiDiAafCIPIA5UrXwgAikD2AEiDiAPfCIPIA5UrXwgDyACKQPIASIOfCIPIA5UrXwhFH5CAloEQCAUQn+FIhQgAikDmAIiDEIAIBF9Ig2EUCIBIA9Cf4UiDiABrXwiDyAOVHEiA618IBQgAxshFCANIBFCf4UgDFAbIREgDyAOIAEbIQ8LAn4gFEIAWQRAIBRCIIYgD0IgiIQhECAPQiCGIBFCIIiEIQ8gFEIgiCEVQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pB2I/BACACQegKahCsASACKQOwCyEOAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRAgAikDwAshEgwBCyACKQO4CyEQIA5QRQRAIA5CAX0hDiACKQPACyESDAELIAIpA8ALIRIgEFANASAQQgF9IRBCfyEOCyAMQgF9DAELIBJQDRhCfyEQIBJCAX0hEkJ/IQ5CfwshDCAQQn+FIBRCIIiEIRUgFEIghiAPQiCIhCAOQn+FhCEQIA9CIIYgEUIgiIQgDEJ/hYQhDyASQn+FCyEUIAJB6ApqQYyawQBBHhB3IAIoAugKDRFCIIYgJkIgiIQhESAQIAIpA/gKfCIOIBBUIQEgAikDgAsgDyAPIAIpA/AKfCISWAR+IAGtBSAOQgF8Ig5QrSABrXwLIQwgFXwiDyAVVCEDQf8BIQFB/wEgICARfSAkfCIRIB0gGCAnfSIQhCAWhIRCAFIgEUIAUxsCQCACKQOICyINIBR8IAxQBH4gA60FIA8gDCAPfCIPVq0gA618CyIMIA0gFHx8IAxQGyIUQgBTDQBBASEBIA4gEoQgD4RCAFINACAUUA0RC8AgAcBtIAIgEUIAUwR+IBBCf4VCACAQfSINQgAgHX0iHUIAUiIBGyEQIBZCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRYgASAMIA1Wca0gEUJ/hXwFIBELNwPgCiACIBY3A9gKIAIgEDcD0AogAiAdNwPICiACIBRCAFMEfiAOQn+FQgAgDn0iDEIAIBJ9IhJCAFIiARshDiAPQn+FIhEgDFAgAUF/c3EiAa18IgwgESABGyEPIAEgDCARVHGtIBRCf4V8BSAUCzcDwAsgAiAPNwO4CyACIA43A7ALIAIgEjcDqAsgAkHoCmogAkHICmogAkGoC2oQcyACKQOACyERIAIpA/gKIRIgAikD8AohDyACKQPoCiEUQf8BcUECTwRAIBFCf4UiEUIAIA99IgxQQgAgFH0iFEIAUiIDQX9zcSIBIBJCf4UiDiABrXwiDSAOVHEiBK18IBEgBBshESANIA4gARshEiAPQn+FIAwgAxshDwsgAkHoCmpBvJrBAEErEHcgAigC6AoNEiACKQOICyEVQn8gDyAUhCAShCARhEIAUq0gEUIAUyIBGyACKQOACyETIAIpA/gKIRAgAikD8AohDiABBEAgD0J/hUIAIA99IhZCACAUfSIUQgBSIgEbIQ8gEkJ/hSIMIBZQIAFBf3NxIgGtfCIWIAwgARshEiABIAwgFlZxrSARQn+FfCERC0J/IA4gEIQgE4QgFYRCAFKtIBVCAFMiARsgAQRAIBBCf4VCACAQfSIYQgAgDn0iDkIAUiIBGyEQIBNCf4UiDCAYUCABQX9zcSIBrXwiGCAMIAEbIRMgASAMIBhWca0gFUJ/hXwhFQsgAkG4AWogDkIAIBRCABCUAiACQagBaiAOQgAgD0IAEJQCIAJBmAFqIA5CACASQgAQlAIgAkGIAWogEEIAIBRCABCUAiACQfgAaiAQQgAgD0IAEJQCIAJB6ABqIBNCACAUQgAQlAIgAikDmAEiDCACQbABaikDACACKQOoASIYIAJBwAFqKQMAfCIXIBhUrXx8IhggDFStIAJB8ABqKQMAIAJBgAFqKQMAIAJBoAFqKQMAIBAgEn4gDiARfnwgDyATfnx8IBQgFX58fHx8IAJBkAFqKQMAIAIpA4gBIg4gF3wiESAOVK18Ig4gGHwiDyAOVK18IAIpA3giDiAPfCIPIA5UrXwgAikDaCIOIA98IhIgDlStfCETIAIpA7gBIRV+QgJaBEAgE0J/hSIPQgAgEX0iFFBCACAVfSIVQgBSIgNBf3NxIgEgEkJ/hSIOIAGtfCIMIA5UcSIErXwgDyAEGyETIAwgDiABGyESIBFCf4UgFCADGyERCyACQegKakHnmsEAQccAEHcgAigC6AoNEyACKQOACyEOIAIpA/gKIQ8gAikD8AohFEJ/IRYgAikDiAsiEEIAWQRAIA8gFIQgDiAQhIRCAFKtIRYLIBBCAFMEQCAPQn+FQgAgD30iDUIAIBR9IhRCAFIiARshDyAOQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEOIAEgDCANVnGtIBBCf4V8IRALQn8gGyAchCAZhCAihEIAUq0gIkIAUyIBGyABBEAgG0J/hUIAIBt9IhhCACAcfSIcQgBSIgEbIRsgGUJ/hSIMIBhQIAFBf3NxIgGtfCIYIAwgARshGSABIAwgGFZxrSAiQn+FfCEiCyACQdgAaiAcQgAgFEIAEJQCIAJByABqIBxCACAPQgAQlAIgAkE4aiAcQgAgDkIAEJQCIAJBKGogG0IAIBRCABCUAiACQRhqIBtCACAPQgAQlAIgAkEIaiAZQgAgFEIAEJQCIAIpAzgiDCACQdAAaikDACACKQNIIhggAkHgAGopAwB8IhcgGFStfHwiGCAMVK0gAkEQaikDACACQSBqKQMAIAJBQGspAwAgDiAbfiAQIBx+fCAPIBl+fHwgFCAifnx8fHwgAkEwaikDACACKQMoIg4gF3wiDyAOVK18Ig4gGHwiFCAOVK18IAIpAxgiDiAUfCIUIA5UrXwgFCACKQMIIhR8Ig4gFFStfCEZIAIpA1ghGyAWfkICWgR+IBlCf4UiFEIAIA99IgxQQgAgG30iG0IAUiIDQX9zcSIBIA5Cf4UiDiABrXwiDSAOVHEiBK18IBQgBBshGSANIA4gARshDiAPQn+FIAwgAxsFIA8LIBF8Ig8gEVQhASAOIBJ8IhQgElQhAyAVIBUgG3wiDlgEfiABrQUgD0IBfCIPUK0gAa18CyIRUAR+IAOtBSAUIBEgFHwiFFatIAOtfAsiEVAEfiATIBl8BSATIBl8IBF8CyEMIAJB6ApqQa6bwQBByAAQdyACKALoCkUEQCAPIA8gAikD+Ap8IhFWIgGtIBFCf1GtIAGtfCAOIA4gAikD8Ap8WBshDiACKQOACyAUfCIPIBRUIQFCACERAn4gAikDiAsiFCAMfCAOUAR+IAGtBSAPIA4gD3wiD1atIAGtfAsiDiAMIBR8fCAOUBsiFEIAWQRAIBRCEoYgD0IuiIQhD0IAIQ4gFEIuiAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQtEANwPoCiACQagLakHYj8EAIAJB6ApqEKwBIAIpA7ALIRECfgJAAkACQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ4MAQsgAikDuAshDiARUA0BIBFCAX0hEQsgEUJ/hSEZIAIpA8ALIREMAQsgAikDwAshESAOUA0BIA5CAX0hDkIAIRkLIA5Cf4UhDkIAIAx9DAELQgAhDiARUA0XIBFCAX0hEUIAIRlCAAsgFEIShiAPQi6IhIQhDyARQn+FIREgGSAUQi6IhAshFCAAIBE3AyAgACAONwMYIAAgFDcDECAAIA83AwhBACEBDBYLIAIgAigC7Ao2AqgLQYCVwQBBKyACQagLakHwlMEAQfibwQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEG4nsEAEJUCAAsgAiACKALsCjYCqAtBgJXBAEErIAJBqAtqQfCUwQBBqJ7BABCVAgALQYCVwQBBKyACQc8LakGInsEAQZiewQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEH4ncEAEJUCAAsgAiACKALsCjYCqAtBgJXBAEErIAJBqAtqQfCUwQBB6J3BABCVAgALIAIgAigC7Ao2AqgLQYCVwQBBKyACQagLakHwlMEAQdidwQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEHIncEAEJUCAAsgAiACKALsCjYCqAtBgJXBAEErIAJBqAtqQfCUwQBBuJ3BABCVAgALIAIgAigC7Ao2AqgLQYCVwQBBKyACQagLakHwlMEAQaidwQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEGYncEAEJUCAAsgAiACKALsCjYCqAtBgJXBAEErIAJBqAtqQfCUwQBBiJ3BABCVAgALIAIgAigC7Ao2AqgLQYCVwQBBKyACQagLakHwlMEAQficwQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEHonMEAEJUCAAsgAiACKALsCjYCqAtBgJXBAEErIAJBqAtqQfCUwQBB2JzBABCVAgALIAIgAigC7Ao2AqgLQYCVwQBBKyACQagLakHwlMEAQcicwQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEG4nMEAEJUCAAtBrJrBABDOAgALIAIgAigC7Ao2AqgLQYCVwQBBKyACQagLakHwlMEAQaicwQAQlQIACyACIAIoAuwKNgKoC0GAlcEAQSsgAkGoC2pB8JTBAEGYnMEAEJUCAAsgAiACKALsCjYCqAtBgJXBAEErIAJBqAtqQfCUwQBBiJzBABCVAgALDAELIAAgATYCACACQdALaiQADwsgAkEANgL4CiACQQE2AuwKIAJBmJDBADYC6AogAkIENwLwCiACQegKakGkj8EAELMCAAvyZgIFfxZ+IwBBsAhrIgIkACABKQMAIQkCQCAAAn8CQAJAIAEpAxgiFEIAWQRAIAEpAxAhEyABKQMIIQ0MAQsgASkDCCENIAEpAxAhEyACQgAgCX0iDzcDkAggAiANQn+FQgAgDX0iByAPQgBSIgMbNwOYCCACIBNCf4UiDyAHUCADQX9zcSIDrXwiByAPIAMbNwOgCCACIAMgByAPVHGtIBRCf4V8NwOoCCACQcgHakIANwMAIAJCADcDwAcgAkICNwO4ByACQr/WyeXw1I3nyAA3A7AHIAJBsAdqIAJBkAhqEJoCQf8BcUEBRg0AIABCADcDCCAAQSBqQgA3AwAgAEEYakIANwMAIABBEGpCADcDAAwBCyACQbAHakGEk8EAQRUQdyACKAKwBwRAIAIgAigCtAc2ApAIQYCVwQBBKyACQZAIakHwlMEAQYyWwQAQlQIACyACKQPQByESIAIpA8gHIQggAikDwAchDiACKQO4ByEQAkACQAJ/IBRCAFMEQCASQgBZDQMgAkIAIAl9Ig83A5AIIAIgDUJ/hUIAIA19IgcgD0IAUiIDGzcDmAggAiATQn+FIg8gB1AgA0F/c3EiA618IgcgDyADGzcDoAggAiADIAcgD1RxrSAUQn+FfDcDqAggAkIAIBB9Ig83A7AHIAIgDkJ/hUIAIA59IgcgD0IAUiIDGzcDuAcgAiAIQn+FIg8gB1AgA0F/c3EiA618IgcgDyADGzcDwAcgAiADIAcgD1RxrSASQn+FfDcDyAcgAkGwB2ogAkGQCGoQmgIMAQsgEkIAUw0BIAIgFDcDqAggAiATNwOgCCACIA03A5gIIAIgCTcDkAggAiASNwPIByACIAg3A8AHIAIgDjcDuAcgAiAQNwOwByACQZAIaiACQbAHahCaAgtB/wFxQQJPDQELIAJBATYCtAcgAkGsk8EANgKwByACQgE3ArwHIAIgAa1CgICAgOANhDcDkAggAiACQZAIajYCuAcgACACQbAHakG0k8EAEM0BNgIEQQEMAgsgAkGwB2pBxJPBAEEBEHcCQAJAAkACQAJAAkACQAJAAkAgAigCsAdFBEAgE0IOhiANQjKIhCEQIA1CDoYgAikDyAchEyACKQPAByENIAIpA7gHIQwgCUIyiIQhCiAJQg6GIQ8gAiACKQPQByIIQgBTBH4gDUJ/hUIAIA19IgdCACAMfSIMQgBSIgMbIQ0gE0J/hSIOIAdQIANBf3NxIgOtfCIHIA4gAxshEyADIAcgDlRxrSAIQn+FfAUgCAs3A4gIIAIgEzcDgAggAiANNwP4ByACIAw3A/AHIAJBqAhqQgA3AwAgAkGgCGpCADcDACACQgA3A5gIIAJCEjcDkAggAkGwB2ogAkHwB2ogAkGQCGoQayACKQPIByENQf8BIQRB/wEhAyAKIA+EIBCEQgBSIAMgEEIAWRshAyACKQOwByEMIAIpA7gHIRMgAikDwAchCAJAAkAgDUIAUw0AQQEhBCAMIBOEIAiEQgBSDQAgDVANAQsgA8AgBMBtIAIgEEIAUwR+IApCf4UiDiAOQgAgD30iD1AiA618IgcgD0IAUhshCiADIAcgDlRxrSAQQn+FfAUgEAs3A4gIIAIgCjcDgAggAiAPNwP4ByACQgA3A/AHIAIgDUIAUwR+IBNCf4VCACATfSIHQgAgDH0iDEIAUiIDGyETIAhCf4UiDyAHUCADQX9zcSIDrXwiByAPIAMbIQggAyAHIA9Uca0gDUJ/hXwFIA0LNwOoCCACIAg3A6AIIAIgEzcDmAggAiAMNwOQCCACQbAHaiACQfAHaiACQZAIahBzIAIpA8gHIQwgAikDwAchCiACKQO4ByEQIAIpA7AHIRNB/wFxQQJPBEAgDEJ/hSIPQgAgEH0iB1BCACATfSITQgBSIgVBf3NxIgQgCkJ/hSIIIAStfCINIAhUcSIDrXwgDyADGyEMIA0gCCAEGyEKIBBCf4UgByAFGyEQCyABIAw3AxggASAKNwMQIAEgEDcDCCABIBM3AwAgAkGwB2pB2JPBAEEdEHcgAigCsAcNAyAQQiCGIBNCIIiEIQsgE0IghiEIIAIpA9AHIQ1B/wEhBEH/ASEDIApCIIYgEEIgiIQiD0IAWQRAIAggC4QgD4RCAFIhAwsgAikDyAchFCACKQPAByERIAIpA7gHIQkCQCANQgBTDQBBASEEIAkgEYQgFIRCAFINACANUA0DCyADwCAEwG0gAiAPQgBTBH4gC0J/hSIOIA5CACAIfSIIUCIDrXwiByAIQgBSGyELIAMgByAOVHGtIA9Cf4V8BSAPCzcDiAggAiALNwOACCACIAg3A/gHIAJCADcD8AcgAiANQgBTBH4gEUJ/hUIAIBF9IgdCACAJfSIJQgBSIgMbIREgFEJ/hSIPIAdQIANBf3NxIgOtfCIHIA8gAxshFCADIAcgD1RxrSANQn+FfAUgDQs3A6gIIAIgFDcDoAggAiARNwOYCCACIAk3A5AIIAJBsAdqIAJB8AdqIAJBkAhqEHMgAikDyAchCyACKQPAByEPIAIpA7gHIQ0gAikDsAchCEH/AXFBAk8EQCALQn+FIhJCACANfSIOUEIAIAh9IghCAFIiBUF/c3EiBCAPQn+FIg8gBK18IgcgD1RxIgOtfCASIAMbIQsgByAPIAQbIQ8gDUJ/hSAOIAUbIQ0LIAJBsAdqQYiUwQBBARB3IAIoArAHDQQgAikDyAchCSACKQPAByERIAIpA7gHIRQgAiACKQPQByIHQgBZIgUEfiAHBSARQn+FQgAgEX0iDkIAIBR9IhRCAFIiAxshESAJQn+FIhIgDlAgA0F/c3EiA618Ig4gEiADGyEJIAMgDiASVHGtIAdCf4V8CzcDiAggAiAJNwOACCACIBE3A/gHIAIgFDcD8AcgAkGoCGpCADcDACACQaAIakIANwMAIAJCADcDmAggAkLfADcDkAggAkGwB2ogAkHwB2ogAkGQCGoQayACKQOwByEUIAIpA7gHIREgAikDwAchByACKQPIByEXIAVFBEAgF0J/hSISQgAgEX0iDlBCACAUfSIUQgBSIgVBf3NxIgQgB0J/hSIJIAStfCIHIAlUcSIDrXwgEiADGyEXIBFCf4UgDiAFGyERIAcgCSAEGyEHCyANIBF8IgkgDVQhAyAIIAggFHxYBH4gA60FIAlCAXwiCVCtIAOtfAshCCAHIA98Ig0gD1QhAyAIUAR+IAOtBSANIAggDXwiDVatIAOtfAsiD1AEfiALIBd8BSALIBd8IA98CyEPQgAhCwJ/AkACQCAPQgBZBEAgD0IghiANQiCIhCEIIA1CIIYgCUIgiIQhGyAPQiCIIREMAQsgAkHIB2pCADcDACACQcAHakIANwMAIAJCADcDuAcgAkKfATcDsAcgAkGQCGpB2I/BACACQbAHahCsASACKQOYCCEIAn4CQAJAIAIpA5AIIgdQRQRAIAIpA6AIIREgAikDqAghCwwBCyACKQOgCCERIAhQRQRAIAhCAX0hCCACKQOoCCELDAELIAIpA6gIIQsgEVANASARQgF9IRFCfyEICyAHQgF9DAELIAtQDRFCfyERIAtCAX0hC0J/IQhCfwshFCARQn+FIA9CIIiEIREgD0IghiANQiCIhCAIQn+FhCEIIA1CIIYgCUIgiIQgFEJ/hYQhGyALQgBZDQEgC0J/hSELCyAbIQ1BAQwBCyAIQn+FQgAgCH0iD0IAIBt9Ig1CAFIiAxshCCARQn+FIgcgD1AgA0F/c3EiA618IAcgAxshEUEACyACQaAHaiANQgBCmOeOz7y13udRQgAQlAIgAkGAB2ogCEIAQpjnjs+8td7nUUIAEJQCIAJB4AZqIBFCAEKY547PvLXe51FCABCUAiACQZAHaiANQgBC96/IiwtCABCUAiACQfAGaiAIQgBC96/IiwtCABCUAiACKQPgBiIPIAJBiAdqKQMAIAIpA4AHIg0gAkGoB2opAwB8IgcgDVStfHwiDSAPVK0gAkHoBmopAwAgAkH4BmopAwAgC0KY547PvLXe51F+IBFC96/Iiwt+fHx8fCANIAJBmAdqKQMAIAIpA5AHIg0gB3wiDyANVK18Igd8Ig0gB1StfCANIAIpA/AGIg18IgggDVStfCEJIAIpA6AHIRFFBEAgCUJ/hSIOQgAgD30iB1BCACARfSIRQgBSIgVBf3NxIgQgCEJ/hSIIIAStfCINIAhUcSIDrXwgDiADGyEJIA0gCCAEGyEIIA9Cf4UgByAFGyEPCwJ+IBEgE1gEQCAPIBBWrSELIBAgD30MAQsgDyAQVq0gDyAQUa18IQsgECAPQn+FfAshDSAKIAh9IQ8CQCALUARAQn9CACAIIApWGyEQDAELQn9CACAIIApWGyALIA9WrX0hECAPIAt9IQ8LIAEgDzcDECABIA03AwggASATIBF9IhM3AwAgASAMIAl9IBB8IhA3AxggDUL9z6PzjwJ8IgogDVQhASAQIBMgE0LQ7P2Jt4+A6Dd8IgxYBH4gAa0FIApCAXwiClCtIAGtfAsiCEIAUiIDIAggD3wiByAPVHEiAa18IBAgARshESAHIA8gAxshCwJ+AkACQAJAAkACQCAQQgBTDQBBACEBIBFCAFkNAEJ/IQgMAQtCfyEJQn8hCCAKIAyEIAuEIBGEQgBSrSAIIBFCAFkbIQggEUIAWSEBIBBCAFMNAQtCASEJIA0gE4QgDyAQhIRCAFINAEIAIQhBASEEIAFFDQFCACEJQgAhFEIADAMLIAggCX5CAlQhBCABDQELIBFCf4UiDkIAIAp9IghQQgAgDH0iDEIAUiIDQX9zcSIFIAtCf4UiEiAFrXwiByASVHEiAa18IA4gARshESAKQn+FIAggAxshCiAHIBIgBRshCwsgEEIAWQRAIBMhCCANIQkgDyEUIBAMAQsgDUJ/hUIAIA19IgdCACATfSIIQgBSIgEbIQkgD0J/hSIOIAdQIAFBf3NxIgGtfCIHIA4gARshFCABIAcgDlRxrSAQQn+FfAshByACQdAGaiAIQgAgDEIAEJQCIAJBwAZqIAhCACAKQgAQlAIgAkGwBmogCEIAIAtCABCUAiACQaAGaiAJQgAgDEIAEJQCIAJBkAZqIAlCACAKQgAQlAIgAkGABmogFEIAIAxCABCUAiACKQOwBiIVIAJByAZqKQMAIAIpA8AGIg4gAkHYBmopAwB8IhIgDlStfHwiDiAVVK0gAkGIBmopAwAgAkGYBmopAwAgAkG4BmopAwAgCSALfiAIIBF+fCAKIBR+fHwgByAMfnx8fHwgAkGoBmopAwAgAikDoAYiByASfCIRIAdUrXwiCCAOfCIHIAhUrXwgAikDkAYiCCAHfCIHIAhUrXwgByACKQOABiIHfCIMIAdUrXwhCiAERQRAIApCf4UiEiACKQPQBiIOQgAgEX0iCIRQIgMgDEJ/hSIUIAOtfCIHIBRUcSIBrXwgEiABGyEKIAggEUJ/hSAOUBshESAHIBQgAxshDAsCfiAKQgBZBEAgCkIghiAMQiCIhCELIAxCIIYgEUIgiIQhEUIAIQkgCkIgiAwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakHYj8EAIAJBsAdqEKwBIAIpA5gIIQsCfgJAAkAgAikDkAgiB1BFBEAgAikDoAghCCACKQOoCCEJDAELIAIpA6AIIQggC1BFBEAgC0IBfSELIAIpA6gIIQkMAQsgAikDqAghCSAIUA0BIAhCAX0hCEJ/IQsLIAdCAX0MAQsgCVAND0J/IQggCUIBfSEJQn8hC0J/CyEUIApCIIYgDEIgiIQgC0J/hYQhCyAMQiCGIBFCIIiEIBRCf4WEIREgCUJ/hSEJIAhCf4UgCkIgiIQLIQggC0L7roG5ltoAfCIKIAtUIQEgESARQpaswMS+vYKyLn0iDFgEfiABrQUgCkIBfCIKUK0gAa18CyIRQgBSIgMgCCARfCIOIAhUcSIBrSAOIAggAxshCCAKIA18IgsgClQhAyAMIAwgE3wiFVgEfiADrQUgC0IBfCILUK0gA618CyERIAl8IAggD3wiFCAIVCEDIBFQBH4gA60FIBQgESAUfCIUVq0gA618CyEHIAkgARshESAHUAR+IBAgEXwFIBAgEXwgB3wLAn4gFULstJWR7cKkypZ/WgRAIAtCi9X87M+UAVStIRcgC0KL1fzsz5QBfQwBCyALQovV/OzPlAFUrSALQovV/OzPlAFRrXwhFyALQozV/OzPlAF9CyEJIBVClMvq7pK927XpAHwhCyAUIBd9IQdCfyESQn8hDiAXQgBSIBQgF1RxrX0iFEIAWQRAIAkgC4QgByAUhIRCAFKtIQ4LIAogDIQgCIQgEYRCAFKtIBIgEUIAWRshEiAUQgBTBEAgFEJ/hSIUQuy0lZHtwqTKln8gFX0iC0IAIAl9IhWEUCIDIAdCf4UiFiADrXwiByAWVHEiAa18IBQgARshFCAVIAlCf4UgC1AbIQkgByAWIAMbIQcLIBFCAFMEQCAKQn+FQgAgCn0iFUIAIAx9IgxCAFIiARshCiAIQn+FIhYgFVAgAUF/c3EiAa18IhUgFiABGyEIIAEgFSAWVHGtIBFCf4V8IRELIAJB8AVqIAxCACALQgAQlAIgAkHgBWogDEIAIAlCABCUAiACQdAFaiAMQgAgB0IAEJQCIAJBwAVqIApCACALQgAQlAIgAkGwBWogCkIAIAlCABCUAiACQaAFaiAIQgAgC0IAEJQCIAIpA9AFIhggAkHoBWopAwAgAikD4AUiFSACQfgFaikDAHwiFiAVVK18fCIVIBhUrSACQagFaikDACACQbgFaikDACACQdgFaikDACAHIAp+IAwgFH58IAggCX58fCALIBF+fHx8fCACQcgFaikDACACKQPABSIHIBZ8IhEgB1StfCIIIBV8IgcgCFStfCACKQOwBSIIIAd8IgcgCFStfCAHIAIpA6AFIgd8IgwgB1StfCEKIA4gEn5CAloEQCAKQn+FIhIgAikD8AUiDkIAIBF9IgiEUCIDIAxCf4UiFCADrXwiByAUVHEiAa18IBIgARshCiAIIBFCf4UgDlAbIREgByAUIAMbIQwLAn4gCkIAWQRAIApCIIYgDEIgiIQhCyAMQiCGIBFCIIiEIRFCACEJIApCIIgMAQsgAkHIB2pCADcDACACQcAHakIANwMAIAJCADcDuAcgAkKfATcDsAcgAkGQCGpB2I/BACACQbAHahCsASACKQOYCCELAn4CQAJAIAIpA5AIIgdQRQRAIAIpA6AIIQggAikDqAghCQwBCyACKQOgCCEIIAtQRQRAIAtCAX0hCyACKQOoCCEJDAELIAIpA6gIIQkgCFANASAIQgF9IQhCfyELCyAHQgF9DAELIAlQDQ9CfyEIIAlCAX0hCUJ/IQtCfwshFCAKQiCGIAxCIIiEIAtCf4WEIQsgDEIghiARQiCIhCAUQn+FhCERIAlCf4UhCSAIQn+FIApCIIiECyEIIAtCot3tndD+4QJ8IgogC1QhASARIBFCsLea/4vpgO3iAH0iDFgEfiABrQUgCkIBfCIKUK0gAa18CyIRIAh8Ig4gCCARQgBSIgEbIRFCfyEUQn8hByAJIAEgCCAOVnEiAa18IAkgARsiC0IAWQRAIAogDIQgCyARhIRCAFKtIQcLIA0gE4QgD4QgEIRCAFKtIBQgEEIAWRshFCALQgBTBEAgCkJ/hUIAIAp9IghCACAMfSIMQgBSIgEbIQogEUJ/hSIOIAhQIAFBf3NxIgGtfCIIIA4gARshESABIAggDlRxrSALQn+FfCELCyAHIBR+IBMhCCANIQkgDyEUIBAiB0IAUwRAIA1Cf4VCACANfSIHQgAgCH0iCEIAUiIBGyEJIA9Cf4UiDiAHUCABQX9zcSIBrXwiByAOIAEbIRQgASAHIA5Uca0gEEJ/hXwhBwsgAkGQBWogCEIAIAxCABCUAiACQYAFaiAIQgAgCkIAEJQCIAJB8ARqIAhCACARQgAQlAIgAkHgBGogCUIAIAxCABCUAiACQdAEaiAJQgAgCkIAEJQCIAJBwARqIBRCACAMQgAQlAIgAikD8AQiFSACQYgFaikDACACKQOABSIOIAJBmAVqKQMAfCISIA5UrXx8Ig4gFVStIAJByARqKQMAIAJB2ARqKQMAIAJB+ARqKQMAIAkgEX4gCCALfnwgCiAUfnx8IAcgDH58fHx8IAJB6ARqKQMAIAIpA+AEIgcgEnwiCiAHVK18IgggDnwiByAIVK18IAIpA9AEIgggB3wiByAIVK18IAcgAikDwAQiB3wiDCAHVK18IQggAikDkAUhFEICWgRAIAhCf4UiCEIAIAp9Ig5QQgAgFH0iFEIAUiIDQX9zcSIFIAxCf4UiEiAFrXwiByASVHEiAa18IAggARshCCAKQn+FIA4gAxshCiAHIBIgBRshDAsgAkGwB2pBiZTBAEEiEHcgAigCsAcNBiACKQPAByIHQiCIIRIgAikDyAdCIIYgDCAHQiCGIAIpA7gHIgdCIIiEfCIXIAxUIQEgCiAKIAdCIIZ8IhlYBH4gAa0FIBdCAXwiF1CtIAGtfAshCiAShCEHIApQBH4gByAIfAUgByAIfCAKfAshESAPAn4gE0L81db+8PXy7LJ/WgRAIA1Cn53M4cAEfSEKIA1Cn53M4cAEVK0MAQsgDUKgnczhwAR9IQogDUKfnczhwARUrSANQp+dzOHABFGtfAsiDH0hCUEBIQECfgJAAkAgECAQIAxCAFIgDCAPVnGtfSILg0IAUw0AIBNChKqpgY+KjZPNAHwhDAJAIAtCAFkEQCAQQgBZDQEgCiAMhCAJhCALhFAhAQwDCyAQQgBTDQELIAtCAFkiAyANIBOEIA+EIBCEUHIhASADRQ0AIBMhCCANIQcgDyESIBAMAgsgC0J/hSIOQvzV1v7w9fLssn8gE30iDEIAIAp9IgiEUCIFIAlCf4UiEiAFrXwiByASVHEiA618IA4gAxshCyAIIApCf4UgDFAbIQogByASIAUbIQkgEyEIIA0hByAPIRIgECAQQgBZDQEaCyANQn+FQgAgDX0iDkIAIBN9IghCAFIiAxshByAPQn+FIhUgDlAgA0F/c3EiA618Ig4gFSADGyESIAMgDiAVVHGtIBBCf4V8CyEOIAJBsARqIAhCACAMQgAQlAIgAkGgBGogCEIAIApCABCUAiACQZAEaiAIQgAgCUIAEJQCIAJBgARqIAdCACAMQgAQlAIgAkHwA2ogB0IAIApCABCUAiACQeADaiASQgAgDEIAEJQCIAIpA5AEIhggAkGoBGopAwAgAikDoAQiFSACQbgEaikDAHwiFiAVVK18fCIVIBhUrSACQegDaikDACACQfgDaikDACACQZgEaikDACAHIAl+IAggC358IAogEn58fCAMIA5+fHx8fCACQYgEaikDACACKQOABCIHIBZ8IgsgB1StfCIIIBV8IgcgCFStfCACKQPwAyIIIAd8IgcgCFStfCAHIAIpA+ADIgd8IgwgB1StfCEKIAFFBEAgCkJ/hSISIAIpA7AEIg5CACALfSIIhFAiAyAMQn+FIgkgA618IgcgCVRxIgGtfCASIAEbIQogCCALQn+FIA5QGyELIAcgCSADGyEMCwJ+IApCAFkEQCAKQiCGIAxCIIiEIQkgDEIghiALQiCIhCELIApCIIghCEIADAELIAJByAdqQgA3AwAgAkHAB2pCADcDACACQgA3A7gHIAJCnwE3A7AHIAJBkAhqQdiPwQAgAkGwB2oQrAEgAikDmAghCQJ+AkACQCACKQOQCCIOUEUEQCACKQOgCCEIIAIpA6gIIQcMAQsgAikDoAghCCAJUEUEQCAJQgF9IQkgAikDqAghBwwBCyACKQOoCCEHIAhQDQEgCEIBfSEIQn8hCQsgDkIBfQwBCyAHUA0PQn8hCCAHQgF9IQdCfyEJQn8LIRIgCEJ/hSAKQiCIhCEIIApCIIYgDEIgiIQgCUJ/hYQhCSAMQiCGIAtCIIiEIBJCf4WEIQsgB0J/hQshByAJQs+jpsr1zgB8IgogCVQhASALIAtCp4by87m7pNA3fSIMWAR+IAGtBSAKQgF8IgpQrSABrXwLIgsgCHwiCSAIIAtCAFIiARshC0J/IRJCfyEOIAcgASAIIAlWcSIBrXwgByABGyIJQgBZBEAgCiAMhCAJIAuEhEIAUq0hDgsgDSAThCAPhCAQhEIAUq0gEiAQQgBZGyESIAlCAFMEQCAKQn+FQgAgCn0iB0IAIAx9IgxCAFIiARshCiALQn+FIgggB1AgAUF/c3EiAa18IgcgCCABGyELIAEgByAIVHGtIAlCf4V8IQkLIA4gEn4gEyEIIA0hByAPIRIgECEOIBBCAFMEQCAHQn+FQgAgB30iDkIAIAh9IghCAFIiARshByAPQn+FIhUgDlAgAUF/c3EiAa18Ig4gFSABGyESIAEgDiAVVHGtIBBCf4V8IQ4LIAJB0ANqIAhCACAMQgAQlAIgAkHAA2ogCEIAIApCABCUAiACQbADaiAIQgAgC0IAEJQCIAJBoANqIAdCACAMQgAQlAIgAkGQA2ogB0IAIApCABCUAiACQYADaiASQgAgDEIAEJQCIAIpA7ADIhggAkHIA2opAwAgAikDwAMiFSACQdgDaikDAHwiFiAVVK18fCIVIBhUrSACQYgDaikDACACQZgDaikDACACQbgDaikDACAHIAt+IAggCX58IAogEn58fCAMIA5+fHx8fCACQagDaikDACACKQOgAyIHIBZ8IgggB1StfCIOIBV8IgcgDlStfCACKQOQAyIOIAd8IgcgDlStfCAHIAIpA4ADIgd8IgwgB1StfCEKQgJaBEAgCkJ/hSIJIAIpA9ADIhJCACAIfSIOhFAiAyAMQn+FIhUgA618IgcgFVRxIgGtfCAJIAEbIQogByAVIAMbIQwgDiAIQn+FIBJQGyEICwJ+An4gCkIAWQRAIApCIIYgDEIgiIQhCyAKQiCIIQlCACEWIAxCIIYgCEIgiIQMAQsgAkHIB2pCADcDACACQcAHakIANwMAIAJCADcDuAcgAkKfATcDsAcgAkGQCGpB2I/BACACQbAHahCsASACKQOYCCELAn4CQAJAIAIpA5AIIg5QRQRAIAIpA6AIIQkgAikDqAghBwwBCyACKQOgCCEJIAtQRQRAIAtCAX0hCyACKQOoCCEHDAELIAIpA6gIIQcgCVANASAJQgF9IQlCfyELCyAOQgF9DAELIAdQDRBCfyEJIAdCAX0hB0J/IQtCfwshEiAJQn+FIApCIIiEIQkgCkIghiAMQiCIhCALQn+FhCELIAdCf4UhFiAMQiCGIAhCIIiEIBJCf4WECyIIQsSTx/eltpio6gBaBEAgC0LPxteSocoGfSEMIAtCz8bXkqHKBlStDAELIAtC0MbXkqHKBn0hDCALQs/G15KhygZUrSALQs/G15KhygZRrXwLIQcgCELEk8f3pbaYqOoAfSEKIAkgB30hC0J/IRJCfyEOIBYgByAJVq19IglCAFkEQCAKIAyEIAkgC4SEQgBSrSEOCyANIBOEIA+EIBCEQgBSrSASIBBCAFkbIRIgCUIAUwRAQgAgDH0iByAMQn+FQsSTx/eltpio6gAgCH0iClAbIQwgC0J/hSIIIAcgCoRQIgGtfCIHIAggARshCyABIAcgCFRxrSAJQn+FfCEJCyAOIBJ+IBMhCCANIQcgDyESIBAhDiAQQgBTBEAgB0J/hUIAIAd9Ig5CACAIfSIIQgBSIgEbIQcgD0J/hSIVIA5QIAFBf3NxIgGtfCIOIBUgARshEiABIA4gFVRxrSAQQn+FfCEOCyACQfACaiAIQgAgCkIAEJQCIAJB4AJqIAhCACAMQgAQlAIgAkHQAmogCEIAIAtCABCUAiACQcACaiAHQgAgCkIAEJQCIAJBsAJqIAdCACAMQgAQlAIgAkGgAmogEkIAIApCABCUAiACKQPQAiIYIAJB6AJqKQMAIAIpA+ACIhUgAkH4AmopAwB8IhYgFVStfHwiFSAYVK0gAkGoAmopAwAgAkG4AmopAwAgAkHYAmopAwAgByALfiAIIAl+fCAMIBJ+fHwgCiAOfnx8fHwgAkHIAmopAwAgAikDwAIiByAWfCILIAdUrXwiCCAVfCIHIAhUrXwgAikDsAIiCCAHfCIHIAhUrXwgByACKQOgAiIHfCIMIAdUrXwhCkICWgRAIApCf4UiEiACKQPwAiIOQgAgC30iCIRQIgMgDEJ/hSIJIAOtfCIHIAlUcSIBrXwgEiABGyEKIAggC0J/hSAOUBshCyAHIAkgAxshDAsCfiAKQgBZBEAgCkIghiAMQiCIhCEJIAxCIIYgC0IgiIQhCyAKQiCIIQhCAAwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakHYj8EAIAJBsAdqEKwBIAIpA5gIIQkCfgJAAkAgAikDkAgiDlBFBEAgAikDoAghCCACKQOoCCEHDAELIAIpA6AIIQggCVBFBEAgCUIBfSEJIAIpA6gIIQcMAQsgAikDqAghByAIUA0BIAhCAX0hCEJ/IQkLIA5CAX0MAQsgB1AND0J/IQggB0IBfSEHQn8hCUJ/CyESIAhCf4UgCkIgiIQhCCAKQiCGIAxCIIiEIAlCf4WEIQkgDEIghiALQiCIhCASQn+FhCELIAdCf4ULIQcgCULD6IeQu7csfCIKIAlUIQEgCyALQtuWiZbenPS0MH0iDFgEfiABrQUgCkIBfCIKUK0gAa18CyILIAh8IgkgCCALQgBSIgEbIQtCfyESQn8hDiAHIAEgCCAJVnEiAa18IAcgARsiCUIAWQRAIAogDIQgCSALhIRCAFKtIQ4LIA0gE4QgD4QgEIRCAFKtIBIgEEIAWRshEiAJQgBTBEAgCkJ/hUIAIAp9IgdCACAMfSIMQgBSIgEbIQogC0J/hSIIIAdQIAFBf3NxIgGtfCIHIAggARshCyABIAcgCFRxrSAJQn+FfCEJCyAOIBJ+IBMhCCANIQcgDyESIBAhDiAQQgBTBEAgB0J/hUIAIAd9Ig5CACAIfSIIQgBSIgEbIQcgD0J/hSIVIA5QIAFBf3NxIgGtfCIOIBUgARshEiABIA4gFVRxrSAQQn+FfCEOCyACQZACaiAIQgAgDEIAEJQCIAJBgAJqIAhCACAKQgAQlAIgAkHwAWogCEIAIAtCABCUAiACQeABaiAHQgAgDEIAEJQCIAJB0AFqIAdCACAKQgAQlAIgAkHAAWogEkIAIAxCABCUAiACKQPwASIYIAJBiAJqKQMAIAIpA4ACIhUgAkGYAmopAwB8IhYgFVStfHwiFSAYVK0gAkHIAWopAwAgAkHYAWopAwAgAkH4AWopAwAgByALfiAIIAl+fCAKIBJ+fHwgDCAOfnx8fHwgAkHoAWopAwAgAikD4AEiByAWfCILIAdUrXwiCCAVfCIHIAhUrXwgAikD0AEiCCAHfCIHIAhUrXwgByACKQPAASIHfCIMIAdUrXwhCkICWgRAIApCf4UiEiACKQOQAiIOQgAgC30iCIRQIgMgDEJ/hSIJIAOtfCIHIAlUcSIBrXwgEiABGyEKIAggC0J/hSAOUBshCyAHIAkgAxshDAsCfiAKQgBZBEAgDEIghiALQiCIhCEJIApCIIghB0IAIRYgCkIghiAMQiCIhAwBCyACQcgHakIANwMAIAJBwAdqQgA3AwAgAkIANwO4ByACQp8BNwOwByACQZAIakHYj8EAIAJBsAdqEKwBIAIpA5gIIQgCfgJAAkAgAikDkAgiB1BFBEAgAikDoAghCSACKQOoCCESDAELIAIpA6AIIQkgCFBFBEAgCEIBfSEIIAIpA6gIIRIMAQsgAikDqAghEiAJUA0BIAlCAX0hCUJ/IQgLIAdCAX0MAQsgElAND0J/IQkgEkIBfSESQn8hCEJ/CyEOIAlCf4UgCkIgiIQhByAMQiCGIAtCIIiEIA5Cf4WEIQkgEkJ/hSEWIApCIIYgDEIgiIQgCEJ/hYQLIQgCfiAJQpX+pOv+48zU0QBaBEAgCELP7ufGuOSxAVStIQsgCELP7ufGuOSxAX0MAQsgCELP7ufGuOSxAVStIAhCz+7nxrjksQFRrXwhCyAIQtDu58a45LEBfQshDCAJQpX+pOv+48zU0QB9IQogByALfSEIQn8hEkJ/IQ4gFiAHIAtUrX0iC0IAWQRAIAogDIQgCCALhIRCAFKtIQ4LIA0gE4QgD4QgEIRCAFKtIBIgEEIAWRshEiALQgBTBEBCACAMfSIHIAxCf4VClf6k6/7jzNTRACAJfSIKUBshDCAIQn+FIgkgByAKhFAiAa18IgcgCSABGyEIIAEgByAJVHGtIAtCf4V8IQsLIBBCAFMEQCANQn+FQgAgDX0iB0IAIBN9IhNCAFIiARshDSAPQn+FIgkgB1AgAUF/c3EiAa18IgcgCSABGyEPIAEgByAJVHGtIBBCf4V8IRALIAJBsAFqIBNCACAKQgAQlAIgAkGgAWogE0IAIAxCABCUAiACQZABaiATQgAgCEIAEJQCIAJBgAFqIA1CACAKQgAQlAIgAkHwAGogDUIAIAxCABCUAiACQeAAaiAPQgAgCkIAEJQCIAIpA5ABIhUgAkGoAWopAwAgAikDoAEiByACQbgBaikDAHwiCSAHVK18fCIHIBVUrSACQegAaikDACACQfgAaikDACACQZgBaikDACAIIA1+IAsgE358IAwgD358fCAKIBB+fHx8fCACQYgBaikDACACKQOAASINIAl8Ig8gDVStfCITIAd8Ig0gE1StfCACKQNwIhMgDXwiDSATVK18IAIpA2AiEyANfCINIBNUrXwhECAOIBJ+QgJaBEAgEEJ/hSIQIAIpA7ABIgdCACAPfSIThFAiAyANQn+FIgggA618Ig0gCFRxIgGtfCAQIAEbIRAgEyAPQn+FIAdQGyEPIA0gCCADGyENCwJ+IBBCAFkEQCANQiCGIA9CIIiEIQogEEIgiCEPQgAhDCAQQiCGIA1CIIiEDAELIAJByAdqQgA3AwAgAkHAB2pCADcDACACQgA3A7gHIAJCnwE3A7AHIAJBkAhqQdiPwQAgAkGwB2oQrAEgAikDmAghEwJ+AkACfgJAAkAgAikDkAgiB1BFBEAgAikDoAghCgwBCyACKQOgCCEKIBNQDQEgE0IBfSETCyACKQOoCCEMIBNCf4UMAQsgAikDqAghDCAKUA0BIApCAX0hCkIACyETIApCf4UhCEIAIAd9DAELQgAhCCAMUA0PIAxCAX0hDEIAIRNCAAsgDUIghiAPQiCIhIQhCiAMQn+FIQwgCCAQQiCIhCEPIBMgEEIghiANQiCIhIQLIhMgE0Krs56Ku4HGAnwiDVYhASAMIAogCkLX+snSspmq1McAfCITWAR+IAGtBSANQgF8Ig1QrSABrXwLIhBCAFIiAyAPIBB8IgcgD1RxIgGtfCAMIAEbIRBB/wEhAUH/ASEEIBQgGYQgF4QgEYRCAFIgBCARQgBZGyAHIA8gAxshDwJAIBBCAFMNAEEBIQEgDSAThCAPhEIAUg0AIBBQDQYLwCABwG0gAiARQgBTBH4gGUJ/hUIAIBl9IgdCACAUfSIUQgBSIgEbIRkgF0J/hSIIIAdQIAFBf3NxIgGtfCIHIAggARshFyABIAcgCFRxrSARQn+FfAUgEQs3A4gIIAIgFzcDgAggAiAZNwP4ByACIBQ3A/AHIAIgEEIAUwR+IA1Cf4VCACANfSIHQgAgE30iE0IAUiIBGyENIA9Cf4UiCCAHUCABQX9zcSIBrXwiByAIIAEbIQ8gASAHIAhUca0gEEJ/hXwFIBALNwOoCCACIA83A6AIIAIgDTcDmAggAiATNwOQCCACQbAHaiACQfAHaiACQZAIahBzIAIpA8gHIQogAikDwAchDyACKQO4ByENIAIpA7AHIRBB/wFxQQJPBEAgDUJ/hUIAIA19IhNCACAQfSIQQgBSIgEbIQ0gD0J/hSIHIBNQIAFBf3NxIgGtfCITIAcgARshDyABIAcgE1ZxrSAKQn+FfCEKCyACQbAHaiIBQbyUwQBBMRCNASACKAKwBw0HQgAhESACQdAAaiACKQO4ByIcQgAgEEIAEJQCIAJBIGogHEIAIA1CABCUAiACIBxCACAPQgAQlAIgAkFAayACKQPAByILQgAgEEIAEJQCIAJBEGogC0IAIA1CABCUAiACQTBqIAIpA8gHIhdCACAQQgAQlAIgAiACKQNQNwOQCCACQQhqKQMAIRkgAikD0AchGiACQRhqKQMAIRggAkE4aikDACEWIAJBKGopAwAhFSACKQMAIQwgAiACKQNAIg4gAikDICIIIAJB2ABqKQMAfCIHfCITNwOYCCACIAIpAzAiCSACKQMQIhQgAkHIAGopAwAgDiATVq18IhIgDCAVIAcgCFStfHwiDnwiCHwiB3wiEzcDoAggAiAJIBNWrSAHIBRUrSAIIBJUrSAMIA5WrSAWIBggGSALIA9+IAogHH58IA0gF358fCAQIBp+fHx8fHx8fDcDqAggAUHtlMEAQQMQdyACKAKwB0UEQEIAIRBCACENQgAhDyACKQO4ByAbfSIIpyIFQf8BSw0LIAJBkAhqIAVBBnYiBEEDdGopAwAhEyAEQQFqIgNBBEYEQAwKCyACQZAIaiIGIANBA3RqKQMAIAhCP4MiB4ghDSAEQQJqIgFBBEYNCSABQQN0IAZqKQMAIAeIIQ8gBEEDaiIBQQRGDQogAkGQCGogAUEDdGopAwAgB4ghEQwKCyACIAIoArQHNgLwB0GAlcEAQSsgAkHwB2pB8JTBAEGslcEAEJUCAAtByJPBABDOAgALIAIgAigCtAc2ApAIQYCVwQBBKyACQZAIakHwlMEAQfyVwQAQlQIAC0H4k8EAEM4CAAsgAiACKAK0BzYCkAhBgJXBAEErIAJBkAhqQfCUwQBB7JXBABCVAgALIAIgAigCtAc2ApAIQYCVwQBBKyACQZAIakHwlMEAQdyVwQAQlQIAC0GslMEAEM4CAAsgAiACKAK0BzYCkAhBgJXBAEErIAJBkAhqQfCUwQBBzJXBABCVAgALIAIgAigCtAc2ApAIQYCVwQBBKyACQZAIakHwlMEAQbyVwQAQlQIACwsgEyAIiCEQIAVBP3FFIAVBvwFLcg0AIAJBkAhqIgEgA0EDdGopAwBCACAIfSIThiAQfCEQIANBA0YNACABIARBAmoiAUEDdGopAwAgE0I/gyIThiANfCENIAFBA0YNACAEQQN0IAJqQagIaikDACAThiAPfCEPCyAAIBE3AyAgACAPNwMYIAAgDTcDECAAIBA3AwgLQQALNgIAIAJBsAhqJAAPCyACQQA2AsAHIAJBATYCtAcgAkGYkMEANgKwByACQgQ3ArgHIAJBsAdqQaSPwQAQswIAC8hDAhF/FH4jAEGwB2siBiQAIAEpA7gFIRwgASkDsAUhFyABKQOoBSEZIAEpA6AFIRogASkDMCEYIAEpAyghHiABKQMgIR0CQAJAIAEpAzgiIEIAWQRAIAYgIDcD6AYgBiAYNwPgBiAGIB43A9gGIAYgHTcD0AYgBkHgAmpCADcDACAGQdgCakIANwMAIAZB0AJqQgA3AwAgBkIANwPIAiAGQdAGaiAGQcgCahCaAkH/AXFBAUYNAQsgBkHgAmpCADcDACAGQdgCakIANwMAIAZB0AJqQgA3AwAgBkIANwPIAgwBCyAGICA3A+ACIAYgGDcD2AIgBiAeNwPQAiAGIB03A8gCCyAGQfgGaiAGQcgCahC5AQJAAkACQAJAIAACfwJAAkACQAJAAkACQCAGKAL4Bg0AIBkgGSAGKQOIB3wiGVYhByAGKQOQByEhIBogGiAGKQOAB3wiH1gEfiAHrQUgGUIBfCIZUK0gB618CyEbIAYpA5gHISIgFyAXICF8IhdWIQcgG1AEfiAHrQUgFyAXIBt8IhdWrSAHrXwLIRogHCAifCIbIBxUIQcCQCAaUARAIAYgGzcD6AMgBiAXNwPgAyAGIBk3A9gDIAYgHzcD0AMgB0UNAQwLCyAGIBc3A+ADIAYgGTcD2AMgBiAfNwPQAyAGIBogG3wiFzcD6AMgByAXIBtUcg0KCyAGQRI6APADIAYgIDcD4AIgBiAYNwPYAiAGIB43A9ACIAYgHTcDyAIgBkH4BmoiCCAGQdADaiAGQcgCahDGASAGKAL4Bg0AIAZBwARqIAZBoAdqKQMANwMAIAZBuARqIAZBmAdqKQMANwMAIAZBsARqIAZBkAdqKQMANwMAIAZBqARqIAZBiAdqKQMANwMAIAYgBikDgAc3A6AEIAggARCDASAGKAL4Bg0AIAYpA5gHIR8gBikDkAchISAGKQOIByEbIAYpA4AHISQgBkGYBmogAUHYAWopAwA3AwAgBkGQBmogAUHQAWopAwA3AwAgBkGIBmogAUHIAWopAwA3AwAgBkESOgCgBiAGIAEpA8ABNwOABiAGQbAGaiIHQgA3AwAgBkKAgJC7utat8A03A6gGIAZBATYC/AYgBkHE/cAANgL4BiAGQgE3AoQHIAZCgICAgLAHIiUgBkGoBmqthDcDqAcgBiAGQagHajYCgAcgBkGYBWogCBDPASAGQegGakIANwMAIAZCADcD4AYgBykDACEXIAYpA6gGIRkgBigCmAUiBwRAIAYoApwFIAcQjAMLIAZBEjoA8AYgBiAZNwPQBiAGIBc3A9gGIAZBnAdqIAZBvAJqKAAANgAAIAZBkAdqIAFBgAVqIgdBGGopAwA3AwAgBkGIB2ogB0EQaikDADcDACAGQYAHaiAHQQhqKQMANwMAIAZBEjoAmAcgBiAGKAC5AjYAmQcgBiAHKQMANwP4BiAGQagGaiAGQfgGaiIIIAZBoARqIAZB0AZqEHYgCEGox8AAQQQQtwEgBigC+AYNASAGKQOQByEaIAYpA4gHIRggASkD0AYhHiABKQPIBiEXAn4gBikDgAciJiABKQPABiIgWgRAIBggF30hHCAXIBhWrQwBCyAYIBdCf4V8IRwgFyAYVq0gFyAYUa18CyEZIAYpA5gHISIgASkD2AYhHSAaIB59IRgCQCAZUARAIBogHlStIRoMAQsgGCAZVK0gGiAeVK18IRogGCAZfSEYCyAiIB19IRkCQCAaUARAIB0gIlgNAQwMCyAZIBpUIB0gIlZyDQsgGSAafSEZCyAGQRI6AJgHIAYgGTcDkAcgBiAYNwOIByAGIBw3A4AHIAYgJiAgfTcD+AYgBkHIAmogBkGoBmogBkH4BmoiCBByIAYoAsgCDQIgBkH4BWogBkHwAmopAwA3AwAgBkHwBWogBkHoAmopAwA3AwAgBkHoBWogBkHgAmopAwA3AwAgBkHgBWogBkHYAmopAwA3AwAgBiAGKQPQAjcD2AUgBkGQB2ogB0EYaikDADcDACAGQYgHaiAHQRBqKQMANwMAIAZBgAdqIAdBCGopAwA3AwAgBkESOgCYByAGIAcpAwA3A/gGIAZB8ARqIAZBgAZqIAZB2AVqIAgQdiAGKQOABSEaIAYpA/gEIRgCfiAGKQPwBCIiICRYBEAgGyAYfSEcIBggG1atDAELIBsgGEJ/hXwhHCAYIBtWrSAYIBtRrXwLIRkgBikDiAUhGyAhIBp9IRgCQCAZUARAIBogIVatIRoMAQsgGCAZVK0gGiAhVq18IRogGCAZfSEYCyAfIBt9IRkCQCAaUARAIBsgH1gNAQwMCyAZIBpUIBsgH1ZyDQsgGSAafSEZCyAGQRI6AOgEIAYgGTcD4AQgBiAYNwPYBCAGIBw3A9AEIAYgJCAifTcDyAQgBkH4BmpBqMfAAEEEELcBAkACQAJAAkACQCAGKAL4BkUEQCAGQegCaiAGQaAHaikDADcDACAGQeACaiAGQZgHaikDADcDACAGQdgCaiAGQZAHaikDADcDACAGQdACaiAGQYgHaikDADcDACAGIAYpA4AHNwPIAiAGQcgEaiAGQcgCahCaAkH/AXEOAgEDAgsgBiAGKAL8BjYC0AZBzMTAAEErIAZB0AZqQbzEwABBrOTAABCVAgALIAYtAOgCQRNJDQELIAZB+AZqIgdBqMfAAEEEELcBIAYoAvgGDQEgBkGYA2ogBkGYB2opAwA3AwAgBkGQA2ogBkGQB2opAwA3AwAgBkGIA2ogBkGIB2opAwA3AwAgBiAGKQOABzcDgAMgBiAGKAChBzYC+AIgBiAGQaQHaigAADYA+wIgBi0AoAchCCAHQajHwABBBBC3ASAGKAL4BkUNAiAGIAYoAvwGNgLQBkHMxMAAQSsgBkHQBmpBvMTAAEGM5MAAEJUCAAsgBkH4BmoiB0Gox8AAQQQQtwEgBigC+AYNBSAGQdAFaiAGQZgHaikDADcDACAGQcgFaiAGQZAHaikDADcDACAGQcAFaiAGQYgHaikDADcDACAGIAYpA4AHNwO4BSAGIAYoAKEHNgLAAiAGIAZBpAdqKAAANgDDAiAGLQCgByEIIAdBqMfAAEEEELcBIAYoAvgGDQYgBikDkAchGiAGKQOIByEYAn4gICAGKQOAByIfWARAIBggF30hGyAXIBhWrQwBCyAYIBdCf4V8IRsgFyAYVq0gFyAYUa18CyEZIAYpA5gHIRwgGiAefSEXAkAgGVAEQCAaIB5UrSEYDAELIBcgGVStIBogHlStfCEYIBcgGX0hFwsgHCAdfSEaAkAgGFAEQCAcIB1aDQEMDgsgHCAdVCAYIBpWcg0NIBogGH0hGgsgBkESOgDIBiAGIBo3A8AGIAYgFzcDuAYgBiAbNwOwBiAGIB8gIH03A6gGQgEhF0IAIRoCQAJAAkAgCA4CAgEAC0IKIRcgCCEHQgEhG0IAIRgDQCAGQUBrIBdCASAHQQFxIgkbIBpCACAJGyAbIBgQlAIgBkHQAGogFyAaIBcgGhCUAiAHQQNLIAZB2ABqKQMAIRogBkHIAGopAwAhGCAGKQNQIRcgBikDQCEbIAdBAXYhBw0ACyAGQTBqIBsgGCAXIBoQlAIgBkE4aikDACEaIAYpAzAhFwwBC0IKIRcLIAZBiAZqIgcgGjcDACAGIBc3A4AGIAZBATYC/AYgBkHE/cAANgL4BiAGQgE3AoQHIAYgJSAGQYAGaq2ENwOYBSAGIAZBmAVqNgKAByAGQfAEaiAGQfgGahDPASAGQegGakIANwMAIAZCADcD4AYgBykDACEXIAYpA4AGIRkgBigC8AQiBwRAIAYoAvQEIAcQjAMLIAZBEjoA8AYgBiAZNwPQBiAGIBc3A9gGIAZBkAdqIgcgBkHQBWopAwA3AwAgBkGIB2oiCSAGQcgFaikDADcDACAGQYAHaiIMIAZBwAVqKQMANwMAIAZBnAdqIAYoAMMCNgAAIAYgBikDuAU3A/gGIAYgCDoAmAcgBiAGKALAAjYAmQcgBkGABmoiCCAGQfgGaiILIAZB0AZqIAZBqAZqEHwgBkGYB2ogBkHoBGopAwA3AwAgByAGQeAEaikDADcDACAJIAZB2ARqKQMANwMAIAwgBkHQBGopAwA3AwAgBiAGKQPIBDcD+AYgBkHIAmogCyAIEHIgBigCyAINBwwJCyAGIAYoAvwGNgLQBkHMxMAAQSsgBkHQBmpBvMTAAEGc5MAAEJUCAAsgBikDkAchGiAGKQOIByEYAn4gICAGKQOAByIfWARAIBggF30hGyAXIBhWrQwBCyAYIBdCf4V8IRsgFyAYVq0gFyAYUa18CyEZIAYpA5gHIRwgGiAefSEXAkAgGVAEQCAaIB5UrSEYDAELIBcgGVStIBogHlStfCEYIBcgGX0hFwsgHCAdfSEaAkAgGFAEQCAcIB1aDQEMDAsgHCAdVCAYIBpWcg0LIBogGH0hGgsgBkESOgDIBiAGIBo3A8AGIAYgFzcDuAYgBiAbNwOwBiAGIB8gIH03A6gGQgEhF0IAIRoCQAJAAkAgCA4CAgEAC0IKIRcgCCEHQgEhG0IAIRgDQCAGQRBqIBdCASAHQQFxIgkbIBpCACAJGyAbIBgQlAIgBkEgaiAXIBogFyAaEJQCIAdBA0sgBkEoaikDACEaIAZBGGopAwAhGCAGKQMgIRcgBikDECEbIAdBAXYhBw0ACyAGIBsgGCAXIBoQlAIgBkEIaikDACEaIAYpAwAhFwwBC0IKIRcLIAZBiAZqIgcgGjcDACAGIBc3A4AGIAZBATYC/AYgBkHE/cAANgL4BiAGQgE3AoQHIAYgJSAGQYAGaq2ENwOYBSAGIAZBmAVqNgKAByAGQfAEaiAGQfgGahDPASAGQegGakIANwMAIAZCADcD4AYgBykDACEXIAYpA4AGIRkgBigC8AQiBwRAIAYoAvQEIAcQjAMLIAZBEjoA8AYgBiAZNwPQBiAGIBc3A9gGIAZBkAdqIgcgBkGYA2opAwA3AwAgBkGIB2oiCSAGQZADaikDADcDACAGQYAHaiIMIAZBiANqKQMANwMAIAZBnAdqIAYoAPsCNgAAIAYgBikDgAM3A/gGIAYgCDoAmAcgBiAGKAL4AjYAmQcgBkGABmoiCCAGQfgGaiILIAZB0AZqIAZBqAZqEHYgBkGYB2ogBkHoBGopAwA3AwAgByAGQeAEaikDADcDACAJIAZB2ARqKQMANwMAIAwgBkHQBGopAwA3AwAgBiAGKQPIBDcD+AYgBkHIAmogCyAIEHIgBigCyAJFDQcgBigCzAIMBgsgBigC/AYMBQsgBiAGKAL8BjYC0AZBzMTAAEErIAZB0AZqQbzEwABBvOTAABCVAgALIAYoAswCDAMLIAYgBigC/AY2AtAGQczEwABBKyAGQdAGakG8xMAAQfzjwAAQlQIACyAGIAYoAvwGNgLQBkHMxMAAQSsgBkHQBmpBvMTAAEHs48AAEJUCAAsgBigCzAILNgIEIABBATYCAAwBCyAGKQPoAiEeIAYpA+ACIRogBikD2AIhFyABKQOQASEdIAEpA4gBIRkCfiAGKQPQAiIcIAEpA4ABIh9aBEAgFyAZfSEbIBcgGVStDAELIBcgGUJ/hXwhGyAXIBlUrSAXIBlRrXwLIRggASkDmAEhICAaIB19IRcCQCAYUARAIBogHVStIRkMAQsgFyAYVK0gGiAdVK18IRkgFyAYfSEXCyAeICB9IRoCQCAZUARAIB4gIFoNAQwECyAeICBUIBkgGlZyDQMgGiAZfSEaCyAGIAYoAIkBNgKQASAGIAZBjAFqKAAANgCTASAGQRI6AIABIAYgGjcDeCAGIBc3A3AgBiAbNwNoIAYgHCAffSIZNwNgIAZBhAFqIAYoAJMBNgAAIAYgBigCkAE2AIEBIAZBEjoA6AIgBiAaNwPgAiAGIBc3A9gCIAYgGzcD0AIgBiAZNwPIAiAGQewCaiAGKACTATYAACAGIAYoApABNgDpAiAGQfgGaiIIIAEgBkHIAmogAxB4IAYoAvgGIgdFBEAgBwRAIAhBBHIQ7QILIABBEjoAKCAAIBo3AyAgACAXNwMYIAAgGzcDECAAIBk3AwggACAGKAKQATYAKSAAQSxqIAYoAJMBNgAAIABBADYCAAwBCyAGQfgGakEEchDtAgJAAkAgAykDGCIXQgBZBEAgAykDACEZIAMpAwghGCADKQMQIRogBiAXNwPABiAGIBo3A7gGIAYgGDcDsAYgBiAZNwOoBiAGQegGaiIHQgA3AwAgBkHgBmoiCEIANwMAIAZB2AZqIglCADcDACAGQgA3A9AGIAZBqAZqIAZB0AZqEJoCQf8BcUEBRg0BCyAGQegGakIANwMAIAZB4AZqQgA3AwAgBkHYBmpCADcDACAGQgA3A9AGDAELIAcgA0EYaikDADcDACAIIANBEGopAwA3AwAgCSADQQhqKQMANwMAIAYgAykDADcD0AYLIAZB+AZqIg0gBkHQBmoiEBC5AQJAAkAgBigC+AYNACAGQcgDaiAGQaAHaikDADcDACAGQcADaiAGQZgHaiIIKQMANwMAIAZBuANqIAZBkAdqIgkpAwA3AwAgBkGwA2ogBkGIB2oiDCkDADcDACAGIAYpA4AHNwOoAyAGQegGaiABQcABaiIHQRhqIhEpAwA3AwAgBkHgBmogB0EQaiILKQMANwMAIAZB2AZqIAdBCGoiCikDADcDACAGQRI6APAGIAYgBykDADcD0AYgDSAGQagDaiIOENQBIAZBgANqIg8gDiANIBAQfCANIAEQjwEgBigC+AYNACAGQdAFaiAIKQMANwMAIAZByAVqIAkpAwA3AwAgBkHABWogDCkDADcDACAGIAYpA4AHNwO4BSAGQdADaiISIAZBuAVqIA8Q6wEgBkHABGoiDkESOgAAIAZBqARqIg8gCikDADcDACAGQbAEaiIKIAspAwA3AwAgBkG4BGoiCyARKQMANwMAIAZBEjoA8AMgBiAHKQMANwOgBCAQIAZBoARqENQBIAggDikDADcDACAJIAspAwA3AwAgDCAKKQMANwMAIAZBgAdqIA8pAwA3AwAgBiAGKQOgBDcD+AYgBkH4A2ogDSASIBAQfCAGQfgEaiABQegDaikDADcDACAGQYAFaiABQfADaikDADcDACAGQYgFaiABQfgDaikDADcDACAGQRI6AJAFIAYgASkD4AM3A/AEIA1BqMfAAEEEELcBIAYoAvgGRQRAIAYpA4gHIRcgAikDCCEaIAYpA5gHIR8gAikDGCEdIAYpA5AHIhwgAikDECIefSEYAkACfiAGKQOAByIhIAIpAwAiIFoEQCAXIBp9IRsgFyAaVK0MAQsgFyAaQn+FfCEbIBcgGlStIBcgGlGtfAsiGVAEQCAcIB5UrSEXDAELIBggGVStIBwgHlStfCEXIBggGX0hGAsgHyAdfSEZAkAgF1AEQCAdIB9YDQEMBwsgHSAfViAXIBlWcg0GIBkgF30hGQsgBkESOgDIBiAGIBk3A8AGIAYgGDcDuAYgBiAbNwOwBiAGICEgIH03A6gGIAZB0AZqIg0gBkHwBGoQ1AEgBkGYB2oiAiAGQZAFaikDADcDACAGQZAHaiIIIAZBiAVqKQMANwMAIAZBiAdqIgkgBkGABWopAwA3AwAgBkGAB2oiDCAGQfgEaikDADcDACAGIAYpA/AENwP4BiAGQcgEaiAGQfgGaiIQIAZBqAZqIg8gDRB8IAZBoAZqIhFBEjoAACAGQYgGaiILIAFBqARqKQMANwMAIAZBkAZqIgogAUGwBGopAwA3AwAgBkGYBmoiDiABQbgEaikDADcDACAGIAEpA6AENwOABiAPIAZBgAZqENQBIAZB8AZqIBEpAwA3AwAgBkHoBmogDikDADcDACAGQeAGaiAKKQMANwMAIAZB2AZqIAspAwA3AwAgBiAGKQOABjcD0AYgAiAGQegEaikDADcDACAIIAZB4ARqIgIpAwA3AwAgCSAGQdgEaiIIKQMANwMAIAwgBkHQBGoiCSkDADcDACAGIAYpA8gENwP4BiAGQdgFaiANIBAgDxB8IAkpAwAhFyACKQMAIR8gHiAIKQMAIhx9IRgCQAJ+IAYpA8gEIiEgIFgEQCAaIBd9IRsgFyAaVq0MAQsgGiAXQn+FfCEbIBcgGlatIBcgGlGtfAsiGVAEQCAcIB5WrSEXDAELIBggGVStIBwgHlatfCEXIBggGX0hGAsgHSAffSEZAkAgF1AEQCAGIBk3A7AFIAYgGDcDqAUgBiAbNwOgBSAGICAgIX03A5gFIB0gH1QNAQwECyAGIBg3A6gFIAYgGzcDoAUgBiAZIBd9NwOwBSAGICAgIX03A5gFIB0gH1QNACAXIBlYDQMLDAULIAYgBigC/AY2AtAGQczEwABBKyAGQdAGakG8xMAAQczkwAAQlQIACyAAIAYoAvwGNgIEIABBATYCAAwBCyAGQdAGaiIIIAZBmAVqIAZB2AVqEOsBIAZBEjoA8AYgBkH4BmoiCSAGQfgDaiIMENQBIAZB0AJqIgIgDCAJIAgQfCAGQaABaiAGQdgCaikDADcDACAGQagBaiAGQeACaikDADcDACAGQbABaiAGQegCaikDADcDACAGQbgBaiAGQfACaikDADcDACAGIAYpA9ACNwOYASAJIAEgBkGYAWogAxB4AkAgBigC+AZFBEAgBkHgAWogBkGgB2opAwA3AwAgBkHYAWogBkGYB2opAwA3AwAgBkHQAWogBkGQB2opAwA3AwAgBkHIAWogBkGIB2opAwA3AwAgBiAGKQOABzcDwAEgBUEHIAQbIghFDQEgAUHgA2ohBSAaQn+FISkgASkDqAQiH0J/hSEqIAlBBHIhCSAGQYAHaiEEIAEpA7gEISEgASkDsAQhIiABKQOgBCEmIAZB+QVqIQwgBkGhB2ohEQNAIAZB+AZqIgogASAGQZgBahBsAkACQAJAIAYoAvgGRQRAIAwgESgAADYAACAMQQNqIBFBA2ooAAA2AAAgBiAGLQCgByILOgD4BSAGIAYpA5gHIiQ3A/AFIAYgBikDkAciJTcD6AUgBiAGKQOIByIXNwPgBSAGIAYpA4AHIig3A9gFIAZB6AZqIAVBGGopAwA3AwAgBkHgBmogBUEQaikDADcDACAGQdgGaiAFQQhqKQMANwMAIAZBEjoA8AYgBiAFKQMANwPQBiAKQajHwABBBBC3ASAGKAL4Bg0CIAYpA4gHIRgCfiAgIAYpA4AHIidYBEAgGCAafSEcIBggGlStDAELIBggKXwhHCAYIBpUrSAYIBpRrXwLIRkgBikDkAciGyAefSEYAkAgGVAEQCAbIB5UrSEbDAELIBggGVStIBsgHlStfCEbIBggGX0hGAsgBikDmAciIyAdfSEZAkAgG1AEQCAdICNYDQEMCwsgGSAbVCAdICNWcg0KIBkgG30hGQsgBkESOgCYByAGIBk3A5AHIAYgGDcDiAcgBiAcNwOAByAGICcgIH03A/gGIAZBqAZqIAZB0AZqIAZB+AZqIgoQwwEgCkGox8AAQQQQtwECQAJAAkAgBigC+AZFBEAgBikDiAchGAJ+ICYgBikDgAciJ1gEQCAYIB99IRwgGCAfVK0MAQsgGCAqfCEcIBggH1StIBggH1GtfAshGSAGKQOQByIbICJ9IRgCQCAZUARAIBsgIlStIRsMAQsgGCAZVK0gGyAiVK18IRsgGCAZfSEYCyAGKQOYByIjICF9IRkCQCAbUARAICEgI1gNAQwPCyAZIBtUICEgI1ZyDQ4gGSAbfSEZCyAGQRI6AJgHIAYgGTcDkAcgBiAYNwOIByAGIBw3A4AHIAYgJyAmfTcD+AYgBkHQBmoiCiAGQagGaiAGQfgGaiIOEMMBIAZBkAdqIAdBGGopAwA3AwAgBkGIB2ogB0EQaikDADcDACAEIAdBCGopAwA3AwAgBkESOgCYByAGIAcpAwA3A/gGIAZBgAZqIg0gCiAOEMIBIAZB2AVqIA0QmgJB/wFxIgoOAwIBAwELIAYgBigC/AY2AtAGQczEwABBKyAGQdAGakG8xMAAQejmwAAQlQIACyAKQQFLDQEMBQsgCyAGLQCgBk8NBAsgBkEANgKIByAGQQE2AvwGIAZB0ObAADYC+AYgBkIENwKAByAGIAZB+AZqQdjmwAAQzQE2AswCDAELIAYgBigC/AY2AswCCyAGQQE2AsgCIAZByAJqQQRyEO0CDAQLIAYgBigC/AY2AqgGQczEwABBKyAGQagGakG8xMAAQfjmwAAQlQIACyAGKQOIBiEYAn4gBikDgAYiIyAoWARAIBcgGH0hGyAXIBhUrQwBCyAXIBhCf4V8IRsgFyAYVK0gFyAYUa18CyEZICUgBikDkAYiF30hGAJAIBlQBEAgFyAlVq0hFwwBCyAYIBlUrSAXICVWrXwhFyAYIBl9IRgLICQgBikDmAYiHH0hGQJAIBdQBEAgHCAkWA0BDAcLIBwgJFYgFyAZVnINBiAZIBd9IRkLIAZBEjoA8AIgBiAZNwPoAiAGIBg3A+ACIAYgGzcD2AIgBiAoICN9NwPQAiAGQfABaiACQQhqKQMANwMAIAZB+AFqIAJBEGopAwA3AwAgBkGAAmogAkEYaikDADcDACAGQYgCaiACQSBqKQMANwMAIAYgAikDADcD6AEgBkH4BmoiDSAGQcABaiAGQegBahDCASAGQcgCaiIQIAZBmAFqIA0Q6wEgBkGoAmoiCyAGQeACaiIPKQMANwMAIAZBoAJqIgogBkHYAmoiEikDADcDACAGQZgCaiIOIAIpAwA3AwAgBkESOgCwAiAGIAYpA8gCNwOQAiAGQZACaiAGQeAAahCaAkH/AXFBAUYNAiAGQegCaiAGQbACaiITKQMANwMAIA8gCykDADcDACASIAopAwA3AwAgAiAOKQMANwMAIAYgBikDkAI3A8gCIA0gASAQIAMQeCAGKAL4BiIPRQRAIAZB4AFqIARBIGopAwA3AwAgBkHYAWogBEEYaikDADcDACAGQdABaiAEQRBqKQMANwMAIAZByAFqIARBCGopAwA3AwAgBkGgAWogDikDADcDACAGQagBaiAKKQMANwMAIAZBsAFqIAspAwA3AwAgBkG4AWogEykDADcDACAGIAYpA5ACNwOYASAGIAQpAwA3A8ABIA8EQCAJEO0CCyAIQQFrIggNAQwDCwsgCRDtAgwBCyAAIAYoAvwGNgIEIABBATYCAAwBCyAAIAYpA5gBNwMIIABBADYCACAAQShqIAZBuAFqKQMANwMAIABBIGogBkGwAWopAwA3AwAgAEEYaiAGQagBaikDADcDACAAQRBqIAZBoAFqKQMANwMACyAGQbAHaiQADwsgBkEANgKIByAGQQE2AvwGIAZBlIfBADYC+AYgBkIENwKAByAGQfgGakGohcEAELMCAAsgBkEANgKIByAGQQE2AvwGIAZBsMTAADYC+AYgBkIENwKAByAGQfgGakGAxMAAELMCAAu9LQILfw5+IwBB0ARrIgMkACADQdgAaiACQSBqKQMANwMAIANB0ABqIAJBGGopAwA3AwAgA0HIAGogAkEQaikDADcDACADQUBrIAJBCGopAwA3AwAgAyACKQMANwM4IANB6ANqIAFB2AVqKQMANwMAIANB4ANqIAFB0AVqKQMANwMAIANB2ANqIAFByAVqKQMANwMAIANBEjoA8AMgAyABKQPABTcD0AMCQAJAAkACQCADQThqIANB0ANqEJoCQf8BcSICBEAgAkH/AUcNAQwCCyADLQBYQRJJDQELIANB6AJqIAFB2AFqKQMANwMAIANB4AJqIAFB0AFqKQMANwMAIANB2AJqIAFByAFqKQMANwMAIANBEjoA8AIgAyABKQPAATcD0AIgA0HwA2oiAiADQdgAaikDADcDACADQegDaiIEIANB0ABqKQMANwMAIANB4ANqIgUgA0HIAGopAwA3AwAgA0HYA2ogA0FAaykDADcDACADIAMpAzg3A9ADIANB4ABqIANB0ANqIgYgA0HQAmoQwAEgBiABEH8CQAJAAkACQAJAAkACQAJAAkACQCADKALQAw0AIANBqAFqIANB+ANqKQMANwMAIANBoAFqIAIpAwA3AwAgA0GYAWogBCkDADcDACADQZABaiAFKQMANwMAIAMgAykD2AM3A4gBIANBmANqIAFBmAVqKQMANwMAIANBkANqIAFBkAVqKQMANwMAIANBiANqIAFBiAVqKQMANwMAIANBEjoAoAMgAyABKQOABTcDgAMgA0GoBGogAUEYaikDADcDACADQaAEaiABQRBqKQMANwMAIANBmARqIAFBCGopAwA3AwAgA0ESOgCwBCADIAEpAwA3A5AEIANB8AFqIAFBOGopAwA3AwAgA0HoAWogAUEwaikDADcDACADQeABaiABQShqKQMANwMAIAMgASkDIDcD2AEgBiADQZAEaiADQdgBahDGASADKALQAw0AIAMpA+ADIg8gAykDaHwiDiAPVCECIAMpA+gDIQ8gAykDcCETIAMpA9gDIhEgAykDYHwiEiARWgR+IAKtBSAOQgF8Ig5QrSACrXwLIREgAykD8AMhECADKQN4IRUgDyAPIBN8Ig9WIQIgEVAEfiACrQUgDyAPIBF8Ig9WrSACrXwLIREgECAQIBV8IhBWIQICQCARUARAIAMgEDcDwAMgAyAPNwO4AyADIA43A7ADIAMgEjcDqAMgAkUNAQwLCyADIA83A7gDIAMgDjcDsAMgAyASNwOoAyADIBAgEXwiDzcDwAMgAiAPIBBUcg0KCyADQRI6AMgDIANBgAJqIANBgANqIANBqANqEMEBIANB0ANqQcyBwABBBBC2ASADKALQAw0BIAMpA+gDIRIgAykD4AMhDiABKQPQBiEQIAEpA8gGIQ8CfiADKQPYAyIWIAEpA8AGIhdaBEAgDiAPfSETIA4gD1StDAELIA4gD0J/hXwhEyAOIA9UrSAOIA9RrXwLIREgAykD8AMhFCABKQPYBiEVIBIgEH0hDgJAIBFQBEAgECASVq0hEgwBCyAOIBFUrSAQIBJWrXwhEiAOIBF9IQ4LIBQgFX0hEQJAIBJQBEAgFCAVWg0BDA4LIBQgFVQgESASVHINDSARIBJ9IRELIANBEjoA8AMgAyARNwPoAyADIA43A+ADIAMgEzcD2AMgAyAWIBd9NwPQAyADQdACaiIIIANBgAJqIANB0ANqIgkQcQJAAkAgAygC0AJFBEAgA0HQAWoiBCADQfgCaikDADcDACADQcgBaiIFIANB8AJqIgopAwA3AwAgA0HAAWoiBiADQegCaiILKQMANwMAIANBuAFqIgcgA0HgAmoiDCkDADcDACADIAMpA9gCNwOwASADQagEaiABQcABaiICQRhqKQMANwMAIANBoARqIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADQRI6ALAEIAMgAikDADcDkAQgCiAEKQMANwMAIAsgBSkDADcDACAMIAYpAwA3AwAgA0HYAmogBykDADcDACADIAMpA7ABNwPQAiADQegDaiABQYAFaiICQRhqKQMANwMAIANB4ANqIAJBEGopAwA3AwAgA0HYA2ogAkEIaikDADcDACADQRI6APADIAMgAikDADcD0AMgA0GoA2ogA0GQBGogCCAJEHsgByADQbADaikDADcDACAGIANBuANqKQMANwMAIAUgA0HAA2opAwA3AwAgBCADQcgDaikDADcDACADIAMpA6gDNwOwASADQYgBaiADQbABahCaAkH/AXEiAkUNASACQf8BRw0CDAkLIAMoAtQCIQEMCQsgAy0AqAEgAy0A0AFJDQcLIAMpA8ABIRMgAykDuAEhDiADKQOYASEUIAMpA5ABIRECfiADKQOIASIaIAMpA7ABIhtaBEAgESAOfSEZIA4gEVatDAELIBEgDkJ/hXwhGSAOIBFWrSAOIBFRrXwLIRIgAykDyAEhFiADKQOgASEYIBQgE30hDgJAIBJQBEAgEyAUVq0hEwwBCyAOIBJUrSATIBRWrXwhEyAOIBJ9IQ4LIBggFn0hEQJAIBNQBEAgFiAYWA0BDA4LIBEgE1QgFiAYVnINDSARIBN9IRELIANBEjoA+AEgAyARNwPwASADIA43A+gBIAMgGTcD4AEgAyAaIBt9NwPYASADQdADakHMgcAAQQQQtgECQAJAAkACQAJAIAMoAtADRQRAIANB8AJqIANB+ANqKQMANwMAIANB6AJqIANB8ANqKQMANwMAIANB4AJqIANB6ANqKQMANwMAIANB2AJqIANB4ANqKQMANwMAIAMgAykD2AM3A9ACIANB2AFqIANB0AJqEJoCQf8BcQ4CAQMCCyADIAMoAtQDNgKQBEG4gsAAQSsgA0GQBGpBqILAAEHMhcAAEJUCAAsgAy0A+AEgAy0A8AJPDQELIANBoANqIANB+AFqKQMANwMAIANBmANqIANB8AFqKQMANwMAIANBkANqIANB6AFqKQMANwMAIANBiANqIANB4AFqKQMANwMAIAMgAykD2AE3A4ADIANB0ANqIgJBzIHAAEEEELYBIAMoAtADDQEgA0GwBGogA0H4A2opAwA3AwAgA0GoBGogA0HwA2opAwA3AwAgA0GgBGogA0HoA2opAwA3AwAgA0GYBGogA0HgA2opAwA3AwAgAyADKQPYAzcDkAQgAkHMgcAAQQQQtgEgAygC0ANFDQIgAyADKALUAzYCqANBuILAAEErIANBqANqQaiCwABBrIXAABCVAgALIANBoAJqIANB+AFqKQMANwMAIANBmAJqIANB8AFqKQMANwMAIANBkAJqIANB6AFqKQMANwMAIANBiAJqIANB4AFqKQMANwMAIAMgAykD2AE3A4ACIANB0ANqIgJBzIHAAEEEELYBIAMoAtADDQQgA0HIAmogA0HwA2opAwA3AwAgA0HAAmogA0HoA2opAwA3AwAgA0G4AmogA0HgA2opAwA3AwAgAyADKQPYAzcDsAIgAyADKAD5AzYCqAIgAyADQfwDaigAADYAqwIgAy0A+AMhBCACQcyBwABBBBC2ASADKALQAw0FIAMpA+gDIRIgAykD4AMhDgJ+IBcgAykD2AMiFlgEQCAOIA99IRMgDiAPVK0MAQsgDiAPQn+FfCETIA4gD1StIA4gD1GtfAshESADKQPwAyEUIBIgEH0hDwJAIBFQBEAgECASVq0hEAwBCyAPIBFUrSAQIBJWrXwhECAPIBF9IQ8LIBQgFX0hDgJAIBBQBEAgFCAVWg0BDBALIA4gEFQgFCAVVHINDyAOIBB9IQ4LIANBEjoAyAMgAyAONwPAAyADIA83A7gDIAMgEzcDsAMgAyAWIBd9NwOoA0IBIQ9CACEOAkACQAJAIAQOAgIBAAtCCiEPIAQhAkIBIRFCACEQA0AgA0EQaiAPQgEgAkEBcSIFGyAOQgAgBRsgESAQEJQCIANBIGogDyAOIA8gDhCUAiACQQNLIANBKGopAwAhDiADQRhqKQMAIRAgAykDICEPIAMpAxAhESACQQF2IQINAAsgAyARIBAgDyAOEJQCIANBCGopAwAhDiADKQMAIQ8MAQtCCiEPCyADQYgDaiICIA43AwAgAyAPNwOAAyADQQE2AtQDIANBsJTAADYC0AMgA0IBNwLcAyADIANBgANqrUKAgICAEIQ3A8gEIAMgA0HIBGo2AtgDIANBvARqIANB0ANqEM8BIANBqARqQgA3AwAgA0IANwOgBCACKQMAIQ8gAykDgAMhDiADKAK8BCICBEAgAygCwAQgAhCMAwsgA0ESOgCwBCADIA43A5AEIAMgDzcDmAQgA0HoA2ogA0HIAmopAwA3AwAgA0HgA2ogA0HAAmopAwA3AwAgA0HYA2ogA0G4AmopAwA3AwAgA0H0A2ogAygAqwI2AAAgAyADKQOwAjcD0AMgAyAEOgDwAyADIAMoAqgCNgDxAyADQYADaiICIANB0ANqIANBkARqIANBqANqEHUgA0HQAmogA0GAAmogAhBxIAMoAtACDQYMBwsgAyADKALUAzYCkARBuILAAEErIANBkARqQaiCwABBvIXAABCVAgALIAMpA+gDIRIgAykD4AMhDgJ+IBcgAykD2AMiFlgEQCAOIA99IRMgDiAPVK0MAQsgDiAPQn+FfCETIA4gD1StIA4gD1GtfAshESADKQPwAyEUIBIgEH0hDwJAIBFQBEAgECASVq0hEAwBCyAPIBFUrSAQIBJWrXwhECAPIBF9IQ8LIBQgFX0hDgJAIBBQBEAgFCAVWg0BDA4LIA4gEFQgFCAVVHINDSAOIBB9IQ4LIANBEjoA8AMgAyAONwPoAyADIA83A+ADIAMgEzcD2AMgAyAWIBd9NwPQAyADQagDaiICIANBkARqIANB0ANqEMABIANB0AJqIANBgANqIAIQcSADKALQAkUEQAwGCyADKALUAiEBDAcLIAMoAtQDIQEMBgsgAyADKALUAzYCkARBuILAAEErIANBkARqQaiCwABB3IXAABCVAgALIAMgAygC1AM2ApAEQbiCwABBKyADQZAEakGogsAAQeSEwAAQlQIACyADIAMoAtQDNgKQBEG4gsAAQSsgA0GQBGpBqILAAEHUhMAAEJUCAAsgAygC1AIhAQwCCyADQfgBaiADQfgCaikDADcDACADQfABaiADQfACaikDADcDACADQegBaiADQegCaikDADcDACADQeABaiADQeACaikDADcDACADIAMpA9gCNwPYASADQegDaiABQZgBaikDADcDACADQeADaiABQZABaikDADcDACADQdgDaiABQYgBaikDADcDACADQRI6APADIAMgASkDgAE3A9ADAkACQCADQdADaiADQdgBahCaAkH/AXEiAgRAIAJB/wFHDQEMAgsgAy0A+AFBEksNAQsgASkDkAEhECABKQOIASEPIAMpA+gBIRMgAykD4AEhDgJ+IAEpA4ABIhQgAykD2AEiFloEQCAPIA59IRIgDiAPVq0MAQsgDyAOQn+FfCESIA4gD1atIA4gD1GtfAshESABKQOYASEVIAMpA/ABIRcgECATfSEPAkAgEVAEQCAQIBNUrSEQDAELIA8gEVStIBAgE1StfCEQIA8gEX0hDwsgFSAXfSEOAkACQCAQUARAIBUgF1oNAQwCCyAVIBdUIA4gEFRyDQEgDiAQfSEOCyADQRI6APgDIAMgDjcD8AMgAyAPNwPoAyADIBI3A+ADIAMgFCAWfSIUNwPYAyADQgE3A9ADIANBsARqIANB2ABqKQMANwMAIANBqARqIgQgA0HQAGopAwA3AwAgA0GgBGoiBSADQcgAaikDADcDACADQZgEaiIHIANBQGspAwA3AwAgAyADKQM4NwOQBCADQdACaiIIIAEgA0GQBGoiCSADQdADaiIGEKUCAkACfwJAAkAgAygC0AJFBEAgA0HAA2ogA0HwAmoiCikDADcDACADQbgDaiADQegCaiILKQMANwMAIANBsANqIANB4AJqIgwpAwA3AwAgA0HMA2ogA0H8AmooAAA2AAAgAyADKQPYAjcDqAMgAyADKAD5AjYAyQMgAyADLQD4AiICOgDIAyAGIAEQeSADKALQAw0BIAQgA0HwA2opAwA3AwAgBSADQegDaikDADcDACAHIANB4ANqKQMANwMAIANBtARqIANB/ANqKAAANgAAIAMgAykD2AM3A5AEIAMgAygA+QM2ALEEIAMgAy0A+AMiBDoAsAQgA0GoA2ogCRCaAiIFQX8gAiAERyACIARJGyAFQf8BcRtB/wFxQQFGDQIgCiADQdgAaikDADcDACALIANB0ABqKQMANwMAIAwgA0HIAGopAwA3AwAgA0HYAmogA0FAaykDADcDACADIAMpAzg3A9ACIAYgASAIEIQBIAMoAtADRQ0EIAMoAtQDIQEgAEEBNgIAIAAgATYCBAwMCyADKALUAiEBIABBATYCACAAIAE2AgQMCwsgAygC1AMMAQsgA0EANgLgAyADQQE2AtQDIANB/IvAADYC0AMgA0IENwLYAyADQdADakGEjMAAEM0BCyEBIABBATYCACAAIAE2AgQMCAsgAykD6AMhFSADKQPgAyEQAn4gAykD2AMiFiAUWARAIBIgEH0hEyAQIBJWrQwBCyASIBBCf4V8IRMgECASVq0gECASUa18CyERIAMpA/ADIRcgDyAVfSEQAkAgEVAEQCAPIBVUrSESDAELIBAgEVStIA8gFVStfCESIBAgEX0hEAsgDiAXfSEPAkACQCASUARAIA4gF1oNAQwCCyAOIBdUIA8gElRyDQEgDyASfSEPCyAAQRI6ACggACAPNwMgIAAgEDcDGCAAIBM3AxAgAEEANgIAIAAgFCAWfTcDCAwICwwICwwHCyADQegDaiABQYABaiIBQRhqKQMANwMAIANB4ANqIAFBEGopAwA3AwAgA0HYA2ogAUEIaikDADcDACADQQI2AtQCIANBjIXAADYC0AIgA0ICNwLcAiADQRI6APADIANCgICAgDAiDyADQdgBaq2ENwOYBCADIA8gA0HQA2qthDcDkAQgAyABKQMANwPQAyADIANBkARqNgLYAiADQYQEaiIBIANB0AJqEIsCIAFBnIXAABCFAiEBDAELIANBAjYC1AMgA0G0hMAANgLQAyADQgI3AtwDIANCgICAgDAiDyADQbABaq2ENwPYAiADIA8gA0GIAWqthDcD0AIgAyADQdACajYC2AMgA0GQBGoiASADQdADahDPASADQTBqIAFBsL7AAEHEhMAAEKcCIAMoAjQhAiADKAIwIQQgA0HYA2oiBSADQZgEaigCADYCAEGR3sEALQAAGiADIAMpApAENwPQA0EYQQQQ+AIiAUUNASABIAQ2AgQgAUGYv8AANgIAIAEgAykD0AM3AgwgASACNgIIIAFBFGogBSgCADYCAAsgAEEBNgIAIAAgATYCBAwDC0EEQRgQqQMACyADQQA2AuADIANBATYC1AMgA0GsvMAANgLQAyADQgQ3AtgDIANB0ANqQbS6wAAQswIACyADQQA2AuADIANBATYC1AMgA0G8i8AANgLQAyADQgQ3AtgDIANB0ANqQcSLwAAQzQEhASAAQQE2AgAgACABNgIECyADQdAEaiQADwsgA0EANgLgAyADQQE2AtQDIANBqJTAADYC0AMgA0IENwLYAyADQdADakH4k8AAELMCAAu2LAIJfw5+IwBBkAZrIgUkACAFQeAAaiACQSBqKQMANwMAIAVB2ABqIAJBGGopAwA3AwAgBUHQAGogAkEQaikDADcDACAFQcgAaiACQQhqKQMANwMAIAUgAikDADcDQCAFQegAaiIGIAEgAyAEELABIAVB+ARqQeSGwABBARC2AQJAAkAgAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAFKAL4BEUEQCAFQeADaiAFQaAFaikDADcDACAFQdgDaiAFQZgFaikDADcDACAFQdADaiAFQZAFaikDADcDACAFQcgDaiAFQYgFaikDADcDACAFIAUpA4AFNwPAAyAGIAVBwANqEJoCIgRB/wFxDgMBAgMCCyAFIAUoAvwENgK4AUG4gsAAQSsgBUG4AWpBqILAAEGAk8AAEJUCAAsgBS0AiAEiAyAFLQDgAyIESQ0BIAMgBEchBAsgBEH/AXFBAUYNAQsgBUH4BGpB5IbAAEEBELYBIAUoAvgEDQEgACAFKQOABTcDCCAAQShqIAVBoAVqKQMANwMAIABBIGogBUGYBWopAwA3AwAgAEEYaiAFQZAFaikDADcDACAAQRBqIAVBiAVqKQMANwMAQQAMCwtCASEPAkACQAJAIAItACAiAg4CAgEAC0IKIQ9CASEQA0AgBUEgaiAPQgEgAkEBcSIDGyAOQgAgAxsgECAREJQCIAVBMGogDyAOIA8gDhCUAiACQQNLIAVBOGopAwAhDiAFQShqKQMAIREgBSkDMCEPIAUpAyAhECACQQF2IQINAAsgBUEQaiAQIBEgDyAOEJQCIAVBGGopAwAhDiAFKQMQIQ8MAQtCCiEPCyAFQcABaiICIA43AwAgBSAPNwO4ASAFQQE2AvwEIAVBsJTAADYC+AQgBUIBNwKEBSAFIAVBuAFqrUKAgICAEIQ3A5gEIAUgBUGYBGo2AoAFIAVBqAVqIAVB+ARqEM8BIAVB2ANqQgA3AwAgBUIANwPQAyACKQMAIQ4gBSkDuAEhECAFKAKoBSICBEAgBSgCrAUgAhCMAwsgBUESOgDgAyAFIBA3A8ADIAUgDjcDyAMgBUGYBWoiAyAFQYgBaikDADcDACAFQZAFaiIEIAVBgAFqKQMANwMAIAVBiAVqIgIgBUH4AGopAwA3AwAgBUGABWoiByAFQfAAaikDADcDACAFIAUpA2g3A/gEIAVBkAFqIgggBUFAayAFQfgEaiIGIAVBwANqEHUgBiABEH8gBSgC+AQNBiAFQYgCaiAFQaAFaikDADcDACAFQYACaiADKQMANwMAIAVB+AFqIAQiAykDADcDACAFQfABaiACKQMANwMAIAUgBSkDgAU3A+gBIAMgAUGYAWopAwA3AwAgAiABQZABaikDADcDACAHIAFBiAFqKQMANwMAIAVBEjoAmAUgBSABKQOAATcD+AQCQCAGIAgQmgJB/wFxIgIEQCACQf8BRw0BDAoLIAUtAJgFIAUtALABSQ0JCyABKQOQASERIAEpA4gBIQ4gBSkDoAEhFSAFKQOYASEPAn4gASkDgAEiFCAFKQOQASIWWgRAIA4gD30hEyAOIA9UrQwBCyAOIA9Cf4V8IRMgDiAPVK0gDiAPUa18CyEQIAEpA5gBIRIgBSkDqAEhFyARIBV9IQ8CQCAQUARAIBEgFVStIREMAQsgDyAQVK0gESAVVK18IREgDyAQfSEPCyASIBd9IQ4CQCARUARAIBIgF1oNAQwOCyASIBdUIA4gEVRyDQ0gDiARfSEOCyAFQRI6AMgFIAUgDjcDwAUgBSAPNwO4BSAFIBM3A7AFIAUgFCAWfTcDqAUgBUH4BGpBzIHAAEEEELYBIAUoAvgEDQQgBSkDkAUhEiAFKQOIBSEOIAEpA9AGIREgASkDyAYhDwJ+IAUpA4AFIhYgASkDwAYiF1oEQCAOIA99IRMgDiAPVK0MAQsgDiAPQn+FfCETIA4gD1StIA4gD1GtfAshECAFKQOYBSEUIAEpA9gGIRUgEiARfSEOAkAgEFAEQCARIBJWrSESDAELIA4gEFStIBEgElatfCESIA4gEH0hDgsgFCAVfSEQAkAgElAEQCAUIBVaDQEMDgsgFCAVVCAQIBJUcg0NIBAgEn0hEAsgBUESOgCYBSAFIBA3A5AFIAUgDjcDiAUgBSATNwOABSAFIBYgF303A/gEIAVBwANqIAVBqAVqIAVB+ARqEHECQAJAIAUoAsADRQRAIAVBsAJqIAVB6ANqKQMANwMAIAVBqAJqIAVB4ANqKQMANwMAIAVBoAJqIAVB2ANqKQMANwMAIAVBmAJqIAVB0ANqKQMANwMAIAUgBSkDyAM3A5ACIAVB6AFqIAVBkAJqEJoCQf8BcSICRQ0BIAJB/wFHDQIMCgsgBSgCxAMhAgwLCyAFLQCIAiAFLQCwAkkNCAsgBSkDoAIhEyAFKQOYAiEOIAUpA/gBIRQgBSkD8AEhEAJ+IAUpA+gBIhogBSkDkAIiG1oEQCAQIA59IRkgDiAQVq0MAQsgECAOQn+FfCEZIA4gEFatIA4gEFGtfAshEiAFKQOoAiEWIAUpA4ACIRggFCATfSEOAkAgElAEQCATIBRWrSETDAELIA4gElStIBMgFFatfCETIA4gEn0hDgsgGCAWfSEQAkAgE1AEQCAWIBhYDQEMDgsgECATVCAWIBhWcg0NIBAgE30hEAsgBUESOgDIBSAFIBA3A8AFIAUgDjcDuAUgBSAZNwOwBSAFIBogG303A6gFIAVB2ANqIgIgAUGYBWopAwA3AwAgBUHQA2oiAyABQZAFaikDADcDACAFQcgDaiIEIAFBiAVqKQMANwMAIAVBEjoA4AMgBSABKQOABTcDwAMgBUGQBWoiBiABQdgBaikDADcDACAFQYgFaiIHIAFB0AFqKQMANwMAIAVBgAVqIAFByAFqKQMANwMAIAVBEjoAmAUgBSABKQPAATcD+AQgBUHIAmoiCCAFQagFaiAFQcADaiIJIAVB+ARqIgoQdSAKQcyBwABBBBC2AQJAAkACQAJAAkAgBSgC+ARFBEAgBUHgA2ogBUGgBWopAwA3AwAgAiAFQZgFaikDADcDACADIAYpAwA3AwAgBCAHKQMANwMAIAUgBSkDgAU3A8ADIAggCRCaAkH/AXEOAgEDAgsgBSAFKAL8BDYCqAVBuILAAEErIAVBqAVqQaiCwABBgITAABCVAgALIAUtAOgCIAUtAOADTw0BCyAFQZAEaiAFQegCaikDADcDACAFQYgEaiAFQeACaikDADcDACAFQYAEaiAFQdgCaikDADcDACAFQfgDaiAFQdACaikDADcDACAFIAUpA8gCNwPwAyAFQfgEaiICQcyBwABBBBC2ASAFKAL4BA0BIAVByAVqIAVBoAVqKQMANwMAIAVBwAVqIAVBmAVqKQMANwMAIAVBuAVqIAVBkAVqKQMANwMAIAVBsAVqIAVBiAVqKQMANwMAIAUgBSkDgAU3A6gFIAJBzIHAAEEEELYBIAUoAvgERQ0CIAUgBSgC/AQ2ApgEQbiCwABBKyAFQZgEakGogsAAQeCDwAAQlQIACyAFQZADaiAFQegCaikDADcDACAFQYgDaiAFQeACaikDADcDACAFQYADaiAFQdgCaikDADcDACAFQfgCaiAFQdACaikDADcDACAFIAUpA8gCNwPwAiAFQfgEaiICQcyBwABBBBC2ASAFKAL4BA0DIAVBuANqIAVBoAVqKQMANwMAIAVBsANqIAVBmAVqKQMANwMAIAVBqANqIAVBkAVqKQMANwMAIAVBoANqIAVBiAVqKQMANwMAIAUgBSkDgAU3A5gDIAJBzIHAAEEEELYBIAUoAvgEDQQgBSkDkAUhEiAFKQOIBSEOAn4gFyAFKQOABSIWWARAIA4gD30hEyAOIA9UrQwBCyAOIA9Cf4V8IRMgDiAPVK0gDiAPUa18CyEQIAUpA5gFIRQgEiARfSEPAkAgEFAEQCARIBJWrSERDAELIA8gEFStIBEgElatfCERIA8gEH0hDwsgFCAVfSEOAkAgEVAEQCAUIBVaDQEMEAsgDiARVCAUIBVUcg0PIA4gEX0hDgsgBUESOgC4BCAFIA43A7AEIAUgDzcDqAQgBSATNwOgBCAFIBYgF303A5gEIAVBqAVqIgIgBUGYA2oQ0wEgBUGYBWogBUG4A2opAwA3AwAgBUGQBWogBUGwA2opAwA3AwAgBUGIBWogBUGoA2opAwA3AwAgBUGABWogBUGgA2opAwA3AwAgBSAFKQOYAzcD+AQgBUHwA2oiAyAFQfgEaiACIAVBmARqEHUgBUHAA2ogBUHwAmogAxBxIAUoAsADDQUMBwsgBSAFKAL8BDYCqAVBuILAAEErIAVBqAVqQaiCwABB8IPAABCVAgALIAUpA5AFIRIgBSkDiAUhDgJ+IBcgBSkDgAUiFlgEQCAOIA99IRMgDiAPVK0MAQsgDiAPQn+FfCETIA4gD1StIA4gD1GtfAshECAFKQOYBSEUIBIgEX0hDwJAIBBQBEAgESASVq0hEQwBCyAPIBBUrSARIBJWrXwhESAPIBB9IQ8LIBQgFX0hDgJAIBFQBEAgFCAVWg0BDA4LIA4gEVQgFCAVVHINDSAOIBF9IQ4LIAVBEjoAmAUgBSAONwOQBSAFIA83A4gFIAUgEzcDgAUgBSAWIBd9NwP4BCAFQZgEaiICIAVBqAVqIAVB+ARqEMABIAVBwANqIAVB8ANqIAIQcSAFKALAA0UEQAwGCyAFKALEAyECDAkLIAUgBSgC/AQ2AsADQbiCwABBKyAFQcADakGogsAAQfCSwAAQlQIACyAFIAUoAvwENgKoBUG4gsAAQSsgBUGoBWpBqILAAEH0gsAAEJUCAAsgBSAFKAL8BDYCqAVBuILAAEErIAVBqAVqQaiCwABB5ILAABCVAgALIAUoAsQDIQIMBQsgBSAFKAL8BDYCmARBuILAAEErIAVBmARqQaiCwABBkITAABCVAgALIAVB6AJqIAVB6ANqKQMANwMAIAVB4AJqIAVB4ANqKQMANwMAIAVB2AJqIAVB2ANqKQMANwMAIAVB0AJqIAVB0ANqKQMANwMAIAUgBSkDyAM3A8gCIAVByARqIAVB0AJqIgMpAwA3AwAgBUHQBGogBUHYAmoiBCkDADcDACAFQdgEaiAFQeACaiIGKQMANwMAIAVB4ARqIAVB6AJqIgcpAwA3AwAgBSAFKQPIAjcDwAQgBUHYA2oiCCABQYAFaiICQRhqKQMANwMAIAVB0ANqIgkgAkEQaikDADcDACAFQcgDaiIKIAJBCGopAwA3AwAgBUESOgDgAyAFIAIpAwA3A8ADIAVB+ARqIgIgBUHABGoiCxDTASAFQagFaiIMIAsgAiAFQcADaiILEHUgAyAFQbAFaiIDKQMANwMAIAQgBUG4BWoiBCkDADcDACAGIAVBwAVqIgYpAwA3AwAgByAFQcgFaikDADcDACAFIAUpA6gFNwPIAiAIIAFBGGopAwA3AwAgCSABQRBqKQMANwMAIAogAUEIaikDADcDACAFQRI6AOADIAUgASkDADcDwAMgBUGwBGogAUE4aikDADcDACAFQagEaiABQTBqKQMANwMAIAVBoARqIAFBKGopAwA3AwAgBSABKQMgNwOYBCACIAsgBUGYBGoQxgEgBSgC+AQNACABQSBqIQIgBiAFQZgFaikDADcDACAEIAVBkAVqKQMANwMAIAMgBUGIBWopAwA3AwAgBUHMBWogBUGkBWooAAA2AAAgBSAFKQOABTcDqAUgBSAFKAChBTYAyQUgBSAFLQCgBSIDOgDIBQJAAkAgBUHIAmogDBCaAkH/AXEiBARAIARB/wFHDQEMAgsgBS0A6AIgA0kNAQsgBUHYBWogBUHQAmopAwA3AwAgBUHgBWogBUHYAmopAwA3AwAgBUHoBWogBUHgAmopAwA3AwAgBSAFKQPIAjcD0AUgBUHYA2ogAUEYaikDADcDACAFQdADaiABQRBqKQMANwMAIAVByANqIAFBCGopAwA3AwAgBUESOgDgAyAFIAEpAwA3A8ADIAVBwAVqIAJBGGopAwA3AwAgBUG4BWogAkEQaikDADcDACAFQbAFaiACQQhqKQMANwMAIAUgAikDADcDqAUgBUH4BGogBUHAA2ogBUGoBWoQxgEgBSgC+AQNASAFQYgGaiAFQZgFaikDADcDACAFQYAGaiAFQZAFaikDADcDACAFQfgFaiAFQYgFaikDADcDACAFIAUpA4AFNwPwBSAFQcABaiAFQdAFaiAFQfAFahDdASAFQeABaiIBQRI6AAAgAEEoaiABKQMANwMAIABBIGogBUHYAWopAwA3AwAgAEEYaiAFQdABaikDADcDACAAQRBqIAVByAFqKQMANwMAIAAgBSkDwAE3AwhBAAwFCyAFQdgDaiABQRhqKQMANwMAIAVB0ANqIAFBEGopAwA3AwAgBUHIA2ogAUEIaikDADcDACAFQRI6AOADIAUgASkDADcDwAMgBUGwBGogAkEYaikDADcDACAFQagEaiACQRBqKQMANwMAIAVBoARqIAJBCGopAwA3AwAgBSACKQMANwOYBCAFQfgEaiAFQcADaiAFQZgEahDGASAFKAL4BA0AIAVByAVqIAVBoAVqKQMANwMAIAVBwAVqIAVBmAVqKQMANwMAIAVBuAVqIAVBkAVqKQMANwMAIAVBsAVqIAVBiAVqKQMANwMAIAUgBSkDgAU3A6gFIAVBAzYC9AMgBUG4g8AANgLwAyAFQgI3AvwDIAVCgICAgDAiDiAFQagFaq2ENwP4AiAFIA4gBUHIAmqthDcD8AIgBSAFQfACajYC+AMgBUHsBGoiASAFQfADahCLAiABQdCDwAAQhQIhAgwDCyAFKAL8BCECDAILIAVBAzYC/AQgBUGAgsAANgL4BCAFQgI3AoQFIAVCgICAgDAiDiAFQZACaq2ENwPIAyAFIA4gBUHoAWqthDcDwAMgBSAFQcADajYCgAUgBUG8AmoiASAFQfgEahDPASABQZiCwAAQhQIhAgwBCyAFQZAFaiABQYABaiIBQRhqKQMANwMAIAVBiAVqIAFBEGopAwA3AwAgBUGABWoiAyABQQhqKQMANwMAIAVBAzYCxAMgBUG0gMAANgLAAyAFQgI3AswDIAVBEjoAmAUgBUKAgICAMCIOIAVBkAFqrYQ3A7AFIAUgDiAFQfgEaq2ENwOoBSAFIAEpAwA3A/gEIAUgBUGoBWo2AsgDIAVBmARqIgEgBUHAA2oQzwEgBUEIaiABQbC+wABBvIHAABCnAiAFKAIMIQEgBSgCCCEEIAMgBUGgBGooAgA2AgBBkd7BAC0AABogBSAFKQKYBDcD+ARBGEEEEPgCIgJFDQIgAiAENgIEIAJBmL/AADYCACACIAUpA/gENwIMIAIgATYCCCACQRRqIAMoAgA2AgALIAAgAjYCBEEBCzYCACAFQZAGaiQADwtBBEEYEKkDAAsgBUEANgKIBSAFQQE2AvwEIAVBqJTAADYC+AQgBUIENwKABSAFQfgEakH4k8AAELMCAAvZKAILfw1+IwBBkAVrIgMkACADQeADaiABEIABAkACQAJAAkACQAJAAkACQAJAAkAgAygC4ANFBEAgA0GQAWogA0GIBGopAwA3AwAgA0GIAWogA0GABGopAwA3AwAgA0GAAWogA0H4A2opAwA3AwAgA0H4AGogA0HwA2opAwA3AwAgAyADKQPoAzcDcCABKQOIASIOIAIpAwh8Ig8gDlQhBCACKQMQIAEpA5ABIRYgASkDgAEiDiACKQMAfCITIA5aBH4gBK0FIA9CAXwiD1CtIAStfAshECACKQMYIRIgASkDmAEhESAWfCIOIBZUIQIgEFAEfiACrQUgDiAOIBB8Ig5WrSACrXwLIRAgESASfCISIBFUIQICQCAQUARAIAMgEjcDqAQgAyAONwOgBCADIA83A5gEIAMgEzcDkAQgAkUNAQwLCyADIA43A6AEIAMgDzcDmAQgAyATNwOQBCADIBAgEnwiDjcDqAQgAiAOIBJUcg0KCyADQRI6ALAEIANB4ANqQajHwABBBBC3ASADKALgAw0BIAMpA/gDIRQgAykD8AMhEiABKQPQBiEXIAEpA8gGIRUCfiADKQPoAyIOIAEpA8AGIhpaBEAgEiAVVK0hECASIBV9DAELIBIgFVStIBIgFVGtfCEQIBIgFUJ/hXwLIRMgAykDgAQhEiABKQPYBiEYIBQgF30hDwJAIBBQBEAgFCAXVK0hGQwBCyAPIBBUrSAUIBdUrXwhGSAPIBB9IQ8LIBIgGH0hEAJAIBlQBEAgEiAYWg0BDAwLIBIgGFQgECAZVHINCyAQIBl9IRALIANBEjoAgAQgAyAQNwP4AyADIA83A/ADIAMgEzcD6AMgAyAOIBp9NwPgAyADQbgCaiADQZAEaiADQeADahByAkACQCADKAK4AkUEQCADQbgBaiADQeACaikDADcDACADQbABaiADQdgCaikDADcDACADQagBaiADQdACaikDADcDACADQaABaiADQcgCaikDADcDACADIAMpA8ACNwOYASADQfAAaiADQZgBahCaAkH/AXEiAkUNASACQf8BRw0CDAkLIAMoArwCIQEgAEEBNgIAIAAgATYCBAwJCyADLQCQASADLQC4AUkNBwsgAykDqAEhECADKQOgASETIAMpA4ABIRYgAykDeCERAn4gAykDcCISIAMpA5gBIg5aBEAgESATVK0hGSARIBN9DAELIBEgE1StIBEgE1GtfCEZIBEgE0J/hXwLIRQgAykDsAEhEyADKQOIASERIBYgEH0hDwJAIBlQBEAgECAWVq0hFgwBCyAPIBlUrSAQIBZWrXwhFiAPIBl9IQ8LIBEgE30hEAJAIBZQBEAgESATWg0BDAwLIBEgE1QgECAWVHINCyAQIBZ9IRALIANBEjoAsAQgAyAQNwOoBCADIA83A6AEIAMgFDcDmAQgAyASIA59NwOQBCADQdACaiIGIAFBmAVqKQMANwMAIANByAJqIgcgAUGQBWopAwA3AwAgA0HAAmoiBSABQYgFaikDADcDACADQRI6ANgCIAMgASkDgAU3A7gCIANB+ANqIgQgAUHYAWopAwA3AwAgA0HwA2oiAiABQdABaikDADcDACADQegDaiABQcgBaikDADcDACADQRI6AIAEIAMgASkDwAE3A+ADIANBwAFqIgggA0GQBGogA0G4AmoiCSADQeADaiIKEHYgCkGox8AAQQQQtwECQAJAAkACQAJAIAMoAuADRQRAIANB2AJqIANBiARqKQMANwMAIAYgA0GABGopAwA3AwAgByAEKQMANwMAIAUgAikDADcDACADIAMpA+gDNwO4AiAIIAkQmgJB/wFxDgIBAwILIAMgAygC5AM2ApAEQczEwABBKyADQZAEakG8xMAAQbD0wAAQlQIACyADLQDgASADLQDYAk8NAQsgA0GIA2ogA0HgAWopAwA3AwAgA0GAA2ogA0HYAWopAwA3AwAgA0H4AmogA0HQAWopAwA3AwAgA0HwAmogA0HIAWopAwA3AwAgAyADKQPAATcD6AIgA0HgA2oiAkGox8AAQQQQtwEgAygC4AMNASADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADQaAEaiADQfgDaikDADcDACADQZgEaiADQfADaikDADcDACADIAMpA+gDNwOQBCACQajHwABBBBC3ASADKALgA0UNAiADIAMoAuQDNgKQA0HMxMAAQSsgA0GQA2pBvMTAAEGQ9MAAEJUCAAsgA0GIAmogA0HgAWopAwA3AwAgA0GAAmogA0HYAWopAwA3AwAgA0H4AWogA0HQAWopAwA3AwAgA0HwAWogA0HIAWopAwA3AwAgAyADKQPAATcD6AEgA0HgA2oiAkGox8AAQQQQtwEgAygC4AMNBCADQbACaiADQYAEaikDADcDACADQagCaiADQfgDaikDADcDACADQaACaiADQfADaikDADcDACADIAMpA+gDNwOYAiADIAMoAIkENgKQAiADIANBjARqKAAANgCTAiADLQCIBCEEIAJBqMfAAEEEELcBIAMoAuADDQUgAykD+AMhESADKQPwAyEOAn4gGiADKQPoAyISWARAIA4gFVStIRAgDiAVfQwBCyAOIBVUrSAOIBVRrXwhECAOIBVCf4V8CyETIAMpA4AEIRQgESAXfSEOAkAgEFAEQCARIBdUrSERDAELIA4gEFStIBEgF1StfCERIA4gEH0hDgsgFCAYfSEPAkAgEVAEQCAUIBhaDQEMDgsgDyARVCAUIBhUcg0NIA8gEX0hDwsgA0ESOgCwAyADIA83A6gDIAMgDjcDoAMgAyATNwOYAyADIBIgGn03A5ADQgEhDkIAIQ8CQAJAAkAgBA4CAgEAC0IKIQ4gBCECQgEhEEIAIREDQCADQcgAaiAOQgEgAkEBcSIFGyAPQgAgBRsgECAREJQCIANB2ABqIA4gDyAOIA8QlAIgAkEDSyADQeAAaikDACEPIANB0ABqKQMAIREgAykDWCEOIAMpA0ghECACQQF2IQINAAsgA0E4aiAQIBEgDiAPEJQCIANBQGspAwAhDyADKQM4IQ4MAQtCCiEOCyADQfACaiICIA83AwAgAyAONwPoAiADQQE2AuQDIANBxP3AADYC4AMgA0IBNwLsAyADIANB6AJqrUKAgICAsAeENwOIBSADIANBiAVqNgLoAyADQfwEaiADQeADahDPASADQagEakIANwMAIANCADcDoAQgAikDACESIAMpA+gCIQ4gAygC/AQiAgRAIAMoAoAFIAIQjAMLIANBEjoAsAQgAyAONwOQBCADIBI3A5gEIANB+ANqIANBsAJqKQMANwMAIANB8ANqIANBqAJqKQMANwMAIANB6ANqIANBoAJqKQMANwMAIANBhARqIAMoAJMCNgAAIAMgAykDmAI3A+ADIAMgBDoAgAQgAyADKAKQAjYAgQQgA0HoAmoiAiADQeADaiADQZAEaiADQZADahB2IANBuAJqIANB6AFqIAIQciADKAK4Ag0GDAcLIAMgAygC5AM2ApAEQczEwABBKyADQZAEakG8xMAAQaD0wAAQlQIACyADKQP4AyERIAMpA/ADIQ4CfiAaIAMpA+gDIhJYBEAgDiAVVK0hECAOIBV9DAELIA4gFVStIA4gFVGtfCEQIA4gFUJ/hXwLIRMgAykDgAQhFCARIBd9IQ4CQCAQUARAIBEgF1StIREMAQsgDiAQVK0gESAXVK18IREgDiAQfSEOCyAUIBh9IQ8CQCARUARAIBQgGFoNAQwMCyAPIBFUIBQgGFRyDQsgDyARfSEPCyADQRI6AIAEIAMgDzcD+AMgAyAONwPwAyADIBM3A+gDIAMgEiAafTcD4AMgA0GQA2oiAiADQZAEaiADQeADahDCASADQbgCaiADQegCaiACEHIgAygCuAJFBEAMBgsgAygCvAIhASAAQQE2AgAgACABNgIEDAcLIAMoAuQDIQEgAEEBNgIAIAAgATYCBAwGCyADIAMoAuQDNgKQA0HMxMAAQSsgA0GQA2pBvMTAAEHA9MAAEJUCAAsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB8PPAABCVAgALIAMgAygC5AM2ApAEQczEwABBKyADQZAEakG8xMAAQeDzwAAQlQIACyADKAK8AiEBIABBATYCACAAIAE2AgQMAgsgA0HgAWogA0HgAmopAwA3AwAgA0HYAWogA0HYAmopAwA3AwAgA0HQAWogA0HQAmopAwA3AwAgA0HIAWogA0HIAmopAwA3AwAgAyADKQPAAjcDwAEgA0HIA2ogA0HIAWopAwA3AwAgA0HQA2ogA0HQAWopAwA3AwAgA0HYA2ogA0HYAWopAwA3AwAgAyADKQPAATcDwAMgAyADKADhATYCuAMgAyADQeQBaigAADYAuwMgAy0A4AEhBCADQagEaiABQYAFaiICQRhqKQMANwMAIANBoARqIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADQRI6ALAEIAMgAikDADcDkARCASEOQgAhDwJAAkACQCAEDgICAQALQgohDiAEIQJCASEQQgAhEQNAIANBGGogDkIBIAJBAXEiBRsgD0IAIAUbIBAgERCUAiADQShqIA4gDyAOIA8QlAIgAkEDSyADQTBqKQMAIQ8gA0EgaikDACERIAMpAyghDiADKQMYIRAgAkEBdiECDQALIANBCGogECARIA4gDxCUAiADQRBqKQMAIQ8gAykDCCEODAELQgohDgsgA0GYA2oiAiAPNwMAIAMgDjcDkAMgA0EBNgLkAyADQcT9wAA2AuADIANCATcC7AMgAyADQZADaq1CgICAgLAHhDcD6AEgAyADQegBajYC6AMgA0HoAmogA0HgA2oQzwEgA0HQAmpCADcDACADQgA3A8gCIAIpAwAhEiADKQOQAyEOIAMoAugCIgIEQCADKALsAiACEIwDCyADQRI6ANgCIAMgDjcDuAIgAyASNwPAAiADQfgDaiIGIANB2ANqKQMANwMAIANB8ANqIgcgA0HQA2opAwA3AwAgA0HoA2ogA0HIA2opAwA3AwAgA0GEBGogAygAuwM2AAAgAyADKQPAAzcD4AMgAyAEOgCABCADIAMoArgDNgCBBCADQZADaiIIIANB4ANqIgkgA0G4AmoiCiADQZAEaiILEHYgA0HIAWogA0GYA2oiBSkDADcDACADQdABaiADQaADaiIEKQMANwMAIANB2AFqIANBqANqIgIpAwA3AwAgA0HgAWogA0GwA2opAwA3AwAgAyADKQOQAzcDwAEgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIAIgAUE4aikDADcDACAEIAFBMGopAwA3AwAgBSABQShqKQMANwMAIAMgASkDIDcDkAMgCSAKIAgQxgECQAJAAkACQCADKALgA0UEQCADQagEaiADQYAEaikDADcDACADQaAEaiAGKQMANwMAIANBmARqIAcpAwA3AwAgA0G0BGogA0GMBGooAAA2AAAgAyADKQPoAzcDkAQgAyADKACJBDYAsQQgAyADLQCIBCIEOgCwBAJAIAsgA0HAAWoQmgIiAkH/AXEEfyACBSADLQDgASICIARLDQEgAiAERwtB/wFxQQFGDQILIANB4ANqQbjEwABBARC3ASADKALgAw0DIAAgAykD6AM3AwggAEEoaiADQYgEaikDADcDACAAQSBqIANBgARqKQMANwMAIABBGGogA0H4A2opAwA3AwAgAEEQaiADQfADaikDADcDAAwCCyADKALkAyEBIABBATYCACAAIAE2AgQMBQsgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIANBqARqIAFBIGoiAUEYaikDADcDACADQaAEaiABQRBqKQMANwMAIANBmARqIAFBCGopAwA3AwAgAyABKQMANwOQBCADQeADaiADQbgCaiADQZAEahDGASADKALgAw0CIANB8ARqIANBgARqKQMANwMAIANB6ARqIANB+ANqKQMANwMAIANB4ARqIANB8ANqKQMANwMAIANBwARqIANByAFqKQMANwMAIANByARqIANB0AFqKQMANwMAIANB0ARqIANB2AFqKQMANwMAIAMgAykD6AM3A9gEIAMgAykDwAE3A7gEIABBCGogA0HYBGogA0G4BGoQ3wEgAEESOgAoCyAAQQA2AgAMAwsgAyADKALkAzYCuAJBzMTAAEErIANBuAJqQbzEwABBgPTAABCVAgALIAMoAuQDIQEgAEEBNgIAIAAgATYCBAwBCyADQQM2AuQDIANBuPPAADYC4AMgA0ICNwLsAyADQoCAgICgByIOIANBmAFqrYQ3A8ACIAMgDiADQfAAaq2ENwO4AiADIANBuAJqNgLoAyADQZAEaiIBIANB4ANqEM8BIANB6ABqIAFB8IXBAEHQ88AAEKcCIAMoAmwhBCADKAJoIQIgA0HoA2oiASADQZgEaigCADYCAEGR3sEALQAAGiADIAMpApAENwPgA0EYQQQQ+AIiBUUNASAFIAI2AgQgBUHYhsEANgIAIAUgAykD4AM3AgwgBSAENgIIIAVBFGogASgCADYCACAAQQE2AgAgACAFNgIECyADQZAFaiQADwtBBEEYEKkDAAsgA0EANgLwAyADQQE2AuQDIANBlIfBADYC4AMgA0IENwLoAyADQeADakGohcEAELMCAAsgA0EANgLwAyADQQE2AuQDIANBsMTAADYC4AMgA0IENwLoAyADQeADakGAxMAAELMCAAvSIAIIfw5+IwBBsANrIgUkACAFQgA3A7ABIAVBgANqIAJBIGopAwA3AwAgBUH4AmogAkEYaikDADcDACAFQfACaiACQRBqKQMANwMAIAVB6AJqIAJBCGopAwA3AwAgBSACKQMANwPgAiAFQTBqIAEgBUHgAmogBUGwAWoiChCQAQJAAkACQAJAAkACQAJAAkACQCAFKAIwRQRAIAVBgAFqIAVB2ABqKQMANwMAIAVB+ABqIAVB0ABqKQMANwMAIAVB8ABqIAVByABqKQMANwMAIAVB6ABqIAVBQGspAwA3AwAgBSAFKQM4NwNgIAVByAJqIAFByAFqIgYpAwAiDTcDACAFQdACaiABQdABaiIHKQMAIg43AwAgBUHYAmogAUHYAWoiCCkDACIRNwMAIAVBuAFqIgkgDTcDACAFQcABaiILIA43AwAgBUHIAWoiDCARNwMAIAVBEjoA0AEgBSABKQPAASINNwPAAiAFIA03A7ABIAVBCGogBUHgAGogChDCASAMIAgpAwA3AwAgCyAHKQMANwMAIAkgBikDADcDACAFQRI6ANABIAUgASkDwAE3A7ABIAVBiAFqIAIgChDCASABKQMIIg0gBSkDkAF8IhIgDVQhAiAFKQOgASABKQMQIhEgBSkDmAF8Ig4gEVQhBgJ+An4gASkDACINIAUpA4gBfCIUIA1UIghFBEAgEiEPIAKtDAELIBJCAXwiD1CtIAKtfAsiDVAEQCAOIRYgBq0MAQsgDSAOfCIWIA5UrSAGrXwLIREgASkDGCIQfCINIBBUIQcCQCARUARAIA0hESAHRQ0BDAkLIAcNCCANIBF8IhEgDVQNCAsgBUESOgDQASAFIBE3A8gBIAUgFjcDwAEgBSAPNwO4ASAFIBQ3A7ABIAVBsAFqIAVBCGoQmgJB/wFxIglFDQEgCUH/AUcNAgwDCyAFKAI0IQEgAEEBNgIAIAAgATYCBAwECyAFLQAoQRJLDQELAkACQCAIBH4gEkIBfCISUK0gAq18BSACrQsiEVAEfiAGrQUgDiAOIBF8Ig5WrSAGrXwLIhFQBEAgB0UNAQwCCyAHDQEgDSANIBF8Ig1WDQELIAUpAxghDyAFKQMQIRECfiAFKQMIIhggFFgEQCARIBJWrSEQIBIgEX0MAQsgESASVq0gESASUa18IRAgEiARQn+FfAshFiAFKQMgIRMgDiAPfSESAkAgEFAEQCAOIA9UrSEODAELIBAgElatIA4gD1StfCEOIBIgEH0hEgsgDSATfSERAkACQCAOUARAIA0gE1oNAQwCCyANIBNUIA4gEVZyDQEgESAOfSERCyABKQPIAyIOIAMpAwh8Ig0gDlQhAiADKQMQIRAgASkD0AMhDiABKQPAAyIPIAMpAwB8IhMgD1oEfiACrQUgDUIBfCINUK0gAq18CyEPIAMpAxggASkD2AMhFyAOIA4gEHwiDlYhAiAPUAR+IAKtBSAOIA4gD3wiDlatIAKtfAshECAXfCIPIBdUIQICQAJAIBBQBEAgBSAPNwOIAiAFIA43A4ACIAUgDTcD+AEgBSATNwPwASACRQ0BDAILIAUgDjcDgAIgBSANNwP4ASAFIBM3A/ABIAUgDyAQfCINNwOIAiACIA0gD1RyDQELIAVBEjoAkAIgBCkDGCEQIAQpAxAhFSAEKQMIIRMgBCkDACEZIAVBMGpBuMTAAEEBEHcgBSgCMARAIAUgBSgCNDYC4AJBzMTAAEErIAVB4AJqQbzEwABBqM/AABCVAgALIAUpA1AhDSAFKQNIIRcgBSkDQCEPIAUpAzghDgJAAkACQAJ/IBBCAFkEQCANQgBTDQIgBSAQNwP4AiAFIBU3A/ACIAUgEzcD6AIgBSAZNwPgAiAFIA03A0ggBSAXNwNAIAUgDzcDOCAFIA43AzAgBUHgAmogBUEwahCaAgwBCyANQgBZDQIgBUIAIBl9Ihk3A+ACIAUgE0J/hUIAIBN9IhogGUIAUiICGzcD6AIgBSAVQn+FIhMgGlAgAkF/c3EiAq18IhUgEyACGzcD8AIgBSACIBMgFVZxrSAQQn+FfDcD+AIgBUIAIA59IhA3AzAgBSAPQn+FQgAgD30iEyAQQgBSIgIbNwM4IAUgF0J/hSIQIBNQIAJBf3NxIgKtfCITIBAgAhs3A0AgBSACIBAgE1ZxrSANQn+FfDcDSCAFQTBqIAVB4AJqEJoCC0H/AXFBAUcNAQsgBSANNwNIIAUgFzcDQCAFIA83AzgMAQsgBUHIAGogBEEYaikDADcDACAFQUBrIARBEGopAwA3AwAgBUE4aiAEQQhqKQMANwMAIAQpAwAhDgsgBSAONwMwIAUCfiAFQTBqQfjCwABBIBCtAgRAIAUpAzgiDUJ/hUIAIA19IhBCACAOfSIOQgBSIgIbIQ0gBSkDQEJ/hSIPIBBQIAJBf3NxIgKtfCITIA8gAhshECACIA8gE1ZxrSAFKQNIQn+FfAwBCyAFKQNAIRAgBSkDOCENIAUpA0gLNwP4AiAFIBA3A/ACIAUgDTcD6AIgBSAONwPgAiAFQbABaiIEIAVB4AJqELkBAkACQCAFKAKwAUUEQCAFQbgCaiAFQdgBaikDADcDACAFQbACaiAFQdABaikDADcDACAFQagCaiAFQcgBaiICKQMANwMAIAVBoAJqIAVBwAFqIgMpAwA3AwAgBSAFKQO4ATcDmAIgAiAFQdgCaikDADcDACADIAVB0AJqKQMANwMAIAVBuAFqIAVByAJqKQMANwMAIAUgBSkDwAI3A7ABIAVBEjoA0AEgBUEwaiAFQZgCaiAEEMIBIBYgBSkDOHwiECAWVCECIAUpA0AgFCAYfSIOIAUpAzB8IhMgDloEfiACrQUgEEIBfCIQUK0gAq18CyEPIAUpA0ghFCASfCINIBJUIQIgD1AEfiACrQUgDSANIA98Ig1WrSACrXwLIQ8gESAUfCIUIBFUIQICQCAPUARAIAUgFDcD+AIgBSANNwPwAiAFIBA3A+gCIAUgEzcD4AIgAkUNAQwECyAFIA03A/ACIAUgEDcD6AIgBSATNwPgAiAFIA8gFHwiDTcD+AIgAiANIBRUcg0DCyAFQRI6AIADIAVByAFqIAVB2AJqKQMANwMAIAVBwAFqIAVB0AJqKQMANwMAIAVBuAFqIAVByAJqKQMANwMAIAUgBSkDwAI3A7ABIAVBEjoA0AEgBUEwaiAFQfABaiAFQbABahDCASAFKQM4Ig0gASkDqAUiFHwiDyANVCECIAEpA7AFIRMgBSkDQCENIAUpAzAiECABKQOgBSIZfCIYIBBaBH4gAq0FIA9CAXwiD1CtIAKtfAshECABKQO4BSEXIAUpA0ghFSANIA0gE3wiDVYhASAQUAR+IAGtBSANIA0gEHwiDVatIAGtfAshECAVIBUgF3wiFVYhAQJAIBBQBEAgBSAVNwPIASAFIA03A8ABIAUgDzcDuAEgBSAYNwOwASABRQ0BDAMLIAUgDTcDwAEgBSAPNwO4ASAFIBg3A7ABIAUgECAVfCINNwPIASABIA0gFVRyDQILIAVBEjoA0AEgAAJ/IAVB4AJqIAVBsAFqIgEQmgJB/wFxQQJPBEAgBUEANgLAASAFQQE2ArQBIAVBkM/AADYCsAEgBUIENwK4ASAAIAFBmM/AABDNATYCBEEBDAELIAVByAFqIAVB2AJqKQMANwMAIAVBwAFqIAVB0AJqKQMANwMAIAVBuAFqIAVByAJqKQMANwMAIAUgBSkDwAI3A7ABIAVBEjoA0AEgBUEwaiAFQZgCaiAFQbABahDCASAWIAUpAzh8Ig8gFlQhASAFKQNAIRYgDiAOIAUpAzB8IhhYBH4gAa0FIA9CAXwiD1CtIAGtfAshDSAFKQNIIBIgFnwiDiASVCEBIA1QBH4gAa0FIA4gDSAOfCIOVq0gAa18CyESIBF8Ig0gEVQhAQJAIBJQBEAgAUUNAQwPCyABDQ4gDSANIBJ8Ig1WDQ4LIAVByAFqIAVB2AJqKQMANwMAIAVBwAFqIAVB0AJqKQMANwMAIAVBuAFqIAVByAJqKQMANwMAIAUgBSkDwAI3A7ABIAVBEjoA0AEgBUEwaiAFQfABaiAFQbABahDCASAFKQNAIRAgBSkDOCESAn4gBSkDMCIaIBhYBEAgDyASVK0hFiAPIBJ9DAELIA8gElStIA8gElGtfCEWIA8gEkJ/hXwLIREgBSkDSCEVIA4gEH0hEgJAIBZQBEAgDiAQVK0hDwwBCyASIBZUrSAOIBBUrXwhDyASIBZ9IRILIA0gFX0hDgJAIA9QBEAgDSAVWg0BDA4LIA0gFVQgDiAPVHINDSAOIA99IQ4LIBIgE30hDQJAAn4gGSAYIBp9IhZYBEAgESAUfSEQIBEgFFStDAELIBEgFEJ/hXwhECARIBRUrSARIBRRrXwLIg9QBEAgEiATVK0hEQwBCyANIA9UrSASIBNUrXwhESANIA99IQ0LIA4gF30hEgJAIBFQBEAgDiAXWg0BDA4LIA4gF1QgESASVnINDSASIBF9IRILIABBEjoAKCAAIBI3AyAgACANNwMYIAAgEDcDECAAIBYgGX03AwhBAAs2AgAMCAsgBSgCtAEhAQwGCyAFQQA2AqgDIAVBATYCnAMgBUGUh8EANgKYAyAFQgQ3AqADIAVBmANqQaiFwQAQswIACwwJCwwICwwGCwwGCwJAIAgEfiASQgF8IhJQrSACrXwFIAKtCyIRUAR+IAatBSAOIA4gEXwiDlatIAatfAsiEVAEQCAFIA03A0ggBSAONwNAIAUgEjcDOCAFIBQ3AzAgB0UNAQwHCyAFIA43A0AgBSASNwM4IAUgFDcDMCAFIA0gEXwiDjcDSCAHIA0gDlZyDQYLIAVBEjoAUCAFQoCAgIDAByINIAVBCGqthDcDoAMgBSANIAVBMGqthDcDmAMgBUECNgL0AiAFQQI2AuQCIAVByM7AADYC4AIgBUEDOgDsASAFQQQ2AugBIAVCoICAgBA3AuABIAVBAjYC2AEgBUECNgLQASAFQQM6AMwBIAVBBDYCyAEgBUIgNwLAASAFQQI2ArgBIAVBAjYCsAEgBSAFQbABajYC8AIgBUECNgLsAiAFIAVBmANqNgLoAiAFQYwDaiIBIAVB4AJqEM8BIAUgAUHwhcEAQdjOwAAQpwIgBSgCBCECIAUoAgAhAyAFQbgBaiIEIAVBlANqKAIANgIAQZHewQAtAAAaIAUgBSkCjAM3A7ABQRhBBBD4AiIBRQ0CIAEgAzYCBCABQdiGwQA2AgAgASAFKQOwATcCDCABIAI2AgggAUEUaiAEKAIANgIACyAAQQE2AgAgACABNgIECyAFQbADaiQADwtBBEEYEKkDAAsgBUEANgJAIAVBATYCNCAFQZSHwQA2AjAgBUIENwI4IAVBMGpBqIXBABCzAgALIAVBADYCwAEgBUEBNgK0ASAFQbDEwAA2ArABIAVCBDcCuAEgBUGwAWpBgMTAABCzAgALIAVBADYCwAEgBUEBNgK0ASAFQZSHwQA2ArABIAVCBDcCuAEgBUGwAWpBqIXBABCzAgALnCICEH8PfiMAQcAEayIFJAAgBUH4A2ogA0EgaikDADcDACAFQfADaiADQRhqKQMANwMAIAVB6ANqIANBEGopAwA3AwAgBUHgA2ogA0EIaikDADcDACAFIAMpAwA3A9gDIAVBwANqIAFByAFqKQMAIhU3AwAgBUHIA2ogAUHQAWopAwAiGDcDACAFQdADaiABQdgBaikDACIbNwMAIAVBkANqIBU3AwAgBUGYA2ogGDcDACAFQaADaiAbNwMAIAVBEjoAqAMgBSABKQPAASIVNwO4AyAFIBU3A4gDAkAgAyAFQYgDaiAFQdgDaiAFQYgDaiIHEJoCIgZB/wFxBH8gBgUgByEGIAUtAPgDIgkgBS0AqAMiB0kNASAHIAlHC0H/AXFBAUYbIgYtACAhBwsgBUG4AWogBkEYaikDADcDACAFQbABaiAGQRBqKQMANwMAIAVBqAFqIAZBCGopAwA3AwAgBSAGKQMANwOgASAFIAYoACE2ApgBIAUgBkEkaigAADYAmwEgBUGIA2oiBiABIAIQZwJAAkACQAJAAkACQAJAIAUoAogDRQRAIAUpA6gDIRsgBSkDoAMhGiAFKQOYAyEYIAUpA5ADIR0gBUH4A2ogAkEgaikDADcDACAFQfADaiIIIAJBGGopAwA3AwAgBUHoA2oiCiACQRBqKQMANwMAIAVB4ANqIgsgAkEIaikDADcDACAFIAIpAwA3A9gDIAYgASAFQdgDahCcASAFKAKIAw0CIAVB4AFqIAVBsANqKQMAIhU3AwAgBUHYAWogBUGoA2opAwA3AwAgBUHQAWogBUGgA2oiCSkDADcDACAFQcgBaiAFQZgDaikDADcDACAFIAUpA5ADNwPAASAIIAFBwAFqIgZBGGopAwA3AwAgCiAGQRBqKQMANwMAIAsgBkEIaikDADcDACAFQRI6APgDIAUgBikDADcD2ANCASEXAkACQAJAIBWnQf8BcSIGDgICAQALQgohF0IBIRUDQCAFQfgAaiAXQgEgBkEBcSIIGyAWQgAgCBsgFSAZEJQCIAVBiAFqIBcgFiAXIBYQlAIgBkEDSyAFQZABaikDACEWIAVBgAFqKQMAIRkgBSkDiAEhFyAFKQN4IRUgBkEBdiEGDQALIAVB6ABqIBUgGSAXIBYQlAIgBUHwAGopAwAhFiAFKQNoIRcMAQtCCiEXCyAFQYgEaiIGIBY3AwAgBSAXNwOABCAFQQE2AqQEIAVBxP3AADYCoAQgBUIBNwKsBCAFQoCAgICwByIfIAVBgARqrYQ3A7gEIAUgBUG4BGo2AqgEIAVBlARqIAVBoARqEM8BIAlCADcDACAFQgA3A5gDIAYpAwAhFSAFKQOABCEWIAUoApQEIgYEQCAFKAKYBCAGEIwDCyAFQRI6AKgDIAUgFjcDiAMgBSAVNwOQAyAFQeACaiAFQcABaiAFQYgDaiAFQdgDahB2IAUpA/ACIRkgBSkD6AIhFQJ+IAUpA+ACIh4gHVgEQCAYIBV9IRwgFSAYVq0MAQsgGCAVQn+FfCEcIBUgGFatIBUgGFGtfAshFiAFKQP4AiEYIBogGX0hFwJAIBZQBEAgGSAaVq0hFQwBCyAWIBdWrSAZIBpWrXwhFSAXIBZ9IRcLIBsgGH0hFgJAIBVQBEAgGCAbWA0BDAkLIBggG1YgFSAWVnINCCAWIBV9IRYLIAVBEjoA2AIgBSAWNwPQAiAFIBc3A8gCIAUgHDcDwAIgBSAdIB59NwO4AiAFQfgCaiAFQbgBaikDADcDACAFQfACaiAFQbABaikDADcDACAFQegCaiAFQagBaikDADcDACAFQYQDaiAFKACbATYAACAFIAUpA6ABNwPgAiAFIAc6AIADIAUgBSgCmAE2AIEDIAVB+ANqIgYgAkEgaikDADcDACAFQfADaiIJIAJBGGopAwA3AwAgBUHoA2oiCCACQRBqKQMANwMAIAVB4ANqIgogAkEIaikDADcDACAFIAIpAwA3A9gDIAVBqANqIgsgA0EgaikDADcDACAFQaADaiIMIANBGGopAwA3AwAgBUGYA2oiDSADQRBqKQMANwMAIAVBkANqIANBCGopAwA3AwAgBSADKQMANwOIAyAFQegBaiIOIAEgBUHYA2oiDyAFQbgCaiAFQYgDaiIQIAVB4AJqEI4BIBBBuMTAAEEBELcBIAUoAogDDQMgBiAFQbADaikDADcDACAJIAspAwA3AwAgCCAMKQMANwMAIAogDSkDADcDACAFIAUpA5ADNwPYAyAOIA9BIBCtAkUEQCAFLQCIAiAFLQD4A0YNAgsCfiAEKAIARQRAIAVBiANqIAEQmQEgBSgCiANFBEAgBSkDqAMhHiAFKQOgAyEcIAUpA5ADISAgBSkDmAMMAgsgBSgCjAMhASAAQQE2AgAgACABNgIEDAcLIAQpAyAhHiAEKQMYIRwgBCkDCCEgIAQpAxALIRpCASEXQgAhFgJAAkACQCAHIgYOAgIBAAtCCiEXQgEhFUIAIRkDQCAFQcgAaiAXQgEgBkEBcSIEGyAWQgAgBBsgFSAZEJQCIAVB2ABqIBcgFiAXIBYQlAIgBkEDSyAFQeAAaikDACEWIAVB0ABqKQMAIRkgBSkDWCEXIAUpA0ghFSAGQQF2IQYNAAsgBUE4aiAVIBkgFyAWEJQCIAVBQGspAwAhFiAFKQM4IRcMAQtCCiEXCyAFQegCaiIEIBY3AwAgBSAXNwPgAiAFQQE2AowDIAVBxP3AADYCiAMgBUIBNwKUAyAFIB8gBUHgAmqthDcD6AEgBSAFQegBajYCkAMgBUG4AmogBUGIA2oQzwEgBUHwA2pCADcDACAFQgA3A+gDIAQpAwAhFSAFKQPgAiEYIAUoArgCIgQEQCAFKAK8AiAEEIwDCyAFQRI6APgDIAUgGDcD2AMgBSAVNwPgAyAFQaADaiAFQbgBaikDADcDACAFQZgDaiAFQbABaikDADcDACAFQZADaiAFQagBaikDADcDACAFQawDaiAFKACbATYAACAFIAUpA6ABNwOIAyAFIAc6AKgDIAUgBSgCmAE2AKkDIAVB4AJqIAVBiANqIAVB2ANqIAMQdiAFKQPoAiIVIAEpA4gEfCIdIBVUIQMgASkDkAQhFiAFKQPwAiEYIAUpA+ACIhUgASkDgAR8IiEgFVoEfiADrQUgHUIBfCIdUK0gA618CyEVIAEpA5gEIRkgBSkD+AIhGyAYIBYgGHwiGFYhAyAVUAR+IAOtBSAYIBUgGHwiGFatIAOtfAshFyAbIBkgG3wiG1YhAwJAIBdQBEAgA0UNAQwICyADDQcgGyAXIBt8IhtWDQcLIAVBiANqIAEgAhBsIAUoAogDDQQgBUGwAmogBUGwA2opAwAiFTcDACAFQagCaiAFQagDaikDADcDACAFQaACaiAFQaADaiICKQMANwMAIAVBmAJqIAVBmANqKQMANwMAIAUgBSkDkAM3A5ACIAVB8ANqIAVB0ANqKQMANwMAIAVB6ANqIAVByANqKQMANwMAIAVB4ANqIAVBwANqKQMANwMAIAUgBSkDuAM3A9gDIAVBEjoA+ANCASEXQgAhFgJAAkACQCAVp0H/AXEiBg4CAgEAC0IKIRdCASEVQgAhGQNAIAVBGGogF0IBIAZBAXEiAxsgFkIAIAMbIBUgGRCUAiAFQShqIBcgFiAXIBYQlAIgBkEDSyAFQTBqKQMAIRYgBUEgaikDACEZIAUpAyghFyAFKQMYIRUgBkEBdiEGDQALIAVBCGogFSAZIBcgFhCUAiAFQRBqKQMAIRYgBSkDCCEXDAELQgohFwsgBUHAAmoiAyAWNwMAIAUgFzcDuAIgBUEBNgLkAiAFQcT9wAA2AuACIAVCATcC7AIgBSAfIAVBuAJqrYQiIjcDgAQgBSAFQYAEajYC6AIgBUGgBGogBUHgAmoQzwEgAkIANwMAIAVCADcDmAMgAykDACEVIAUpA7gCIRYgBSgCoAQiAgRAIAUoAqQEIAIQjAMLIAVBEjoAqAMgBSAWNwOIAyAFIBU3A5ADIAVB6AFqIAVBkAJqIAVB2ANqIAVBiANqIgIQdiACQajHwABBBBC3ASAFKAKIA0UEQCAFKQOgAyEZIAUpA5gDIRUCfiAgIAUpA5ADIiNYBEAgFSAafSEfIBUgGlStDAELIBUgGkJ/hXwhHyAVIBpUrSAVIBpRrXwLIRYgBSkDqAMhGiAZIBx9IRcCQCAWUARAIBkgHFStIRUMAQsgFiAXVq0gGSAcVK18IRUgFyAWfSEXCyAaIB59IRYCQCAVUARAIBogHloNAQwKCyAaIB5UIBUgFlZyDQkgFiAVfSEWCyAFQRI6AIADIAUgFjcD+AIgBSAXNwPwAiAFIB83A+gCIAUgIyAgfTcD4AIgBUHAAmoiAkIANwMAIAVCgICQu7rWrfANNwO4AiAFQQE2AowDIAVBxP3AADYCiAMgBUIBNwKUAyAFICI3A4AEIAUgBUGABGo2ApADIAVBoARqIAVBiANqEM8BIAVB8ANqQgA3AwAgBUIANwPoAyACKQMAIRUgBSkDuAIhFiAFKAKgBCICBEAgBSgCpAQgAhCMAwsgBUESOgD4AyAFIBY3A9gDIAUgFTcD4AMgBUGgA2ogAUHgA2oiAUEYaikDADcDACAFQZgDaiABQRBqKQMANwMAIAVBkANqIAFBCGopAwA3AwAgBUESOgCoAyAFIAEpAwA3A4gDIAVBuAJqIAVBiANqIAVB4AJqIAVB2ANqEHYgBSkD8AEhFSAFKQOAAiEcIBggBSkD+AEiGX0hFwJAAn4gBSkD6AEiHiAhWARAIB0gFX0hGiAVIB1WrQwBCyAdIBVCf4V8IRogFSAdVq0gFSAdUa18CyIWUARAIBggGVStIRUMAQsgFiAXVq0gGCAZVK18IRUgFyAWfSEXCyAbIBx9IRYCQCAVUARAIBsgHFoNAQwKCyAbIBxUIBUgFlZyDQkgFiAVfSEWCyAaIAUpA8ACfCIZIBpUIQEgBSkDyAIgISAefSIYIAUpA7gCfCIbIBhaBH4gAa0FIBlCAXwiGVCtIAGtfAshGCAFKQPQAiEaIBd8IhUgF1QhASAYUAR+IAGtBSAVIBUgGHwiFVatIAGtfAshFyAWIBp8IhggFlQhAQJAIBdQBEAgACAYNwMgIAAgFTcDGCAAIBk3AxAgACAbNwMIIAFFDQEMCQsgACAVNwMYIAAgGTcDECAAIBs3AwggACAXIBh8IhU3AyAgASAVIBhUcg0ICyAAQQA2AgAgAEESOgAoDAYLIAUgBSgCjAM2AtgDQczEwABBKyAFQdgDakG8xMAAQbjrwAAQlQIACyAFKAKMAyEBIABBATYCACAAIAE2AgQMBAsgBUGIA2pBuMTAAEEBELcBIAUoAogDRQRAIAAgBSkDkAM3AwggAEEoaiAFQbADaikDADcDACAAQSBqIAVBqANqKQMANwMAIABBGGogBUGgA2opAwA3AwAgAEEQaiAFQZgDaikDADcDACAAQQA2AgAMBAsgBSAFKAKMAzYC2ANBzMTAAEErIAVB2ANqQbzEwABByOvAABCVAgALIAUoAowDIQEgAEEBNgIAIAAgATYCBAwCCyAFIAUoAowDNgLgAkHMxMAAQSsgBUHgAmpBvMTAAEHY68AAEJUCAAsgBSgCjAMhASAAQQE2AgAgACABNgIECyAFQcAEaiQADwsgBUEANgKYAyAFQQE2AowDIAVBlIfBADYCiAMgBUIENwKQAyAFQYgDakGohcEAELMCAAsgBUEANgKYAyAFQQE2AowDIAVBsMTAADYCiAMgBUIENwKQAyAFQYgDakGAxMAAELMCAAu7IwIHfwp+IwBBsAVrIgQkACAEQcABaiABQdgFaikDADcDACAEQbgBaiABQdAFaikDADcDACAEQbABaiIGIAFByAVqKQMANwMAIARBEjoAyAEgBCABKQPABTcDqAECQAJAAkACQAJAAkACQAJAAkACQCACIARBqAFqEJoCQf8BcSIFQf8BRg0AIAVFBEAgAi0AIEESSQ0BCyAEQagBakG4xMAAQQEQtwEgBCgCqAENASAEQZAFaiIFIARB0AFqKQMANwMAIARBiAVqIARByAFqKQMANwMAIARBgAVqIARBwAFqKQMANwMAIARB+ARqIARBuAFqKQMANwMAIAQgBCkDsAE3A/AEIAMtACAhByADIARB8ARqQSAQrQJFBEAgByAFLQAARg0DCyAEQYgCaiADQRhqKQMANwMAIARBgAJqIANBEGopAwA3AwAgBEH4AWogA0EIaikDADcDACAEIAMpAwA3A/ABIAQgAygAITYC6AEgBCADQSRqKAAANgDrAQwDCyAEQYgFaiABQcAFaiIBQRhqKQMANwMAIARBgAVqIAFBEGopAwA3AwAgBEH4BGogAUEIaikDADcDACAEQRI6AJAFIARCgICAgMAHIg0gBEHwBGqthDcDiAQgBCANIAKthDcDgAQgBCABKQMANwPwBCAEQQM6AOQBIARBBDYC4AEgBEKggICAEDcC2AEgBEECNgLQASAEQQI2AsgBIARBAzoAxAEgBEEENgLAASAEQiA3ArgBIARBAjYCsAEgBEECNgKoASAEQQI2ArwEIARBAjYCrAQgBEHU58AANgKoBCAEIARBqAFqNgK4BCAEQQI2ArQEIAQgBEGABGo2ArAEIARBsANqIgEgBEGoBGoQzwEgBEGgAWogAUHwhcEAQdTowAAQpwIgBCgCpAEhAiAEKAKgASEBIAYgBEG4A2ooAgA2AgBBkd7BAC0AABogBCAEKQKwAzcDqAFBGEEEEPgCIgNFDQggAyABNgIEIANB2IbBADYCACADIAQpA6gBNwIMIAMgAjYCCCADQRRqIARBsAFqKAIANgIAIABBATYCACAAIAM2AgQMBwsgBCAEKAKsATYC8ARBzMTAAEErIARB8ARqQbzEwABBqOvAABCVAgALIARBiAJqIAFB2AFqKQMANwMAIARBgAJqIAFB0AFqKQMANwMAIARB+AFqIAFByAFqKQMANwMAIAQgASkDwAE3A/ABQRIhBwsgBEGQBWogAkEgaikDADcDACAEQYgFaiACQRhqKQMANwMAIARBgAVqIAJBEGopAwA3AwAgBEH4BGogAkEIaikDADcDACAEIAIpAwA3A/AEIARBqAFqIAEgBEHwBGoQZyAEKAKoAQ0AIARBsAJqIARB0AFqKQMAIhQ3AwAgBEGoAmogBEHIAWopAwAiEzcDACAEQaACaiAEQcABaikDACIQNwMAIARBmAJqIARBuAFqKQMAIg03AwAgBEHIAmogDTcDACAEQdACaiAQNwMAIARB2AJqIBM3AwAgBCAEKQOwASINNwOQAiAEIA03A8ACIAQgBCgAsQI2ArgCIAQgBEG0AmooAAA2ALsCIARB6ARqIAFB2AFqKQMAIhM3AwAgBEHgBGogAUHQAWopAwAiEDcDACAEQdgEaiABQcgBaikDACINNwMAIARBsARqIA03AwAgBEG4BGogEDcDACAEQcAEaiATNwMAIARBEjoAyAQgBCABKQPAASINNwPQBCAEIA03A6gEQgEhDAJAAkACQCAUpyIGQf8BcSIDDgICAQALQgohDEIBIQ8DQCAEQYABaiAMQgEgA0EBcSIFGyALQgAgBRsgDyAOEJQCIARBkAFqIAwgCyAMIAsQlAIgA0EDSyAEQZgBaikDACELIARBiAFqKQMAIQ4gBCkDkAEhDCAEKQOAASEPIANBAXYhAw0ACyAEQfAAaiAPIA4gDCALEJQCIARB+ABqKQMAIQsgBCkDcCEMDAELQgohDAsgBEG4A2oiAyALNwMAIAQgDDcDsAMgBEEBNgKsASAEQcT9wAA2AqgBIARCATcCtAEgBEKAgICAsAciEyAEQbADaq2ENwOYBSAEIARBmAVqNgKwASAEQeACaiAEQagBahDPASAEQYgFakIANwMAIARCADcDgAUgAykDACEQIAQpA7ADIQ0gBCgC4AIiAwRAIAQoAuQCIAMQjAMLIARBEjoAkAUgBCANNwPwBCAEIBA3A/gEIARBwAFqIARB2AJqKQMANwMAIARBuAFqIARB0AJqKQMANwMAIARBsAFqIARByAJqKQMANwMAIARBzAFqIAQoALsCNgAAIAQgBCkDwAI3A6gBIAQgBjoAyAEgBCAEKAK4AjYAyQEgBEGABGoiAyAEQagBaiAEQagEaiAEQfAEahB2AkACQAJAAkACQAJAAkACQCADIAIQmgIiA0H/AXEEfyADBSAELQCgBCIFIAItACAiA0kNASADIAVHC0H/AXFBAUYNAQsgBEGQBWogAkEgaikDADcDACAEQYgFaiIGIAJBGGopAwA3AwAgBEGABWoiBSACQRBqKQMANwMAIARB+ARqIgMgAkEIaikDADcDACAEIAIpAwA3A/AEIARBqAFqIAEgBEHwBGoQnAEgBCgCqAENBCAEQagDaiAEQdABaikDACINNwMAIARBoANqIARByAFqKQMANwMAIARBmANqIARBwAFqKQMANwMAIARBkANqIARBuAFqKQMANwMAIAQgBCkDsAE3A4gDIAYgAUHAAWoiBkEYaikDADcDACAFIAZBEGopAwA3AwAgAyAGQQhqKQMANwMAIARBEjoAkAUgBCAGKQMANwPwBEIBIQxCACELIA2nQf8BcSIDDgIDAgELIARBAjYCrAEgBEHY6cAANgKoASAEQgI3ArQBIARCgICAgKAHIg0gBEGQAmqthDcD+AQgBCANIAKthDcD8AQgBCAEQfAEajYCsAEgBEGoBGoiASAEQagBahDPASAEQegAaiABQfCFwQBB6OnAABCnAiAEKAJsIQMgBCgCaCECIARBsAFqIgEgBEGwBGooAgA2AgBBkd7BAC0AABogBCAEKQKoBDcDqAFBGEEEEPgCIgVFDQsgBSACNgIEIAVB2IbBADYCACAFIAQpA6gBNwIMIAUgAzYCCCAFQRRqIAEoAgA2AgAgAEEBNgIAIAAgBTYCBAwKC0IKIQxCASEPQgAhDgNAIARByABqIAxCASADQQFxIgUbIAtCACAFGyAPIA4QlAIgBEHYAGogDCALIAwgCxCUAiADQQNLIARB4ABqKQMAIQsgBEHQAGopAwAhDiAEKQNYIQwgBCkDSCEPIANBAXYhAw0ACyAEQThqIA8gDiAMIAsQlAIgBEFAaykDACELIAQpAzghDAwBC0IKIQwLIARBiARqIgMgCzcDACAEIAw3A4AEIARBATYCrAQgBEHE/cAANgKoBCAEQgE3ArQEIAQgEyAEQYAEaq2EIhM3A5gFIAQgBEGYBWo2ArAEIARBsANqIARBqARqEM8BIARBwAFqQgA3AwAgBEIANwO4ASADKQMAIRAgBCkDgAQhDSAEKAKwAyIDBEAgBCgCtAMgAxCMAwsgBEESOgDIASAEIA03A6gBIAQgEDcDsAEgBEHgAmoiAyAEQYgDaiAEQagBaiAEQfAEahB2IARBkAJqIAMQmgJB/wFxIgNFDQEgA0H/AUcNAgwFCyAEKAKsASEBDAULIAQtALACIAQtAIADSQ0DCyAEQZQFaiAEKADrATYAACAEQYgFaiAEQYgCaikDADcDACAEQYAFaiAEQYACaikDADcDACAEQfgEaiAEQfgBaikDADcDACAEIAQpA/ABNwPwBCAEIAc6AJAFIAQgBCgC6AE2AJEFIARBwAFqIAZBGGopAwA3AwAgBEG4AWogBkEQaikDADcDACAEQbABaiAGQQhqKQMANwMAIARBEjoAyAEgBCAGKQMANwOoASAEQdADagJ/IARB8ARqIARBqAFqIARB8ARqIARBqAFqIgUQmgIiA0H/AXEEfyADBSAFIAdBEkkNARogB0ESRwtB/wFxQQFGGwsiA0EgaikDADcDACAEQcgDaiADQRhqKQMANwMAIARBwANqIANBEGopAwA3AwAgBEG4A2ogA0EIaikDADcDACAEIAMpAwA3A7ADIARBoARqIAJBIGopAwA3AwAgBEGYBGogAkEYaikDADcDACAEQZAEaiACQRBqKQMANwMAIARBiARqIAJBCGopAwA3AwAgBCACKQMANwOABCAEKQPwAiELIAQpA+gCIREgBCkDoAIhDiAEKQOYAiESAn4gBCkDkAIiECAEKQPgAiINWgRAIBEgElatIQ8gEiARfQwBCyARIBJWrSARIBJRrXwhDyASIBFCf4V8CyEUIAQpA/gCIREgBCkDqAIhEiAOIAt9IQwCQCAPUARAIAsgDlatIQ4MAQsgDCAPVK0gCyAOVq18IQ4gDCAPfSEMCyASIBF9IQsCQCAOUARAIBEgElgNAQwDCyALIA5UIBEgElZyDQIgCyAOfSELCyAEQRI6AMgEIAQgCzcDwAQgBCAMNwO4BCAEIBQ3A7AEIAQgECANfTcDqAQgBEGIBWoiBiAEQYgCaikDADcDACAEQYAFaiIFIARBgAJqKQMANwMAIARB+ARqIgIgBEH4AWopAwA3AwAgBEGUBWogBCgA6wE2AAAgBCAEKQPwATcD8AQgBCAHOgCQBSAEIAQoAugBNgCRBSAEQcgBaiAEQdADaikDADcDACAEQcABaiIDIARByANqKQMANwMAIARBuAFqIARBwANqKQMANwMAIARBsAFqIARBuANqKQMANwMAIAQgBCkDsAM3A6gBIARB2ANqIAEgBEGABGogBEGoBGogBEHwBGogBEGoAWoQjgEgBiAEQegEaikDADcDACAFIARB4ARqKQMANwMAIAIgBEHYBGopAwA3AwAgBCAEKQPQBDcD8AQgBEESOgCQBUIBIQxCACELAkACQAJAIAQtAPgDIgEOAgIBAAtCCiEMQgEhD0IAIQ4DQCAEQRBqIAxCASABQQFxIgIbIAtCACACGyAPIA4QlAIgBEEgaiAMIAsgDCALEJQCIAFBA0sgBEEoaikDACELIARBGGopAwAhDiAEKQMgIQwgBCkDECEPIAFBAXYhAQ0ACyAEIA8gDiAMIAsQlAIgBEEIaikDACELIAQpAwAhDAwBC0IKIQwLIARBiARqIgEgCzcDACAEIAw3A4AEIARBATYCrAQgBEHE/cAANgKoBCAEQgE3ArQEIAQgEzcDqAUgBCAEQagFajYCsAQgBEGYBWogBEGoBGoQzwEgA0IANwMAIARCADcDuAEgASkDACEQIAQpA4AEIQ0gBCgCmAUiAQRAIAQoApwFIAEQjAMLIARBEjoAyAEgBCANNwOoASAEIBA3A7ABIABBCGogBEHYA2ogBEHwBGogBEGoAWoQdiAAQQA2AgAMBAsgBCgCrAEhASAAQQE2AgAgACABNgIEDAMLIARBADYCuAEgBEEBNgKsASAEQbDEwAA2AqgBIARCBDcCsAEgBEGoAWpBgMTAABCzAgALIARBwAFqIAFB4ANqIgFBGGopAwA3AwAgBEG4AWogAUEQaikDADcDACAEQbABaiIFIAFBCGopAwA3AwAgBEEDNgKsBCAEQYDrwAA2AqgEIARCAzcCtAQgBEESOgDIASAEIAEpAwA3A6gBIARCgICAgKAHIg0gBEGQAmqthDcDgAUgBCANIARBqAFqrYQ3A/gEIAQgDSAEQeACaq2ENwPwBCAEIARB8ARqNgKwBCAEQYAEaiIBIARBqARqEM8BIARBMGogAUHwhcEAQZjrwAAQpwIgBCgCNCEDIAQoAjAhAiAFIARBiARqKAIANgIAQZHewQAtAAAaIAQgBCkCgAQ3A6gBQRhBBBD4AiIBRQ0CIAEgAjYCBCABQdiGwQA2AgAgASAEKQOoATcCDCABIAM2AgggAUEUaiAFKAIANgIACyAAQQE2AgAgACABNgIEDAALIARBsAVqJAAPC0EEQRgQqQMAC74cAgN/G34jAEGAB2siAyQAAkACQCACKQMAQgBSDQAgAikDCEIAUg0AIAIpAxBCAFINACACKQMYQgBSDQAgAEIANwMIIABBADoAICAAQgE3AwAgAEEYakIANwMAIABBEGpCADcDAAwBCyADQdgGakIANwMAIANB0AZqQgA3AwAgA0IANwPIBiADQgE3A8AGIANB+AZqIAJBGGopAwAiFjcDACADQfAGaiACQRBqKQMAIhk3AwAgA0HoBmogAkEIaikDACIcNwMAIAMgAikDACIbNwPgBiABKQMYIQYgASkDECEIIAEpAwghDSABKQMAIQxCASESA0BBGCECAkACQANAIAJBeEYNASADQeAGaiACaiEBIANBwAZqIAJqIQUgAkEIayECQX8gBSkDACIKIAEpAwAiB1IgByAKVBsiAUUNAAsgAUH/AXFBAUYNAQsgA0HwAWogEkIAIAxCABCUAiADQeABaiASQgAgDUIAEJQCIANB0AFqIBJCACAIQgAQlAIgA0HAAWogEkIAIAZCABCUAiADQbABaiAXQgAgDEIAEJQCIANBoAFqIBdCACANQgAQlAIgA0GQAWogF0IAIAhCABCUAiADQYABaiAXQgAgBkIAEJQCIANB8ABqIBpCACAMQgAQlAIgA0HgAGogGkIAIA1CABCUAiADQdAAaiAaQgAgCEIAEJQCIANBQGsgGkIAIAZCABCUAiADQTBqIBVCACAMQgAQlAIgA0EgaiAVQgAgDUIAEJQCIANBEGogFUIAIAhCABCUAiADIBVCACAGQgAQlAIgAykD8AEhCgJ/QQEgAykDICIcIANBOGopAwAgAykDMCIZIAMpA2AiByADQfgAaikDACADKQNwIhYgAykDoAEiCSADQbgBaikDACADKQOwASIGIAMpA+ABIgggA0H4AWopAwB8Ig18IgwgBlStfCIGIAMpA9ABIhIgA0HoAWopAwAgCCANVq18fCIIfCINfCIXfCIaIBZUrXwiFSADKQOQASIbIANBqAFqKQMAIAkgF1atfCIJIAYgDVatfCIWIAMpA8ABIgYgA0HYAWopAwAgCCASVK18fCIIfCINfCISfCIXfCILfCIOIBlUrXwiECADKQNQIg8gA0HoAGopAwAgByALVq18IgcgFSAXVq18IhkgAykDgAEiFyADQZgBaikDACASIBtUrXwiEiANIBZUIAkgFlZyrXwiFiADQcgBaikDACAGIAhWrXx8Igl8IgZ8Igh8Ig18IhV8IhtCAFINABpBASADKQMQIgsgA0EoaikDACAbIBxUrXwiGyAQIBVWrXwiHCADKQNAIhUgA0HYAGopAwAgDSAPVK18Ig0gCCAZVCAHIBlWcq18IhkgBiAXVK0gA0GIAWopAwAgCSAWVCASIBZWcq18fHwiB3wiCXwiFnwiBkIAUg0AGkEBIAMpAwAiCCADQRhqKQMAIAYgC1StfCIGIBYgHFQgGyAcVnKtfCIWIAkgFVStIANByABqKQMAIAcgGVQgDSAZVnKtfHx8Ihl8IhxCAFINABogA0EIaikDACAIIBxWrXxCACAGIBZWIBYgGVZyrX1SCyECIAAgDjcDGCAAIBo3AxAgACAMNwMIIAAgCjcDACAAIAIgBHJBAXE6ACAMAgsCQCAbp0EBcUUEQCADQZADaiAMQgAgDEIAEJQCIANBgANqIAxCACANQgAQlAIgA0HgAmogCEIAIAxCABCUAiADQbACaiAGQgAgDEIAEJQCIANB8AJqIA1CACANQgAQlAIgA0HQAmogCEIAIA1CABCUAiADQaACaiAGQgAgDUIAEJQCIANBwAJqIAhCACAIQgAQlAIgA0GQAmogBkIAIAhCABCUAiADQYACaiAGQgAgBkIAEJQCQQEhAgJAIAMpA6ACIgogA0G4AmopAwAiDiADKQOwAiIHIAMpA9ACIgkgA0HoAmopAwAiCyADKQPgAiIGIAMpA/ACIgwgA0GIA2opAwAiECADKQOAAyIIIAggA0GYA2opAwB8Ig98Ig0gCFStfCIRIAYgCCAPVq0gEHx8IhB8Ig98IhN8IgggBlStfCIUIAkgA0H4AmopAwAgDCATVq18IhMgDyARVK18IgwgByAGIBBWrSALfHwiEHwiD3wiEXwiC3wiGHwiBiAHVK18Ih0gAykDwAIiHyADQdgCaikDACIeIAkgGFatfCIYIAsgFFStfCILIAogCSARVq0gHnwiESAMIBNUIAwgD1ZyrXwiCSAHIBBWrSAOfHwiDnwiEHwiD3wiE3wiDHwiFEIAUg0AIAMpA5ACIgcgA0GoAmopAwAiHiAKIBRWrXwiFCAMIB1UrXwiDCAHIANByAJqKQMAIBMgH1StfCITIAsgGFQgCyAPVnKtfCILIAogEFatIAkgEVQgCSAOVnKtIB58fHwiCXwiDnwiCnwiEEIAUg0AIAMpA4ACIg8gA0GYAmopAwAiESAHIBBWrXwiECAMIBRUIAogDFRyrXwiCiAHIA5WrSALIBNUIAkgC1RyrSARfHx8Igd8IglCAFINACADQYgCaikDACAJIA9UrXxCACAKIBBUIAcgClRyrX1SIQILIAMpA5ADIQwMAQsgA0GwBmogEkIAIAxCABCUAiADQaAGaiASQgAgDUIAEJQCIANBkAZqIBJCACAIQgAQlAIgA0GABmogEkIAIAZCABCUAiADQfAFaiAXQgAgDEIAEJQCIANB4AVqIBdCACANQgAQlAIgA0HQBWogF0IAIAhCABCUAiADQcAFaiAXQgAgBkIAEJQCIANBsAVqIBpCACAMQgAQlAIgA0GgBWogGkIAIA1CABCUAiADQZAFaiAaQgAgCEIAEJQCIANBgAVqIBpCACAGQgAQlAIgA0HwBGogFUIAIAxCABCUAiADQeAEaiAVQgAgDUIAEJQCIANB0ARqIBVCACAIQgAQlAIgA0HABGogFUIAIAZCABCUAkEBIQECf0EBIAMpA+AEIgkgA0H4BGopAwAgAykD8AQiByADKQOgBSISIANBuAVqKQMAIAMpA7AFIgogAykD4AUiFSADQfgFaikDACADKQPwBSIaIAMpA6AGIgsgA0G4BmopAwB8Ig58IhcgGlStfCIQIAMpA5AGIg8gA0GoBmopAwAgCyAOVq18fCILfCIOfCIRfCIaIApUrXwiEyADKQPQBSIUIANB6AVqKQMAIBEgFVStfCIRIA4gEFStfCIKIAMpA4AGIg4gA0GYBmopAwAgCyAPVK18fCILfCIQfCIPfCIYfCIdfCIVIAdUrXwiHyADKQOQBSIeIANBqAVqKQMAIBIgHVatfCISIBMgGFatfCIHIAMpA8AFIhMgA0HYBWopAwAgDyAUVK18Ig8gCiARVCAKIBBWcq18IgogA0GIBmopAwAgCyAOVK18fCILfCIOfCIQfCIRfCIUfCIYQgBSDQAaQQEgAykD0AQiHSADQegEaikDACAJIBhWrXwiGCAUIB9UrXwiCSADKQOABSIUIANBmAVqKQMAIBEgHlStfCIRIAcgElQgByAQVnKtfCIHIA4gE1StIANByAVqKQMAIAogD1QgCiALVnKtfHx8IhJ8Igt8Igp8Ig5CAFINABpBASADKQPABCIQIANB2ARqKQMAIA4gHVStfCIOIAkgGFQgCSAKVnKtfCIKIAsgFFStIANBiAVqKQMAIAcgEVQgByASVnKtfHx8Igd8IglCAFINABogA0HIBGopAwAgCSAQVK18QgAgCiAOVCAHIApUcq19UgshAiADKQOwBiESIANB0ANqIAxCACAMQgAQlAIgA0HAA2ogDEIAIA1CABCUAiADQbADaiAIQgAgDEIAEJQCIANBoANqIAZCACAMQgAQlAIgA0GABGogDUIAIA1CABCUAiADQfADaiAIQgAgDUIAEJQCIANB4ANqIAZCACANQgAQlAIgA0GgBGogCEIAIAhCABCUAiADQZAEaiAGQgAgCEIAEJQCIANBsARqIAZCACAGQgAQlAIgAykD0AMhDAJAIAMpA+ADIgogA0GoA2opAwAiECADKQOgAyIHIAMpA/ADIgkgA0G4A2opAwAiDiADKQOwAyIGIAMpA4AEIgsgA0HIA2opAwAiDyADKQPAAyIIIAggA0HYA2opAwB8IhF8Ig0gCFStfCITIAYgCCARVq0gD3x8Ig98IhF8IhR8IgggBlStfCIYIAkgA0GIBGopAwAgCyAUVq18IhQgESATVK18IgsgByAGIA9WrSAOfHwiD3wiEXwiE3wiDnwiHXwiBiAHVK18Ih8gAykDoAQiHiADQfgDaikDACIgIAkgHVatfCIdIA4gGFStfCIOIAogCSATVq0gIHwiEyALIBRUIAsgEVZyrXwiCSAHIA9WrSAQfHwiEHwiD3wiEXwiFHwiC3wiGEIAUg0AIAMpA5AEIgcgA0HoA2opAwAiICAKIBhWrXwiGCALIB9UrXwiCyAHIANBqARqKQMAIBQgHlStfCIUIA4gHVQgDiARVnKtfCIOIAogD1atIAkgE1QgCSAQVnKtICB8fHwiCXwiEHwiCnwiD0IAUg0AIAMpA7AEIhEgA0GYBGopAwAiEyAHIA9WrXwiDyALIBhUIAogC1RyrXwiCiAHIBBWrSAOIBRUIAkgDlRyrSATfHx8Igd8IglCAFINACADQbgEaikDACAJIBFUrXxCACAKIA9UIAcgClRyrX1SIQELIBtCAX0hGyABIAJyIQILIAMgFkIBiCIKNwP4BiADIBZCP4YgGUIBiIQiBzcD8AYgAyAZQj+GIBxCAYiEIgk3A+gGIAMgHEI/hiAbQgGIhCIbNwPgBiACIARyIQQgCiEWIAchGSAJIRwMAAsACyADQYAHaiQAC9cgAhB/En4jAEGABWsiAyQAIANBkARqQajHwABBBBC3AQJAAkACQAJAAkACQAJAAkACQCADKAKQBEUEQCADQeABaiADQbAEaikDADcDACADQdgBaiADQagEaikDADcDACADQdABaiADQaAEaikDADcDACADIAMpA5gENwPIASADIAMoALkENgLAASADIANBvARqKAAANgDDASABKQOIASIXIAIpAwh8IhggF1QhByABKQOQASIXIBcgAikDEHwiF1YhCCADLQC4BCEGIAEpA5gBIhogGiACKQMYfCIZViEJAkACfgJ+IAEpA4ABIhMgAikDAHwiHSATVCILRQRAIBghFCAHrQwBCyAYQgF8IhRQrSAHrXwLIhNQBEAgFyETIAitDAELIBMgF3wiEyAXVK0gCK18CyIVUARAIAMgGTcDqAIgAyATNwOgAiADIBQ3A5gCIAMgHTcDkAIgCUUNAQwKCyADIBM3A6ACIAMgFDcDmAIgAyAdNwOQAiADIBUgGXwiEzcDqAIgCSATIBlUcg0JCyADQRI6ALACIANBEjoAsAMgAyABKQPYBiIbNwOoAyADIAEpA9AGIhw3A6ADIAMgASkDyAYiGjcDmAMgAyABKQPABiIeNwOQAyADQZAEaiIKIANBkAJqIgwgA0GQA2oQciADKAKQBA0BIANBiAJqIANBuARqKQMANwMAIANBgAJqIANBsARqKQMANwMAIANB+AFqIANBqARqIgIpAwA3AwAgA0HwAWogA0GgBGoiBSkDADcDACADIAMpA5gENwPoAUIAIRQgA0GYAmoiBEIANwMAIANCgICQu7rWrfANNwOQAiADQQE2ApQEIANBxP3AADYCkARCASEVIANCATcCnAQgA0KAgICAsAciISAMrYQiIjcDwAIgAyADQcACajYCmAQgA0HAA2ogChDPASADQagDakIANwMAIANCADcDoAMgBCkDACETIAMpA5ACIRYgAygCwAMiBARAIAMoAsQDIAQQjAMLIANBEjoAsAMgAyAWNwOQAyADIBM3A5gDIAIgAUHAAWoiBEEYaikDADcDACAFIARBEGopAwA3AwAgA0GYBGogBEEIaikDADcDACADQRI6ALAEIAMgBCkDADcDkAQgA0HoA2ogA0GQBGogA0HoAWogA0GQA2oQdgJAAkACQCAGDgICAQALQgohFSAGIQJCASETQgAhFgNAIANB+ABqIBVCASACQQFxIgUbIBRCACAFGyATIBYQlAIgA0GIAWogFSAUIBUgFBCUAiACQQNLIANBkAFqKQMAIRQgA0GAAWopAwAhFiADKQOIASEVIAMpA3ghEyACQQF2IQINAAsgA0HoAGogEyAWIBUgFBCUAiADQfAAaikDACEUIAMpA2ghFQwBC0IKIRULIANBmAJqIgIgFDcDACADIBU3A5ACIANBATYClAQgA0HE/cAANgKQBCADQgE3ApwEIAMgIjcDwAIgAyADQcACajYCmAQgA0HAA2ogA0GQBGoQzwEgA0GoA2oiBUIANwMAIANCADcDoAMgAikDACETIAMpA5ACIRQgAygCwAMiAgRAIAMoAsQDIAIQjAMLIANBEjoAsAMgAyAUNwOQAyADIBM3A5gDIANBqARqIANB4AFqKQMANwMAIANBoARqIgogA0HYAWopAwA3AwAgA0GYBGogA0HQAWopAwA3AwAgA0G0BGogAygAwwE2AAAgAyADKQPIATcDkAQgAyAGOgCwBCADIAMoAsABNgCxBCADQZgBaiADQZAEaiIGIANBkANqIANB6ANqEHYgA0GABGogBEEYaikDADcDACADQfgDaiAEQRBqKQMANwMAIANB8ANqIARBCGopAwA3AwAgA0ESOgCIBCADIAQpAwA3A+gDIANByANqIgJCADcDACADQoCAkLu61q3wDTcDwAMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAhIANBwANqrYQiJDcD+AQgAyADQfgEajYCmAQgA0HsBGogBhDPASAFQgA3AwAgA0IANwOgAyACKQMAIRMgAykDwAMhFCADKALsBCICBEAgAygC8AQgAhCMAwsgA0ESOgCwAyADIBQ3A5ADIAMgEzcDmAMgA0GoBGogAUGABWoiAkEYaikDADcDACAKIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADQRI6ALAEIAMgAikDADcDkAQgA0HoAmogA0GQBGoiAiADQZADaiADQegDahB2IAIgARCAASADKAKQBA0CIAMpA7AEIR8gAykDqAQhICADKQOgBCEWIAMpA5gEISMCQCALBH4gGEIBfCIYUK0gB618BSAHrQsiFVAEfiAIrQUgFyAVIBd8IhdWrSAIrXwLIhVQBEAgAyAZNwOABCADIBc3A/gDIAMgGDcD8AMgAyAdNwPoAyAJRQ0BDAkLIAMgFzcD+AMgAyAYNwPwAyADIB03A+gDIAMgFSAZfCIXNwOABCAJIBcgGVRyDQgLIANBEjoAiAQgA0GQBGpBqMfAAEEEELcBIAMoApAEDQMgAykDqAQhGCADKQOgBCETAn4gHiADKQOYBCIdWARAIBMgGlStIRQgEyAafQwBCyATIBpUrSATIBpRrXwhFCATIBpCf4V8CyEXIAMpA7AEIRkgGCAcfSEVAkAgFFAEQCAYIBxUrSETDAELIBQgFVatIBggHFStfCETIBUgFH0hFQsgGSAbfSEUAkAgE1AEQCAZIBtaDQEMCwsgGSAbVCATIBRWcg0KIBQgE30hFAsgA0ESOgCwBCADIBQ3A6gEIAMgFTcDoAQgAyAXNwOYBCADIB0gHn03A5AEIANBkANqIANB6ANqIANBkARqEHIgAygCkAMNBCADKQOoAyEYIAMpA6ADIRMCfiADKQOYAyIZICNYBEAgEyAWVq0hFCAWIBN9DAELIBMgFlatIBMgFlGtfCEUIBYgE0J/hXwLIRcgAykDsAMhFiAgIBh9IRUCQCAUUARAIBggIFatIRMMAQsgFCAVVq0gGCAgVq18IRMgFSAUfSEVCyAfIBZ9IRQCQCATUARAIBYgH1gNAQwLCyAWIB9WIBMgFFZyDQogFCATfSEUCyADQRI6AOADIAMgFDcD2AMgAyAVNwPQAyADIBc3A8gDIAMgIyAZfTcDwANCASEVQgAhFAJAAkACQCADLQCIAyICDgICAQALQgohFUIBIRNCACEWA0AgA0HIAGogFUIBIAJBAXEiARsgFEIAIAEbIBMgFhCUAiADQdgAaiAVIBQgFSAUEJQCIAJBA0sgA0HgAGopAwAhFCADQdAAaikDACEWIAMpA1ghFSADKQNIIRMgAkEBdiECDQALIANBOGogEyAWIBUgFBCUAiADQUBrKQMAIRQgAykDOCEVDAELQgohFQsgA0HwA2oiASAUNwMAIAMgFTcD6AMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAhIANB6ANqrYQ3A/gEIAMgA0H4BGo2ApgEIANB7ARqIANBkARqEM8BIANBqANqQgA3AwAgA0IANwOgAyABKQMAIRcgAykD6AMhEyADKALsBCIBBEAgAygC8AQgARCMAwsgA0ESOgCwAyADIBM3A5ADIAMgFzcDmAMgA0GwBGogA0GIA2opAwA3AwAgA0GoBGogA0GAA2opAwA3AwAgA0GgBGogA0H4AmopAwA3AwAgA0GYBGogA0HwAmopAwA3AwAgAyADKQPoAjcDkAQgA0HAAmogA0GQBGoiASADQcADaiADQZADahB2IAFBqMfAAEEEELcBIAMoApAEDQUgAykDqAQhGCADKQOgBCETAn4gHiADKQOYBCIZWARAIBMgGlStIRQgEyAafQwBCyATIBpUrSATIBpRrXwhFCATIBpCf4V8CyEXIAMpA7AEIRYgGCAcfSEVAkAgFFAEQCAYIBxUrSETDAELIBQgFVatIBggHFStfCETIBUgFH0hFQsgFiAbfSEUAkAgE1AEQCAWIBtaDQEMCwsgFiAbVCATIBRWcg0KIBQgE30hFAsgA0ESOgCIBCADIBQ3A4AEIAMgFTcD+AMgAyAXNwPwAyADIBkgHn03A+gDIANByANqIgFCADcDACADQoCAkLu61q3wDTcDwAMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAkNwP4BCADIANB+ARqNgKYBCADQewEaiADQZAEahDPASADQagDakIANwMAIANCADcDoAMgASkDACEXIAMpA8ADIRMgAygC7AQiAQRAIAMoAvAEIAEQjAMLIANBEjoAsAMgAyATNwOQAyADIBc3A5gDIANBEjoAsAQgAyAbNwOoBCADIBw3A6AEIAMgGjcDmAQgAyAeNwOQBCADQcADaiIBIANBkARqIANBkANqIANB6ANqEHYgA0GQAmogA0HAAmogARByIAMoApACRQRAIANB4ARqIANBuAJqKQMANwMAIANB2ARqIANBsAJqKQMANwMAIANB0ARqIANBqAJqKQMANwMAIANByARqIANBoAJqKQMANwMAIAMgAykDmAI3A8AEQgEhFUIAIRQCQAJAAkAgAy0AuAEiAg4CAgEAC0IKIRVCASETQgAhFgNAIANBGGogFUIBIAJBAXEiARsgFEIAIAEbIBMgFhCUAiADQShqIBUgFCAVIBQQlAIgAkEDSyADQTBqKQMAIRQgA0EgaikDACEWIAMpAyghFSADKQMYIRMgAkEBdiECDQALIANBCGogEyAWIBUgFBCUAiADQRBqKQMAIRQgAykDCCEVDAELQgohFQsgA0GYAmoiASAUNwMAIAMgFTcDkAIgA0EBNgKUAyADQcT9wAA2ApADIANCATcCnAMgAyAiNwPAAyADIANBwANqNgKYAyADQegDaiADQZADahDPASADQagEakIANwMAIANCADcDoAQgASkDACEXIAMpA5ACIRMgAygC6AMiAQRAIAMoAuwDIAEQjAMLIANBEjoAsAQgAyATNwOQBCADIBc3A5gEIABBCGogA0GYAWogA0HABGogA0GQBGoQdiAAQQA2AgAMBwsgAygClAIhASAAQQE2AgAgACABNgIEDAYLIAMgAygClAQ2ApADQczEwABBKyADQZADakG8xMAAQYjswAAQlQIACyADKAKUBCEBIABBATYCACAAIAE2AgQMBAsgAygClAQhASAAQQE2AgAgACABNgIEDAMLIAMgAygClAQ2AuwEQczEwABBKyADQewEakG8xMAAQfjrwAAQlQIACyADKAKUAyEBIABBATYCACAAIAE2AgQMAQsgAyADKAKUBDYCkANBzMTAAEErIANBkANqQbzEwABB6OvAABCVAgALIANBgAVqJAAPCyADQQA2AqAEIANBATYClAQgA0GUh8EANgKQBCADQgQ3ApgEIANBkARqQaiFwQAQswIACyADQQA2AqADIANBATYClAMgA0GUh8EANgKQAyADQgQ3ApgDIANBkANqQaiFwQAQswIACyADQQA2AqAEIANBATYClAQgA0GwxMAANgKQBCADQgQ3ApgEIANBkARqQYDEwAAQswIAC8sfAgp/Dn4jAEGgBWsiAyQAIANB8ARqIAJBIGopAwA3AwAgA0HoBGogAkEYaikDADcDACADQeAEaiACQRBqKQMANwMAIANB2ARqIAJBCGopAwA3AwAgAyACKQMANwPQBCADQcADaiABIANB0ARqEJwBAkACQAJAAkACQAJAIAMoAsADRQRAIANB8AFqIANB4ANqKQMANwMAIANB6AFqIANB2ANqKQMANwMAIANB4AFqIANB0ANqKQMANwMAIAMgAykDyAM3A9gBIAMgAygA6QM2AtABIAMgA0HsA2ooAAA2ANMBIAMtAOgDIQUgA0HABGogAUHYAWopAwA3AwAgA0G4BGogAUHQAWopAwA3AwAgA0GwBGogAUHIAWopAwA3AwAgA0ESOgDIBCADIAEpA8ABNwOoBEIBIQ4CQAJAAkAgBQ4CAgEAC0IKIQ4gBSEEQgEhDwNAIANBsAFqIA5CASAEQQFxIgYbIA1CACAGGyAPIBAQlAIgA0HAAWogDiANIA4gDRCUAiAEQQNLIANByAFqKQMAIQ0gA0G4AWopAwAhECADKQPAASEOIAMpA7ABIQ8gBEEBdiEEDQALIANBoAFqIA8gECAOIA0QlAIgA0GoAWopAwAhDSADKQOgASEODAELQgohDgsgA0GIBGoiBCANNwMAIAMgDjcDgAQgA0EBNgLEAyADQcT9wAA2AsADIANCATcCzAMgA0KAgICAsAciESADQYAEaq2EIhI3A6ACIAMgA0GgAmo2AsgDIANB8AJqIANBwANqEM8BIANB6ARqQgA3AwAgA0IANwPgBCAEKQMAIQ8gAykDgAQhECADKALwAiIGBEAgAygC9AIgBhCMAwsgA0ESOgDwBCADIBA3A9AEIAMgDzcD2AQgA0HYA2ogA0HwAWopAwA3AwAgA0HQA2ogA0HoAWopAwA3AwAgA0HIA2ogA0HgAWopAwA3AwAgA0HkA2ogAygA0wE2AAAgAyADKQPYATcDwAMgAyAFOgDgAyADIAMoAtABNgDhAyADQfgBaiADQcADaiADQdAEaiADQagEahB2IANBmARqIAFBuARqKQMANwMAIANBkARqIAFBsARqKQMANwMAIAQgAUGoBGopAwA3AwAgA0ESOgCgBCADIAEpA6AENwOABEIBIQ5CACENAkACQAJAIAUOAgIBAAtCCiEOIAUhBEIBIQ9CACEQA0AgA0GAAWogDkIBIARBAXEiBhsgDUIAIAYbIA8gEBCUAiADQZABaiAOIA0gDiANEJQCIARBA0sgA0GYAWopAwAhDSADQYgBaikDACEQIAMpA5ABIQ4gAykDgAEhDyAEQQF2IQQNAAsgA0HwAGogDyAQIA4gDRCUAiADQfgAaikDACENIAMpA3AhDgwBC0IKIQ4LIANB2ARqIgYgDTcDACADIA43A9AEIANBATYCxAMgA0HE/cAANgLAAyADQgE3AswDIAMgESADQdAEaq0iGYQ3A/gEIAMgA0H4BGo2AsgDIANB8AJqIANBwANqEM8BIANBwARqQgA3AwAgA0IANwO4BCAGKQMAIQ8gAykD0AQhECADKALwAiIEBEAgAygC9AIgBBCMAwsgA0ESOgDIBCADIBA3A6gEIAMgDzcDsAQgA0HoBGoiByADQfABaikDADcDACADQeAEaiIIIANB6AFqKQMANwMAIAYgA0HgAWopAwA3AwAgA0H0BGogAygA0wE2AAAgAyADKQPYATcD0AQgAyAFOgDwBCADIAMoAtABNgDxBCADQcgDaiADQdAEaiADQYAEaiADQagEahB8IANB6AJqIgQgA0HoA2opAwA3AwAgA0HQAmogA0HQA2opAwA3AwAgA0HYAmogA0HYA2opAwA3AwAgA0HgAmogA0HgA2opAwA3AwAgAyADKQPIAzcDyAIgBC0AACEEIAcgAUHAAWoiBUEYaikDADcDACAIIAVBEGopAwA3AwAgBiAFQQhqKQMANwMAIANBEjoA8AQgAyAFKQMANwPQBEIBIQ5CACENAkACQAJAIAQOAgIBAAtCCiEOQgEhD0IAIRADQCADQdAAaiAOQgEgBEEBcSIGGyANQgAgBhsgDyAQEJQCIANB4ABqIA4gDSAOIA0QlAIgBEEDSyADQegAaikDACENIANB2ABqKQMAIRAgAykDYCEOIAMpA1AhDyAEQQF2IQQNAAsgA0FAayAPIBAgDiANEJQCIANByABqKQMAIQ0gAykDQCEODAELQgohDgsgA0GIBGoiBCANNwMAIAMgDjcDgAQgA0EBNgKsBCADQcT9wAA2AqgEIANCATcCtAQgAyASNwP4BCADIANB+ARqNgKwBCADQfACaiADQagEahDPASADQdgDakIANwMAIANCADcD0AMgBCkDACEPIAMpA4AEIRAgAygC8AIiBARAIAMoAvQCIAQQjAMLIANBEjoA4AMgAyAQNwPAAyADIA83A8gDIANBoAJqIANByAJqIANBwANqIgQgA0HQBGoQdiAEIAEgAhBnIAMoAsADDQEgA0GQA2ogA0HoA2opAwAiDzcDACADQYgDaiADQeADaikDACIQNwMAIANBgANqIANB2ANqKQMAIg03AwAgA0H4AmogA0HQA2opAwAiDjcDACADQagDaiAONwMAIANBsANqIA03AwAgA0G4A2ogEDcDACADIAMpA8gDIhA3A/ACIAMgEDcDoAMgAyADKACRAzYCmAMgAyADQZQDaigAADYAmwMgA0HABGogBUEYaikDADcDACADQbgEaiAFQRBqKQMANwMAIANBsARqIAVBCGopAwA3AwAgA0ESOgDIBCADIAUpAwA3A6gEQgEhDkIAIQ0CQAJAAkAgD6ciAUH/AXEiBA4CAgEAC0IKIQ5CASEPQgAhEANAIANBIGogDkIBIARBAXEiBRsgDUIAIAUbIA8gEBCUAiADQTBqIA4gDSAOIA0QlAIgBEEDSyADQThqKQMAIQ0gA0EoaikDACEQIAMpAzAhDiADKQMgIQ8gBEEBdiEEDQALIANBEGogDyAQIA4gDRCUAiADQRhqKQMAIQ0gAykDECEODAELQgohDgsgA0GABWoiBCANNwMAIAMgDjcD+AQgA0EBNgLEAyADQcT9wAA2AsADIANCATcCzAMgAyARIANB+ARqrYQ3A5gFIAMgA0GYBWo2AsgDIANBjAVqIANBwANqEM8BIANB6ARqQgA3AwAgA0IANwPgBCAEKQMAIQ8gAykD+AQhECADKAKMBSIEBEAgAygCkAUgBBCMAwsgA0ESOgDwBCADIBA3A9AEIAMgDzcD2AQgA0HYA2ogA0G4A2opAwA3AwAgA0HQA2ogA0GwA2opAwA3AwAgA0HIA2ogA0GoA2opAwA3AwAgA0HkA2ogAygAmwM2AAAgAyADKQOgAzcDwAMgAyABOgDgAyADIAMoApgDNgDhAyADQYAEaiIBIANBwANqIANBqARqIANB0ARqEHYCQAJAAkACQCABIAIQmgIiBEH/AXEEfyAEBSADLQCgBCIBIAItACAiAkkNASABIAJHC0H/AXFBAUYNAQsgAykDqAIhESADKQOAAiESIAMpA7gCIRYgAykDkAIhFyADKQOIAiIUIAMpA7ACIhV9IQ8CfgJ+IAMpA/gBIhggAykDoAIiGlQiAUUEQCASIBF9IRMgESASVq0MAQsgEiARQn+FfCETIBEgElatIBEgElGtfAsiEFAEQCAPIQ4gFCAVVK0MAQsgDyAQfSEOIA8gEFStIBQgFVStfAshDSAXIBZ9IRACfiANUARAIBAgFiAXWA0BGgwKCyAWIBdWIA0gEFZyDQkgECANfQshDSADQRI6AOADIAMgDTcD2AMgAyAONwPQAyADIBM3A8gDIAMgGCAafSIYNwPAAyADQfACaiADQcADahCaAkH/AXEiAkUNASACQf8BRw0CDAULIANBADYC0AMgA0EBNgLEAyADQbTRwAA2AsADIANCBDcCyAMgA0HAA2pBmOzAABDNASEEDAULIAMtAJADQRJJDQMLAn4gAUUEQCARIBJWrSETIBIgEX0MAQsgESASVq0gESASUa18IRMgEiARQn+FfAshDgJAIBNQBEAgFCAVVK0hDQwBCyAPIBNUrSAUIBVUrXwhDSAPIBN9IQ8LIAMpA4gDIRIgAykDgAMhEyADKQP4AiERIAMpA/ACIRUCQCANUARAIBYgF1gNAQwICyAWIBdWIA0gEFZyDQcgECANfSEQCwJ+IBUgGFoEQCARIA59IRQgDiARVq0MAQsgESAOQn+FfCEUIA4gEVatIA4gEVGtfAshDSATIA99IQ4CQCANUARAIA8gE1atIQ8MAQsgDSAOVq0gDyATVq18IQ8gDiANfSEOCyASIBB9IQ0CQCAPUARAIBAgElgNAQwICyANIA9UIBAgElZyDQcgDSAPfSENCyAAQRI6ACggACANNwMgIAAgDjcDGCAAIBQ3AxAgAEEANgIAIAAgFSAYfTcDCAwECyADKALEAyEBIABBATYCACAAIAE2AgQMAwsgAygCxAMhBAwBCwJ+IAFFBEAgESASVq0hEyASIBF9DAELIBEgElatIBEgElGtfCETIBIgEUJ/hXwLIQ0CQCATUARAIBQgFVStIQ4MAQsgDyATVK0gFCAVVK18IQ4gDyATfSEPCwJAAkAgDlAEQCAWIBdYDQEMAgsgFiAXViAOIBBWcg0BIBAgDn0hEAsgA0ESOgDwBCADIBA3A+gEIAMgDzcD4AQgAyANNwPYBCADIBg3A9AEIANCgICAgMAHIg8gGYQ3A4gEIAMgDyADQfACaq2ENwOABCADQQM6APwDIANBBDYC+AMgA0KggICAEDcC8AMgA0ECNgLoAyADQQI2AuADIANBAzoA3AMgA0EENgLYAyADQiA3AtADIANBAjYCyAMgA0ECNgLAAyADQQI2ArwEIANBAjYCrAQgA0HY7MAANgKoBCADIANBwANqNgK4BCADQQI2ArQEIAMgA0GABGo2ArAEIANB+ARqIgEgA0GoBGoQzwEgA0EIaiABQfCFwQBB6OzAABCnAiADKAIMIQEgAygCCCECIANByANqIgUgA0GABWooAgA2AgBBkd7BAC0AABogAyADKQL4BDcDwANBGEEEEPgCIgQEQCAEIAI2AgQgBEHYhsEANgIAIAQgAykDwAM3AgwgBCABNgIIIARBFGogBSgCADYCAAwCC0EEQRgQqQMACwwDCyAAQQE2AgAgACAENgIECyADQaAFaiQADwsgA0EANgLgBCADQQE2AtQEIANBsMTAADYC0AQgA0IENwLYBCADQdAEakGAxMAAELMCAAsgA0EANgLQAyADQQE2AsQDIANBsMTAADYCwAMgA0IENwLIAyADQcADakGAxMAAELMCAAuoIwISfxN+IwBB4AVrIgMkAAJ+AkACfyABKQM4IhZQRQRAIBYhFUGABAwBC0HAAyABKQMwIhVQRQ0AGkGAAyABKQMoIhVQRQ0AGkHAAiABKQMgIhVQRQ0AGkGAAiABKQMYIhVQRQ0AGkHAASABKQMQIhVQRQ0AGiABKQMIIhVQDQFBgAELIQUgFXkMAQtBwAAhBSABKQMAeQshGAJAAkACQAJAAkACQAJ/AkACf0GABCACKQM4IhVQRQ0AGkHAAyACKQMwIhVQRQ0AGkGAAyACKQMoIhVQRQ0AGkHAAiACKQMgIhVQRQ0AGkGAAiACKQMYIhVQRQ0AGkHAASACKQMQIhVQRQ0AGiACKQMIIhVQDQFBgAELIBV5p2sMAQsgAikDACIVUA0BQcAAIBV5p2sLIgQgBSAYp2siC0sNASAEQcEATwRAIANByANqIAJBOGopAwA3AwAgA0HAA2ogAkEwaikDADcDACADQbgDaiACQShqKQMANwMAIANBsANqIAJBIGopAwA3AwAgA0GoA2ogAkEYaikDADcDACADQaADaiACQRBqKQMANwMAIANBmANqIAJBCGopAwA3AwAgAyACKQMANwOQAyADQZADaiIGIARBAWtBBnYiD0EDdGoiDikDAHkiHqciDCEFIwBBQGoiBEE4akIANwMAIARBMGpCADcDACAEQShqQgA3AwAgBEEgakIANwMAIARBGGpCADcDACAEQRBqIg1CADcDACAEQQhqIgpCADcDACAEQgA3AwAgBCAFQQZ2IgdBA3QiCGogAikDACIYIAWtIhWGNwMAIAggCmoiCiACKQMIIhkgFYYiGjcDACAIIA1qIgggAikDECIbIBWGIh83AwAgBCAHQQNqIg1BA3RqIhAgAikDGCIdIBWGIiA3AwAgBUE/cSERAkAgB0EEaiIFQQhGDQAgBCAFQQN0aiACKQMgIBVCP4MiFoY3AwAgB0EFaiIJQQhGDQAgBCAJQQN0aiACKQMoIBaGNwMAIAdBBmoiCUEIRg0AIAQgCUEDdGogAikDMCAWhjcDACAHQQdqIglBCEYNACAEIAlBA3RqIAIpAzggFoY3AwALAkAgEUUNACAIIB8gGUIAIBV9IhWIfDcDACAKIBogGCAViHw3AwAgECAgIBsgFYh8NwMAIA1BB0YNACAEIAVBA3RqIgggCCkDACAdIBVCP4MiFYh8NwMAIAVBB0YNACAEIAdBBWoiBUEDdGoiCCAIKQMAIAIpAyAgFYh8NwMAIAVBB0YNACAEIAdBBmoiBUEDdGoiCCAIKQMAIAIpAyggFYh8NwMAIAVBB0YNACAHQQN0IARqQThqIgcgBykDACACKQMwIBWIfDcDAAsgBiAEKQMANwMAIAZBOGogBEE4aikDADcDACAGQTBqIARBMGopAwA3AwAgBkEoaiAEQShqKQMANwMAIAZBIGogBEEgaikDADcDACAGQRhqIARBGGopAwA3AwAgBkEQaiAEQRBqKQMANwMAIAZBCGogBEEIaikDADcDACALQQFrIQVBwAAgDGsiBK0hFSABIARBBnYiBkEDdGoiAikDACEWIAJBMGopAwAhICACQShqKQMAISIgAkEgaikDACEjIAJBGGopAwAhJCACQRBqKQMAISUgAkEIaikDACEXIARBP3EhByAGQQdqIgJBCEcNAwwFCyACKQMAIhVQDQMgASkDKCEYIAEpAyAhHiABKQMYIRkgASkDECEaIAEpAwghGyABKQMAIR8gA0HQAWogASkDMCIdIBYgFiAVgCIWIBV+fSAVEMECIANBwAFqIAMpA9ABIiAgA0HYAWopAwAgFUIAEJQCIANBsAFqIBggHSADKQPAAX0gFRDBAiADQaABaiADKQOwASIdIANBuAFqKQMAIBVCABCUAiADQZABaiAeIBggAykDoAF9IBUQwQIgA0GAAWogAykDkAEiGCADQZgBaikDACAVQgAQlAIgA0HwAGogGSAeIAMpA4ABfSAVEMECIANB4ABqIAMpA3AiHiADQfgAaikDACAVQgAQlAIgA0HQAGogGiAZIAMpA2B9IBUQwQIgA0FAayADKQNQIhkgA0HYAGopAwAgFUIAEJQCIANBMGogGyAaIAMpA0B9IBUQwQIgA0EgaiADKQMwIhogA0E4aikDACAVQgAQlAIgA0EQaiAfIBsgAykDIH0gFRDBAiADIAMpAxAiGyADQRhqKQMAIBVCABCUAiAAQgA3A0ggAEHQAGpCADcDACAAQdgAakIANwMAIABB4ABqQgA3AwAgAEHoAGpCADcDACAAQfAAakIANwMAIABB+ABqQgA3AwAgACAWNwM4IAAgIDcDMCAAIB03AyggACAYNwMgIAAgHjcDGCAAIBk3AxAgACAaNwMIIAAgGzcDACAAIB8gAykDAH03A0AMBQsgA0EANgLoBCADQQE2AtwEIANB3LTBADYC2AQgA0IENwLgBCADQdgEakGctcEAELMCAAsgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3A0AgAEHIAGogAUEIaikDADcDACAAQdAAaiABQRBqKQMANwMAIABB2ABqIAFBGGopAwA3AwAgAEHgAGogAUEgaikDADcDACAAQegAaiABQShqKQMANwMAIABB8ABqIAFBMGopAwA3AwAgAEH4AGogAUE4aikDADcDAAwDCyABIAJBA3RqKQMAIBWIIRwMAQtBnLXBABDOAgALIAVBBnYhBCAWIBWIIRYgICAViCEYICIgFYghGSAjIBWIIRogJCAViCEbICUgFYghHyAXIBWIIR0gD0EBaiEIIAEpAwAhIQJAIAdFDQAgIEIAIBV9IhWGIBl8IRkgIiAVhiAafCEaICMgFYYgG3whGyAkIBWGIB98IR8gJSAVhiAdfCEdIBcgFYYgFnwhFiAeUA0AIAEgAkEDdGopAwAgFYYgGHwhGAsgAyAcNwOQBCADIBg3A4gEIAMgGTcDgAQgAyAaNwP4AyADIBs3A/ADIAMgHzcD6AMgAyAdNwPgAyADIBY3A9gDIAMgISAehjcD0AMgA0HQBGpCADcDACADQcgEakIANwMAIANBwARqQgA3AwAgA0G4BGpCADcDACADQbAEakIANwMAIANBqARqQgA3AwAgA0GgBGpCADcDACADQgA3A5gEIANB0ANqIARBA3QiAiAPQQN0IgFraiEGIB5CP4MhGCAIQQN0QQhqQQN2IQsgASADakGIA2opAwAhGiAOKQMAIRkgAykDyAMhGyADKQPAAyEfIAMpA7gDIR0gAykDsAMhICADKQOoAyEiIAMpA6ADISMgAykDmAMhJCADKQOQAyElIAEgAmtByABqQQN2IhMhDSAEIA9rIg4hAQJAA0ACQAJAAkACQAJAIAEiByAIaiICQQlJBEBCfyEWIANB0ANqIAJBA3RqIhApAwAiFSAZWg0CIAEgD2oiBEEJSQ0BQX9BCUGctcEAEKACAAsgAkEJQZy1wQAQoAIACyACQQJrIgFBCEsNASADQYADaiADQdADaiICIARBA3RqKQMAIhcgFSAZEMECIANB8AJqIAMpA4ADIhYgA0GIA2opAwAgGUIAEJQCIBcgAykD8AJ9IRUgAUEDdCACaikDACEXA0AgA0HgAmogFkIAIBpCABCUAiAXIAMpA+ACWiAVIANB6AJqKQMAIhxWIBUgHFEbDQEgFkIBfSEWIBUgFSAZfCIVWA0ACwsgA0HQAmogJUIAIBZCABCUAiADQcACaiAkQgAgFkIAEJQCIANBsAJqICNCACAWQgAQlAIgA0GgAmogIkIAIBZCABCUAiADQZACaiAgQgAgFkIAEJQCIANBgAJqIB1CACAWQgAQlAIgA0HwAWogH0IAIBZCABCUAiADQeABaiAbQgAgFkIAEJQCIAMgAykD0AI3A9gEIAMgAykDwAIiFSADQdgCaikDAHwiFzcD4AQgAyADQcgCaikDACAVIBdWrXwiFSADKQOwAnwiFzcD6AQgAyADQbgCaikDACAVIBdWrXwiFSADKQOgAnwiFzcD8AQgAyADQagCaikDACAVIBdWrXwiFSADKQOQAnwiFzcD+AQgAyADQZgCaikDACAVIBdWrXwiFSADKQOAAnwiFzcDgAUgAyADQYgCaikDACAVIBdWrXwiFSADKQPwAXwiFzcDiAUgAyADQfgBaikDACAVIBdWrXwiFSADKQPgAXwiFzcDkAUgAyADQegBaikDACAVIBdWrXw3A5gFIA5BCUsNAUHIACAHQQN0IhFrQQN2IgEgCyABIAtJG0UNAiANQf////8BcSEMIBIgE2pB/////wFxIgogCyAKIAtJGyIBQQFxAn8gAUEBRgRAQgAhFUEADAELQQAgCyAMIAsgDEkbQf7///8AcWshCUIAIRVBACEEIANB2ARqIQIgBiEBA0AgASABKQMAIhcgAikDACIcIBV8IhV9NwMAIAFBCGoiBSAFKQMAIiEgAkEIaikDACImIBUgHFQgFSAXVnKtfCIVfTcDACAVICZUIBUgIVZyIgWtIRUgAUEQaiEBIAJBEGohAiAJIARBAmsiBEcNAAtBACAEawshASADQdADaiARaiEJBEAgCSABQQN0IgFqIgIgAikDACIXIBUgA0HYBGogAWopAwAiHHwiFX03AwAgFSAcVCAVIBdWciEFCyAFQQFxRQ0CQQAhAgJAIAdBCUYNACAKIAggCCAKSxsiAUEBcQJ/IAFBAUYEQEIAIRVBAAwBC0EAIAggDCAIIAxJG0H+//8/cWshDEIAIRVBACEBQQAhBANAIAEgBmoiAiACKQMAIhcgFSADQZADaiABaiIFKQMAIhV8Ihx8IiE3AwAgAkEIaiICIAIpAwAiJiAFQQhqKQMAIicgFSAcViAXICFWcq18IhV8Ihc3AwAgFSAnVCAXICZUciICrSEVIAFBEGohASAMIARBAmsiBEcNAAtBACAEawshAUUNACAJIAFBA3QiAWoiAiACKQMAIhcgFSADQZADaiABaikDACIVfCIcfCIhNwMAIBUgHFYgFyAhVnIhAgsgECAQKQMAIAKtQgGDfDcDACAWQgF9IRYMAgsgAUEJQZy1wQAQoAIACyAOQQlBnLXBABCfAgALIA5BCEkEQCAHQQFrIQEgA0GYBGogEWogFjcDACAGQQhrIQYgDUEBaiENIBJBAWohEiAHRQ0CDAELCyAOQQhBnLXBABCgAgALIANB2ARqIANB0ANqQcgAENkBGiADIAMpA9gEIBiINwOgBSADIAMpA+AEIBiINwOoBSADIAMpA+gEIBiINwOwBSADIAMpA/AEIBiINwO4BSADIAMpA/gEIBiINwPABSADIAMpA4AFIBiINwPIBSADIAMpA4gFIBiINwPQBSADIAMpA5AFIBiINwPYBQJAIB5QRQRAQgAgHn1CP4MhFUEBIQEDQEEIIQRBByECIAFBB0siBkUEQCABQQFrIgJBB0sNAyABQQFqIQQLIANBoAVqIAJBA3RqIgIgAikDACADQdgEaiABQQN0aikDACAVhoQ3AwAgBCEBIAZFDQALCyAAIAMpA6AFNwNAIABB+ABqIANB2AVqKQMANwMAIABB8ABqIANB0AVqKQMANwMAIABB6ABqIANByAVqKQMANwMAIABB4ABqIANBwAVqKQMANwMAIABB2ABqIANBuAVqKQMANwMAIABB0ABqIANBsAVqKQMANwMAIABByABqIANBqAVqKQMANwMAIABBOGogA0HQBGopAwA3AwAgAEEwaiADQcgEaikDADcDACAAQShqIANBwARqKQMANwMAIABBIGogA0G4BGopAwA3AwAgAEEYaiADQbAEaikDADcDACAAQRBqIANBqARqKQMANwMAIABBCGogA0GgBGopAwA3AwAgACADKQOYBDcDAAwBC0F/QQhBnLXBABCgAgALIANB4AVqJAALiCQCCX8BfiMAQRBrIggkAAJ/AkACQAJAAkACQAJAIABB9QFPBEBBACAAQc3/e08NBxogAEELaiIBQXhxIQVB/OHBACgCACIJRQ0EQR8hB0EAIAVrIQQgAEH0//8HTQRAIAVBBiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBwsgB0ECdEHg3sEAaigCACIBRQRAQQAhAAwCC0EAIQAgBUEZIAdBAXZrQQAgB0EfRxt0IQMDQAJAIAEoAgRBeHEiBiAFSQ0AIAYgBWsiBiAETw0AIAEhAiAGIgQNAEEAIQQgASEADAQLIAEoAhQiBiAAIAYgASADQR12QQRxakEQaigCACIBRxsgACAGGyEAIANBAXQhAyABDQALDAELQfjhwQAoAgAiAkEQIABBC2pB+ANxIABBC0kbIgVBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiIGQQN0IgBB8N/BAGoiAyAAQfjfwQBqKAIAIgEoAggiBEcEQCAEIAM2AgwgAyAENgIIDAELQfjhwQAgAkF+IAZ3cTYCAAsgASAAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEIAFBCGoMBwsgBUGA4sEAKAIATQ0DAkACQCABRQRAQfzhwQAoAgAiAEUNBiAAaEECdEHg3sEAaigCACICKAIEQXhxIAVrIQQgAiEBA0ACQCACKAIQIgANACACKAIUIgANACABKAIYIQcCQAJAIAEgASgCDCIARgRAIAFBFEEQIAEoAhQiABtqKAIAIgINAUEAIQAMAgsgASgCCCICIAA2AgwgACACNgIIDAELIAFBFGogAUEQaiAAGyEDA0AgAyEGIAIiAEEUaiAAQRBqIAAoAhQiAhshAyAAQRRBECACG2ooAgAiAg0ACyAGQQA2AgALIAdFDQQgASABKAIcQQJ0QeDewQBqIgIoAgBHBEAgB0EQQRQgBygCECABRhtqIAA2AgAgAEUNBQwECyACIAA2AgAgAA0DQfzhwQBB/OHBACgCAEF+IAEoAhx3cTYCAAwECyAAKAIEQXhxIAVrIgIgBCACIARJIgIbIQQgACABIAIbIQEgACECDAALAAsCQEECIAB0IgNBACADa3IgASAAdHFoIgZBA3QiAUHw38EAaiIDIAFB+N/BAGooAgAiACgCCCIERwRAIAQgAzYCDCADIAQ2AggMAQtB+OHBACACQX4gBndxNgIACyAAIAVBA3I2AgQgACAFaiIGIAEgBWsiA0EBcjYCBCAAIAFqIAM2AgBBgOLBACgCACIEBEAgBEF4cUHw38EAaiEBQYjiwQAoAgAhAgJ/QfjhwQAoAgAiBUEBIARBA3Z0IgRxRQRAQfjhwQAgBCAFcjYCACABDAELIAEoAggLIQQgASACNgIIIAQgAjYCDCACIAE2AgwgAiAENgIIC0GI4sEAIAY2AgBBgOLBACADNgIAIABBCGoMCAsgACAHNgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAEoAhQiAkUNACAAIAI2AhQgAiAANgIYCwJAAkAgBEEQTwRAIAEgBUEDcjYCBCABIAVqIgMgBEEBcjYCBCADIARqIAQ2AgBBgOLBACgCACIGRQ0BIAZBeHFB8N/BAGohAEGI4sEAKAIAIQICf0H44cEAKAIAIgVBASAGQQN2dCIGcUUEQEH44cEAIAUgBnI2AgAgAAwBCyAAKAIICyEGIAAgAjYCCCAGIAI2AgwgAiAANgIMIAIgBjYCCAwBCyABIAQgBWoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBC0GI4sEAIAM2AgBBgOLBACAENgIACyABQQhqDAYLIAAgAnJFBEBBACECQQIgB3QiAEEAIABrciAJcSIARQ0DIABoQQJ0QeDewQBqKAIAIQALIABFDQELA0AgACACIAAoAgRBeHEiAyAFayIGIARJIgcbIQkgACgCECIBRQRAIAAoAhQhAQsgAiAJIAMgBUkiABshAiAEIAYgBCAHGyAAGyEEIAEiAA0ACwsgAkUNACAFQYDiwQAoAgAiAE0gBCAAIAVrT3ENACACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEDA0AgAyEGIAEiAEEUaiAAQRBqIAAoAhQiARshAyAAQRRBECABG2ooAgAiAQ0ACyAGQQA2AgALIAdFDQIgAiACKAIcQQJ0QeDewQBqIgEoAgBHBEAgB0EQQRQgBygCECACRhtqIAA2AgAgAEUNAwwCCyABIAA2AgAgAA0BQfzhwQBB/OHBACgCAEF+IAIoAhx3cTYCAAwCCwJAAkACQAJAAkAgBUGA4sEAKAIAIgFLBEAgBUGE4sEAKAIAIgBPBEAgBUGvgARqQYCAfHEiAkEQdkAAIQAgCEEEaiIBQQA2AgggAUEAIAJBgIB8cSAAQX9GIgIbNgIEIAFBACAAQRB0IAIbNgIAQQAgCCgCBCIBRQ0JGiAIKAIMIQZBkOLBACAIKAIIIgRBkOLBACgCAGoiADYCAEGU4sEAQZTiwQAoAgAiAiAAIAAgAkkbNgIAAkACQEGM4sEAKAIAIgIEQEHg38EAIQADQCABIAAoAgAiAyAAKAIEIgdqRg0CIAAoAggiAA0ACwwCC0Gc4sEAKAIAIgBBACAAIAFNG0UEQEGc4sEAIAE2AgALQaDiwQBB/x82AgBB7N/BACAGNgIAQeTfwQAgBDYCAEHg38EAIAE2AgBB/N/BAEHw38EANgIAQYTgwQBB+N/BADYCAEH438EAQfDfwQA2AgBBjODBAEGA4MEANgIAQYDgwQBB+N/BADYCAEGU4MEAQYjgwQA2AgBBiODBAEGA4MEANgIAQZzgwQBBkODBADYCAEGQ4MEAQYjgwQA2AgBBpODBAEGY4MEANgIAQZjgwQBBkODBADYCAEGs4MEAQaDgwQA2AgBBoODBAEGY4MEANgIAQbTgwQBBqODBADYCAEGo4MEAQaDgwQA2AgBBvODBAEGw4MEANgIAQbDgwQBBqODBADYCAEG44MEAQbDgwQA2AgBBxODBAEG44MEANgIAQcDgwQBBuODBADYCAEHM4MEAQcDgwQA2AgBByODBAEHA4MEANgIAQdTgwQBByODBADYCAEHQ4MEAQcjgwQA2AgBB3ODBAEHQ4MEANgIAQdjgwQBB0ODBADYCAEHk4MEAQdjgwQA2AgBB4ODBAEHY4MEANgIAQezgwQBB4ODBADYCAEHo4MEAQeDgwQA2AgBB9ODBAEHo4MEANgIAQfDgwQBB6ODBADYCAEH84MEAQfDgwQA2AgBBhOHBAEH44MEANgIAQfjgwQBB8ODBADYCAEGM4cEAQYDhwQA2AgBBgOHBAEH44MEANgIAQZThwQBBiOHBADYCAEGI4cEAQYDhwQA2AgBBnOHBAEGQ4cEANgIAQZDhwQBBiOHBADYCAEGk4cEAQZjhwQA2AgBBmOHBAEGQ4cEANgIAQazhwQBBoOHBADYCAEGg4cEAQZjhwQA2AgBBtOHBAEGo4cEANgIAQajhwQBBoOHBADYCAEG84cEAQbDhwQA2AgBBsOHBAEGo4cEANgIAQcThwQBBuOHBADYCAEG44cEAQbDhwQA2AgBBzOHBAEHA4cEANgIAQcDhwQBBuOHBADYCAEHU4cEAQcjhwQA2AgBByOHBAEHA4cEANgIAQdzhwQBB0OHBADYCAEHQ4cEAQcjhwQA2AgBB5OHBAEHY4cEANgIAQdjhwQBB0OHBADYCAEHs4cEAQeDhwQA2AgBB4OHBAEHY4cEANgIAQfThwQBB6OHBADYCAEHo4cEAQeDhwQA2AgBBjOLBACABQQ9qQXhxIgBBCGsiAjYCAEHw4cEAQejhwQA2AgBBhOLBACAEQShrIgMgASAAa2pBCGoiADYCACACIABBAXI2AgQgASADakEoNgIEQZjiwQBBgICAATYCAAwICyACIANJIAEgAk1yDQAgACgCDCIDQQFxDQAgA0EBdiAGRg0DC0Gc4sEAQZziwQAoAgAiACABIAAgAUkbNgIAIAEgBGohA0Hg38EAIQACQAJAA0AgAyAAKAIAIgdHBEAgACgCCCIADQEMAgsLIAAoAgwiA0EBcQ0AIANBAXYgBkYNAQtB4N/BACEAA0ACQCACIAAoAgAiA08EQCACIAMgACgCBGoiB0kNAQsgACgCCCEADAELC0GM4sEAIAFBD2pBeHEiAEEIayIDNgIAQYTiwQAgBEEoayIJIAEgAGtqQQhqIgA2AgAgAyAAQQFyNgIEIAEgCWpBKDYCBEGY4sEAQYCAgAE2AgAgAiAHQSBrQXhxQQhrIgAgACACQRBqSRsiA0EbNgIEQeDfwQApAgAhCiADQRBqQejfwQApAgA3AgAgAyAKNwIIQezfwQAgBjYCAEHk38EAIAQ2AgBB4N/BACABNgIAQejfwQAgA0EIajYCACADQRxqIQADQCAAQQc2AgAgAEEEaiIAIAdJDQALIAIgA0YNByADIAMoAgRBfnE2AgQgAiADIAJrIgBBAXI2AgQgAyAANgIAIABBgAJPBEAgAiAAEOkBDAgLIABB+AFxQfDfwQBqIQECf0H44cEAKAIAIgNBASAAQQN2dCIAcUUEQEH44cEAIAAgA3I2AgAgAQwBCyABKAIICyEAIAEgAjYCCCAAIAI2AgwgAiABNgIMIAIgADYCCAwHCyAAIAE2AgAgACAAKAIEIARqNgIEIAFBD2pBeHFBCGsiAiAFQQNyNgIEIAdBD2pBeHFBCGsiBCACIAVqIgBrIQUgBEGM4sEAKAIARg0DIARBiOLBACgCAEYNBCAEKAIEIgFBA3FBAUYEQCAEIAFBeHEiARDVASABIAVqIQUgASAEaiIEKAIEIQELIAQgAUF+cTYCBCAAIAVBAXI2AgQgACAFaiAFNgIAIAVBgAJPBEAgACAFEOkBDAYLIAVB+AFxQfDfwQBqIQECf0H44cEAKAIAIgNBASAFQQN2dCIEcUUEQEH44cEAIAMgBHI2AgAgAQwBCyABKAIICyEDIAEgADYCCCADIAA2AgwgACABNgIMIAAgAzYCCAwFC0GE4sEAIAAgBWsiATYCAEGM4sEAQYziwQAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIagwIC0GI4sEAKAIAIQACQCABIAVrIgJBD00EQEGI4sEAQQA2AgBBgOLBAEEANgIAIAAgAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBC0GA4sEAIAI2AgBBiOLBACAAIAVqIgM2AgAgAyACQQFyNgIEIAAgAWogAjYCACAAIAVBA3I2AgQLIABBCGoMBwsgACAEIAdqNgIEQYziwQBBjOLBACgCACIAQQ9qQXhxIgFBCGsiAjYCAEGE4sEAQYTiwQAoAgAgBGoiAyAAIAFrakEIaiIBNgIAIAIgAUEBcjYCBCAAIANqQSg2AgRBmOLBAEGAgIABNgIADAMLQYziwQAgADYCAEGE4sEAQYTiwQAoAgAgBWoiATYCACAAIAFBAXI2AgQMAQtBiOLBACAANgIAQYDiwQBBgOLBACgCACAFaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALIAJBCGoMAwtBAEGE4sEAKAIAIgAgBU0NAhpBhOLBACAAIAVrIgE2AgBBjOLBAEGM4sEAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGoMAgsgACAHNgIYIAIoAhAiAQRAIAAgATYCECABIAA2AhgLIAIoAhQiAUUNACAAIAE2AhQgASAANgIYCwJAIARBEE8EQCACIAVBA3I2AgQgAiAFaiIAIARBAXI2AgQgACAEaiAENgIAIARBgAJPBEAgACAEEOkBDAILIARB+AFxQfDfwQBqIQECf0H44cEAKAIAIgNBASAEQQN2dCIEcUUEQEH44cEAIAMgBHI2AgAgAQwBCyABKAIICyEDIAEgADYCCCADIAA2AgwgACABNgIMIAAgAzYCCAwBCyACIAQgBWoiAEEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAsgAkEIagsgCEEQaiQAC6McAg1/En4jAEHgAWsiBSQAIAQpAxghHSAEKQMQIRkgBCkDCCEbIAQpAwAhEiAFQbgBaiIGQbjEwABBARB3AkACQAJAAn8CQCAFKAK4AUUEQCAFKQPYASEgIAUpA9ABIRcgBSkDyAEhISAFKQPAASETIB1CAFMNASAgQgBTDQMgBSAdNwN4IAUgGTcDcCAFIBs3A2ggBSASNwNgIAUgIDcD0AEgBSAXNwPIASAFICE3A8ABIAUgEzcDuAEgBUHgAGogBhCaAgwCCyAFIAUoArwBNgJgQczEwABBKyAFQeAAakG8xMAAQYTOwAAQlQIACyAgQgBZDQIgBUIAIBJ9IhQ3A2AgBSAbQn+FQgAgG30iEiAUQgBSIgYbNwNoIAUgGUJ/hSIUIBJQIAZBf3NxIgatfCISIBQgBhs3A3AgBSAGIBIgFFRxrSAdQn+FfDcDeCAFQgAgE30iFDcDuAEgBSAhQn+FQgAgIX0iEiAUQgBSIgYbNwPAASAFIBdCf4UiFCASUCAGQX9zcSIGrXwiEiAUIAYbNwPIASAFIAYgEiAUVHGtICBCf4V8NwPQASAFQbgBaiAFQeAAahCaAgtB/wFxQQFHDQELIAUgIDcD0AEgBSAXNwPIASAFICE3A8ABDAELIAVB0AFqIARBGGopAwA3AwAgBUHIAWogBEEQaikDADcDACAFQcABaiAEQQhqKQMANwMAIAQpAwAhEwsgBSATNwO4AQJ+IAVBuAFqQfjCwABBIBCtAgRAIAUpA9ABQn+FIhJCACAFKQPAASIXfSIZUEIAIBN9IhNCAFIiBkF/c3EiByAFKQPIAUJ/hSIbIAetfCIUIBtUcSIErXwgEiAEGyESIBdCf4UgGSAGGyEWIBQgGyAHGwwBCyAFKQPQASESIAUpA8ABIRYgBSkDyAELIRUgBSASNwN4IAUgFTcDcCAFIBY3A2ggBSATNwNgIAVBiAFqIgcgBUHgAGoQuQECQAJAAkACQAJAAkACQAJAAkAgBSgCiAFFBEAgBUEoaiAFQbABaikDADcDACAFQSBqIAVBqAFqKQMANwMAIAVBGGogBUGgAWoiBikDADcDACAFQRBqIAVBmAFqIgQpAwA3AwAgBSAFKQOQATcDCCAHIAEQjwEgBSgCiAENASAFKQOoASEdIAUpA6ABIRsgBSkDkAEhFyAFKQOYASEZIAVB+ABqIAFB2AFqKQMAIhQ3AwAgBUHwAGogAUHQAWopAwAiEzcDACAFQegAaiABQcgBaikDACISNwMAIAVBkAFqIBI3AwAgBCATNwMAIAYgFDcDACAFQRI6AKgBIAUgASkDwAEiEjcDYCAFIBI3A4gBIAVBuAFqIAVBCGogBxDCASAZIAUpA8ABfCIYIBlUIQQgBSkDyAEgFyAXIAUpA7gBfCIUWAR+IAStBSAYQgF8IhhQrSAErXwLIRUgBSkD0AEhEiAbfCITIBtUIQQgFVAEfiAErQUgEyATIBV8IhNWrSAErXwLIRUgEiAdfCISIB1UIQQCQCAVUARAIARFDQEMCwsgBA0KIBIgEiAVfCISVg0KCyAFQRI6AIABIAVBEjoAWCAFIBI3A1AgBSATNwNIIAUgGDcDQCAFIBQ3AzggBUGIAWoiCEGgzcAAQQQQtwEgBSgCiAENAiAFQdgBaiIPIAVBsAFqIgcpAwA3AwAgBUHQAWoiCSAFQagBaiIGKQMANwMAIAVByAFqIgogBUGgAWoiCykDADcDACAFQcABaiIMIAVBmAFqIg0pAwA3AwAgBSAFKQOQATcDuAEgCCAFQThqIhAgBUHgAGoiESAFQbgBaiIOEHwgBSAFKACpATYCMCAFIAVBrAFqKAAANgAzIAUpA4gBISAgBSkDkAEhISAFKQOYASEdIAUpA6ABIRsgBS0AqAEhBCAIQajHwABBBBC3ASAFKAKIAQ0DIA8gBykDADcDACAJIAYpAwA3AwAgCiALKQMANwMAIAwgDSkDADcDACAFIAUpA5ABNwO4ASAQIA4gAhDCASAJIAFBuARqKQMANwMAIAogAUGwBGopAwA3AwAgDCABQagEaikDADcDACAFQRI6ANgBIAUgASkDoAQ3A7gBIAsgAUH4A2opAwA3AwAgDSABQfADaikDADcDACAFQZABaiABQegDaikDADcDACAFQRI6AKgBIAUgASkD4AM3A4gBIBEgDiAIEMMBIAhBqMfAAEEEELcBIAUoAogBDQQgBSkDoAEhIiAFKQOYASEXIAMpAxAhEiADKQMIIRMCfiAFKQOQASIZIAMpAwAiFFoEQCATIBdWrSEWIBcgE30MAQsgEyAXVq0gEyAXUa18IRYgFyATQn+FfAshGiAFKQOoASEcIAMpAxghFyAiIBJ9IRMCQCAWUARAIBIgIlatIRUMAQsgEyAWVK0gEiAiVq18IRUgEyAWfSETCyAcIBd9IRICQCAVUARAIBcgHFgNAQwKCyASIBVUIBcgHFZyDQkgEiAVfSESCyAFQRI6AKgBIAUgEjcDoAEgBSATNwOYASAFIBo3A5ABIAUgGSAUfTcDiAEgBUG4AWogBUHgAGogBUGIAWoQwwEgBSkDQCISIAUpA8ABfCIWIBJUIQIgBSkDyAEgBSkDSCEZIAUpAzgiEiAFKQO4AXwiIiASWgR+IAKtBSAWQgF8IhZQrSACrXwLIRggBSkD0AEhEiAFKQNQIRQgGXwiEyAZVCECIBhQBH4gAq0FIBMgEyAYfCITVq0gAq18CyEYIBIgFHwiEiAUVCECAkAgGFAEQCACRQ0BDAsLIAINCiASIBIgGHwiElYNCgsgBUGIAWpBqMfAAEEEELcBIAUoAogBDQUgBSkDoAEhGSAFKQOYASEUAn4gBSkDkAEiFyAiWARAIBYgFH0hGCAUIBZWrQwBCyAWIBRCf4V8IRggFCAWVq0gFCAWUa18CyEeIAUpA6gBIRQgEyAZfSEWAkAgHlAEQCATIBlUrSEVDAELIBYgHlStIBMgGVStfCEVIBYgHn0hFgsgEiAUfSETAkAgFVAEQCASIBRaDQEMCgsgEiAUVCATIBVUcg0JIBMgFX0hEwsgBUHQAGogAUHgA2oiAUEYaikDADcDACAFQcgAaiABQRBqKQMANwMAIAVBQGsgAUEIaikDADcDACAFQRI6AFggBSABKQMANwM4IAVBiAFqIgFBqMfAAEEEELcBIAUoAogBDQYgBUHYAWogBUGwAWopAwA3AwAgBUHQAWogBUGoAWopAwA3AwAgBUHIAWogBUGgAWopAwA3AwAgBUHAAWogBUGYAWopAwA3AwAgBSAFKQOQATcDuAEgBUHgAGogBUG4AWogAxDCASABQajHwABBBBC3ASAFKAKIAUUEQCAFKQOgASEVIAUpA5gBIRogBSkDcCEfIAUpA2ghEgJ+IAUpA2AiGSAFKQOQASIUWgRAIBIgGlStIR4gEiAafQwBCyASIBpUrSASIBpRrXwhHiASIBpCf4V8CyEcIAUpA6gBISMgBSkDeCEaIB8gFX0hEgJAIB5QBEAgFSAfVq0hHwwBCyASIB5UrSAVIB9WrXwhHyASIB59IRILIBogI30hFQJAIB9QBEAgGiAjWg0BDAsLIBogI1QgFSAfVHINCiAVIB99IRULIAVBEjoAqAEgBSAVNwOgASAFIBI3A5gBIAUgHDcDkAEgBSAZIBR9NwOIASAFQbgBaiAFQThqIAVBiAFqEMMBIAUpA8gBIRwgBSkDwAEhEgJ+ICIgF30iGSAFKQO4ASIUWgRAIBIgGFatIRUgGCASfQwBCyASIBhWrSASIBhRrXwhFSAYIBJCf4V8CyEaIAUpA9ABIRcgFiAcfSESAkAgFVAEQCAWIBxUrSEYDAELIBIgFVStIBYgHFStfCEYIBIgFX0hEgsgEyAXfSEWAkAgGFAEQCATIBdaDQEMCwsgEyAXVCAWIBhUcg0KIBYgGH0hFgsgBUESOgCAASAFIBY3A3ggBSASNwNwIAUgGjcDaCAFIBkgFH03A2AgBUGsAWogBSgAMzYAACAFIAQ6AKgBIAUgGzcDoAEgBSAdNwOYASAFICE3A5ABIAUgIDcDiAEgBSAFKAIwNgCpASAFQbgBaiAFQYgBaiAFQeAAahDCASAFIAVB3AFqKAAANgAzIAUgBSgA2QE2AjAgBS0A2AEhASAFKQO4ASEUIAUpA8ABIRMgBSkDyAEhEiAAIAUpA9ABNwMgIAAgEjcDGCAAIBM3AxAgACAUNwMIIAAgBSgCMDYAKSAAQSxqIAUoADM2AAAgACABOgAoIABBADYCAAwICyAFIAUoAowBNgK4AUHMxMAAQSsgBUG4AWpBvMTAAEGkzcAAEJUCAAsgBSgCjAEhASAAQQE2AgAgACABNgIEDAYLIAUoAowBIQEgAEEBNgIAIAAgATYCBAwFCyAFIAUoAowBNgK4AUHMxMAAQSsgBUG4AWpBvMTAAEH0zcAAEJUCAAsgBSAFKAKMATYCuAFBzMTAAEErIAVBuAFqQbzEwABB5M3AABCVAgALIAUgBSgCjAE2ArgBQczEwABBKyAFQbgBakG8xMAAQdTNwAAQlQIACyAFIAUoAowBNgK4AUHMxMAAQSsgBUG4AWpBvMTAAEHEzcAAEJUCAAsgBSAFKAKMATYCuAFBzMTAAEErIAVBuAFqQbzEwABBtM3AABCVAgALIAVB4AFqJAAPCyAFQQA2ApgBIAVBATYCjAEgBUGwxMAANgKIASAFQgQ3ApABIAVBiAFqQYDEwAAQswIACyAFQQA2ApgBIAVBATYCjAEgBUGUh8EANgKIASAFQgQ3ApABIAVBiAFqQaiFwQAQswIAC9IcAgl/DX4jAEHwA2siAyQAQgEhDAJAAkACQCABLQAgIgQOAgIBAAtCCiEMQgEhDgNAIANB+ABqIAxCASAEQQFxIgUbIA1CACAFGyAOIA8QlAIgA0GIAWogDCANIAwgDRCUAiAEQQNLIANBkAFqKQMAIQ0gA0GAAWopAwAhDyADKQOIASEMIAMpA3ghDiAEQQF2IQQNAAsgA0HoAGogDiAPIAwgDRCUAiADQfAAaikDACENIAMpA2ghDAwBC0IKIQwLIANB+AJqIgQgDTcDACADIAw3A/ACIANBATYCnAMgA0GwlMAANgKYAyADQgE3AqQDIAMgA0HwAmqtQoCAgIAQhDcD0AIgAyADQdACajYCoAMgA0HoAWogA0GYA2oQzwEgA0GwAWpCADcDACADQgA3A6gBIAQpAwAhDCADKQPwAiENIAMoAugBIgUEQCADKALsASAFEIwDCyADQRI6ALgBIAMgDDcDoAEgAyANNwOYASADQYgDaiIKIAJBGGopAwA3AwAgA0GAA2oiByACQRBqIggpAwA3AwAgBCACQQhqKQMANwMAIAMgAikDADcD8AIgA0GwA2oiBEIANwMAIANBqANqIglCADcDACADQaADaiIFQgA3AwAgA0IANwOYAwJAAkACQAJAAkACQAJAAkACQAJAIANB8AJqIgsgA0GYA2oiBhCaAkH/AXFB/wFHBEAgCiACQRhqKQMANwMAIAcgCCkDADcDACADQfgCaiACQQhqKQMANwMAIAMgAikDADcD8AIgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOYAyALIAZBIBCtAkUNASAEQgA3AwAgCUIANwMAIAVCADcDACADQgA3A5gDIAEgBkEgEK0CRQ0CIAYgAhCqASADKAKYAw0DIAMpA7gDIQ4gAykDsAMhDyADKQOoAyENIAMpA6ADIQwgA0G4A2ogAUEgaikDADcDACAEIAFBGGopAwA3AwAgCSABQRBqKQMANwMAIAUgAUEIaikDADcDACADIAEpAwA3A5gDIAsgBhCqASADKALwAg0EIANBqAJqIANBkANqKQMANwMAIANBoAJqIAopAwA3AwAgA0GYAmogBykDADcDACADIAMpA/gCNwOQAiADQegBaiADQZACahBiIAMoAugBDQUgAykDiAIhEEJ/IAwgDYQgD4QgDoRCAFKtIA5CAFMiARsgAykDgAIhEyADKQP4ASERIAMpA/ABIRIgAQRAIA1Cf4VCACANfSIXQgAgDH0iDEIAUiIBGyENIA9Cf4UiFCAXUCABQX9zcSIBrXwiFyAUIAEbIQ8gASAUIBdWca0gDkJ/hXwhDgtCfyARIBKEIBOEIBCEQgBSrSAQQgBTIgEbIAEEQCARQn+FQgAgEX0iFUIAIBJ9IhJCAFIiARshESATQn+FIhQgFVAgAUF/c3EiAa18IhUgFCABGyETIAEgFCAVVnGtIBBCf4V8IRALIANB2ABqIBJCACAMQgAQlAIgA0HIAGogEkIAIA1CABCUAiADQThqIBJCACAPQgAQlAIgA0EoaiARQgAgDEIAEJQCIANBGGogEUIAIA1CABCUAiADQQhqIBNCACAMQgAQlAIgAykDOCIUIANB0ABqKQMAIAMpA0giFSADQeAAaikDAHwiGCAVVK18fCIVIBRUrSADQRBqKQMAIANBIGopAwAgA0FAaykDACAPIBF+IA4gEn58IA0gE358fCAMIBB+fHx8fCADQTBqKQMAIAMpAygiDCAYfCINIAxUrXwiDCAVfCIOIAxUrXwgAykDGCIMIA58Ig4gDFStfCADKQMIIgwgDnwiDiAMVK18IQwgAykDWCEPfkICWgRAIAxCf4UiDEIAIA19IhFQQgAgD30iD0IAUiICQX9zcSIBIA5Cf4UiDiABrXwiECAOVHEiBK18IAwgBBshDCAQIA4gARshDiANQn+FIBEgAhshDQsgA0GYA2ogA0GYAWoQqgEgAygCmAMNCUH/ASEEQf8BIA0gD4QgDoQgDIRCAFIgDEIAUxshASADKQOwAyETIAMpA6gDIREgAykDoAMhECADKQO4AyISQgBTDQZBASEEIBAgEYQgEiAThIRCAFINBkHMm8AAEM4CAAsgA0HoAmogAkEYaiIEKQMANwMAIANB4AJqIAgpAwA3AwAgA0HYAmogAkEIaiIFKQMANwMAIAMgAikDADcD0AIgA0GAAmogBCkDADcDACADQfgBaiAIKQMANwMAIANB8AFqIAUpAwA3AwAgAyACKQMANwPoASADQYgDaiIGQgA3AwAgB0IANwMAIANB+AJqIgdCADcDACADQgA3A/ACAkAgA0HQAmogA0HwAmoQmgJB/wFxQf8BRwRAIAYgBCkDADcDACADQYADaiACQRBqKQMANwMAIAcgBSkDADcDACADIAIpAwA3A/ACDAELIANB8AJqIANB6AFqEMgBCyADQRI6AJADIANBmANqIgIgASADQfACaiIEEHEgAygCmAMNBiADQeABaiADQcADaikDADcDACADQdgBaiADQbgDaikDACIMNwMAIANB0AFqIANBsANqIgEpAwAiDTcDACADQcgBaiADQagDaiIFKQMAIg43AwAgAyADKQOgAyIPNwPAASADQYgDaiIGIAw3AwAgA0GAA2oiByANNwMAIANB+AJqIgggDjcDACADIA83A/ACIAFCADcDACAFQgA3AwAgA0GgA2pCADcDACADQgA3A5gDIAQgAkEgEK0CRQ0HIAYgA0GwAWopAwA3AwAgByADQagBaikDADcDACAIIANBoAFqKQMANwMAIAMgAykDmAE3A/ACIANBEjoAkAMgA0HYAmoiAkIANwMAIANCgICQu7rWrfANNwPQAiADQQE2AuwBIANBsJTAADYC6AEgA0IBNwL0ASADIANB0AJqrUKAgICAEIQ3A+gDIAMgA0HoA2o2AvABIANB3ANqIANB6AFqEM8BIAFCADcDACADQgA3A6gDIAIpAwAhDCADKQPQAiENIAMoAtwDIgEEQCADKALgAyABEIwDCyADQRI6ALgDIAMgDDcDoAMgAyANNwOYAyAAQQhqIANB8AJqIANBmANqIANBwAFqEHsgAEEANgIADAkLIAAgAykDmAE3AwggAEEANgIAIABBKGogA0G4AWopAwA3AwAgAEEgaiADQbABaikDADcDACAAQRhqIANBqAFqKQMANwMAIABBEGogA0GgAWopAwA3AwAMCAsgAEIANwMIIABBEjoAKCAAQQA2AgAgAEEgakIANwMAIABBGGpCADcDACAAQRBqQgA3AwAMBwsgAygCnAMhASAAQQE2AgAgACABNgIEDAYLIAMoAvQCIQEgAEEBNgIAIAAgATYCBAwFCyADKALsASEBIABBATYCACAAIAE2AgQMBAsgAcAgBMBtIQIgAyAMQgBTBH4gDUJ/hUIAIA19IhZCACAPfSIPQgBSIgEbIQ0gDkJ/hSIUIBZQIAFBf3NxIgGtfCIWIBQgARshDiABIBQgFlZxrSAMQn+FfAUgDAs3A4ACIAMgDjcD+AEgAyANNwPwASADIA83A+gBIAMgEkIAUwR+IBFCf4VCACARfSINQgAgEH0iEEIAUiIBGyERIBNCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRMgASAMIA1Wca0gEkJ/hXwFIBILNwOIAyADIBM3A4ADIAMgETcD+AIgAyAQNwPwAiADQZgDaiADQegBaiADQfACahBzIAMpA7ADIQ0gAykDqAMhDiADKQOgAyEMIAMpA5gDIQ8gAyACQf8BcUECTwR+IAxCf4VCACAMfSIQQgAgD30iD0IAUiIBGyEMIA5Cf4UiESAQUCABQX9zcSIBrXwiECARIAEbIQ4gASAQIBFUca0gDUJ/hXwFIA0LNwOIAyADIA43A4ADIAMgDDcD+AIgAyAPNwPwAiADQZgDaiADQfACahBjIAMoApgDRQRAIAMpA7ADIQ0gAykDqAMhDCADKQOgAyEOIAMgAykDuAMiD0IAWSIEBH4gDwUgDEJ/hUIAIAx9IhBCACAOfSIOQgBSIgEbIQwgDUJ/hSIRIBBQIAFBf3NxIgGtfCIQIBEgARshDSABIBAgEVRxrSAPQn+FfAs3A8gCIAMgDTcDwAIgAyAMNwO4AiADIA43A7ACIANBsAJqIQIjAEHgAGsiASQAAkAgBEUEQCABQdgAaiIEQgA3AwAgAUHQAGoiBUIANwMAIAFByABqIgZCADcDACABQgA3A0AgASABQUBrEJ0BIAIgAUEgEK0CRQRAIARBgJjAACkDADcDACAFQfiXwAApAwA3AwAgBkHwl8AAKQMANwMAIAFB6JfAACkDADcDQAwCCyABQThqIAJBGGopAwA3AwAgAUEwaiACQRBqKQMANwMAIAFBKGogAkEIaikDADcDACABIAIpAwA3AyAgAUFAayABQSBqEMgBDAELIAFB2ABqIAJBGGopAwA3AwAgAUHQAGogAkEQaikDADcDACABQcgAaiACQQhqKQMANwMAIAEgAikDADcDQAsgACABKQNANwMIIABBADYAKSAAQRI6ACggAEEANgIAIABBLGpBADYAACAAQSBqIAFB2ABqKQMANwMAIABBGGogAUHQAGopAwA3AwAgAEEQaiABQcgAaikDADcDACABQeAAaiQADAQLIAMoApwDIQEgAEEBNgIAIAAgATYCBAwDCyADKAKcAyEBIABBATYCACAAIAE2AgQMAgsgA0EANgKoAyADQQE2ApwDIANBtJrAADYCmAMgA0IENwKgAyADQZgDakHcm8AAEM0BIQEgAEEBNgIAIAAgATYCBAwBCyADKAKcAyEBIABBATYCACAAIAE2AgQLIANB8ANqJAAL1BwCCX8NfiMAQfADayIDJABCASEMAkACQAJAIAEtACAiBA4CAgEAC0IKIQxCASEOA0AgA0H4AGogDEIBIARBAXEiBRsgDUIAIAUbIA4gDxCUAiADQYgBaiAMIA0gDCANEJQCIARBA0sgA0GQAWopAwAhDSADQYABaikDACEPIAMpA4gBIQwgAykDeCEOIARBAXYhBA0ACyADQegAaiAOIA8gDCANEJQCIANB8ABqKQMAIQ0gAykDaCEMDAELQgohDAsgA0H4AmoiBCANNwMAIAMgDDcD8AIgA0EBNgKcAyADQcT9wAA2ApgDIANCATcCpAMgAyADQfACaq1CgICAgLAHhDcD0AIgAyADQdACajYCoAMgA0HoAWogA0GYA2oQzwEgA0GwAWpCADcDACADQgA3A6gBIAQpAwAhDCADKQPwAiENIAMoAugBIgUEQCADKALsASAFEIwDCyADQRI6ALgBIAMgDDcDoAEgAyANNwOYASADQYgDaiIKIAJBGGopAwA3AwAgA0GAA2oiByACQRBqIggpAwA3AwAgBCACQQhqKQMANwMAIAMgAikDADcD8AIgA0GwA2oiBEIANwMAIANBqANqIglCADcDACADQaADaiIFQgA3AwAgA0IANwOYAwJAAkACQAJAAkACQAJAAkACQAJAIANB8AJqIgsgA0GYA2oiBhCaAkH/AXFB/wFHBEAgCiACQRhqKQMANwMAIAcgCCkDADcDACADQfgCaiACQQhqKQMANwMAIAMgAikDADcD8AIgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOYAyALIAZBIBCtAkUNASAEQgA3AwAgCUIANwMAIAVCADcDACADQgA3A5gDIAEgBkEgEK0CRQ0CIAYgAhCrASADKAKYAw0DIAMpA7gDIQ4gAykDsAMhDyADKQOoAyENIAMpA6ADIQwgA0G4A2ogAUEgaikDADcDACAEIAFBGGopAwA3AwAgCSABQRBqKQMANwMAIAUgAUEIaikDADcDACADIAEpAwA3A5gDIAsgBhCrASADKALwAg0EIANBqAJqIANBkANqKQMANwMAIANBoAJqIAopAwA3AwAgA0GYAmogBykDADcDACADIAMpA/gCNwOQAiADQegBaiADQZACahBiIAMoAugBDQUgAykDiAIhEEJ/IAwgDYQgD4QgDoRCAFKtIA5CAFMiARsgAykDgAIhEyADKQP4ASERIAMpA/ABIRIgAQRAIA1Cf4VCACANfSIXQgAgDH0iDEIAUiIBGyENIA9Cf4UiFCAXUCABQX9zcSIBrXwiFyAUIAEbIQ8gASAUIBdWca0gDkJ/hXwhDgtCfyARIBKEIBOEIBCEQgBSrSAQQgBTIgEbIAEEQCARQn+FQgAgEX0iFUIAIBJ9IhJCAFIiARshESATQn+FIhQgFVAgAUF/c3EiAa18IhUgFCABGyETIAEgFCAVVnGtIBBCf4V8IRALIANB2ABqIBJCACAMQgAQlAIgA0HIAGogEkIAIA1CABCUAiADQThqIBJCACAPQgAQlAIgA0EoaiARQgAgDEIAEJQCIANBGGogEUIAIA1CABCUAiADQQhqIBNCACAMQgAQlAIgAykDOCIUIANB0ABqKQMAIAMpA0giFSADQeAAaikDAHwiGCAVVK18fCIVIBRUrSADQRBqKQMAIANBIGopAwAgA0FAaykDACAPIBF+IA4gEn58IA0gE358fCAMIBB+fHx8fCADQTBqKQMAIAMpAygiDCAYfCINIAxUrXwiDCAVfCIOIAxUrXwgAykDGCIMIA58Ig4gDFStfCADKQMIIgwgDnwiDiAMVK18IQwgAykDWCEPfkICWgRAIAxCf4UiDEIAIA19IhFQQgAgD30iD0IAUiICQX9zcSIBIA5Cf4UiDiABrXwiECAOVHEiBK18IAwgBBshDCAQIA4gARshDiANQn+FIBEgAhshDQsgA0GYA2ogA0GYAWoQqwEgAygCmAMNCUH/ASEEQf8BIA0gD4QgDoQgDIRCAFIgDEIAUxshASADKQOwAyETIAMpA6gDIREgAykDoAMhECADKQO4AyISQgBTDQZBASEEIBAgEYQgEiAThIRCAFINBkG0gcEAEM4CAAsgA0HoAmogAkEYaiIEKQMANwMAIANB4AJqIAgpAwA3AwAgA0HYAmogAkEIaiIFKQMANwMAIAMgAikDADcD0AIgA0GAAmogBCkDADcDACADQfgBaiAIKQMANwMAIANB8AFqIAUpAwA3AwAgAyACKQMANwPoASADQYgDaiIGQgA3AwAgB0IANwMAIANB+AJqIgdCADcDACADQgA3A/ACAkAgA0HQAmogA0HwAmoQmgJB/wFxQf8BRwRAIAYgBCkDADcDACADQYADaiACQRBqKQMANwMAIAcgBSkDADcDACADIAIpAwA3A/ACDAELIANB8AJqIANB6AFqEMkBCyADQRI6AJADIANBmANqIgIgASADQfACaiIEEHIgAygCmAMNBiADQeABaiADQcADaikDADcDACADQdgBaiADQbgDaikDACIMNwMAIANB0AFqIANBsANqIgEpAwAiDTcDACADQcgBaiADQagDaiIFKQMAIg43AwAgAyADKQOgAyIPNwPAASADQYgDaiIGIAw3AwAgA0GAA2oiByANNwMAIANB+AJqIgggDjcDACADIA83A/ACIAFCADcDACAFQgA3AwAgA0GgA2pCADcDACADQgA3A5gDIAQgAkEgEK0CRQ0HIAYgA0GwAWopAwA3AwAgByADQagBaikDADcDACAIIANBoAFqKQMANwMAIAMgAykDmAE3A/ACIANBEjoAkAMgA0HYAmoiAkIANwMAIANCgICQu7rWrfANNwPQAiADQQE2AuwBIANBxP3AADYC6AEgA0IBNwL0ASADIANB0AJqrUKAgICAsAeENwPoAyADIANB6ANqNgLwASADQdwDaiADQegBahDPASABQgA3AwAgA0IANwOoAyACKQMAIQwgAykD0AIhDSADKALcAyIBBEAgAygC4AMgARCMAwsgA0ESOgC4AyADIAw3A6ADIAMgDTcDmAMgAEEIaiADQfACaiADQZgDaiADQcABahB8IABBADYCAAwJCyAAIAMpA5gBNwMIIABBADYCACAAQShqIANBuAFqKQMANwMAIABBIGogA0GwAWopAwA3AwAgAEEYaiADQagBaikDADcDACAAQRBqIANBoAFqKQMANwMADAgLIABCADcDCCAAQRI6ACggAEEANgIAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMADAcLIAMoApwDIQEgAEEBNgIAIAAgATYCBAwGCyADKAL0AiEBIABBATYCACAAIAE2AgQMBQsgAygC7AEhASAAQQE2AgAgACABNgIEDAQLIAHAIATAbSECIAMgDEIAUwR+IA1Cf4VCACANfSIWQgAgD30iD0IAUiIBGyENIA5Cf4UiFCAWUCABQX9zcSIBrXwiFiAUIAEbIQ4gASAUIBZWca0gDEJ/hXwFIAwLNwOAAiADIA43A/gBIAMgDTcD8AEgAyAPNwPoASADIBJCAFMEfiARQn+FQgAgEX0iDUIAIBB9IhBCAFIiARshESATQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyETIAEgDCANVnGtIBJCf4V8BSASCzcDiAMgAyATNwOAAyADIBE3A/gCIAMgEDcD8AIgA0GYA2ogA0HoAWogA0HwAmoQcyADKQOwAyENIAMpA6gDIQ4gAykDoAMhDCADKQOYAyEPIAMgAkH/AXFBAk8EfiAMQn+FQgAgDH0iEEIAIA99Ig9CAFIiARshDCAOQn+FIhEgEFAgAUF/c3EiAa18IhAgESABGyEOIAEgECARVHGtIA1Cf4V8BSANCzcDiAMgAyAONwOAAyADIAw3A/gCIAMgDzcD8AIgA0GYA2ogA0HwAmoQYyADKAKYA0UEQCADKQOwAyENIAMpA6gDIQwgAykDoAMhDiADIAMpA7gDIg9CAFkiBAR+IA8FIAxCf4VCACAMfSIQQgAgDn0iDkIAUiIBGyEMIA1Cf4UiESAQUCABQX9zcSIBrXwiECARIAEbIQ0gASAQIBFUca0gD0J/hXwLNwPIAiADIA03A8ACIAMgDDcDuAIgAyAONwOwAiADQbACaiECIwBB4ABrIgEkAAJAIARFBEAgAUHYAGoiBEIANwMAIAFB0ABqIgVCADcDACABQcgAaiIGQgA3AwAgAUIANwNAIAEgAUFAaxCeASACIAFBIBCtAkUEQCAEQaD8wAApAwA3AwAgBUGY/MAAKQMANwMAIAZBkPzAACkDADcDACABQYj8wAApAwA3A0AMAgsgAUE4aiACQRhqKQMANwMAIAFBMGogAkEQaikDADcDACABQShqIAJBCGopAwA3AwAgASACKQMANwMgIAFBQGsgAUEgahDJAQwBCyABQdgAaiACQRhqKQMANwMAIAFB0ABqIAJBEGopAwA3AwAgAUHIAGogAkEIaikDADcDACABIAIpAwA3A0ALIAAgASkDQDcDCCAAQQA2ACkgAEESOgAoIABBADYCACAAQSxqQQA2AAAgAEEgaiABQdgAaikDADcDACAAQRhqIAFB0ABqKQMANwMAIABBEGogAUHIAGopAwA3AwAgAUHgAGokAAwECyADKAKcAyEBIABBATYCACAAIAE2AgQMAwsgAygCnAMhASAAQQE2AgAgACABNgIEDAILIANBADYCqAMgA0EBNgKcAyADQZyAwQA2ApgDIANCBDcCoAMgA0GYA2pBxIHBABDNASEBIABBATYCACAAIAE2AgQMAQsgAygCnAMhASAAQQE2AgAgACABNgIECyADQfADaiQAC4cXAhJ/D34jAEGAA2siAyQAAn4CQAJ/IAEpAxgiFlBFBEAgFiEVQYACDAELQcABIAEpAxAiFVBFDQAaIAEpAwgiFVANAUGAAQshBSAVeQwBC0HAACEFIAEpAwB5CyEXAkACQAJAAkACQAJAAn8CQAJ/QYACIAIpAxgiFVBFDQAaQcABIAIpAxAiFVBFDQAaIAIpAwgiFVANAUGAAQsgFXmnawwBCyACKQMAIhVQDQFBwAAgFXmnawsiBCAFIBenayIGSw0BIARBwQBPBEAgA0HoAWogAkEYaikDACIeNwMAIANB4AFqIAJBEGopAwAiFTcDACADQdgBaiACQQhqKQMAIhc3AwAgAyACKQMAIho3A9ABIANB0AFqIARBAWtBBnYiDUEDdGoiCSkDACEdIANB0AJqQgA3AwAgA0HIAmpCADcDACADQcACaiIEQgA3AwAgBCAdeSIZpyICQQZ2IgVBA3QiB2oiCCAXIBmGIh83AwAgA0IANwO4AiADQbgCaiAHaiIEIBogGYY3AwAgBEEQaiIHIBUgGYYiIDcDACAZQj+DIRsgAkE/cSEKIAVBA2oiBEEERw0DDAULIAIpAwAiFVANAyABKQMIIRkgASkDACEXIANB0ABqIAEpAxAiGyAWIBYgFYAiFiAVfn0gFRDBAiADQUBrIAMpA1AiGiADQdgAaikDACAVQgAQlAIgA0EwaiAZIBsgAykDQH0gFRDBAiADQSBqIAMpAzAiGyADQThqKQMAIBVCABCUAiADQRBqIBcgGSADKQMgfSAVEMECIAMgAykDECIZIANBGGopAwAgFUIAEJQCIABCADcDKCAAQTBqQgA3AwAgAEE4akIANwMAIAAgFjcDGCAAIBo3AxAgACAbNwMIIAAgGTcDACAAIBcgAykDAH03AyAMBQsgA0EANgLIAiADQQE2ArwCIANB3LTBADYCuAIgA0IENwLAAiADQbgCakGMtcEAELMCAAsgAEIANwMAIABBGGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIAAgASkDADcDICAAQShqIAFBCGopAwA3AwAgAEEwaiABQRBqKQMANwMAIABBOGogAUEYaikDADcDAAwDCyADQbgCaiAEQQN0aiAeIBuGNwMADAELQYy1wQAQzgIACyAGQQFrAkAgCkUNACAHICAgF0IAIBl9IheIfDcDACAIIB8gGiAXiHw3AwAgHVANACADQbgCaiAEQQN0aiIEIAQpAwAgFSAXiHw3AwALQQZ2IQQgA0HoAWogA0HQAmopAwA3AwAgA0HgAWogA0HIAmopAwA3AwAgA0HYAWogA0HAAmopAwA3AwAgAyADKQO4AjcD0AEgFkHAACACayICrSIViEIAIAJBBnYiBkEDaiIHQQRHGyEdIAEgBkEDdGoiBUEQaikDACIeIBWIIRogBUEIaikDACIfIBWIIRYgBSkDACAViCEXIAEpAwAhIAJAIAJBP3FFDQAgHkIAIBV9IhWGIBZ8IRYgHyAVhiAXfCEXIBlQDQAgASAHQQN0aikDACAVhiAafCEaCyANQQFqIQggAyAdNwOQAiADIBo3A4gCIAMgFjcDgAIgAyAXNwP4ASADICAgG4Y3A/ABIANBsAJqQgA3AwAgA0GoAmpCADcDACADQaACakIANwMAIANCADcDmAIgA0HwAWogBEEDdCICIA1BA3QiAWtqIQYgAUEQakEDdiEHIAEgA2pByAFqKQMAIRogCSkDACEXIAMpA+gBIR0gAykD4AEhHiADKQPYASEfIAMpA9ABISAgASACa0EoakEDdiITIQ8gBCANayIKIQECQANAAkACQAJAAkACQCABIgkgCGoiAkEFSQRAQn8hFiADQfABaiACQQN0aiIRKQMAIhUgF1oNAiABIA1qIgRBBUkNAUF/QQVBjLXBABCgAgALIAJBBUGMtcEAEKACAAsgAkECayIBQQRLDQEgA0HAAWogA0HwAWoiAiAEQQN0aikDACIYIBUgFxDBAiADQbABaiADKQPAASIWIANByAFqKQMAIBdCABCUAiAYIAMpA7ABfSEVIAFBA3QgAmopAwAhGANAIANBoAFqIBZCACAaQgAQlAIgGCADKQOgAVogFSADQagBaikDACIcViAVIBxRGw0BIBZCAX0hFiAVIBUgF3wiFVgNAAsLIANBkAFqICBCACAWQgAQlAIgA0GAAWogH0IAIBZCABCUAiADQfAAaiAeQgAgFkIAEJQCIANB4ABqIB1CACAWQgAQlAIgAyADKQOQATcDuAIgAyADKQOAASIVIANBmAFqKQMAfCIYNwPAAiADIANBiAFqKQMAIBUgGFatfCIVIAMpA3B8Ihg3A8gCIAMgA0H4AGopAwAgFSAYVq18IhUgAykDYHwiGDcD0AIgAyADQegAaikDACAVIBhWrXw3A9gCIApBBUsNAUEoIAlBA3QiEmtBA3YiASAHIAEgB0kbRQ0CIA9B/////wFxIQsgECATakH/////AXEiDCAHIAcgDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAHIAsgByALSRtB/v//P3FrIQ5CACEVQQAhBCADQbgCaiECIAYhAQNAIAEgASkDACIYIAIpAwAiHCAVfCIVfTcDACABQQhqIgUgBSkDACIhIAJBCGopAwAiIiAVIBxUIBUgGFZyrXwiFX03AwAgFSAiVCAVICFWciIFrSEVIAFBEGohASACQRBqIQIgDiAEQQJrIgRHDQALQQAgBGsLIQEgA0HwAWogEmohDgRAIA4gAUEDdCIBaiICIAIpAwAiGCADQbgCaiABaikDACIcIBV8IhV9NwMAIBUgHFQgFSAYVnIhBQsgBUEBcUUNAkEAIQICQCAJQQVGDQAgDCAIIAggDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAIIAsgCCALSRtB/v//P3FrIQtCACEVQQAhAUEAIQQDQCABIAZqIgIgAikDACIYIBUgA0HQAWogAWoiBSkDACIVfCIcfCIhNwMAIAJBCGoiAiACKQMAIiIgBUEIaikDACIjIBUgHFYgGCAhVnKtfCIVfCIYNwMAIBUgI1QgGCAiVHIiAq0hFSABQRBqIQEgCyAEQQJrIgRHDQALQQAgBGsLIQFFDQAgDiABQQN0IgFqIgIgAikDACIYIBUgA0HQAWogAWopAwAiFXwiHHwiITcDACAVIBxWIBggIVZyIQILIBEgESkDACACrUIBg3w3AwAgFkIBfSEWDAILIAFBBUGMtcEAEKACAAsgCkEFQYy1wQAQnwIACyAKQQRJBEAgCUEBayEBIANBmAJqIBJqIBY3AwAgBkEIayEGIA9BAWohDyAQQQFqIRAgCUUNAgwBCwsgCkEEQYy1wQAQoAIACyADQdgCaiADQZACaikDADcDACADQdACaiADQYgCaikDACIVNwMAIANByAJqIANBgAJqKQMAIhY3AwAgA0HAAmogA0H4AWopAwAiFzcDACADIAMpA/ABIho3A7gCIAMgGiAbiDcD4AIgAyAXIBuINwPoAiADIBYgG4g3A/ACIAMgFSAbiDcD+AICQCAZUEUEQEIAIBl9Qj+DIRVBASEBA0BBBCEEQQMhAiABQQNLIgZFBEAgAUEBayICQQNLDQMgAUEBaiEECyADQeACaiACQQN0aiICIAIpAwAgA0G4AmogAUEDdGopAwAgFYaENwMAIAQhASAGRQ0ACwsgACADKQPgAjcDICAAQThqIANB+AJqKQMANwMAIABBMGogA0HwAmopAwA3AwAgAEEoaiADQegCaikDADcDACAAQRhqIANBsAJqKQMANwMAIABBEGogA0GoAmopAwA3AwAgAEEIaiADQaACaikDADcDACAAIAMpA5gCNwMADAELQX9BBEGMtcEAEKACAAsgA0GAA2okAAu3GAIPfwN+IwBBwB1rIgIkACACQYgQaiIDIAEQAiABEAMQvgECQAJAAkAgAigCiBBFBEAgAyACQZQIaiACQZAQakHwBxDZASIDQfAHENkBGiACQSBqIANB8AcQ2QEaIAIgARApNgK4HCACQZAIaiACQbgcakHktcAAELEBAkACQAJAAkACQAJAAkAgAigCkAhFBEAgAkGUGmogAkGwCGopAwAiETcCACACQYwaaiACQagIaikDACISNwIAIAJBhBpqIAJBoAhqKQMAIhM3AgAgAkGIGGogEzcDACACQZAYaiASNwMAIAJBmBhqIBE3AwAgAiACKQOYCCIRNwL8GSACIBE3A4AYIAJBEjoAoBggAigCuBwiA0GEAU8EQCADEAALIAIgARAvNgK4HCACQZAIaiACQbgcakH0tcAAELEBIAIoApAIDQEgAkGUGmogAkGwCGopAwAiETcCACACQYwaaiACQagIaikDACISNwIAIAJBhBpqIAJBoAhqKQMAIhM3AgAgAkGwGGogEzcDACACQbgYaiASNwMAIAJBwBhqIBE3AwAgAiACKQOYCCIRNwL8GSACIBE3A6gYIAIoArgcIgNBhAFPBEAgAxAACyACIAEQLjYCuBwgAkGQCGogAkG4HGpBhLbAABCxASACKAKQCA0CIAJBlBpqIAJBsAhqKQMAIhE3AgAgAkGMGmogAkGoCGopAwAiEjcCACACQYQaaiACQaAIaikDACITNwIAIAJB+BhqIBM3AwAgAkGAGWogEjcDACACQYgZaiARNwMAIAJB4BhqIBE3AwAgAkHQGGogEzcDACACQdgYaiASNwMAIAIgAikDmAgiETcC/BkgAiARNwPwGCACIBE3A8gYIAJBEjoA6BggAigCuBwiA0GEAU8EQCADEAALIAIgARAqIgM2ArgcIAJBkAhqIAJBuBxqQZS2wAAQsQEgAigCkAgNAyACQZQaaiACQbAIaikDACIRNwIAIAJBjBpqIAJBqAhqKQMAIhI3AgAgAkGEGmogAkGgCGopAwAiEzcCACACQcAZaiATNwMAIAJByBlqIBI3AwAgAkHQGWogETcDACACQagZaiARNwMAIAJBmBlqIBM3AwAgAkGgGWogEjcDACACIAIpA5gIIhE3AvwZIAIgETcDuBkgAiARNwOQGSACQRI6ALAZIANBhAFPBEAgAxAACyACIAEQKyIDNgK4HCACQZAIaiACQbgcakGktsAAELEBIAIoApAIDQQgAkGUGmogAkGwCGopAwAiETcCACACQYwaaiACQagIaikDACISNwIAIAJBhBpqIAJBoAhqKQMAIhM3AgAgAkHgGWogEzcDACACQegZaiASNwMAIAJB8BlqIBE3AwAgAiACKQOYCCIRNwL8GSACIBE3A9gZIANBhAFPBEAgAxAACyACQZAIaiIEIAJBIGoiBhCZASACQfgZaiAEQbS2wAAQ0QEgAigC+BkNByACQagdaiACQYgaaiIDKQMANwMAIAJBsB1qIAJBkBpqIgUpAwA3AwAgAkG4HWogAkGYGmopAwA3AwAgAiACKQOAGjcDoB0gAkHQGmogBiACQdgZahDaASACQcAaaiACQegaaikDADcDACACQbgaaiACQeAaaikDADcDACACQbAaaiACQdgaaikDADcDACACQRI6AMgaIAIgAikD0Bo3A6gaIAJBkBlqIAJBqBpqEJoCQf8BcUEBRg0FIARBxLbAAEEBELYBIAIoApAIDQkgAkGQG2ogAkG4CGopAwA3AwAgAkGIG2ogAkGwCGopAwA3AwAgAkGAG2ogAkGoCGopAwA3AwAgAkH4GmogAkGgCGopAwA3AwAgAiACKQOYCDcD8BoMBgsgAkGQGmogAkGsCGooAgAiAzYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAM2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgAigCuBwiA0GEAUkNCiADEAAMCgsgAkGQGmogAkGsCGooAgAiAzYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAM2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgAigCuBwiA0GEAUkNCSADEAAMCQsgAkGQGmogAkGsCGooAgAiAzYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAM2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgAigCuBwiA0GEAUkNCCADEAAMCAsgAkGQGmogAkGsCGooAgAiBTYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAU2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgA0GEAUkNByADEAAMBwsgAkGQGmogAkGsCGooAgAiBTYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAU2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgA0GEAUkNBiADEAAMBgsgAkGYG2oiBCACQbgZaiACQdAaahDeASACQRI6ALgbIAUgAkGgFmopAwA3AwAgAyACQZgWaikDADcDACACQYAaaiACQZAWaikDADcDACACIAIpA4gWNwP4GSACQRI6AJgaIAJBkAhqIgMgBBDTASACQfAaaiAEIAMgAkH4GWoQewsgAkGQCGoiBCACQagYaiACQfAYahDeASACQRI6ALAIIAJB+BlqIgYgAkGAGGoiCCAEEMEBIAJBwBtqIgsgBiACQcgYahDAASAEQcW2wABBBBC2ASACKAKQCA0DIAJBmB1qIAJBsAhqIgkpAwA3AwAgAkGQHWogAkGoCGoiAykDADcDACACQYgdaiACQaAIaiIFKQMANwMAIAIgAikDmAg3A4AdIAQgAkGAHWogAkGgHWoQ3gEgAkESOgCwCCAGIAggBBDBASAJIAJBkBtqIgwpAwA3AwAgAyACQYgbaiINKQMANwMAIAUgAkGAG2oiDikDADcDACACQZgIaiIHIAJB+BpqIg8pAwA3AwAgAiACKQPwGjcDkAggAkHoG2oiCiAGIAQQwQEgAyACQYAUaikDADcDACAFIAJB+BNqKQMANwMAIAcgAkHwE2opAwA3AwAgAiACKQPoEzcDkAggAkESOgCwCCACQZAcaiIQIAogBBDBASAJIAwpAwA3AwAgAyANKQMANwMAIAUgDikDADcDACAHIA8pAwA3AwAgAiACKQPwGjcDkAggBiAIIAQQwQEgAyACQaAUaikDADcDACAFIAJBmBRqKQMANwMAIAcgAkGQFGopAwA3AwAgAiACKQOIFDcDkAggAkESOgCwCCACQbgcaiIDIAYgBBDBASACQeAcaiIFIAsgChDqASAGIAUgEBDeASAEIAYgAxDqASACQRI6ALAIIAIgBEHMtsAAELwBDAQLIAJB0BxqIAJBlBpqKAIAIgM2AgAgAkEIaiACQYQaaikCADcDACACQRBqIAJBjBpqKQIANwMAIAJBGGogAzYCACACIAIpAvwZNwMADAMLIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMADAILIAIgAigClAg2AvgZQey2wABBKyACQfgZakHctsAAQai3wAAQlQIACyACIAIoApQINgL4GUHstsAAQSsgAkH4GWpB3LbAAEGYt8AAEJUCAAsgAUGDAUsEQCABEAALAn8gAigCACIFQQJGBEAgAigCBCEDQQAMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIEEEAIQMgAkGIEGoQ4QELIQEgACAFQQJHNgIIIAAgATYCBCAAIAM2AgAgAkHAHWokAAudFwIVfxZ+IwBB0ARrIgQkACAEQdgDaiIKIANBGGoiDikDADcDACAEQdADaiILIANBEGoiDykDADcDACAEQcgDaiIMIANBCGoiECkDADcDACAEIAMpAwA3A8ADIARBmAJqIgVCADcDACAEQZACaiIGQgA3AwAgBEGIAmoiB0IANwMAIARCADcDgAICQCAEQcADaiIJIARBgAJqIghBIBCtAgRAIAogAUEYaiINKQMANwMAIAsgAUEQaiIRKQMANwMAIAwgAUEIaiISKQMANwMAIAQgASkDADcDwAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwOAAiAJIAgQmgIhEyAKIAJBGGoiFCkDADcDACALIAJBEGoiFSkDADcDACAMIAJBCGoiFikDADcDACAEIAIpAwA3A8ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcDgAIgCSAIEJoCIRcgCiAOKQMANwMAIAsgDykDADcDACAMIBApAwA3AwAgBCADKQMANwPAAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAkgCBCaAiEYIAUgDSkDADcDACAGIBEpAwA3AwAgByASKQMANwMAIAQgASkDADcDgAIgBEGABGoiDSAIEJ0BIAUgFCkDADcDACAGIBUpAwA3AwAgByAWKQMANwMAIAQgAikDADcDgAIgCSAIEJ0BIARBMGogBCkDgAQiGkIAIAQpA8ADIhlCABCUAiAEQeAAaiAEKQOIBCIbQgAgGUIAEJQCIARB0ABqIAQpA5AEIh1CACAZQgAQlAIgBEFAayAEKQOYBCIcQgAgGUIAEJQCIARBIGogBCkDyAMiGUIAIBpCABCUAiAEQZABaiAZQgAgG0IAEJQCIARBwAFqIBlCACAdQgAQlAIgBEHwAWogGUIAIBxCABCUAiAEQRBqIAQpA9ADIhlCACAaQgAQlAIgBEGAAWogGUIAIBtCABCUAiAEQbABaiAZQgAgHUIAEJQCIARB4AFqIBlCACAcQgAQlAIgBCAEKQPYAyIZQgAgGkIAEJQCIARB8ABqIBlCACAbQgAQlAIgBEGgAWogGUIAIB1CABCUAiAEQdABaiAZQgAgHEIAEJQCIAQgBCkDMDcDgAMgBEHoAGopAwAhHCAEKQNQIRogBCAEKQMgIiQgBCkDYCIfIARBOGopAwB8Ih58IiA3A4gDIARBmAFqKQMAISEgBEHYAGopAwAhIiAEKQNAIRkgBCkDwAEhGyAEQcgBaikDACEjIARByABqKQMAISUgBCkD8AEhHSAEIAQpAxAiKCAEKQOQASImIARBKGopAwAgICAkVK18IiAgGiAcIB4gH1StfHwiHnwiH3wiJ3wiKTcDkAMgBEGIAWopAwAhKiAEKQOwASEcIARBuAFqKQMAISsgBEH4AWopAwAhLCAEKQPgASEkIAQgBCkDACItIAQpA4ABIi4gBEEYaikDACAoIClWrXwiKCAbICEgJiAnVq18IiEgHyAgVK18Ih8gGSAiIBogHlatfHwiHnwiIHwiInwiGnwiJnwiJzcDmAMgBCAEKQNwIikgBEEIaikDACAnIC1UrXwiJyAcICogJiAuVK18IiYgGiAoVK18IhogHSAjIBsgIlatfCIiIB8gIVQgHyAgVnKtfCIbICUgGSAeVq18fCIffCIefCIgfCIhfCIZfCIjNwOgAyAEIAQpA6ABIiUgBEH4AGopAwAgIyApVK18IiMgGSAnVK18IhkgJCArIBwgIVatfCIcIBogJlQgGiAgVnKtfCIaIB0gHlatICwgGyAiVCAbIB9Wcq18fHwiG3wiHXwiH3wiHjcDqAMgBEHYAWopAwAhICAEIAQpA9ABIiEgBEGoAWopAwAgHiAlVK18Ih4gGSAjVCAZIB9Wcq18IhkgHSAkVK0gBEHoAWopAwAgGiAcVCAaIBtWcq18fHwiGnwiGzcDsAMgBCAbICFUrSAgIBkgHlQgGSAaVnKtfHw3A7gDIAUgDikDADcDACAGIA8pAwA3AwAgByAQKQMANwMAIAQgAykDADcDgAIgDSAIEJ0BIARB6ANqQgA3AwAgBEHwA2pCADcDACAEQfgDakIANwMAIARCADcD4AMgBCAEKQOYBDcD2AMgBCAEKQOQBDcD0AMgBCAEKQOIBDcDyAMgBCAEKQOABDcDwAMgCCAEQYADaiAJEG4CQAJAIAQpA7gCIAQpA7ACIAQpA6gCIAQpA6AChISEUARAIAQpA4ACIRogBCkDiAIhGSAEKQOQAiEbIAQpA8ACISQgBCkDyAIhHyAEKQPQAiEeIAQpA9gCISAgBCkD4AIhISAEKQPoAiEiIAQpA/ACISMgBCkD+AIhJSAEIAQpA5gCNwO4BCAEIBs3A7AEIAQgGTcDqAQgBCAaNwOgBCAXQf8BcUH/AUYgGEH/AXFB/wFHcyATQf8BcUH/AUZzIgFFBEAgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwOAAiAJIAgQnQEgBEGgBGogCUEgEK0CDQIgCkGAmMAAKQMANwMAIAtB+JfAACkDADcDACAMQfCXwAApAwA3AwAgBEHol8AAKQMANwPAAwwDCyAEQdgDaiAEQbgEaikDADcDACAEQdADaiAEQbAEaikDADcDACAEQcgDaiAEQagEaikDADcDACAEIAQpA6AENwPAAwwCCyAEIAM2AswEIAQgAjYCyAQgBCABNgLEBCMAQTBrIgAkACAAQQM2AgQgAEH0msAANgIAIABCAzcCDCAAIARBxARqIgE1AghCgICAgDCENwMoIAAgATUCBEKAgICAMIQ3AyAgACABNQIAQoCAgIAwhDcDGCAAIABBGGo2AgggAEGMm8AAEM0BIQEgAEEwaiQAIAQgATYCgAJBnJfAAEErIARBgAJqQYyXwABBjJrAABCVAgALIAUgBEG4BGopAwA3AwAgBiAEQbAEaikDADcDACAHIARBqARqKQMANwMAIAQgBCkDoAQ3A4ACIARBwANqIARBgAJqEMgBCyAEKQPYAyEdIAQpA9ADIRsgBCkDyAMhGiAEKQPAAyEcIARBmANqIgJCADcDACAEQZADaiIDQgA3AwAgBEIANwOIAyAEIB8gJIQgHoQgIIQgIYQgIoQgI4QgJYRCAFKtNwOAAwJAIAFFBEAgBEGYAmpCADcDACAEQZACakIANwMAIARBiAJqIgFCADcDACAEQgA3A4ACIARBwANqIgIgBEGAAmoQnQEgBEGAA2ogAkEgEK0CRQRAIARB2ANqQYCYwAApAwA3AwAgBEHQA2pB+JfAACkDADcDACAEQcgDakHwl8AAKQMANwMAIARB6JfAACkDADcDwAMMAgsgBEGYAmogBEGYA2opAwA3AwAgBEGQAmogBEGQA2opAwA3AwAgASAEQYgDaikDADcDACAEIAQpA4ADNwOAAiAEQcADaiAEQYACahDIAQwBCyAEQdgDaiACKQMANwMAIARB0ANqIAMpAwA3AwAgBEHIA2ogBEGIA2opAwA3AwAgBCAEKQOAAzcDwAMLIBogGiAEKQPIA3wiGVYhASAbIAQpA9ADIBt8IhpWIQIgHSAEKQPYAyAdfCIbViEDAkAgHCAcIAQpA8ADfCIdWAR+IAGtBSAZQgF8IhlQrSABrXwLIhxQBH4gAq0FIBogGiAcfCIaVq0gAq18CyIcUARAIAAgGzcDGCAAIBo3AxAgACAZNwMIIAAgHTcDACADRQ0BDAMLIAAgGjcDECAAIBk3AwggACAdNwMAIAAgGyAcfCIaNwMYIAMgGiAbVHINAgsgAEESOgAgIARB0ARqJAAPCyAEQQA2ApACIARBATYChAIgBEG0msAANgKAAiAEQgQ3AogCIARBgAJqQbyawAAQswIACyAEQQA2ApACIARBATYChAIgBEGsvMAANgKAAiAEQgQ3AogCIARBgAJqQbS6wAAQswIAC6AXAhV/Fn4jAEHQBGsiBCQAIARB2ANqIgogA0EYaiIOKQMANwMAIARB0ANqIgsgA0EQaiIPKQMANwMAIARByANqIgwgA0EIaiIQKQMANwMAIAQgAykDADcDwAMgBEGYAmoiBUIANwMAIARBkAJqIgZCADcDACAEQYgCaiIHQgA3AwAgBEIANwOAAgJAIARBwANqIgkgBEGAAmoiCEEgEK0CBEAgCiABQRhqIg0pAwA3AwAgCyABQRBqIhEpAwA3AwAgDCABQQhqIhIpAwA3AwAgBCABKQMANwPAAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAkgCBCaAiETIAogAkEYaiIUKQMANwMAIAsgAkEQaiIVKQMANwMAIAwgAkEIaiIWKQMANwMAIAQgAikDADcDwAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwOAAiAJIAgQmgIhFyAKIA4pAwA3AwAgCyAPKQMANwMAIAwgECkDADcDACAEIAMpAwA3A8ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcDgAIgCSAIEJoCIRggBSANKQMANwMAIAYgESkDADcDACAHIBIpAwA3AwAgBCABKQMANwOAAiAEQYAEaiINIAgQngEgBSAUKQMANwMAIAYgFSkDADcDACAHIBYpAwA3AwAgBCACKQMANwOAAiAJIAgQngEgBEEwaiAEKQOABCIaQgAgBCkDwAMiGUIAEJQCIARB4ABqIAQpA4gEIhtCACAZQgAQlAIgBEHQAGogBCkDkAQiHUIAIBlCABCUAiAEQUBrIAQpA5gEIhxCACAZQgAQlAIgBEEgaiAEKQPIAyIZQgAgGkIAEJQCIARBkAFqIBlCACAbQgAQlAIgBEHAAWogGUIAIB1CABCUAiAEQfABaiAZQgAgHEIAEJQCIARBEGogBCkD0AMiGUIAIBpCABCUAiAEQYABaiAZQgAgG0IAEJQCIARBsAFqIBlCACAdQgAQlAIgBEHgAWogGUIAIBxCABCUAiAEIAQpA9gDIhlCACAaQgAQlAIgBEHwAGogGUIAIBtCABCUAiAEQaABaiAZQgAgHUIAEJQCIARB0AFqIBlCACAcQgAQlAIgBCAEKQMwNwOAAyAEQegAaikDACEcIAQpA1AhGiAEIAQpAyAiJCAEKQNgIh8gBEE4aikDAHwiHnwiIDcDiAMgBEGYAWopAwAhISAEQdgAaikDACEiIAQpA0AhGSAEKQPAASEbIARByAFqKQMAISMgBEHIAGopAwAhJSAEKQPwASEdIAQgBCkDECIoIAQpA5ABIiYgBEEoaikDACAgICRUrXwiICAaIBwgHiAfVK18fCIefCIffCInfCIpNwOQAyAEQYgBaikDACEqIAQpA7ABIRwgBEG4AWopAwAhKyAEQfgBaikDACEsIAQpA+ABISQgBCAEKQMAIi0gBCkDgAEiLiAEQRhqKQMAICggKVatfCIoIBsgISAmICdWrXwiISAfICBUrXwiHyAZICIgGiAeVq18fCIefCIgfCIifCIafCImfCInNwOYAyAEIAQpA3AiKSAEQQhqKQMAICcgLVStfCInIBwgKiAmIC5UrXwiJiAaIChUrXwiGiAdICMgGyAiVq18IiIgHyAhVCAfICBWcq18IhsgJSAZIB5WrXx8Ih98Ih58IiB8IiF8Ihl8IiM3A6ADIAQgBCkDoAEiJSAEQfgAaikDACAjIClUrXwiIyAZICdUrXwiGSAkICsgHCAhVq18IhwgGiAmVCAaICBWcq18IhogHSAeVq0gLCAbICJUIBsgH1ZyrXx8fCIbfCIdfCIffCIeNwOoAyAEQdgBaikDACEgIAQgBCkD0AEiISAEQagBaikDACAeICVUrXwiHiAZICNUIBkgH1ZyrXwiGSAdICRUrSAEQegBaikDACAaIBxUIBogG1ZyrXx8fCIafCIbNwOwAyAEIBsgIVStICAgGSAeVCAZIBpWcq18fDcDuAMgBSAOKQMANwMAIAYgDykDADcDACAHIBApAwA3AwAgBCADKQMANwOAAiANIAgQngEgBEHoA2pCADcDACAEQfADakIANwMAIARB+ANqQgA3AwAgBEIANwPgAyAEIAQpA5gENwPYAyAEIAQpA5AENwPQAyAEIAQpA4gENwPIAyAEIAQpA4AENwPAAyAIIARBgANqIAkQbgJAAkAgBCkDuAIgBCkDsAIgBCkDqAIgBCkDoAKEhIRQBEAgBCkDgAIhGiAEKQOIAiEZIAQpA5ACIRsgBCkDwAIhJCAEKQPIAiEfIAQpA9ACIR4gBCkD2AIhICAEKQPgAiEhIAQpA+gCISIgBCkD8AIhIyAEKQP4AiElIAQgBCkDmAI3A7gEIAQgGzcDsAQgBCAZNwOoBCAEIBo3A6AEIBdB/wFxQf8BRiAYQf8BcUH/AUdzIBNB/wFxQf8BRnMiAUUEQCAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A4ACIAkgCBCeASAEQaAEaiAJQSAQrQINAiAKQaD8wAApAwA3AwAgC0GY/MAAKQMANwMAIAxBkPzAACkDADcDACAEQYj8wAApAwA3A8ADDAMLIARB2ANqIARBuARqKQMANwMAIARB0ANqIARBsARqKQMANwMAIARByANqIARBqARqKQMANwMAIAQgBCkDoAQ3A8ADDAILIAQgAzYCzAQgBCACNgLIBCAEIAE2AsQEIwBBMGsiACQAIABBAzYCBCAAQdyAwQA2AgAgAEIDNwIMIAAgBEHEBGoiATUCCEKAgICAoAeENwMoIAAgATUCBEKAgICAoAeENwMgIAAgATUCAEKAgICAoAeENwMYIAAgAEEYajYCCCAAQfSAwQAQzQEhASAAQTBqJAAgBCABNgKAAkG4+8AAQSsgBEGAAmpBqPvAAEH0/8AAEJUCAAsgBSAEQbgEaikDADcDACAGIARBsARqKQMANwMAIAcgBEGoBGopAwA3AwAgBCAEKQOgBDcDgAIgBEHAA2ogBEGAAmoQyQELIAQpA9gDIR0gBCkD0AMhGyAEKQPIAyEaIAQpA8ADIRwgBEGYA2oiAkIANwMAIARBkANqIgNCADcDACAEQgA3A4gDIAQgHyAkhCAehCAghCAhhCAihCAjhCAlhEIAUq03A4ADAkAgAUUEQCAEQZgCakIANwMAIARBkAJqQgA3AwAgBEGIAmoiAUIANwMAIARCADcDgAIgBEHAA2oiAiAEQYACahCeASAEQYADaiACQSAQrQJFBEAgBEHYA2pBoPzAACkDADcDACAEQdADakGY/MAAKQMANwMAIARByANqQZD8wAApAwA3AwAgBEGI/MAAKQMANwPAAwwCCyAEQZgCaiAEQZgDaikDADcDACAEQZACaiAEQZADaikDADcDACABIARBiANqKQMANwMAIAQgBCkDgAM3A4ACIARBwANqIARBgAJqEMkBDAELIARB2ANqIAIpAwA3AwAgBEHQA2ogAykDADcDACAEQcgDaiAEQYgDaikDADcDACAEIAQpA4ADNwPAAwsgGiAaIAQpA8gDfCIZViEBIBsgBCkD0AMgG3wiGlYhAiAdIAQpA9gDIB18IhtWIQMCQCAcIBwgBCkDwAN8Ih1YBH4gAa0FIBlCAXwiGVCtIAGtfAsiHFAEfiACrQUgGiAaIBx8IhpWrSACrXwLIhxQBEAgACAbNwMYIAAgGjcDECAAIBk3AwggACAdNwMAIANFDQEMAwsgACAaNwMQIAAgGTcDCCAAIB03AwAgACAbIBx8Iho3AxggAyAaIBtUcg0CCyAAQRI6ACAgBEHQBGokAA8LIARBADYCkAIgBEEBNgKEAiAEQZyAwQA2AoACIARCBDcCiAIgBEGAAmpBpIDBABCzAgALIARBADYCkAIgBEEBNgKEAiAEQZSHwQA2AoACIARCBDcCiAIgBEGAAmpBqIXBABCzAgALyxMCC38NfiMAQfACayIDJAAgAyACNgKAAiADIAE2AvwBIANBADYChAICQAJAIAJFBEBBASEBQgEhFQwBCyABIAJqIQsgA0GQAmoiCkEQaiEMQgEhFQNAAn8gASwAACICQQBOBEAgAkH/AXEhAiABQQFqDAELIAEtAAFBP3EhBSACQR9xIQYgAkFfTQRAIAZBBnQgBXIhAiABQQJqDAELIAEtAAJBP3EgBUEGdHIhBSACQXBJBEAgBSAGQQx0ciECIAFBA2oMAQsgBkESdEGAgPAAcSABLQADQT9xIAVBBnRyciECIAFBBGoLIQEgAyACNgKwAgJAAkACQCACQTBrIgZBCkkEQCAJDQEgEUIAWSIFRQRAIA9Cf4VCACAPfSISQgAgE30iE0IAUiICGyEPIBRCf4UiECASUCACQX9zcSICrXwiEiAQIAIbIRQgAiAQIBJWca0gEUJ/hXwhEQsgA0HoAWogE0IAQgpCABCUAiADQdgBaiAPQgBCCkIAEJQCIANByAFqIBRCAEIKQgAQlAIgAykDyAEiECADQeABaikDACADKQPYASIPIANB8AFqKQMAfCISIA9UrXx8Ig8gEFStIANB0AFqKQMAIBFCCn58fCERIAMpA+gBIRQgBUUEQCARQn+FIhFCACASfSITUEIAIBR9IhRCAFIiBUF/c3EiAiAPQn+FIhAgAq18Ig8gEFRxIg2tfCARIA0bIREgDyAQIAIbIQ8gEkJ/hSATIAUbIRILIBEgFCAGrXwiEyAUVCIGIBJCAXwiEFBxIgIgDyACrXwiFCAPVHEiBa18IBEgBRshESAUIA8gAhshFCAQIBIgBhshDwwCCyACQS1HBEACQCACQeUARgRAIAlBASEJDQEMBQsgBCACQS5HckUEQEEBIQQMBQsgAkHfAEYNBAsgA0EBNgKMAiADQeySwQA2AogCIANCATcClAIgAyADQbACaq1CgICAgKANhDcD0AIgAyADQdACajYCkAIgA0GIAmpB9JLBABDNASEBIABBATYCACAAIAE2AgQMBgsgCkIANwMAIApBCGpCADcDACAMQgA3AwAgA0IBNwOIAkJ/QgAgA0GIAmpBuI/BAEEgEK0CIgIbIQ5Cf0IBIAIbIRUMAgsgAyAGIAhBCmxqIgg2AoQCCyAEQQAhBEUNAEEBIQQgByAJQX9zQQFxaiEHCyABIAtHDQALIAcgCEsEQCADQQI2AowCIANBrJLBADYCiAIgA0ICNwKUAiADIANB/AFqrUKAgICAsA2ENwPYAiADIANBhAJqrUKAgICA0A2ENwPQAiADIANB0AJqNgKQAiADQYgCakG8ksEAEM0BIQEgAEEBNgIAIAAgATYCBAwCCwJAAn8CQAJ+IA5CAFkEQEEAIQECfiAVUEUEQCAOIRIgDgwBC0IAIRIgDlBFBEBCfyESIA4MAQsgDlAhAUJ/QgAgDkIAUhsLIhAgEUIAWQ0BGgwECyARQgBTDQEgDiESIA4LIRACQCAPIBOEQgBSDQBCACEPIBRCAFINAEIAIRQgEUIAUg0AQgAhEUIAIRNBASECQQEiASAOQgBTDQIaDAQLQQEhAiAOQgBZBEBBASEBDAQLQQAMAQtBACECIA4hEiAOIRBBAQshASASQn+FQgAgEn0iFkIAIBV9IhVCAFIiBBshEiAQQn+FIhcgFlAgBEF/c3EiBK18IhYgFyAEGyEQIAQgFiAXVHGtIA5Cf4V8IRcgAg0BCyAPQn+FQgAgD30iFkIAIBN9IhNCAFIiAhshDyAUQn+FIg4gFlAgAkF/c3EiAq18IhYgDiACGyEUIAIgDiAWVnGtIBFCf4V8IRELIANBuAFqIBNCACAVQgAQlAIgA0GoAWogE0IAIBJCABCUAiADQZgBaiATQgAgEEIAEJQCIANBiAFqIA9CACAVQgAQlAIgA0H4AGogD0IAIBJCABCUAiADQegAaiAUQgAgFUIAEJQCIAMpA5gBIg4gA0GwAWopAwAgAykDqAEiFiADQcABaikDAHwiGSAWVK18fCIWIA5UrSADQfAAaikDACADQYABaikDACADQaABaikDACAPIBB+IBMgF358IBIgFH58fCARIBV+fHx8fCADQZABaikDACADKQOIASIOIBl8IhEgDlStfCIOIBZ8IhAgDlStfCADKQN4Ig4gEHwiECAOVK18IAMpA2giDiAQfCIVIA5UrXwhEiADKQO4ASEPIAFFBEAgEkJ/hSIQQgAgEX0iE1BCACAPfSIPQgBSIgJBf3NxIgEgFUJ/hSIOIAGtfCIUIA5UcSIErXwgECAEGyESIBQgDiABGyEVIBFCf4UgEyACGyERCyADQcACakIANwMAIANByAJqQgA3AwAgA0IANwO4AiADQgo3A7ACIANB6AJqQgA3AwAgA0HgAmpCADcDACADQgA3A9gCIAMgCCAHa603A9ACIANBiAJqIANBsAJqIANB0AJqEGsgAykDoAIhEEJ/IRdCfyEWIA8gEYQgFYQgEoRCAFKtIBYgEkIAWRshFiADKQOIAiETIAMpA5ACIRQgAykDmAIhDiATIBSEIA6EIBCEQgBSrSAXIBBCAFkbIRcgEkIAUwRAIBFCf4VCACARfSIYQgAgD30iD0IAUiIBGyERIBVCf4UiGSAYUCABQX9zcSIBrXwiGCAZIAEbIRUgASAYIBlUca0gEkJ/hXwhEgsgEEIAUwRAIBRCf4VCACAUfSIYQgAgE30iE0IAUiIBGyEUIA5Cf4UiGSAYUCABQX9zcSIBrXwiGCAZIAEbIQ4gASAYIBlUca0gEEJ/hXwhEAsgA0HYAGogE0IAIA9CABCUAiADQcgAaiATQgAgEUIAEJQCIANBOGogE0IAIBVCABCUAiADQShqIBRCACAPQgAQlAIgA0EYaiAUQgAgEUIAEJQCIANBCGogDkIAIA9CABCUAiADKQM4IhkgA0HQAGopAwAgAykDSCIYIANB4ABqKQMAfCIaIBhUrXx8IhggGVStIANBEGopAwAgA0EgaikDACADQUBrKQMAIBQgFX4gEiATfnwgDiARfnx8IA8gEH58fHx8IANBMGopAwAgAykDKCIOIBp8Ig8gDlStfCIOIBh8IhAgDlStfCADKQMYIg4gEHwiECAOVK18IAMpAwgiDiAQfCIRIA5UrXwhEiADKQNYIRMgACAWIBd+QgJaBH4gD0J/hUIAIA99IhBCACATfSITQgBSIgEbIQ8gEUJ/hSIOIBBQIAFBf3NxIgGtfCIQIA4gARshESABIA4gEFZxrSASQn+FfAUgEgs3AyAgACARNwMYIAAgDzcDECAAIBM3AwggAEEANgIACyADQfACaiQAC5cWAgN/EX4jAEHgAmsiBCQAIARByAFqIgUgASACEG0CQAJAAkACQAJAAkAgBCgCyAFFBEAgBEE4aiAEQfABaikDADcDACAEQTBqIARB6AFqKQMANwMAIARBKGogBEHgAWopAwA3AwAgBEEgaiAEQdgBaikDADcDACAEIAQpA9ABNwMYIARBEjoA6AEgBCABKQMYIgg3A+ABIAQgASkDECIKNwPYASAEIAEpAwgiBzcD0AEgBCABKQMAIgw3A8gBIAUgBEEYahCaAkH/AXEiAkUNASACQf8BRw0CDAMLIAQoAswBIQEgAEEBNgIAIAAgATYCBAwDCyAELQA4QRJLDQELIAQpAyAhCyAEKQMwIQ4gCiAEKQMoIg99IQ0CQAJ+IAQpAxgiECAMWARAIAcgC30hESAHIAtUrQwBCyAHIAtCf4V8IREgByALVK0gByALUa18CyIJUARAIAogD1StIQcMAQsgCSANVq0gCiAPVK18IQcgDSAJfSENCyAIIA59IQsCQAJAIAdQBEAgCCAOWg0BDAILIAggDlQgByALVnINASALIAd9IQsLIARBEjoAYCAEIAs3A1ggBCANNwNQIAQgETcDSCAEIAwgEH0iFTcDQAJAAkAgAykDGCIHQgBZBEAgAykDACEJIAMpAwghCCADKQMQIQogBCAHNwPIAiAEIAo3A8ACIAQgCDcDuAIgBCAJNwOwAiAEQaACaiICQgA3AwAgBEGYAmoiBUIANwMAIARBkAJqIgZCADcDACAEQgA3A4gCIARBsAJqIARBiAJqEJoCQf8BcUEBRg0BCyAEQaACakIANwMAIARBmAJqQgA3AwAgBEGQAmpCADcDACAEQgA3A4gCDAELIAIgA0EYaikDADcDACAFIANBEGopAwA3AwAgBiADQQhqKQMANwMAIAQgAykDADcDiAILIARByAFqIgIgBEGIAmoQuQECQAJAAkACQAJAIAQoAsgBRQRAIARBsAFqIARB8AFqKQMANwMAIARBqAFqIARB6AFqKQMANwMAIARBoAFqIARB4AFqKQMANwMAIARBmAFqIARB2AFqKQMANwMAIAQgBCkD0AE3A5ABIARBEjoA6AEgBCABKQPYAyIKNwPgASAEIAEpA9ADIgw3A9gBIAQgASkDyAMiBzcD0AEgBCABKQPAAyIONwPIASACIARBkAFqEJoCQf8BcSICRQ0BIAJB/wFHDQIMAwsgBCgCzAEhAQwDCyAELQCwAUESSw0BCyAEKQOYASEJIAQpA6gBIRIgDCAEKQOgASIQfSEIAkACfiAEKQOQASIUIA5YBEAgByAJfSETIAcgCVStDAELIAcgCUJ/hXwhEyAHIAlUrSAHIAlRrXwLIg9QBEAgDCAQVK0hBwwBCyAIIA9UrSAMIBBUrXwhByAIIA99IQgLIAogEn0hCQJAAkAgB1AEQCAKIBJaDQEMAgsgCiASVCAHIAlWcg0BIAkgB30hCQsgBEESOgCoAiAEIAk3A6ACIAQgCDcDmAIgBCATNwOQAiAEIA4gFH03A4gCIARB4AFqIAFB2AFqKQMANwMAIARB2AFqIAFB0AFqKQMANwMAIARB0AFqIAFByAFqKQMANwMAIARBEjoA6AEgBCABKQPAATcDyAEgBEHoAGogBEGIAmogBEHIAWoQwgEgBCkDcCIIIAEpA6gFIgx8IgogCFQhAiABKQOwBSEQIAQpA3ghDyAEKQNoIhMgASkDoAUiFnwiFyATWgR+IAKtBSAKQgF8IgpQrSACrXwLIQkgASkDuAUhEiAEKQOAASEOIA8gEHwiByAPVCEBIAlQBH4gAa0FIAcgByAJfCIHVq0gAa18CyEJIA4gEnwiFCAOVCEBAkACQCAJUARAIAQgFDcD4AEgBCAHNwPYASAEIAo3A9ABIAQgFzcDyAEgAUUNAQwCCyAEIAc3A9gBIAQgCjcD0AEgBCAXNwPIASAEIAkgFHwiBzcD4AEgASAHIBRUcg0BCyAEQRI6AOgBAkAgAAJ/IARBQGsgBEHIAWoiARCaAkH/AXFBAk8EQCAEQQA2AtgBIARBATYCzAEgBEGk5sAANgLIASAEQgQ3AtABIAAgAUGs5sAAEM0BNgIEQQEMAQsCfiATIBVYBEAgCCARVq0hCiARIAh9DAELIAggEVatIAggEVGtfCEKIBEgCEJ/hXwLIQcgDSAPfSEJAkAgClAEQCANIA9UrSEIDAELIAkgClStIA0gD1StfCEIIAkgCn0hCQsgCyAOfSENAkAgCFAEQCALIA5aDQEMAwsgCyAOVCAIIA1Wcg0CIA0gCH0hDQsgCSAQfSEIAkACfiAWIBUgE30iEVgEQCAHIAx9IQogByAMVK0MAQsgByAMQn+FfCEKIAcgDFStIAcgDFGtfAsiC1AEQCAJIBBUrSEHDAELIAggC1StIAkgEFStfCEHIAggC30hCAsgDSASfSELAkAgB1AEQCANIBJaDQEMDQsgDSASVCAHIAtWcg0MIAsgB30hCwsgAEESOgAoIAAgCzcDICAAIAg3AxggACAKNwMQIAAgESAWfTcDCEEACzYCAAwICwwJCyAEQQA2ApgCIARBATYCjAIgBEGUh8EANgKIAiAEQgQ3ApACIARBiAJqQaiFwQAQswIACwwHCyAEQRI6AKgCIAQgCjcDoAIgBCAMNwOYAiAEIAc3A5ACIAQgDjcDiAIgBEKAgICAwAciByAEQZABaq2ENwPAASAEIAcgBEGIAmqthDcDuAEgBEEDOgCEAiAEQQQ2AoACIARCoICAgBA3AvgBIARBAjYC8AEgBEECNgLoASAEQQM6AOQBIARBBDYC4AEgBEIgNwLYASAEQQI2AtABIARBAjYCyAEgBEECNgLEAiAEQQM2ArQCIARB1OXAADYCsAIgBCAEQcgBajYCwAIgBEECNgK8AiAEIARBuAFqNgK4AiAEQdQCaiIBIARBsAJqEM8BIARBCGogAUHwhcEAQezlwAAQpwIgBCgCDCECIAQoAgghAyAEQdABaiIFIARB3AJqKAIANgIAQZHewQAtAAAaIAQgBCkC1AI3A8gBQRhBBBD4AiIBRQ0BIAEgAzYCBCABQdiGwQA2AgAgASAEKQPIATcCDCABIAI2AgggAUEUaiAFKAIANgIACyAAQQE2AgAgACABNgIEDAMLQQRBGBCpAwALDAMLIARBEjoAqAIgBCAINwOgAiAEIAo3A5gCIAQgBzcDkAIgBCAMNwOIAiAEQoCAgIDAByIHIARBGGqthDcDcCAEIAcgBEGIAmqthDcDaCAEQQM6AIQCIARBBDYCgAIgBEKggICAEDcC+AEgBEECNgLwASAEQQI2AugBIARBAzoA5AEgBEEENgLgASAEQiA3AtgBIARBAjYC0AEgBEECNgLIASAEQQI2AqQBIARBAjYClAEgBEGE5cAANgKQASAEIARByAFqNgKgASAEQQI2ApwBIAQgBEHoAGo2ApgBIARBQGsiASAEQZABahDPASAEQRBqIAFB8IXBAEGU5cAAEKcCIAQoAhQhAiAEKAIQIQMgBEHQAWoiBSAEQcgAaigCADYCAEGR3sEALQAAGiAEIAQpAkA3A8gBQRhBBBD4AiIBRQ0BIAEgAzYCBCABQdiGwQA2AgAgASAEKQPIATcCDCABIAI2AgggAUEUaiAFKAIANgIAIABBATYCACAAIAE2AgQLIARB4AJqJAAPC0EEQRgQqQMACyAEQQA2AtgBIARBATYCzAEgBEGwxMAANgLIASAEQgQ3AtABIARByAFqQYDEwAAQswIAC+cUAgd/E34jAEHwA2siAiQAIAJB8AJqQajHwABBBBC3AQJAAkACQAJAAkAgAigC8AJFBEAgAikDiAMhCyACKQOAAyEJIAEpA5AEIREgASkDiAQhDQJ+IAIpA/gCIg8gASkDgAQiFloEQCAJIA19IQ4gCSANVK0MAQsgCSANQn+FfCEOIAkgDVStIAkgDVGtfAshCiACKQOQAyEMIAEpA5gEIRIgCyARfSEJAkAgClAEQCALIBFUrSELDAELIAkgClStIAsgEVStfCELIAkgCn0hCQsgDCASfSEKAkAgC1AEQCAMIBJaDQEMBwsgDCASVCAKIAtUcg0GIAogC30hCgsgAkESOgBYIAIgCjcDUCACIAk3A0ggAiAONwNAIAIgDyAWfTcDOCACQfACaiIFQajHwABBBBC3ASACKALwAg0BIAIpA5ADIRMgAikDiAMhFCACKQOAAyEVIAIpA/gCIRcgAkG4AWogAUHoA2opAwA3AwAgAkHAAWogAUHwA2opAwA3AwAgAkHIAWogAUH4A2opAwA3AwAgAiABKQPgAzcDsAEgBUGox8AAQQQQtwEgAigC8AINAiACQZgCaiACQZADaiIDKQMANwMAIAJBkAJqIAJBiANqKQMANwMAIAJBiAJqIAJBgANqKQMANwMAIAIgAikD+AI3A4ACIAIgAigAmQM2AvgBIAIgAkGcA2ooAAA2APsBIAItAJgDIQQgBSABEJkBAkAgAigC8AJFBEAgAkHAAmogAkGYA2opAwA3AwAgAkG4AmogAykDADcDACACQbACaiACQYgDaikDADcDACACQagCaiACQYADaikDADcDACACIAIpA/gCNwOgAkIBIQlCACEKAkACQAJAIAQOAgIBAAtCCiEJIAQhAUIBIQtCACEMA0AgAkEYaiAJQgEgAUEBcSIDGyAKQgAgAxsgCyAMEJQCIAJBKGogCSAKIAkgChCUAiABQQNLIAJBMGopAwAhCiACQSBqKQMAIQwgAikDKCEJIAIpAxghCyABQQF2IQENAAsgAkEIaiALIAwgCSAKEJQCIAJBEGopAwAhCiACKQMIIQkMAQtCCiEJCyACQdADaiIBIAo3AwAgAiAJNwPIAyACQQE2AvQCIAJBxP3AADYC8AIgAkIBNwL8AiACQoCAgICwByIYIAJByANqrYQ3A+gDIAIgAkHoA2o2AvgCIAJB2ANqIAJB8AJqEM8BIAJBuANqQgA3AwAgAkIANwOwAyABKQMAIQogAikDyAMhCSACKALYAyIBBEAgAigC3AMgARCMAwsgAkESOgDAAyACIAk3A6ADIAIgCjcDqAMgAkGIA2ogAkGYAmopAwA3AwAgAkGAA2ogAkGQAmopAwA3AwAgAkH4AmogAkGIAmopAwA3AwAgAkGUA2ogAigA+wE2AAAgAiACKQOAAjcD8AIgAiAEOgCQAyACIAIoAvgBNgCRAyACQcgCaiACQfACaiIBIAJBoANqIAJBoAJqEHYgAUGox8AAQQQQtwEgAigC8AINBSACKQOIAyEMIAIpA4ADIQogAikD2AIhDiACKQPQAiEJAn4gAikDyAIiGiACKQP4AiIbWgRAIAkgCn0hGSAJIApUrQwBCyAJIApCf4V8IRkgCSAKVK0gCSAKUa18CyELIAIpA5ADIQ8gAikD4AIhECAOIAx9IQkCQCALUARAIAwgDlatIQwMAQsgCSALVK0gDCAOVq18IQwgCSALfSEJCyAQIA99IQoCQCAMUARAIA8gEFgNAQwJCyAKIAxUIA8gEFZyDQggCiAMfSEKCyACQRI6APABIAIgCjcD6AEgAiAJNwPgASACIBk3A9gBIAIgGiAbfTcD0AEgAkHQAmoiAUIANwMAIAJCgICQu7rWrfANNwPIAiACQQE2AvQCIAJBxP3AADYC8AIgAkIBNwL8AiACIBggAkHIAmqthDcD2AMgAiACQdgDajYC+AIgAkHIA2ogAkHwAmoQzwEgAkG4A2pCADcDACACQgA3A7ADIAEpAwAhCiACKQPIAiEJIAIoAsgDIgEEQCACKALMAyABEIwDCyACQRI6AMADIAIgCTcDoAMgAiAKNwOoAyACQYgDaiACQcgBaikDADcDACACQYADaiACQcABaikDADcDACACQfgCaiACQbgBaikDADcDACACIAIpA7ABNwPwAiACQRI6AJADIAJBiAFqIAJB8AJqIAJB0AFqIAJBoANqEHYgFSACKQOQAXwiDiAVVCEBIAIpA5gBIBcgFyACKQOIAXwiFVgEfiABrQUgDkIBfCIOUK0gAa18CyEKIAIpA6ABIQwgFHwiCSAUVCEBIApQBH4gAa0FIAkgCSAKfCIJVq0gAa18CyELIAwgE3wiCiATVCEBAkAgC1AEQCABRQ0BDAgLIAENByAKIAogC3wiClYNBwsgAkHwAmpBqMfAAEEEELcBIAIoAvACRQRAIAIpA4gDIQ8gAikDgAMhCwJ+IBYgAikD+AIiFFgEQCALIA19IRMgCyANVK0MAQsgCyANQn+FfCETIAsgDVStIAsgDVGtfAshDCACKQOQAyEQIA8gEX0hCwJAIAxQBEAgDyARVK0hDQwBCyALIAxUrSAPIBFUrXwhDSALIAx9IQsLIBAgEn0hDAJAIA1QBEAgECASWg0BDAoLIBAgElQgDCANVHINCSAMIA19IQwLIAJBEjoA6AIgAiAMNwPgAiACIAs3A9gCIAIgEzcD0AIgAiAUIBZ9NwPIAiACQdgBaiIBQgA3AwAgAkKAgJC7utat8A03A9ABIAJBATYC9AIgAkHE/cAANgLwAiACQgE3AvwCIAIgGCACQdABaq2ENwPIAyACIAJByANqNgL4AiACQYgBaiACQfACahDPASACQbgDakIANwMAIAJCADcDsAMgASkDACELIAIpA9ABIQwgAigCiAEiAQRAIAIoAowBIAEQjAMLIAJBEjoAwAMgAiAMNwOgAyACIAs3A6gDIAJBEjoAkAMgAiAKNwOIAyACIAk3A4ADIAIgDjcD+AIgAiAVNwPwAiACQeAAaiIBIAJB8AJqIAJByAJqIAJBoANqEHYgAEEIaiACQThqIAEQwgEgAEEANgIADAILIAIgAigC9AI2AqADQczEwABBKyACQaADakG8xMAAQcjJwAAQlQIACyACKAL0AiEBIABBATYCACAAIAE2AgQLIAJB8ANqJAAPCyACIAIoAvQCNgKgA0HMxMAAQSsgAkGgA2pBvMTAAEGIysAAEJUCAAsgAiACKAL0AjYCoANBzMTAAEErIAJBoANqQbzEwABB+MnAABCVAgALIAIgAigC9AI2AqADQczEwABBKyACQaADakG8xMAAQejJwAAQlQIACyACIAIoAvQCNgKgA0HMxMAAQSsgAkGgA2pBvMTAAEHYycAAEJUCAAsgAkEANgKAAyACQQE2AvQCIAJBlIfBADYC8AIgAkIENwL4AiACQfACakGohcEAELMCAAsgAkEANgKAAyACQQE2AvQCIAJBsMTAADYC8AIgAkIENwL4AiACQfACakGAxMAAELMCAAunWAIWfwp+IwBBkBtrIgMkACADQZAQaiABEAIgARADEL4BAkAgAygCkBBFBEAgA0EoaiADQZwIaiADQZgQakHwBxDZAUHwBxDZARogAyABEA4iBTYCpBkgAyAFQQBHNgKgGQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVFBEAgA0GwEGpCADcDACADQagQakIANwMAIANBoBBqQgA3AwAgA0IANwOYEAwBCyADQZAQaiADQaQZakHon8AAELEBIAMoAqQZIQQgAygCoBkhAiADKAKQEEEBcQ0BCyADQbQIaiADQbAQaikDACIYNwIAIANBrAhqIANBqBBqKQMAIhk3AgAgA0GkCGogA0GgEGopAwAiGjcCACADQZAYaiAaNwMAIANBmBhqIBk3AwAgA0GgGGogGDcDACADIAMpA5gQIhg3ApwIIAMgGDcDiBggA0ESOgCoGCACRSAEQYQBSXJFBEAgBBAACyADIAEQDyICNgKkGUEAIQQgAyACQQBHNgKgGSACDQEgA0GwEGpCADcDACADQagQakIANwMAIANBoBBqQgA3AwAgA0IANwOYEEEAIQIMAgsgA0GwCGogA0GsEGooAgAiBTYCACADQagIaiADQaQQaikCACIYNwMAIANBoAhqIANBnBBqKQIAIhk3AwAgA0EQaiAZNwMAIANBGGogGDcDACADQSBqIAU2AgAgAyADKQKUECIYNwOYCCADIBg3AwggAkUgBEGEAUlyDQwgBBAADAwLIANBkBBqIANBpBlqQfifwAAQsQEgAygCpBkhBCADKAKgGSECIAMoApAQQQFxDQELIANBtAhqIANBsBBqKQMAIhg3AgAgA0GsCGogA0GoEGopAwAiGTcCACADQaQIaiADQaAQaikDACIaNwIAIANBuBhqIBo3AwAgA0HAGGogGTcDACADQcgYaiAYNwMAIAMgAykDmBAiGDcCnAggAyAYNwOwGCADQRI6ANAYIAJFIARBhAFJckUEQCAEEAALIAEQECIEDQEgA0HwGGpBoKDAACkDADcDACADQegYakGYoMAAKQMANwMAIANB4BhqQZCgwAApAwA3AwAgA0GIoMAAKQMANwPYGAwCCyADQbAIaiADQawQaigCACIFNgIAIANBqAhqIANBpBBqKQIAIhg3AwAgA0GgCGogA0GcEGopAgAiGTcDACADQRBqIBk3AwAgA0EYaiAYNwMAIANBIGogBTYCACADIAMpApQQIhg3A5gIIAMgGDcDCCACRSAEQYQBSXINCSAEEAAMCQsgAyAENgKgGSADQZAQaiADQaAZakGwoMAAELEBIAMoApAQDQEgA0HgGGogA0GgEGopAwA3AwAgA0HoGGogA0GoEGopAwA3AwAgA0HwGGogA0GwEGopAwA3AwAgAyADKQOYEDcD2BggBEGEAUkNACAEEAALIAMgARALIgI2AvQZIANB6BpqIgYgA0H0GWpBwKDAABCxASADKALoGg0BIANB7BlqIANBiBtqIgcpAwAiGDcCACADQeQZaiADQYAbaiIEKQMAIhk3AgAgA0HcGWogA0H4GmoiBSkDACIaNwIAIANBgBpqIBo3AwAgA0GIGmogGTcDACADQZAaaiAYNwMAIAMgAykD8BoiGDcC1BkgAyAYNwP4GSADIAEQDCICNgLkGiAGIANB5BpqQdCgwAAQsQEgAygC6BoNAyADQdwaaiAHKQMAIhg3AgAgA0HUGmogBCkDACIZNwIAIANBzBpqIAUpAwAiGjcCACADQaAaaiAaNwMAIANBqBpqIBk3AwAgA0GwGmogGDcDACADIAMpA/AaIhg3AsQaIAMgGDcDmBogA0ESOgC4GiAEIANB8BhqKQMANwMAIAUgA0HoGGopAwA3AwAgA0HwGmogA0HgGGopAwA3AwAgA0GMG2pBADYAACADIAMpA9gYNwPoGiADQQA2AIkbIANBEjoAiBsgA0GQEGohDCADQfgZaiEUIANBmBpqIQ8gA0GIGGohFSADQbAYaiEHIAEQDUEARyEIIwBBgBNrIgUkACAFQcAJaiICIANBKGoiBBCZAQJAAkACfwJAAkACQAJAAkACQCAFKALACUUEQCAFQdASaiAFQegJaikDADcDACAFQcgSaiAFQeAJaikDADcDACAFQcASaiAFQdgJaiIKKQMANwMAIAVBuBJqIAVB0AlqIgkpAwA3AwAgBSAFKQPICTcDsBIgCiAEQZgGaikDADcDACAJIARBkAZqKQMANwMAIAVByAlqIARBiAZqKQMANwMAIAVBEjoA4AkgBSAEKQOABjcDwAkgBUHYAWogBUGwEmogAhDLASAFQThqIAVB4AFqKQMANwMAIAVBQGsgBUHoAWopAwA3AwAgBUHIAGogBUHwAWopAwA3AwAgBUHUAGogBUH8AWooAAA2AAAgBSAFKQPYATcDMCAFIAUoAPkBNgBRIAUgBS0A+AEiAjoAUAJAIAVBMGogBxCaAkH/AXEiCgRAIApB/wFHDQEMCgsgAiAHLQAgSQ0JCwJAIAVBMGogBhCaAiIHQf8BcQR/IAcFIAYtACAiBiACSw0BIAIgBkcLQf8BcUEBRg0JCyAFQfAAaiAEQbgBaikDADcDACAFQegAaiAEQbABaikDADcDACAFQeAAaiAEQagBaikDADcDACAFQRI6AHggBSAEKQOgATcDWCAFQcAJaiISIAQgFBCFASAFKALACQ0BIAVByAFqIAVB6AlqKQMAIhg3AwAgBUHAAWogBUHgCWopAwAiGTcDACAFQbgBaiAFQdgJaikDACIaNwMAIAVBsAFqIAVB0AlqKQMAIhs3AwAgBUGIAWogGzcDACAFQZABaiAaNwMAIAVBmAFqIBk3AwAgBUGgAWogGDcDACAFIAUpA8gJIhg3A6gBIAUgGDcDgAFCACEZQgAhGiMAQYAKayIHJAAgB0HgAWogBEHYBWopAwA3AwAgB0HYAWogBEHQBWopAwA3AwAgB0HQAWogBEHIBWopAwA3AwAgB0ESOgDoASAHIAQpA8AFNwPIASASAn8CQAJAIA8gB0HIAWoQmgJB/wFxIgIEQCACQf8BRw0BDAILIA8tACBBEkkNAQsCQAJAAkAgCEUEQCAHQcgBaiAPENcBIAcoAsgBDQEgB0HIAGogB0HoAWopAwA3AwAgB0FAayAHQeABaikDADcDACAHQThqIAdB2AFqKQMANwMAIAcgBykD0AE3AzAMAwsgB0G4AWogBEHYAWopAwA3AwAgB0GwAWogBEHQAWopAwA3AwAgB0GoAWogBEHIAWopAwA3AwAgB0ESOgDAASAHIAQpA8ABNwOgAUIBIRgCQAJAAkAgDy0AICICDgICAQALQgohGEIBIRsDQCAHQRBqIBhCASACQQFxIgYbIBlCACAGGyAbIBoQlAIgB0EgaiAYIBkgGCAZEJQCIAJBA0sgB0EoaikDACEZIAdBGGopAwAhGiAHKQMgIRggBykDECEbIAJBAXYhAg0ACyAHIBsgGiAYIBkQlAIgB0EIaikDACEZIAcpAwAhGAwBC0IKIRgLIAdBgAFqIgIgGTcDACAHIBg3A3ggB0EBNgLMASAHQcT9wAA2AsgBIAdCATcC1AEgByAHQfgAaq1CgICAgLAHhDcD+AkgByAHQfgJajYC0AEgB0HsCWogB0HIAWoQzwEgB0HYCWpCADcDACAHQgA3A9AJIAIpAwAhGCAHKQN4IRkgBygC7AkiAgRAIAcoAvAJIAIQjAMLIAdBEjoA4AkgByAZNwPACSAHIBg3A8gJIAdB6AFqIA9BIGopAwA3AwAgB0HgAWogD0EYaikDADcDACAHQdgBaiAPQRBqKQMANwMAIAdB0AFqIA9BCGopAwA3AwAgByAPKQMANwPIASAHQfgAaiICIAdByAFqIAdBwAlqIAdBoAFqEHwgB0HQAGogAhDXASAHKAJQDQEgB0HIAGogB0HwAGopAwA3AwAgB0FAayAHQegAaikDADcDACAHQThqIAdB4ABqKQMANwMAIAcgBykDWDcDMAwCCyASIAcoAswBNgIEQQEMAwsgEiAHKAJUNgIEQQEMAgsgB0HIAWohCCMAQcAHayIGJAAgBkEgaiAEQRhqKQMANwMAIAZBGGogBEEQaikDADcDACAGQRBqIARBCGopAwA3AwAgBkE4aiAEQYgBaikDADcDACAGQUBrIARBkAFqKQMANwMAIAZByABqIARBmAFqKQMANwMAIAZBEjoAKCAGIAQpAwA3AwggBiAEKQOAATcDMCAEKQMgIRggBkHgAGogBEGoBWopAwA3AwAgBkHoAGogBEGwBWopAwA3AwAgBkHwAGogBEG4BWopAwA3AwAgBkESOgBQIAZBEjoAeCAGIAQpA6AFNwNYIAZBkAFqIARBMGopAwA3AwAgBkGYAWogBEE4aikDADcDACAGIBg3A4ABIAYgBCkDKDcDiAEgBkHABmohCiAGQQhqIQ4gBkGAAWohCSAGQTBqIREgBkHYAGohEyMAQdADayICJAAgAkEgakIANwMAIAJBGGpCADcDACACQRBqQgA3AwAgAkIANwMIAkACQAJAAkACQAJAAkAgB0EwaiILIAJBCGpBIBCtAgRAIAJBKGogDhDXASACKAIoDQEgAikDOCIYIAspAwh8IhkgGFQhDSACKQNAIhogCykDEHwiGCAaVCEQIAIpAzAiGiALKQMAfCIbIBpaBH4gDa0FIBlCAXwiGVCtIA2tfAsiGlAEfiAQrQUgGCAYIBp8IhhWrSAQrXwLIR0gAikDSCEeIAspAxghICACQShqIg0gExDXASACKAIoDQIgAikDSCEaIAIpA0AhHyACKQM4IRwgAikDMCEhAkACfyAeICB8Ih4gHSAefCAdUBsiHUIAUwRAIBpCAFkNBiACQgAgG30iHjcDqAMgAiAZQn+FQgAgGX0iICAeQgBSIgsbNwOwAyACIBhCf4UiHiAgUCALQX9zcSILrXwiICAeIAsbNwO4AyACIAsgHiAgVnGtIB1Cf4V8NwPAAyACQgAgIX0iITcDKCACIBxCf4VCACAcfSIeICFCAFIiCxs3AzAgAiAfQn+FIhwgHlAgC0F/c3EiC618Ih8gHCALGzcDOCACIAsgHCAfVnGtIBpCf4V8NwNAIA0gAkGoA2oQmgIMAQsgGkIAUw0BIAIgHTcDwAMgAiAYNwO4AyACIBk3A7ADIAIgGzcDqAMgAiAaNwNAIAIgHzcDOCACIBw3AzAgAiAhNwMoIAJBqANqIAJBKGoQmgILQf8BcUH/AUYNBAsgAiAdNwPAAyACIBg3A7gDIAIgGTcDsAMgAiAbNwOoAyACQShqIAJBqANqELkBAkACQAJAAkACQCACKAIoRQRAIAJBuAFqIAJB0ABqKQMANwMAIAJBsAFqIAJByABqKQMANwMAIAJBqAFqIAJBQGsiCykDADcDACACQaABaiACQThqIg0pAwA3AwAgAiACKQMwNwOYASAJKQMAIRkgCSkDGCIbQgBZDQEgCSkDECEaIAkpAwghGAwCCyACKAIsIQkgCkEBNgIAIAogCTYCBAwMCyAJKQMIIRggCSkDECEaIAIgGzcDwAMgAiAaNwO4AyACIBg3A7ADIAIgGTcDqAMgC0IANwMAIA1CADcDACACQTBqQgA3AwAgAkIANwMoIAJBqANqIAJBKGoQmgJB/wFxQQJJDQELIAIgCUH4wsAAQSAQrQIEfiAYQn+FQgAgGH0iHUIAIBl9IhlCAFIiCRshGCAaQn+FIhwgHVAgCUF/c3EiCa18Ih0gHCAJGyEaIAkgHCAdVnGtIBtCf4V8BSAbCzcDwAMgAiAaNwO4AyACIBg3A7ADIAIgGTcDqAMgAkEoaiILIAJBqANqIgkQuQEgAigCKA0BIAJBiAJqIAJB0ABqKQMANwMAIAJBgAJqIAJByABqIg0pAwA3AwAgAkH4AWogAkFAayIQKQMANwMAIAJB8AFqIAJBOGoiEykDADcDACACIAIpAzA3A+gBIA0gAkG4AWopAwA3AwAgECACQbABaikDADcDACATIAJBqAFqKQMANwMAIAJBMGogAkGgAWopAwA3AwAgAiACKQOYATcDKCAJIAsgAkHoAWogDhB2IAJBkAJqIAkQ1wEgAigCkAJFDQIgAigClAIhCSAKQQE2AgAgCiAJNgIEDAoLIAJBwANqIAlBGGopAwA3AwAgAkG4A2ogCUEQaikDADcDACACQbADaiAJQQhqKQMANwMAIAIgCSkDADcDqAMgAkEoaiILIAJBqANqIgkQuQEgAigCKA0GIAJB4AFqIAJB0ABqKQMANwMAIAJB2AFqIAJByABqIg0pAwA3AwAgAkHQAWogAkFAayIQKQMANwMAIAJByAFqIAJBOGoiEykDADcDACACIAIpAzA3A8ABIA0gAkG4AWopAwA3AwAgECACQbABaikDADcDACATIAJBqAFqKQMANwMAIAJBMGogAkGgAWopAwA3AwAgAiACKQOYATcDKCAJIAsgAkHAAWogDhB8IAJBkAJqIAkQ1wEgAigCkAINByACKQOwAiEZIAIpA6gCIRsgAikDoAIhGiACKQOYAiEYDAgLIAIoAiwhCSAKQQE2AgAgCiAJNgIEDAgLIAJB0AJqIAJBsAJqKQMANwMAIAJByAJqIAJBqAJqKQMANwMAIAJBwAJqIAJBoAJqKQMANwMAIAIgAikDmAI3A7gCIAIpA7gCIRggAkG4AmpB+MLAAEEgEK0CBEAgAikDwAIiGUJ/hUIAIBl9IhtCACAYfSIYQgBSIgkbIRogAikDyAJCf4UiGSAbUCAJQX9zcSIJrXwiHCAZIAkbIRsgCSAZIBxWca0gAikD0AJCf4V8IRkMBwsgAikD0AIhGSACKQPIAiEbIAIpA8ACIRoMBgsgAkHoAGogDkEgaikDADcDACACQeAAaiAOQRhqKQMANwMAIAJB2ABqIA5BEGopAwA3AwAgAkHQAGogDkEIaikDADcDACACQTBqIAlBCGopAwA3AwAgAkE4aiAJQRBqKQMANwMAIAJBQGsgCUEYaikDADcDACACIA4pAwA3A0ggAiAJKQMANwMoIAJBkAFqIBFBIGopAwA3AwAgAkGIAWogEUEYaikDADcDACACQYABaiARQRBqKQMANwMAIAJB+ABqIBFBCGopAwA3AwAgAiARKQMANwNwIApBCGogAkEoakHwABDZARogCkEANgIADAYLIAIoAiwhCSAKQQE2AgAgCiAJNgIEDAULIAIgAigCLDYCqANBzMTAAEErIAJBqANqQbzEwABBpNjAABCVAgALIAJBADYCOCACQQE2AiwgAkGM2MAANgIoIAJCBDcCMCACQShqQZTYwAAQzQEhCSAKQQE2AgAgCiAJNgIEDAMLIAIoAiwhCSAKQQE2AgAgCiAJNgIEDAILIAIoApQCIQkgCkEBNgIAIAogCTYCBAwBCyACQcADaiIJIARBGGopAwA3AwAgAkG4A2oiDiAEQRBqKQMANwMAIAJBsANqIgsgBEEIaikDADcDACACQRI6AMgDIAIgBCkDADcDqAMgAkGoAmogBEE4aikDADcDACACQaACaiAEQTBqKQMANwMAIAJBmAJqIARBKGopAwA3AwAgAiAEKQMgNwOQAiACQShqIg0gAkGoA2oiECACQZACaiITEMYBAkAgAigCKEUEQCACQfgCaiACQdAAaikDADcDACACQfACaiACQcgAaiIWKQMANwMAIAJB6AJqIAJBQGspAwA3AwAgAkHgAmogAkE4aikDADcDACACIAIpAzA3A9gCIAIgGTcDqAIgAiAbNwOgAiACIBo3A5gCIAIgGDcDkAIgAkHIA2ogAkG4AWoiFykDADcDACAJIAJBsAFqKQMANwMAIA4gAkGoAWopAwA3AwAgCyACQaABaikDADcDACACIAIpA5gBNwOoAyANIBAgExDGASACKAIoDQEgAkGgA2ogAkHQAGopAwA3AwAgAkGYA2ogFikDADcDACACQZADaiACQUBrKQMANwMAIAJBiANqIAJBOGopAwA3AwAgAiACKQMwNwOAAyAKQdAAaiARIAJBgANqIAJB2AJqEHwgCiAZNwMgIAogGzcDGCAKIBo3AxAgCiAYNwMIIApBADYCACAKQcgAaiAXKQMANwMAIApBQGsgAkGwAWopAwA3AwAgCkE4aiACQagBaikDADcDACAKQTBqIAJBoAFqKQMANwMAIAogAikDmAE3AygMAgsgAigCLCEJIApBATYCACAKIAk2AgQMAQsgAigCLCEJIApBATYCACAKIAk2AgQLIAJB0ANqJAACQCAGKALABiICRQRAIAZB+AVqIAZBgAdqKQMANwMAIAZB8AVqIAZB+AZqKQMANwMAIAZB6AVqIAZB8AZqKQMANwMAIAZB0AVqIAZB2AZqKQMANwMAIAZB2AVqIAZB4AZqKQMANwMAIAZBiAZqIAZBmAdqKQMANwMAIAZBkAZqIAZBoAdqKQMANwMAIAZBmAZqIAZBqAdqKQMANwMAIAYgBikD6AY3A+AFIAYgBikD0AY3A8gFIAYgBikDkAc3A4AGIAYpA8gGIRgMAQsgBkGAAWoiCkG4xMAAQQEQtwEgBigCgAFFBEAgBkG4BmoiCSAGQaABaiIOKQMANwMAIAZBsAZqIhEgBkGYAWoiCykDADcDACAGQagGaiINIAZBkAFqIhApAwA3AwAgBiAGKQOIATcDoAYgCkG4xMAAQQEQtwEgBigCgAFFBEAgBkGYBmogDikDADcDACAGQZAGaiALKQMANwMAIAZBiAZqIBApAwA3AwAgBkHoBWogDSkDADcDACAGQfAFaiARKQMANwMAIAZB+AVqIAkpAwA3AwAgBiAGKQOIATcDgAYgBiAGKQOgBjcD4AVCACEYIAZB2AVqQgA3AwAgBkHQBWpCADcDACAGQgA3A8gFDAILIAYgBigChAE2AsQFQczEwABBKyAGQcQFakG8xMAAQcjbwAAQlQIACyAGIAYoAoQBNgKgBkHMxMAAQSsgBkGgBmpBvMTAAEHY28AAEJUCAAsgAgRAIAZBwAZqQQRyEO0CCyAIIAQpA0A3A0ggCCAEKQNgNwNoIAggBCkDoAE3A6gBIAhB4ABqIARB2ABqKQMANwMAIAhB2ABqIARB0ABqKQMANwMAIAhB0ABqIARByABqKQMANwMAIAhB8ABqIARB6ABqKQMANwMAIAhB+ABqIARB8ABqKQMANwMAIAhBgAFqIARB+ABqKQMANwMAIAhBsAFqIARBqAFqKQMANwMAIAhBuAFqIARBsAFqKQMANwMAIAhBwAFqIARBuAFqKQMANwMAIAhB4AFqIARB2AFqKQMANwMAIAhB2AFqIARB0AFqKQMANwMAIAhB0AFqIARByAFqKQMANwMAIAggBCkDwAE3A8gBIAhBgAJqIARB+AFqKQMANwMAIAhB+AFqIARB8AFqKQMANwMAIAhB8AFqIARB6AFqKQMANwMAIAggBCkD4AE3A+gBIAhBoAJqIARBmAJqKQMANwMAIAhBmAJqIARBkAJqKQMANwMAIAhBkAJqIARBiAJqKQMANwMAIAggBCkDgAI3A4gCIAhBwAJqIARBuAJqKQMANwMAIAhBuAJqIARBsAJqKQMANwMAIAhBsAJqIARBqAJqKQMANwMAIAggBCkDoAI3A6gCIAhB4AJqIARB2AJqKQMANwMAIAhB2AJqIARB0AJqKQMANwMAIAhB0AJqIARByAJqKQMANwMAIAggBCkDwAI3A8gCIAhBgANqIARB+AJqKQMANwMAIAhB+AJqIARB8AJqKQMANwMAIAhB8AJqIARB6AJqKQMANwMAIAggBCkD4AI3A+gCIAhBoANqIARBmANqKQMANwMAIAhBmANqIARBkANqKQMANwMAIAhBkANqIARBiANqKQMANwMAIAggBCkDgAM3A4gDIAhBwANqIARBuANqKQMANwMAIAhBuANqIARBsANqKQMANwMAIAhBsANqIARBqANqKQMANwMAIAggBCkDoAM3A6gDIAhB4ANqIARB2ANqKQMANwMAIAhB2ANqIARB0ANqKQMANwMAIAhB0ANqIARByANqKQMANwMAIAggBCkDwAM3A8gDIAZBsARqIARB4AZqENICIAZBxARqIARB9AZqENICIAZB2ARqIARBiAdqENICIAZByAJqIARB+ARqKQMANwMAIAZBwAJqIARB8ARqKQMANwMAIAZBuAJqIARB6ARqKQMANwMAIAZB2AJqIARBiAVqKQMANwMAIAZB4AJqIARBkAVqKQMANwMAIAZB6AJqIARBmAVqKQMANwMAIAZB+AJqIARBoAVqIgJBCGopAwA3AwAgBkGAA2ogAkEQaikDADcDACAGQYgDaiACQRhqKQMANwMAIAYgBCkD4AQ3A7ACIAYgBCkDgAU3A9ACIAYgAikDADcD8AIgBkGoA2ogBEHYBWopAwA3AwAgBkGgA2ogBEHQBWopAwA3AwAgBkGYA2ogBEHIBWopAwA3AwAgBkHIA2ogBEH4BWopAwA3AwAgBkHAA2ogBEHwBWopAwA3AwAgBkG4A2ogBEHoBWopAwA3AwAgBkHoA2ogBEGYBmopAwA3AwAgBkHgA2ogBEGQBmopAwA3AwAgBkHYA2ogBEGIBmopAwA3AwAgBiAEKQPABTcDkAMgBiAEKQPgBTcDsAMgBiAEKQOABjcD0AMgBkGIBGogBEG4BmopAwA3AwAgBkGABGogBEGwBmopAwA3AwAgBkH4A2ogBEGoBmopAwA3AwAgBiAEKQOgBjcD8AMgBkGoBGogBEHYBmopAwA3AwAgBkGgBGogBEHQBmopAwA3AwAgBkGYBGogBEHIBmopAwA3AwAgBiAEKQPABjcDkAQgBkHsBGogBEGcB2oQ0gIgBkGABWogBEGwB2oQ0gIgBkGUBWogBEHEB2oQ0gIgBkGoBWogBEHYB2oQ0gIgBkH4BmogBEGYBGopAwA3AwAgBkHwBmogBEGQBGopAwA3AwAgBkHoBmogBEGIBGopAwA3AwAgBkGIB2ogBEGoBGopAwA3AwAgBkGQB2ogBEGwBGopAwA3AwAgBkGYB2ogBEG4BGopAwA3AwAgBkGoB2ogBEHIBGopAwA3AwAgBkGwB2ogBEHQBGopAwA3AwAgBkG4B2ogBEHYBGopAwA3AwAgBiAEKQOABDcD4AYgBiAEKQOgBDcDgAcgBiAEKQPABDcDoAcgBkHYBmogBEH4A2opAwA3AwAgBkHQBmogBEHwA2opAwA3AwAgBkHIBmogBEHoA2opAwA3AwAgBiAEKQPgAzcDwAYgBkGwAWoiAiAGQcAGakGAARDZARogCEEgaiAGQfgFaikDADcDACAIQRhqIAZB8AVqKQMANwMAIAhBEGogBkHoBWopAwA3AwAgCCAGKQPgBTcDCCAIIBg3AyggCCAGKQPIBTcDMCAIQThqIAZB0AVqKQMANwMAIAhBQGsgBkHYBWopAwA3AwAgCCAGKQOABjcDiAEgCEGQAWogBkGIBmopAwA3AwAgCEGYAWogBkGQBmopAwA3AwAgCEGgAWogBkGYBmopAwA3AwAgCEHoA2ogAkGQBBDZARogCEEANgIAIAZBwAdqJAAgBygCyAFFBEAgEkEIaiAHQdABakHwBxDZARpBAAwCCyASIAcoAswBNgIEQQEMAQsgB0EANgLYASAHQQE2AswBIAdB1NbAADYCyAEgB0IENwLQASASIAdByAFqQdzWwAAQzQE2AgRBAQs2AgAgB0GACmokACAFKALACQ0CIAVB0AFqIgIgBUHICWpB8AcQ2QEaIBIgAiAUEIUBAkACQCAFKALACUUEQCAFQdwRaiAFQewJaigAADYAACAFIAUoAOkJNgDZESAFIAUtAOgJIgI6ANgRIAUgBSkD4AkiHDcD0BEgBSAFKQPYCSIbNwPIESAFIAUpA9AJIhg3A8ARIAUgBSkDyAkiITcDuBEgBUG4EWogBUGAAWoQmgJB/wFxIgZFDQEgBkH/AUcNAgwJCyAFKALECQwJCyACIAUtAMgBSQ0HCyAFKQO4ASEdIAUpA7ABIRkCfiAFKQOoASIeICFYBEAgGCAZVK0hGiAYIBl9DAELIBggGVStIBggGVGtfCEaIBggGUJ/hXwLISAgBSkDwAEhHyAbIB19IRgCQCAaUARAIBsgHVStIRsMAQsgGCAaVK0gGyAdVK18IRsgGCAafSEYCyAcIB99IRkCQCAbUARAIBwgH1oNAQwHCyAZIBtUIBwgH1RyDQYgGSAbfSEZCyAFQRI6AOAJIAUgGTcD2AkgBSAYNwPQCSAFICA3A8gJIAUgISAefTcDwAkgBUHgEWoiAiAFQcAJaiIGIAVB2ABqIAVBqAFqEHwgBUHYCWogBEHYBWopAwA3AwAgBUHQCWogBEHQBWopAwA3AwAgBUHICWogBEHIBWopAwA3AwAgBUESOgDgCSAFIAQpA8AFNwPACQJAIAIgBhCaAkH/AXEiBARAIARB/wFHDQEMBgsgBS0AgBJBEkkNBQtCASEYQgAhGQJAAkACQCAPLQAgIgQOAgIBAAtCCiEYQgEhGkIAIRsDQCAFQRBqIBhCASAEQQFxIgIbIBlCACACGyAaIBsQlAIgBUEgaiAYIBkgGCAZEJQCIARBA0sgBUEoaikDACEZIAVBGGopAwAhGyAFKQMgIRggBSkDECEaIARBAXYhBA0ACyAFIBogGyAYIBkQlAIgBUEIaikDACEZIAUpAwAhGAwBC0IKIRgLIAVB4BJqIgQgGTcDACAFIBg3A9gSIAVBATYCxAkgBUHE/cAANgLACSAFQgE3AswJIAUgBUHYEmqtQoCAgICwB4Q3A/gSIAUgBUH4Emo2AsgJIAVB7BJqIAVBwAlqEM8BIAVByBJqQgA3AwAgBUIANwPAEiAEKQMAIRggBSkD2BIhGSAFKALsEiIEBEAgBSgC8BIgBBCMAwsgBUESOgDQEiAFIBk3A7ASIAUgGDcDuBIgBUHgCWogBUGAEmopAwA3AwAgBUHYCWogBUH4EWopAwA3AwAgBUHQCWogBUHwEWopAwA3AwAgBUHICWogBUHoEWopAwA3AwAgBSAFKQPgETcDwAkgBUGIEmoiBCAPIAVBsBJqIAVBwAlqEHwCQCAEIBUQmgJB/wFxIgQEQCAEQf8BRw0BDAULIAUtAKgSIBUtACBJDQQLIAwgBSkD4BE3AwggDEEANgIAIAxBKGogBUGAEmopAwA3AwAgDEEgaiAFQfgRaikDADcDACAMQRhqIAVB8BFqKQMANwMAIAxBEGogBUHoEWopAwA3AwAMCQsgBSgCxAkhBCAMQQE2AgAgDCAENgIEDAgLIAUoAsQJIQQgDEEBNgIAIAwgBDYCBAwHCyAFKALECSEEIAxBATYCACAMIAQ2AgQMBgsgBUEANgLQCSAFQQE2AsQJIAVB7NXAADYCwAkgBUIENwLICSAFQcAJakH01cAAEM0BDAMLIAVBADYC0AkgBUEBNgLECSAFQajVwAA2AsAJIAVCBDcCyAkgBUHACWpBsNXAABDNAQwCCyAFQQA2AtAJIAVBATYCxAkgBUGwxMAANgLACSAFQgQ3AsgJIAVBwAlqQYDEwAAQswIACyAFQQA2AtAJIAVBATYCxAkgBUHY1MAANgLACSAFQgQ3AsgJIAVBwAlqQeDUwAAQzQELIQQgDEEBNgIAIAwgBDYCBAwBCyAFQQA2AtAJIAVBATYCxAkgBUH40sAANgLACSAFQgQ3AsgJIAVBwAlqQezTwAAQzQEhBCAMQQE2AgAgDCAENgIECyAFQYATaiQAIANBmAhqIAxB4KDAABDRASADKAKYCA0CIANBxBlqIANBwAhqKQMAIhg3AgAgA0G8GWogA0G4CGopAwAiGTcCACADQbQZaiADQbAIaikDACIaNwIAIANBrBlqIANBqAhqKQMAIhs3AgAgA0GAGWogGzcDACADQYgZaiAaNwMAIANBkBlqIBk3AwAgA0GYGWogGDcDACADIAMpA6AIIhg3AqQZIAMgGDcD+BggAygC5BoiBEGEAU8EQCAEEAALIAMoAvQZIgRBhAFPBEAgBBAACyADQQhqIANB+BhqQfCgwAAQvAEMBwsgA0EQaiADQZwQaikCADcDACADQRhqIANBpBBqKQIANwMAIANBIGogA0GsEGooAgA2AgAgAyADKQKUEDcDCCAEQYQBSQ0GIAQQAAwGCyADQegZaiADQYQbaigCACIENgIAIANB4BlqIANB/BpqKQIAIhg3AwAgA0HYGWogA0H0GmopAgAiGTcDACADQRBqIBk3AwAgA0EYaiAYNwMAIANBIGogBDYCACADIAMpAuwaIhg3A9AZIAMgGDcDCAwDCyADQbgZaiADQbQIaigCACIENgIAIANBsBlqIANBrAhqKQIAIhg3AwAgA0GoGWogA0GkCGopAgAiGTcDACADQRBqIBk3AwAgA0EYaiAYNwMAIANBIGogBDYCACADIAMpApwIIhg3A6AZIAMgGDcDCCADKALkGiECDAELIANB2BpqIANBhBtqKAIAIgQ2AgAgA0HQGmogA0H8GmopAgAiGDcDACADQcgaaiADQfQaaikCACIZNwMAIANBEGogGTcDACADQRhqIBg3AwAgA0EgaiAENgIAIAMgAykC7BoiGDcDwBogAyAYNwMICyACQYQBTwRAIAIQAAsgAygC9BkhAgsgAkGEAUkNASACEAAMAQsgA0GwCGogA0GsEGooAgAiBDYCACADQRBqIANBnBBqKQIANwMAIANBGGogA0GkEGopAgA3AwAgA0EgaiAENgIAIAMgAykClBA3AwgLIAFBgwFLBEAgARAACwJ/IAMoAggiAUECRgRAIAMoAgwhBEEADAELIANBqBBqIANBIGooAgA2AgAgA0GgEGogA0EYaikDADcDACADQZgQaiADQRBqKQMANwMAIAMgAykDCDcDkBBBACEEIANBkBBqEOEBCyECIAAgAUECRzYCCCAAIAI2AgQgACAENgIAIANBkBtqJAALuhICFH8WfiMAQfAEayIEJAAgBEGoA2oiCiADQRhqIg0pAwA3AwAgBEGgA2oiCyADQRBqIg4pAwA3AwAgBEGYA2oiDCADQQhqIg8pAwA3AwAgBCADKQMANwOQAyAEQegDaiIFQgA3AwAgBEHgA2oiBkIANwMAIARB2ANqIgdCADcDACAEQgA3A9ADIARBkANqIgkgBEHQA2oiCEEgEK0CBEAgCiABQRhqIhApAwA3AwAgCyABQRBqIhEpAwA3AwAgDCABQQhqIhIpAwA3AwAgBCABKQMANwOQAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A9ADIAkgCBCaAiETIAogAkEYaiIUKQMANwMAIAsgAkEQaiIVKQMANwMAIAwgAkEIaiIWKQMANwMAIAQgAikDADcDkAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwPQAyAJIAgQmgIhFyAKIA0pAwA3AwAgCyAOKQMANwMAIAwgDykDADcDACAEIAMpAwA3A5ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCSAIEJoCIQogBSAQKQMANwMAIAYgESkDADcDACAHIBIpAwA3AwAgBCABKQMANwPQAyAEQeACaiILIAgQnQEgBSAUKQMANwMAIAYgFSkDADcDACAHIBYpAwA3AwAgBCACKQMANwPQAyAJIAgQnQEgBEEwaiAEKQPgAiIZQgAgBCkDkAMiGEIAEJQCIARB4ABqIAQpA+gCIhpCACAYQgAQlAIgBEHQAGogBCkD8AIiH0IAIBhCABCUAiAEQUBrIAQpA/gCIhxCACAYQgAQlAIgBEEgaiAEKQOYAyIYQgAgGUIAEJQCIARBkAFqIBhCACAaQgAQlAIgBEHAAWogGEIAIB9CABCUAiAEQfABaiAYQgAgHEIAEJQCIARBEGogBCkDoAMiGEIAIBlCABCUAiAEQYABaiAYQgAgGkIAEJQCIARBsAFqIBhCACAfQgAQlAIgBEHgAWogGEIAIBxCABCUAiAEIAQpA6gDIhhCACAZQgAQlAIgBEHwAGogGEIAIBpCABCUAiAEQaABaiAYQgAgH0IAEJQCIARB0AFqIBhCACAcQgAQlAIgBCAEKQMwNwOgAiAEQegAaikDACEcIAQpA1AhGSAEIAQpAyAiJSAEKQNgIh0gBEE4aikDAHwiG3wiHjcDqAIgBEGYAWopAwAhICAEQdgAaikDACEhIAQpA0AhGCAEKQPAASEaIARByAFqKQMAISIgBEHIAGopAwAhJiAEKQPwASEfIAQgBCkDECInIAQpA5ABIiMgBEEoaikDACAeICVUrXwiHiAZIBwgGyAdVK18fCIbfCIdfCIkfCIoNwOwAiAEQYgBaikDACEpIAQpA7ABIRwgBEG4AWopAwAhKiAEQfgBaikDACErIAQpA+ABISUgBCAEKQMAIiwgBCkDgAEiLSAEQRhqKQMAICcgKFatfCInIBogICAjICRWrXwiICAdIB5UrXwiHSAYICEgGSAbVq18fCIbfCIefCIhfCIZfCIjfCIkNwO4AiAEIAQpA3AiKCAEQQhqKQMAICQgLFStfCIkIBwgKSAjIC1UrXwiIyAZICdUrXwiGSAfICIgGiAhVq18IiEgHSAgVCAdIB5Wcq18IhogJiAYIBtWrXx8Ih18Iht8Ih58IiB8Ihh8IiI3A8ACIAQgBCkDoAEiJiAEQfgAaikDACAiIChUrXwiIiAYICRUrXwiGCAlICogHCAgVq18IhwgGSAjVCAZIB5Wcq18IhkgGyAfVK0gKyAaICFUIBogHVZyrXx8fCIafCIffCIdfCIbNwPIAiAEQdgBaikDACEeIAQgBCkD0AEiICAEQagBaikDACAbICZUrXwiGyAYICJUIBggHVZyrXwiGCAfICVUrSAEQegBaikDACAZIBxUIBkgGlZyrXx8fCIZfCIaNwPQAiAEIBogIFStIB4gGCAbVCAYIBlWcq18fDcD2AIgBSANKQMANwMAIAYgDikDADcDACAHIA8pAwA3AwAgBCADKQMANwPQAyALIAgQnQEgBEHIA2pCADcDACAEQcADakIANwMAIARBuANqQgA3AwAgBEIANwOwAyAEIAQpA/gCNwOoAyAEIAQpA/ACNwOgAyAEIAQpA+gCNwOYAyAEIAQpA+ACNwOQAyAIIARBoAJqIAkQbgJAAkAgBCkDiAQgBCkDgAQgBCkD+AMgBCkD8AOEhIRQBEAgBCkD4AMhGSAEKQPYAyEYIAQpA9ADIRogBCAEKQPoAzcDmAIgBCAZNwOQAiAEIBg3A4gCIAQgGjcDgAIgF0H/AXFB/wFGIApB/wFxQf8BR3MgE0H/AXFB/wFGc0UEQCAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A9ADIAkgCBCdASAEQYACaiAJQSAQrQINAiAEQegEakGAmMAAKQMANwMAIARB4ARqQfiXwAApAwA3AwAgBEHYBGpB8JfAACkDADcDACAEQeiXwAApAwA3A9AEDAMLIARB6ARqIARBmAJqKQMANwMAIARB4ARqIARBkAJqKQMANwMAIARB2ARqIARBiAJqKQMANwMAIAQgBCkDgAI3A9AEDAILIAQgAzYCjAMgBCACNgKIAyAEIAE2AoQDIwBBMGsiACQAIABBAzYCBCAAQfSawAA2AgAgAEIDNwIMIAAgBEGEA2oiATUCCEKAgICAMIQ3AyggACABNQIEQoCAgIAwhDcDICAAIAE1AgBCgICAgDCENwMYIAAgAEEYajYCCCAAQbybwAAQzQEhASAAQTBqJAAgBCABNgLQA0Gcl8AAQSsgBEHQA2pBjJfAAEGcm8AAEJUCAAsgBSAEQZgCaikDADcDACAGIARBkAJqKQMANwMAIAcgBEGIAmopAwA3AwAgBCAEKQOAAjcD0AMgBEHQBGogBEHQA2oQyAELIAAgBCkD0AQ3AwAgAEEANgAhIABBEjoAICAAQSRqQQA2AAAgAEEYaiAEQegEaikDADcDACAAQRBqIARB4ARqKQMANwMAIABBCGogBEHYBGopAwA3AwAgBEHwBGokAA8LIARBADYC4AMgBEEBNgLUAyAEQbSawAA2AtADIARCBDcC2AMgBEHQA2pBrJvAABCzAgALvRICFH8WfiMAQfAEayIEJAAgBEGoA2oiCiADQRhqIg0pAwA3AwAgBEGgA2oiCyADQRBqIg4pAwA3AwAgBEGYA2oiDCADQQhqIg8pAwA3AwAgBCADKQMANwOQAyAEQegDaiIFQgA3AwAgBEHgA2oiBkIANwMAIARB2ANqIgdCADcDACAEQgA3A9ADIARBkANqIgkgBEHQA2oiCEEgEK0CBEAgCiABQRhqIhApAwA3AwAgCyABQRBqIhEpAwA3AwAgDCABQQhqIhIpAwA3AwAgBCABKQMANwOQAyAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A9ADIAkgCBCaAiETIAogAkEYaiIUKQMANwMAIAsgAkEQaiIVKQMANwMAIAwgAkEIaiIWKQMANwMAIAQgAikDADcDkAMgBUIANwMAIAZCADcDACAHQgA3AwAgBEIANwPQAyAJIAgQmgIhFyAKIA0pAwA3AwAgCyAOKQMANwMAIAwgDykDADcDACAEIAMpAwA3A5ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCSAIEJoCIQogBSAQKQMANwMAIAYgESkDADcDACAHIBIpAwA3AwAgBCABKQMANwPQAyAEQeACaiILIAgQngEgBSAUKQMANwMAIAYgFSkDADcDACAHIBYpAwA3AwAgBCACKQMANwPQAyAJIAgQngEgBEEwaiAEKQPgAiIZQgAgBCkDkAMiGEIAEJQCIARB4ABqIAQpA+gCIhpCACAYQgAQlAIgBEHQAGogBCkD8AIiH0IAIBhCABCUAiAEQUBrIAQpA/gCIhxCACAYQgAQlAIgBEEgaiAEKQOYAyIYQgAgGUIAEJQCIARBkAFqIBhCACAaQgAQlAIgBEHAAWogGEIAIB9CABCUAiAEQfABaiAYQgAgHEIAEJQCIARBEGogBCkDoAMiGEIAIBlCABCUAiAEQYABaiAYQgAgGkIAEJQCIARBsAFqIBhCACAfQgAQlAIgBEHgAWogGEIAIBxCABCUAiAEIAQpA6gDIhhCACAZQgAQlAIgBEHwAGogGEIAIBpCABCUAiAEQaABaiAYQgAgH0IAEJQCIARB0AFqIBhCACAcQgAQlAIgBCAEKQMwNwOgAiAEQegAaikDACEcIAQpA1AhGSAEIAQpAyAiJSAEKQNgIh0gBEE4aikDAHwiG3wiHjcDqAIgBEGYAWopAwAhICAEQdgAaikDACEhIAQpA0AhGCAEKQPAASEaIARByAFqKQMAISIgBEHIAGopAwAhJiAEKQPwASEfIAQgBCkDECInIAQpA5ABIiMgBEEoaikDACAeICVUrXwiHiAZIBwgGyAdVK18fCIbfCIdfCIkfCIoNwOwAiAEQYgBaikDACEpIAQpA7ABIRwgBEG4AWopAwAhKiAEQfgBaikDACErIAQpA+ABISUgBCAEKQMAIiwgBCkDgAEiLSAEQRhqKQMAICcgKFatfCInIBogICAjICRWrXwiICAdIB5UrXwiHSAYICEgGSAbVq18fCIbfCIefCIhfCIZfCIjfCIkNwO4AiAEIAQpA3AiKCAEQQhqKQMAICQgLFStfCIkIBwgKSAjIC1UrXwiIyAZICdUrXwiGSAfICIgGiAhVq18IiEgHSAgVCAdIB5Wcq18IhogJiAYIBtWrXx8Ih18Iht8Ih58IiB8Ihh8IiI3A8ACIAQgBCkDoAEiJiAEQfgAaikDACAiIChUrXwiIiAYICRUrXwiGCAlICogHCAgVq18IhwgGSAjVCAZIB5Wcq18IhkgGyAfVK0gKyAaICFUIBogHVZyrXx8fCIafCIffCIdfCIbNwPIAiAEQdgBaikDACEeIAQgBCkD0AEiICAEQagBaikDACAbICZUrXwiGyAYICJUIBggHVZyrXwiGCAfICVUrSAEQegBaikDACAZIBxUIBkgGlZyrXx8fCIZfCIaNwPQAiAEIBogIFStIB4gGCAbVCAYIBlWcq18fDcD2AIgBSANKQMANwMAIAYgDikDADcDACAHIA8pAwA3AwAgBCADKQMANwPQAyALIAgQngEgBEHIA2pCADcDACAEQcADakIANwMAIARBuANqQgA3AwAgBEIANwOwAyAEIAQpA/gCNwOoAyAEIAQpA/ACNwOgAyAEIAQpA+gCNwOYAyAEIAQpA+ACNwOQAyAIIARBoAJqIAkQbgJAAkAgBCkDiAQgBCkDgAQgBCkD+AMgBCkD8AOEhIRQBEAgBCkD4AMhGSAEKQPYAyEYIAQpA9ADIRogBCAEKQPoAzcDmAIgBCAZNwOQAiAEIBg3A4gCIAQgGjcDgAIgF0H/AXFB/wFGIApB/wFxQf8BR3MgE0H/AXFB/wFGc0UEQCAFQgA3AwAgBkIANwMAIAdCADcDACAEQgA3A9ADIAkgCBCeASAEQYACaiAJQSAQrQINAiAEQegEakGg/MAAKQMANwMAIARB4ARqQZj8wAApAwA3AwAgBEHYBGpBkPzAACkDADcDACAEQYj8wAApAwA3A9AEDAMLIARB6ARqIARBmAJqKQMANwMAIARB4ARqIARBkAJqKQMANwMAIARB2ARqIARBiAJqKQMANwMAIAQgBCkDgAI3A9AEDAILIAQgAzYCjAMgBCACNgKIAyAEIAE2AoQDIwBBMGsiACQAIABBAzYCBCAAQdyAwQA2AgAgAEIDNwIMIAAgBEGEA2oiATUCCEKAgICAoAeENwMoIAAgATUCBEKAgICAoAeENwMgIAAgATUCAEKAgICAoAeENwMYIAAgAEEYajYCCCAAQaSBwQAQzQEhASAAQTBqJAAgBCABNgLQA0G4+8AAQSsgBEHQA2pBqPvAAEGEgcEAEJUCAAsgBSAEQZgCaikDADcDACAGIARBkAJqKQMANwMAIAcgBEGIAmopAwA3AwAgBCAEKQOAAjcD0AMgBEHQBGogBEHQA2oQyQELIAAgBCkD0AQ3AwAgAEEANgAhIABBEjoAICAAQSRqQQA2AAAgAEEYaiAEQegEaikDADcDACAAQRBqIARB4ARqKQMANwMAIABBCGogBEHYBGopAwA3AwAgBEHwBGokAA8LIARBADYC4AMgBEEBNgLUAyAEQZyAwQA2AtADIARCBDcC2AMgBEHQA2pBlIHBABCzAgALykwCDX8QfiMAQaAQayIFJAAjAEGgA2siBiQAAkACQAJAAkAgAygCAEUEQCAGQeABaiEIIwBB8BNrIgQkACAEQeAAaiACQSBqKQMANwMAIARB2ABqIAJBGGopAwA3AwAgBEHQAGogAkEQaikDADcDACAEQcgAaiACQQhqKQMANwMAIAQgAikDADcDQCAEQfgLaiABQdgFaikDADcDACAEQfALaiABQdAFaikDADcDACAEQegLaiABQcgFaikDADcDACAEQRI6AIAMIAQgASkDwAU3A+ALAkACQAJAAkACQCAEQUBrIARB4AtqEJoCQf8BcSIDBEAgA0H/AUcNAQwCCyAELQBgQRJJDQELIARBiARqIAFB2AFqKQMANwMAIARBgARqIAFB0AFqKQMANwMAIARB+ANqIAFByAFqKQMANwMAIARBEjoAkAQgBCABKQPAATcD8AMgBEGADGoiByAEQeAAaikDADcDACAEQfgLaiIJIARB2ABqKQMANwMAIARB8AtqIgogBEHQAGopAwA3AwAgBEHoC2ogBEHIAGopAwA3AwAgBCAEKQNANwPgCyAEQegAaiAEQeALaiIDIARB8ANqEMIBIAMgARCAAQJAAkACQAJAAkACQAJAAkACQAJAIAQoAuALDQAgBEGQAmogBEGIDGopAwA3AwAgBEGIAmogBykDADcDACAEQYACaiAJKQMANwMAIARB+AFqIAopAwA3AwAgBCAEKQPoCzcD8AEgBEHQA2ogAUGYBWopAwA3AwAgBEHIA2ogAUGQBWopAwA3AwAgBEHAA2ogAUGIBWopAwA3AwAgBEESOgDYAyAEIAEpA4AFNwO4AyAEQdgBaiABQRhqKQMANwMAIARB0AFqIAFBEGopAwA3AwAgBEHIAWogAUEIaikDADcDACAEQRI6AOABIAQgASkDADcDwAEgBEHYAmogAUE4aikDADcDACAEQdACaiABQTBqKQMANwMAIARByAJqIAFBKGopAwA3AwAgBCABKQMgNwPAAiADIARBwAFqIARBwAJqEMYBIAQoAuALDQAgBCkD8AsiEiAEKQNwfCIRIBJUIQMgBCkD+AsiEyAEKQN4fCISIBNUIQcgBCkDgAwiFCAEKQOAAXwiEyAUVCEJAkAgBCkD6AsiFiAEKQNofCIUIBZaBH4gA60FIBFCAXwiEVCtIAOtfAsiFlAEfiAHrQUgEiASIBZ8IhJWrSAHrXwLIhZQBEAgBCATNwOoASAEIBI3A6ABIAQgETcDmAEgBCAUNwOQASAJRQ0BDAsLIAQgEjcDoAEgBCARNwOYASAEIBQ3A5ABIAQgEyAWfCIRNwOoASAJIBEgE1RyDQoLIARBEjoAsAEgBEHoAmogBEG4A2ogBEGQAWoQwwEgBEHgC2pBqMfAAEEEELcBIAQoAuALDQEgBCkD8AshEiABKQPIBiETIAQpA4AMIRogASkD2AYhGCAEKQP4CyIUIAEpA9AGIhl9IRECQAJ+IAQpA+gLIh0gASkDwAYiG1oEQCASIBN9IRYgEiATVK0MAQsgEiATQn+FfCEWIBIgE1StIBIgE1GtfAsiElAEQCAUIBlUrSEUDAELIBEgElStIBQgGVStfCEUIBEgEn0hEQsgGiAYfSEVAkAgFFAEQCAYIBpYDQEMDgsgGCAaViAUIBVWcg0NIBUgFH0hFQsgBEESOgCADCAEIBU3A/gLIAQgETcD8AsgBCAWNwPoCyAEIB0gG303A+ALIARB8ANqIgwgBEHoAmogBEHgC2oiDRByAkACQCAEKALwA0UEQCAEQbgCaiIHIARBmARqKQMANwMAIARBsAJqIgkgBEGQBGoiDikDADcDACAEQagCaiIKIARBiARqIg8pAwA3AwAgBEGgAmoiCyAEQYAEaiIQKQMANwMAIAQgBCkD+AM3A5gCIARB2AFqIAFBwAFqIgNBGGopAwA3AwAgBEHQAWogA0EQaikDADcDACAEQcgBaiADQQhqKQMANwMAIARBEjoA4AEgBCADKQMANwPAASAOIAcpAwA3AwAgDyAJKQMANwMAIBAgCikDADcDACAEQfgDaiALKQMANwMAIAQgBCkDmAI3A/ADIARB+AtqIAFBgAVqIgNBGGopAwA3AwAgBEHwC2ogA0EQaikDADcDACAEQegLaiADQQhqKQMANwMAIARBEjoAgAwgBCADKQMANwPgCyAEQZABaiAEQcABaiAMIA0QfCALIARBmAFqKQMANwMAIAogBEGgAWopAwA3AwAgCSAEQagBaikDADcDACAHIARBsAFqKQMANwMAIAQgBCkDkAE3A5gCIARB8AFqIARBmAJqEJoCQf8BcSIDRQ0BIANB/wFHDQIMCQsgBCgC9AMhAwwJCyAELQCQAiAELQC4AkkNBwsgBCkDoAIhEiAEKQP4ASEUIAQpA7ACIRogBCkDiAIhHSAEKQOAAiIWIAQpA6gCIhV9IRECQAJ+IAQpA/ABIh8gBCkDmAIiIFoEQCAUIBJ9IR4gEiAUVq0MAQsgFCASQn+FfCEeIBIgFFatIBIgFFGtfAsiElAEQCAVIBZWrSEWDAELIBEgElStIBUgFlatfCEWIBEgEn0hEQsgHSAafSEVAkAgFlAEQCAaIB1YDQEMDgsgFSAWVCAaIB1Wcg0NIBUgFn0hFQsgBEESOgDgAiAEIBU3A9gCIAQgETcD0AIgBCAeNwPIAiAEIB8gIH03A8ACIARB4AtqQajHwABBBBC3AQJAAkACQAJAAkAgBCgC4AtFBEAgBEGQBGogBEGIDGopAwA3AwAgBEGIBGogBEGADGopAwA3AwAgBEGABGogBEH4C2opAwA3AwAgBEH4A2ogBEHwC2opAwA3AwAgBCAEKQPoCzcD8AMgBEHAAmogBEHwA2oQmgJB/wFxDgIBAwILIAQgBCgC5As2AsABQczEwABBKyAEQcABakG8xMAAQfjvwAAQlQIACyAELQDgAiAELQCQBE8NAQsgBEHYA2ogBEHgAmopAwA3AwAgBEHQA2ogBEHYAmopAwA3AwAgBEHIA2ogBEHQAmopAwA3AwAgBEHAA2ogBEHIAmopAwA3AwAgBCAEKQPAAjcDuAMgBEHgC2oiA0Gox8AAQQQQtwEgBCgC4AsNASAEQeABaiAEQYgMaikDADcDACAEQdgBaiAEQYAMaikDADcDACAEQdABaiAEQfgLaikDADcDACAEQcgBaiAEQfALaikDADcDACAEIAQpA+gLNwPAASADQajHwABBBBC3ASAEKALgC0UNAiAEIAQoAuQLNgKQAUHMxMAAQSsgBEGQAWpBvMTAAEHY78AAEJUCAAsgBEGIA2ogBEHgAmopAwA3AwAgBEGAA2ogBEHYAmopAwA3AwAgBEH4AmogBEHQAmopAwA3AwAgBEHwAmogBEHIAmopAwA3AwAgBCAEKQPAAjcD6AIgBEHgC2oiA0Gox8AAQQQQtwEgBCgC4AsNBCAEQbADaiAEQYAMaikDADcDACAEQagDaiAEQfgLaikDADcDACAEQaADaiAEQfALaikDADcDACAEIAQpA+gLNwOYAyAEIAQoAIkMNgKQAyAEIARBjAxqKAAANgCTAyAELQCIDCEHIANBqMfAAEEEELcBIAQoAuALDQUgBCkD8AshESAEKQOADCEUIAQpA/gLIhUgGX0hEgJAAn4gGyAEKQPoCyIaWARAIBEgE30hFiARIBNUrQwBCyARIBNCf4V8IRYgESATVK0gESATUa18CyIRUARAIBUgGVStIRMMAQsgESASVq0gFSAZVK18IRMgEiARfSESCyAUIBh9IRECQCATUARAIBQgGFoNAQwQCyARIBNUIBQgGFRyDQ8gESATfSERCyAEQRI6ALABIAQgETcDqAEgBCASNwOgASAEIBY3A5gBIAQgGiAbfTcDkAFCASESQgAhEQJAAkACQCAHDgICAQALQgohEiAHIQNCASEVQgAhEwNAIARBGGogEkIBIANBAXEiCRsgEUIAIAkbIBUgExCUAiAEQShqIBIgESASIBEQlAIgA0EDSyAEQTBqKQMAIREgBEEgaikDACETIAQpAyghEiAEKQMYIRUgA0EBdiEDDQALIARBCGogFSATIBIgERCUAiAEQRBqKQMAIREgBCkDCCESDAELQgohEgsgBEHAA2oiAyARNwMAIAQgEjcDuAMgBEEBNgLkCyAEQcT9wAA2AuALIARCATcC7AsgBCAEQbgDaq1CgICAgLAHhDcD6BMgBCAEQegTajYC6AsgBEHcE2ogBEHgC2oQzwEgBEHYAWpCADcDACAEQgA3A9ABIAMpAwAhESAEKQO4AyESIAQoAtwTIgMEQCAEKALgEyADEIwDCyAEQRI6AOABIAQgEjcDwAEgBCARNwPIASAEQfgLaiAEQbADaikDADcDACAEQfALaiAEQagDaikDADcDACAEQegLaiAEQaADaikDADcDACAEQYQMaiAEKACTAzYAACAEIAQpA5gDNwPgCyAEIAc6AIAMIAQgBCgCkAM2AIEMIARBuANqIgMgBEHgC2ogBEHAAWogBEGQAWoQdiAEQfADaiAEQegCaiADEHIgBCgC8AMNBgwHCyAEIAQoAuQLNgLAAUHMxMAAQSsgBEHAAWpBvMTAAEHo78AAEJUCAAsgBCkD8AshESAEKQOADCEUIAQpA/gLIhUgGX0hEgJAAn4gGyAEKQPoCyIaWARAIBEgE30hFiARIBNUrQwBCyARIBNCf4V8IRYgESATVK0gESATUa18CyIRUARAIBUgGVStIRMMAQsgESASVq0gFSAZVK18IRMgEiARfSESCyAUIBh9IRECQCATUARAIBQgGFoNAQwOCyARIBNUIBQgGFRyDQ0gESATfSERCyAEQRI6AIAMIAQgETcD+AsgBCASNwPwCyAEIBY3A+gLIAQgGiAbfTcD4AsgBEGQAWoiAyAEQcABaiAEQeALahDCASAEQfADaiAEQbgDaiADEHIgBCgC8ANFDQUgBCgC9AMhAwwHCyAEKALkCyEDDAYLIAQgBCgC5As2AsABQczEwABBKyAEQcABakG8xMAAQYjwwAAQlQIACyAEIAQoAuQLNgLAAUHMxMAAQSsgBEHAAWpBvMTAAEGc78AAEJUCAAsgBCAEKALkCzYCwAFBzMTAAEErIARBwAFqQbzEwABBjO/AABCVAgALIAQoAvQDIQMMAgsgBEHgAmogBEGYBGopAwA3AwAgBEHYAmogBEGQBGopAwA3AwAgBEHQAmogBEGIBGopAwA3AwAgBEHIAmogBEGABGopAwA3AwAgBCAEKQP4AzcDwAIgBEH4C2ogAUGYAWopAwA3AwAgBEHwC2ogAUGQAWopAwA3AwAgBEHoC2ogAUGIAWopAwA3AwAgBEESOgCADCAEIAEpA4ABNwPgCwJAAkAgBEHgC2ogBEHAAmoQmgJB/wFxIgMEQCADQf8BRw0BDAILIAQtAOACQRJLDQELIAEpA4gBIREgBCkDyAIhEyABKQOYASEWIAQpA9gCIRUgASkDkAEiGCAEKQPQAiIZfSESAkACfiABKQOAASIbIAQpA8ACIhpaBEAgESATfSEUIBEgE1StDAELIBEgE0J/hXwhFCARIBNUrSARIBNRrXwLIhFQBEAgGCAZVK0hEwwBCyARIBJWrSAYIBlUrXwhEyASIBF9IRILIBYgFX0hEQJAAkAgE1AEQCAVIBZYDQEMAgsgESATVCAVIBZWcg0BIBEgE30hEQsgBEESOgDoASAEIBE3A+ABIAQgEjcD2AEgBCAUNwPQASAEIBsgGn0iGTcDyAEgBEIBNwPAASAEQdgDaiAEQeAAaikDADcDACAEQdADaiAEQdgAaikDADcDACAEQcgDaiAEQdAAaikDADcDACAEQcADaiAEQcgAaikDADcDACAEIAQpA0A3A7gDIARB4AtqIAEgBEG4A2ogBEHAAWoQfQJAAn8gBCgC4AtBAUYEQCAEKALkCwwBCyAEQfADaiIDIARB6AtqQfAHENkBGiAEQZABaiADEJkBIAQoApABQQFxRQ0BIAQoApQBCyEDIAhBATYCACAIIAM2AgQMCAsgBEGAA2ogBEGwAWopAwA3AwAgBEH4AmogBEGoAWopAwA3AwAgBEHwAmogBEGgAWopAwA3AwAgBEGMA2ogBEG8AWooAAA2AAAgBCAEKQOYATcD6AIgBCAEKAC5ATYAiQMgBCAELQC4ASIDOgCIAyAEQeALaiIJIAEQeQJ/IAQoAuALRQRAIARB2AFqIARBgAxqKQMANwMAIARB0AFqIARB+AtqKQMANwMAIARByAFqIARB8AtqKQMANwMAIARB5AFqIARBjAxqKAAANgAAIAQgBCkD6As3A8ABIAQgBCgAiQw2AOEBIAQgBC0AiAwiBzoA4AECQCAEQegCaiAEQcABahCaAiIKQX8gAyAHRyADIAdJGyAKQf8BcRtB/wFxQQFHBEAgBEGQBGogBEHgAGopAwA3AwAgBEGIBGogBEHYAGopAwA3AwAgBEGABGogBEHQAGopAwA3AwAgBEH4A2ogBEHIAGopAwA3AwAgBCAEKQNANwPwAyAJIAEgBEHwA2oQhAEgBCgC4AtFDQEgBCgC5AshAyAIQQE2AgAgCCADNgIEDAsLIARBADYC8AsgBEEBNgLkCyAEQbTRwAA2AuALIARCBDcC6AsgBEHgC2pBvNHAABDNAQwCCyAEKQPwCyEVIAQpA4AMIRggEiAEKQP4CyIbfSETAkACfiAEKQPoCyIaIBlYBEAgFCAVfSEWIBQgFVStDAELIBQgFUJ/hXwhFiAUIBVUrSAUIBVRrXwLIhVQBEAgEiAbVK0hFAwBCyATIBVUrSASIBtUrXwhFCATIBV9IRMLIBEgGH0hEgJAIBRQBEAgESAYWg0BDAwLIBEgGFQgEiAUVHINCyASIBR9IRILIAhBEjoAKCAIIBI3AyAgCCATNwMYIAggFjcDECAIQQA2AgAgCCAZIBp9NwMIDAkLIAQoAuQLCyEDIAhBATYCACAIIAM2AgQMBwsMBwsgBEH4C2ogAUGAAWoiA0EYaikDADcDACAEQfALaiADQRBqKQMANwMAIARB6AtqIANBCGopAwA3AwAgBEECNgL0AyAEQbjvwAA2AvADIARCAjcC/AMgBEESOgCADCAEIARBwAJqrUKAgICAoAeENwPIASAEIARB4AtqrUKAgICAoAeENwPAASAEIAMpAwA3A+ALIAQgBEHAAWo2AvgDIARB5ANqIgMgBEHwA2oQiwIgA0HI78AAEIYCIQMMAQsgBEECNgLkCyAEQezuwAA2AuALIARCAjcC7AsgBCAEQZgCaq1CgICAgKAHhDcD+AMgBCAEQfABaq1CgICAgKAHhDcD8AMgBCAEQfADajYC6AsgBEHAAWoiAyAEQeALahDPASAEQThqIANB8IXBAEH87sAAEKcCIAQoAjwhByAEKAI4IQkgBEHoC2oiCiAEQcgBaigCADYCAEGR3sEALQAAGiAEIAQpAsABNwPgC0EYQQQQ+AIiA0UNASADIAk2AgQgA0HYhsEANgIAIAMgBCkD4As3AgwgAyAHNgIIIANBFGogCigCADYCAAsgCEEBNgIAIAggAzYCBAwDC0EEQRgQqQMACyAEQQA2AvALIARBATYC5AsgBEGUh8EANgLgCyAEQgQ3AugLIARB4AtqQaiFwQAQswIACyAEQQA2AvALIARBATYC5AsgBEH00MAANgLgCyAEQgQ3AugLIARB4AtqQfzQwAAQzQEhAyAIQQE2AgAgCCADNgIECyAEQfATaiQADAELIARBADYC8AsgBEEBNgLkCyAEQbDEwAA2AuALIARCBDcC6AsgBEHgC2pBgMTAABCzAgALIAYoAuABRQRAIAZBgAFqIAZBiAJqKQMANwMAIAZB+ABqIAZBgAJqKQMANwMAIAZB8ABqIAZB+AFqKQMANwMAIAZB6ABqIAZB8AFqKQMANwMAIAYgBikD6AE3A2AMAgsgBigC5AEhAiAFQQE2AgAgBSACNgIEDAILIAZBgAFqIANBKGopAwA3AwAgBkH4AGogA0EgaikDADcDACAGQfAAaiADQRhqKQMANwMAIAZB6ABqIANBEGopAwA3AwAgBiADKQMINwNgCyAGQgA3A+ABIAZB2AJqIAJBIGopAwA3AwAgBkHQAmoiAyACQRhqKQMANwMAIAZByAJqIgcgAkEQaikDADcDACAGQcACaiIEIAJBCGopAwA3AwAgBiACKQMANwO4AiAGQbABaiABIAZBuAJqIAZB4AFqEJABIAYoArABRQRAIAZBsAJqIAZB2AFqKQMAIhI3AwAgBkGoAmogBkHQAWopAwA3AwAgBkGgAmogBkHIAWoiCCkDADcDACAGQZgCaiAGQcABaiIJKQMANwMAIAYgBikDuAE3A5ACIAggAUHYAWopAwAiETcDACAJIAFB0AFqKQMAIhM3AwAgBkG4AWogAUHIAWopAwAiFDcDACAEIBQ3AwAgByATNwMAIAMgETcDACAGQRI6ANgCIAYgASkDwAEiETcDsAEgBiARNwO4AkIBIRECQAJAAkAgEqdB/wFxIgMOAgIBAAtCCiEXQgAhEUIBIRIDQCAGQUBrIBdCASADQQFxIgcbIBFCACAHGyASIBwQlAIgBkHQAGogFyARIBcgERCUAiADQQNLIAZB2ABqKQMAIREgBkHIAGopAwAhHCAGKQNQIRcgBikDQCESIANBAXYhAw0ACyAGQTBqIBIgHCAXIBEQlAIgBkE4aikDACEXIAYpAzAhEQwBC0IKIRELIAZB6AJqIgMgFzcDACAGIBE3A+ACIAZBATYChAMgBkHE/cAANgKAAyAGQgE3AowDIAYgBkHgAmqtQoCAgICwB4Q3A5gDIAYgBkGYA2o2AogDIAZB8AJqIAZBgANqEM8BQgAhESAGQfgBakIANwMAIAZCADcD8AEgAykDACESIAYpA+ACIRMgBigC8AIiAwRAIAYoAvQCIAMQjAMLIAZBEjoAgAIgBiATNwPgASAGIBI3A+gBIAZBiAFqIAZBkAJqIAZB4AFqIAZBuAJqEHwgBkESOgDQAUIBIRcCQAJAAkAgAi0AICIDDgICAQALQgohF0IBIRJCACEcA0AgBkEQaiAXQgEgA0EBcSIHGyARQgAgBxsgEiAcEJQCIAZBIGogFyARIBcgERCUAiADQQNLIAZBKGopAwAhESAGQRhqKQMAIRwgBikDICEXIAYpAxAhEiADQQF2IQMNAAsgBiASIBwgFyAREJQCIAZBCGopAwAhESAGKQMAIRcMAQtCCiEXCyAGQYgDaiIDIBE3AwAgBiAXNwOAAyAGQQE2ArwCIAZBxP3AADYCuAIgBkIBNwLEAiAGIAZBgANqrUKAgICAsAeENwPwAiAGIAZB8AJqNgLAAiAGQeACaiAGQbgCahDPASAGQfgBakIANwMAIAZCADcD8AEgAykDACERIAYpA4ADIRIgBigC4AIiAwRAIAYoAuQCIAMQjAMLIAZBEjoAgAIgBiASNwPgASAGIBE3A+gBIAZBuAJqIAIgBkHgAWogBkGwAWoQfCAGKQPIAiEUIAYpA8ACIREgBikDmAEhFiAGKQOQASETAn4gBikDuAIiGCAGKQOIASIZWgRAIBEgE1StIRIgESATfQwBCyARIBNUrSARIBNRrXwhEiARIBNCf4V8CyEbIAYpA9ACIRMgBikDoAEhFSAUIBZ9IRcCQCASUARAIBQgFlStIRwMAQsgEiAXVq0gFCAWVK18IRwgFyASfSEXCyATIBV9IRECQCAcUARAIBMgFVoNAQwECyARIBxUIBMgFVRyDQMgESAcfSERCyAFIAYpA2A3AzAgBUESOgAoIAUgETcDICAFIBc3AxggBSAbNwMQIAVBADYCACAFIBggGX03AwggBUHQAGogBkGAAWopAwA3AwAgBUHIAGogBkH4AGopAwA3AwAgBUFAayAGQfAAaikDADcDACAFQThqIAZB6ABqKQMANwMADAELIAYoArQBIQIgBUEBNgIAIAUgAjYCBAsgBkGgA2okAAwBCyAGQQA2AvABIAZBATYC5AEgBkGwxMAANgLgASAGQgQ3AugBIAZB4AFqQYDEwAAQswIACyAAAn8gBSgCAEUEQCAFQfgPaiAFQSBqKQMANwMAIAVB8A9qIAVBGGoiAikDADcDACAFQegPaiAFQRBqIgMpAwA3AwAgBUH4B2ogBUExaikAADcDACAFQYAIaiAFQTlqKQAANwMAIAVBiAhqIAVBwQBqKQAANwMAIAVBjwhqIgcgBUHIAGoiBCkAADcAACAFIAUpAwg3A+APIAUgBSkAKTcD8AcgBUGYEGogBykAADcDACAFQZAQaiAFQYcIaikAADcDACAFQYgQaiAFQf8HaikAADcDACAFIAUpAPcHNwOAECAFQfAKaiABQeAGahDSAiAFQYQLaiABQfQGahDSAiAFQZgLaiABQYgHahDSAiAFQYgJaiABQfgEaikDADcDACAFQYAJaiABQfAEaikDADcDACAFQfgIaiABQegEaikDADcDACAFQZgJaiABQYgFaikDADcDACAFQaAJaiABQZAFaikDADcDACAFQagJaiABQZgFaikDADcDACAFQbgJaiABQagFaikDADcDACAFQcAJaiABQbAFaikDADcDACAFQcgJaiABQbgFaikDADcDACAFIAEpA+AENwPwCCAFIAEpA4AFNwOQCSAFIAEpA6AFNwOwCSAFQegJaiABQdgFaikDADcDACAFQeAJaiABQdAFaikDADcDACAFQdgJaiABQcgFaikDADcDACAFQYgKaiABQfgFaikDADcDACAFQYAKaiABQfAFaikDADcDACAFQfgJaiABQegFaikDADcDACAFQagKaiABQZgGaikDADcDACAFQaAKaiABQZAGaikDADcDACAFQZgKaiABQYgGaikDADcDACAFIAEpA8AFNwPQCSAFIAEpA+AFNwPwCSAFIAEpA4AGNwOQCiAFQcgKaiABQbgGaikDADcDACAFQcAKaiABQbAGaikDADcDACAFQbgKaiABQagGaikDADcDACAFIAEpA6AGNwOwCiAFQegKaiABQdgGaikDADcDACAFQeAKaiABQdAGaikDADcDACAFQdgKaiABQcgGaikDADcDACAFIAEpA8AGNwPQCiAFQawLaiABQZwHahDSAiAFQcALaiABQbAHahDSAiAFQdQLaiABQcQHahDSAiAFQegLaiABQdgHahDSAiAFQThqIAFBmARqKQMANwMAIAVBMGogAUGQBGopAwA3AwAgBUEoaiABQYgEaikDADcDACAEIAFBqARqKQMANwMAIAVB0ABqIAFBsARqKQMANwMAIAVB2ABqIAFBuARqKQMANwMAIAVB6ABqIAFByARqKQMANwMAIAVB8ABqIAFB0ARqKQMANwMAIAVB+ABqIAFB2ARqKQMANwMAIAUgASkDgAQ3AyAgBSABKQOgBDcDQCAFIAEpA8AENwNgIAIgAUH4A2opAwA3AwAgAyABQfADaikDADcDACAFQQhqIAFB6ANqKQMANwMAIAUgASkD4AM3AwAgBUHwB2oiAiAFQYABENkBGiAFQbgMaiABQThqKQMANwMAIAVBsAxqIAFBMGopAwA3AwAgBUGoDGogAUEoaikDADcDACAFQcgMaiABQcgAaikDADcDACAFQdAMaiABQdAAaikDADcDACAFQdgMaiABQdgAaikDADcDACAFQegMaiABQegAaikDADcDACAFQfAMaiABQfAAaikDADcDACAFQfgMaiABQfgAaikDADcDACAFIAEpAyA3A6AMIAUgASkDQDcDwAwgBSABKQNgNwPgDCAFQZgNaiABQZgBaikDADcDACAFQZANaiABQZABaikDADcDACAFQYgNaiABQYgBaikDADcDACAFQbgNaiABQbgBaikDADcDACAFQbANaiABQbABaikDADcDACAFQagNaiABQagBaikDADcDACAFQdgNaiABQdgBaikDADcDACAFQdANaiABQdABaikDADcDACAFQcgNaiABQcgBaikDADcDACAFIAEpA4ABNwOADSAFIAEpA6ABNwOgDSAFIAEpA8ABNwPADSAFQfgNaiABQfgBaikDADcDACAFQfANaiABQfABaikDADcDACAFQegNaiABQegBaikDADcDACAFIAEpA+ABNwPgDSAFQZgOaiABQZgCaikDADcDACAFQZAOaiABQZACaikDADcDACAFQYgOaiABQYgCaikDADcDACAFIAEpA4ACNwOADiAFQbgOaiABQbgCaikDADcDACAFQbAOaiABQbACaikDADcDACAFQagOaiABQagCaikDADcDACAFIAEpA6ACNwOgDiAFQdgOaiABQdgCaikDADcDACAFQdAOaiABQdACaikDADcDACAFQcgOaiABQcgCaikDADcDACAFIAEpA8ACNwPADiAFQfgOaiABQfgCaikDADcDACAFQfAOaiABQfACaikDADcDACAFQegOaiABQegCaikDADcDACAFIAEpA+ACNwPgDiAFQZgPaiABQZgDaikDADcDACAFQZAPaiABQZADaikDADcDACAFQYgPaiABQYgDaikDADcDACAFIAEpA4ADNwOADyAFQbgPaiABQbgDaikDADcDACAFQbAPaiABQbADaikDADcDACAFQagPaiABQagDaikDADcDACAFIAEpA6ADNwOgDyAFQdgPaiABQdgDaikDADcDACAFQdAPaiABQdADaikDADcDACAFQcgPaiABQcgDaikDADcDACAFIAEpA8ADNwPADyAFQZgMaiABQRhqKQMANwMAIAVBkAxqIAFBEGopAwA3AwAgBUGIDGogAUEIaikDADcDACAFIAEpAwA3A4AMIAVB4ANqIAJBkAQQ2QEaIAUgBUGADGpB4AMQ2QEiAUGAAWogAUGAEGoQ7AEgASABQeAPahDuASAAQQhqIAFB8AcQ2QEaQQAMAQsgACAFKAIENgIEQQELNgIAIAVBoBBqJAAL6mYCH38SfiMAQYAaayIEJAAgBEGQEGoiAyABEAIgARADEL4BAkAgBCgCkBBFBEAgBEEoaiAEQZwIaiAEQZgQakHwBxDZAUHwBxDZARogBCABECk2AtAZIAMgBEHQGWpB9LTAABCxAQJAAkACQAJAAkAgBCgCkBBFBEAgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEGQGGogIzcDACAEQZgYaiAiNwMAIARBoBhqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A4gYIAQoAtAZIgNBhAFPBEAgAxAACyAEIAEQLiIDNgLQGSAEQZAQaiAEQdAZakGEtcAAELEBIAQoApAQDQEgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEGwGGogIzcDACAEQbgYaiAiNwMAIARBwBhqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A6gYIANBhAFPBEAgAxAACyAEIAEQLyIDNgLQGSAEQZAQaiAEQdAZakGUtcAAELEBIAQoApAQDQIgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEHQGGogIzcDACAEQdgYaiAiNwMAIARB4BhqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A8gYIANBhAFPBEAgAxAACyAEIAEQKiIDNgLQGSAEQZAQaiAEQdAZakGktcAAELEBIAQoApAQDQMgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEHwGGogIzcDACAEQfgYaiAiNwMAIARBgBlqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A+gYIANBhAFPBEAgAxAACyAEIAEQKyIDNgLQGSAEQZAQaiAEQdAZakG0tcAAELEBIAQoApAQDQQgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEGQGWogIzcDACAEQZgZaiAiNwMAIARBoBlqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A4gZIANBhAFPBEAgAxAACyAEQZAQaiEMIARB6BhqIQkgBEGIGWohBkIAISMjAEGQFWsiAiQAIAJByABqIARBiBhqIgNBGGopAwA3AwAgAkFAayADQRBqKQMANwMAIAJBOGogA0EIaikDADcDACACQeAAaiAEQagYaiIFQQhqKQMANwMAIAJB6ABqIAVBEGopAwA3AwAgAkHwAGogBUEYaikDADcDACACQRI6AFAgAiADKQMANwMwIAIgBSkDADcDWCACQYgBaiAEQcgYaiIDQQhqKQMANwMAIAJBkAFqIANBEGopAwA3AwAgAkGYAWogA0EYaikDADcDACACQRI6AHggAkESOgCgASACIAMpAwA3A4ABIAJB4AJqIARBKGoiBUHYBWopAwA3AwAgAkHYAmogBUHQBWopAwA3AwAgAkHQAmogBUHIBWopAwA3AwAgAkESOgDoAiACIAUpA8AFNwPIAgJAAkACQCACQTBqIAJByAJqEJoCQf8BcSIDBEAgA0H/AUcNAQwCCyACLQBQQRJJDQELIAJBgA9qIAJB0ABqKQMANwMAIAJB+A5qIAJByABqKQMANwMAIAJB8A5qIAJBQGspAwA3AwAgAkHoDmogAkE4aikDADcDACACIAIpAzA3A+AOIAJBqBRqIAZBGGoiBykDADcDACACQaAUaiAGQRBqIggpAwA3AwAgAkGYFGogBkEIaiIKKQMANwMAIAIgBikDADcDkBQgAkHIAmoiDSAFIAJB4A5qIAkgAkGQFGoiCxBmAkACQAJAAkACQAJAAkACQAJAAkACQCACKALIAkUEQCACKQPoAiElIAIpA+ACISggAikD2AIhJiACKQPQAiEnIAItAFAhAyACQeACaiAHKQMANwMAIAJB2AJqIAgpAwA3AwAgAkHQAmogCikDADcDACACIAYpAwA3A8gCIAsgBSAJIA0QsAFCASEhAkACQAJAIAMOAgIBAAtCCiEhQgEhIgNAIAJBEGogIUIBIANBAXEiBxsgJEIAIAcbICIgIxCUAiACQSBqICEgJCAhICQQlAIgA0EDSyACQShqKQMAISQgAkEYaikDACEjIAIpAyAhISACKQMQISIgA0EBdiEDDQALIAIgIiAjICEgJBCUAiACQQhqKQMAISQgAikDACEhDAELQgohIQsgAkGoAmoiAyAkNwMAIAIgITcDoAIgAkEBNgLMAiACQbCUwAA2AsgCIAJCATcC1AIgAiACQaACaq1CgICAgBCENwPQASACIAJB0AFqNgLQAiACQfgBaiACQcgCahDPASACQfgOaiILQgA3AwAgAkIANwPwDiADKQMAISEgAikDoAIhIiACKAL4ASIDBEAgAigC/AEgAxCMAwsgAkESOgCADyACICI3A+AOIAIgITcD6A4gAkHoAmoiDyACQdAAaikDADcDACACQeACaiIQIAJByABqKQMANwMAIAJB2AJqIhIgAkFAaykDADcDACACQdACaiACQThqKQMANwMAIAIgAikDMDcDyAIgAkGoAWogAkHIAmoiByACQZAUaiIOIAJB4A5qIg0QdSACQeARaiAFQeAGaiITENICIAJB9BFqIAVB9AZqIhQQ0gIgAkGIEmogBUGIB2oiFRDSAiACQfgPaiAFQfgEaikDADcDACACQfAPaiAFQfAEaikDADcDACACQegPaiAFQegEaikDADcDACACQYgQaiAFQYgFaikDADcDACACQZAQaiAFQZAFaikDADcDACACQZgQaiAFQZgFaikDADcDACACQagQaiAFQagFaikDADcDACACQbAQaiAFQbAFaikDADcDACACQbgQaiAFQbgFaikDADcDACACIAUpA+AENwPgDyACIAUpA4AFNwOAECACIAUpA6AFNwOgECACQdgQaiAFQcAFaiIIQRhqKQMANwMAIAJB0BBqIAhBEGopAwA3AwAgAkHIEGogCEEIaikDADcDACACQegQaiAFQegFaikDADcDACACQfAQaiAFQfAFaikDADcDACACQfgQaiAFQfgFaikDADcDACACQYgRaiAFQYgGaikDADcDACACQZARaiAFQZAGaikDADcDACACQZgRaiAFQZgGaikDADcDACACIAgpAwA3A8AQIAIgBSkD4AU3A+AQIAIgBSkDgAY3A4ARIAJBuBFqIAVBuAZqKQMANwMAIAJBsBFqIAVBsAZqKQMANwMAIAJBqBFqIAVBqAZqKQMANwMAIAJB2BFqIAVB2AZqKQMANwMAIAJB0BFqIAVB0AZqKQMANwMAIAJByBFqIAVByAZqKQMANwMAIAIgBSkDoAY3A6ARIAIgBSkDwAY3A8ARIAJBnBJqIAVBnAdqIhYQ0gIgAkGwEmogBUGwB2oiFxDSAiACQcQSaiAFQcQHaiIYENICIAJB2BJqIAVB2AdqIhkQ0gIgAkHIFGogBUGYBGopAwA3AwAgAkHAFGogBUGQBGopAwA3AwAgAkG4FGogBUGIBGopAwA3AwAgAkHYFGogBUGoBGopAwA3AwAgAkHgFGogBUGwBGopAwA3AwAgAkHoFGogBUG4BGopAwA3AwAgAkH4FGogBUHIBGopAwA3AwAgAkGAFWogBUHQBGopAwA3AwAgAkGIFWogBUHYBGopAwA3AwAgAiAFKQOABDcDsBQgAiAFKQOgBDcD0BQgAiAFKQPABDcD8BQgAkGoFGoiGiAFQeADaiIKQRhqKQMANwMAIAJBoBRqIhsgCkEQaikDADcDACACQZgUaiIcIApBCGopAwA3AwAgAiAKKQMANwOQFCANIA5BgAEQ2QEaIAJBiAtqIAVBKGopAwA3AwAgAkGQC2ogBUEwaikDADcDACACQZgLaiAFQThqKQMANwMAIAJBqAtqIAVByABqKQMANwMAIAJBsAtqIAVB0ABqKQMANwMAIAJBuAtqIAVB2ABqKQMANwMAIAJByAtqIAVB6ABqKQMANwMAIAJB0AtqIAVB8ABqKQMANwMAIAJB2AtqIAVB+ABqKQMANwMAIAIgBSkDIDcDgAsgAiAFKQNANwOgCyACIAUpA2A3A8ALIAJB+AtqIAVBmAFqKQMANwMAIAJB8AtqIAVBkAFqKQMANwMAIAJB6AtqIAVBiAFqKQMANwMAIAJBiAxqIAVBqAFqKQMANwMAIAJBkAxqIAVBsAFqKQMANwMAIAJBmAxqIAVBuAFqKQMANwMAIAJBqAxqIAVByAFqKQMANwMAIAJBsAxqIAVB0AFqKQMANwMAIAJBuAxqIAVB2AFqKQMANwMAIAIgBSkDgAE3A+ALIAIgBSkDoAE3A4AMIAIgBSkDwAE3A6AMIAJB2AxqIAVB+AFqKQMANwMAIAJB0AxqIAVB8AFqKQMANwMAIAJByAxqIAVB6AFqKQMANwMAIAJB+AxqIAVBmAJqKQMANwMAIAJB8AxqIAVBkAJqKQMANwMAIAJB6AxqIAVBiAJqKQMANwMAIAJBmA1qIAVBuAJqKQMANwMAIAJBkA1qIAVBsAJqKQMANwMAIAJBiA1qIAVBqAJqKQMANwMAIAIgBSkD4AE3A8AMIAIgBSkDgAI3A+AMIAIgBSkDoAI3A4ANIAJBuA1qIAVB2AJqKQMANwMAIAJBsA1qIAVB0AJqKQMANwMAIAJBqA1qIAVByAJqKQMANwMAIAIgBSkDwAI3A6ANIAJB2A1qIAVB+AJqKQMANwMAIAJB0A1qIAVB8AJqKQMANwMAIAJByA1qIAVB6AJqKQMANwMAIAIgBSkD4AI3A8ANIAJB+A1qIAVBmANqKQMANwMAIAJB8A1qIAVBkANqKQMANwMAIAJB6A1qIAVBiANqKQMANwMAIAIgBSkDgAM3A+ANIAJBmA5qIAVBuANqKQMANwMAIAJBkA5qIAVBsANqKQMANwMAIAJBiA5qIAVBqANqKQMANwMAIAIgBSkDoAM3A4AOIAJBuA5qIAVB2ANqKQMANwMAIAJBsA5qIAVB0ANqKQMANwMAIAJBqA5qIAVByANqKQMANwMAIAIgBSkDwAM3A6AOIAJB+ApqIAVBGGopAwA3AwAgAkHwCmogBUEQaikDADcDACACQegKaiAFQQhqKQMANwMAIAIgBSkDADcD4AogAkGoBmogDUGQBBDZARogByACQeAKakHgAxDZARogAkGYE2ogAkGwAWopAwAiITcDACACQaATaiACQbgBaikDACIiNwMAIAJBqBNqIAJBwAFqKQMAIiM3AwAgAiACKQOoASIkNwOQEyALICM3AwAgAkHwDmoiHSIDICI3AwAgAkHoDmoiHiAhNwMAIAIgJDcD4A4gAkHIA2ogDRDsASACICU3A/gOIAIgKDcD8A4gAiAmNwPoDiACICc3A+AOIAcgDRDuASANIAcQmQEgAigC4A4NASACQegBaiACQYAPaiIfKQMANwMAIAJB4AFqIAJB+A5qIiApAwA3AwAgAkHYAWogAykDADcDACACQfQBaiACQYwPaigAADYAACACIAIpA+gONwPQASACIAIoAIkPNgDxASACIAItAIgPIhE6APABIwBB0AFrIgMkACADQdAAaiILQajHwABBBBC3AQJAAkACQCADKAJQRQRAIAMpA3AhKSADKQNoISogAykDYCEkIAMpA1ghLyALQajHwABBBBC3ASADKAJQDQEgAykDcCErIAMpA2ghLCADKQNgISEgAykDWCEwIAsgBRCZAQJAIAMoAlBFBEAgAykDaCEtIAMpA2AhIwJ+IAMpA1giMSAwWARAICEgI1StISIgISAjfQwBCyAhICNUrSAhICNRrXwhIiAhICNCf4V8CyEyIAMpA3AhLiAsIC19ISECQCAiUARAICwgLVStISMMAQsgISAiVK0gLCAtVK18ISMgISAifSEhCyArIC59ISICQCAjUARAICsgLloNAQwGCyAiICNUICsgLlRyDQUgIiAjfSEiCyADQRI6AEggAyAiNwNAIAMgITcDOCADIDI3AzAgAyAwIDF9NwMoIANBsAFqIgtCADcDACADQoCAkLu61q3wDTcDqAEgA0EBNgJUIANBxP3AADYCUCADQgE3AlwgAyADQagBaq1CgICAgLAHhDcDyAEgAyADQcgBajYCWCADQbwBaiADQdAAahDPASADQZgBakIANwMAIANCADcDkAEgCykDACEhIAMpA6gBISIgAygCvAEiCwRAIAMoAsABIAsQjAMLIANBEjoAoAEgAyAiNwOAASADICE3A4gBIANB6ABqIAVB4ANqIgtBGGopAwA3AwAgA0HgAGogC0EQaikDADcDACADQdgAaiALQQhqKQMANwMAIANBEjoAcCADIAspAwA3A1AgAyADQdAAaiADQShqIANBgAFqEHYgAykDCCEjIAMpAxghKyAqIAMpAxAiLH0hIQJAAn4gAykDACItIC9YBEAgJCAjfSEiICMgJFatDAELICQgI0J/hXwhIiAjICRWrSAjICRRrXwLIiNQBEAgKiAsVK0hJAwBCyAhICNUrSAqICxUrXwhJCAhICN9ISELICkgK30hIwJAICRQBEAgKSArWg0BDAYLICkgK1QgIyAkVHINBSAjICR9ISMLIAdBEjoAKCAHICM3AyAgByAhNwMYIAcgIjcDECAHQQA2AgAgByAvIC19NwMIDAELIAMoAlQhCyAHQQE2AgAgByALNgIECyADQdABaiQADAMLIAMgAygCVDYCgAFBzMTAAEErIANBgAFqQbzEwABBiN3AABCVAgALIAMgAygCVDYCgAFBzMTAAEErIANBgAFqQbzEwABB+NzAABCVAgALIANBADYCYCADQQE2AlQgA0GwxMAANgJQIANCBDcCWCADQdAAakGAxMAAELMCAAsgAigCyAINAiACQZACaiAPKQMANwMAIAJBiAJqIBApAwA3AwAgAkGAAmogEikDADcDACACQZwCaiACQfQCaigAADYAACACIAIpA9ACNwP4ASACIAIoAPECNgCZAiACIAItAPACIgM6AJgCIAJB0AFqIAJB+AFqEJoCIgtBfyADIBFHIAMgEUsbIAtB/wFxG0H/AXFBAUYNAyAfIAJB0ABqKQMANwMAICAgAkHIAGopAwA3AwAgHSACQUBrKQMANwMAIB4gAkE4aikDADcDACACIAIpAzA3A+AOIAJBuAJqIAlBGGopAwA3AwAgAkGwAmogCUEQaikDADcDACACQagCaiAJQQhqKQMANwMAIAIgCSkDADcDoAIgGiAGQRhqKQMANwMAIBsgBkEQaikDADcDACAcIAZBCGopAwA3AwAgAiAGKQMANwOQFCAHIAUgDSACQaACaiAOEJcBIAIoAsgCDQQgJiACKQPYAiIjfCIiICZUIQMgAikD4AIiJiAofCIhIChUIQcgAikD8AIhKSAlICUgAikD6AIiKnwiJFYhDQJAICcgJyACKQPQAiIlfCIoWAR+IAOtBSAiQgF8IiJQrSADrXwLIidQBH4gB60FICEgISAnfCIhVq0gB618CyInUARAIA1FDQEMDQsgDQ0MICQgJCAnfCIkVg0MCyACICk3A/ACIAIgKjcD6AIgAiAmNwPgAiACICM3A9gCIAIgJTcD0AIgAkIBNwPIAiACQbAUaiACQdAAaikDADcDACACQagUaiACQcgAaikDADcDACACQaAUaiACQUBrKQMANwMAIAJBmBRqIAJBOGopAwA3AwAgAiACKQMwNwOQFCACQYgUaiAJQRhqKQMANwMAIAJBgBRqIAlBEGopAwA3AwAgAkH4E2ogCUEIaikDADcDACACIAkpAwA3A/ATIAJBuAJqIAZBGGopAwA3AwAgAkGwAmogBkEQaikDADcDACACQagCaiAGQQhqKQMANwMAIAIgBikDADcDoAIgAkGQFGohCyACQfATaiEOIAJBoAJqIRFCACElQgAhJiMAQYACayIDJAAgAkHgDmoiDQJ/An8gAkHIAmoiBygCAEUEQCADQdgAaiAFIAsgDiAREJcBIAMoAlhFBEAgA0HQAGogA0H4AGopAwA3AwAgA0HIAGogA0HwAGopAwA3AwAgA0FAayADQegAaikDADcDACADIAMpA2A3AzggAyADKACBATYCMCADIANBhAFqKAAANgAzIAMtAIABDAILIA0gAygCXDYCBEEBDAILIANB0ABqIAdBIGopAwA3AwAgA0HIAGogB0EYaikDADcDACADQUBrIAdBEGopAwA3AwAgAyAHKQMINwM4IAMgBygAKTYCMCADIAdBLGooAAA2ADMgBy0AKAshCyADQaABaiAFQbgEaikDADcDACADQZgBaiAFQbAEaikDADcDACADQZABaiAFQagEaikDADcDACADQRI6AKgBIAMgBSkDoAQ3A4gBQgEhIwJAAkACQCALQf8BcSIHDgICAQALQgohI0IBIScDQCADQRBqICNCASAHQQFxIg4bICVCACAOGyAnICYQlAIgA0EgaiAjICUgIyAlEJQCIAdBA0sgA0EoaikDACElIANBGGopAwAhJiADKQMgISMgAykDECEnIAdBAXYhBw0ACyADICcgJiAjICUQlAIgA0EIaikDACElIAMpAwAhIwwBC0IKISMLIANB4AFqIgcgJTcDACADICM3A9gBIANBATYCXCADQcT9wAA2AlggA0IBNwJkIAMgA0HYAWqtQoCAgICwB4Q3A/gBIAMgA0H4AWo2AmAgA0HsAWogA0HYAGoQzwEgA0HIAWpCADcDACADQgA3A8ABIAcpAwAhIyADKQPYASElIAMoAuwBIgcEQCADKALwASAHEIwDCyADQRI6ANABIAMgJTcDsAEgAyAjNwO4ASADQfAAaiADQdAAaikDADcDACADQegAaiADQcgAaikDADcDACADQeAAaiADQUBrKQMANwMAIANB/ABqIAMoADM2AAAgAyADKQM4NwNYIAMgCzoAeCADIAMoAjA2AHkgDUEIaiADQdgAaiADQYgBaiADQbABahB8QQALNgIAIANBgAJqJAAgAigC4A4NBSACKQP4DiEmIAIpA/AOISUCfiACKQPoDiIpIChYBEAgIiAlfSEjICIgJVStDAELICIgJUJ/hXwhIyAiICVUrSAiICVRrXwLISUgAikDgA8hJyAhICZ9ISICQCAlUARAICEgJlStISEMAQsgIiAlVK0gISAmVK18ISEgIiAlfSEiCyAkICd9ISUCQCAhUARAIAIgJTcD2A4gAiAiNwPQDiACICM3A8gOIAIgKCApfTcDwA4gJCAnWg0BDAwLIAIgIjcD0A4gAiAjNwPIDiACICUgIX03A9gOIAIgKCApfTcDwA4gJCAnVCAhICVWcg0LCyACQeARaiATENICIAJB9BFqIBQQ0gIgAkGIEmogFRDSAiACQfgPaiAFQeAEaiIDQRhqKQMANwMAIAJB8A9qIANBEGopAwA3AwAgAkHoD2ogA0EIaikDADcDACACQYgQaiAFQYAFaiIHQQhqKQMANwMAIAJBkBBqIAdBEGopAwA3AwAgAkGYEGogB0EYaikDADcDACACQagQaiAFQaAFaiINQQhqKQMANwMAIAJBsBBqIA1BEGopAwA3AwAgAkG4EGogDUEYaikDADcDACACIAMpAwA3A+APIAIgBykDADcDgBAgAiANKQMANwOgECACQdgQaiAIQRhqKQMANwMAIAJB0BBqIAhBEGopAwA3AwAgAkHIEGogCEEIaikDADcDACACQegQaiAFQeAFaiIDQQhqKQMANwMAIAJB8BBqIANBEGopAwA3AwAgAkH4EGogA0EYaikDADcDACACQYgRaiAFQYAGaiIHQQhqKQMANwMAIAJBkBFqIAdBEGopAwA3AwAgAkGYEWogB0EYaikDADcDACACIAgpAwA3A8AQIAIgAykDADcD4BAgAiAHKQMANwOAESACQbgRaiAFQaAGaiIDQRhqKQMANwMAIAJBsBFqIANBEGopAwA3AwAgAkGoEWogA0EIaikDADcDACACQdgRaiAFQcAGaiIHQRhqKQMANwMAIAJB0BFqIAdBEGopAwA3AwAgAkHIEWogB0EIaikDADcDACACIAMpAwA3A6ARIAIgBykDADcDwBEgAkGcEmogFhDSAiACQbASaiAXENICIAJBxBJqIBgQ0gIgAkHYEmogGRDSAiACQcgUaiAFQYAEaiIDQRhqKQMANwMAIAJBwBRqIANBEGopAwA3AwAgAkG4FGogA0EIaikDADcDACACQdgUaiAFQaAEaiIHQQhqKQMANwMAIAJB4BRqIAdBEGopAwA3AwAgAkHoFGogB0EYaikDADcDACACQfgUaiAFQcAEaiIIQQhqKQMANwMAIAJBgBVqIAhBEGopAwA3AwAgAkGIFWogCEEYaikDADcDACACIAMpAwA3A7AUIAIgBykDADcD0BQgAiAIKQMANwPwFCACQagUaiAKQRhqKQMANwMAIAJBoBRqIApBEGopAwA3AwAgAkGYFGogCkEIaikDADcDACACIAopAwA3A5AUIAJB4A5qIgMgAkGQFGpBgAEQ2QEaIAJBqAZqIANBkAQQ2QEaIAJByAJqIgcgAkHgCmpB4AMQ2QEaIAJByANqIAJBkBNqEOwBIAcgAkHADmoQ7gEgAyAHEJkBIAIoAuAODQYgAkG4AmogAkGAD2oiCikDADcDACACQbACaiACQfgOaiINKQMANwMAIAJBqAJqIAJB8A5qIgspAwA3AwAgAkHEAmogAkGMD2ooAAA2AAAgAiACKQPoDjcDoAIgAiACKACJDzYAwQIgAiACLQCIDyIIOgDAAiAHQcyBwABBBBC2ASACKALIAg0HIAogAkHwAmopAwA3AwAgDSACQegCaikDADcDACALIAJB4AJqKQMANwMAIAJB6A5qIAJB2AJqKQMANwMAIAIgAikD0AI3A+AOAkAgAkGgAmogAxCaAiIDQf8BcQR/IAMFIAItAIAPIgMgCEsNASADIAhHC0H/AXFBAUYNCQsgAkGAD2oiEiACQdAAaiINKQMANwMAIAJB+A5qIhMgAkHIAGoiCykDADcDACACQfAOaiIUIAJBQGsiDikDADcDACACQegOaiIVIAJBOGoiESkDADcDACACIAIpAzA3A+AOIAJBqBRqIhYgBkEYaiIXKQMANwMAIAJBoBRqIhggBkEQaiIZKQMANwMAIAJBmBRqIhogBkEIaiIbKQMANwMAIAIgBikDADcDkBQgAkHIAmohByMAQfABayIDJAAgA0FAayACQZAUaiIcIgpBGGopAwA3AwAgA0E4aiAKQRBqKQMANwMAIANBMGogCkEIaikDADcDACADIAopAwA3AyggA0HoAGogAkHgDmoiCEEgaikDADcDACADQeAAaiAIQRhqKQMANwMAIANB2ABqIAhBEGopAwA3AwAgA0HQAGogCEEIaikDADcDACADIAgpAwA3A0ggA0HwAGogBSAJIANBKGoQsAEgA0HAAWpBzIHAAEEEELYBAkACQAJAIAMoAsABRQRAIAMpA9gBISMgAykD0AEhISADKQOAASElIAMpA3ghIgJ+IAMpA8gBIicgAykDcCIpWgRAICEgIlStISQgISAifQwBCyAhICJUrSAhICJRrXwhJCAhICJCf4V8CyEqIAMpA+ABISggAykDiAEhJiAjICV9ISECQCAkUARAICMgJVStISMMAQsgISAkVK0gIyAlVK18ISMgISAkfSEhCyAoICZ9ISICQCAjUARAICYgKFgNAQwECyAiICNUICYgKFZyDQMgIiAjfSEiCyADQRI6ALgBIAMgIjcDsAEgAyAhNwOoASADICo3A6ABIAMgJyApfTcDmAEgA0HYAWogBUHYAWopAwA3AwAgA0HQAWogBUHQAWopAwA3AwAgA0HIAWogBUHIAWopAwA3AwAgA0ESOgDgASADIAUpA8ABNwPAASADIANByABqIANBmAFqIANBwAFqIg8QdSAPIAUgCCAJIAoQZiAHAn8gAygCwAFFBEAgAykDCCIhIAMpA9ABfCIiICFUIQogAykDECIhICEgAykD2AF8IiFWIQ8gAykDGCIjICMgAykD4AF8IiNWIRACQCADKQMAIiUgAykDyAF8IiQgJVoEfiAKrQUgIkIBfCIiUK0gCq18CyIlUAR+IA+tBSAhICEgJXwiIVatIA+tfAsiJVAEQCAHICM3AyAgByAhNwMYIAcgIjcDECAHICQ3AwggEEUNAQwFCyAHICE3AxggByAiNwMQIAcgJDcDCCAHICMgJXwiITcDICAQICEgI1RyDQQLIAdBEjoAKEEADAELIAcgAygCxAE2AgRBAQs2AgAgA0HwAWokAAwDCyADIAMoAsQBNgKYAUG4gsAAQSsgA0GYAWpBqILAAEHgksAAEJUCAAsgA0EANgLQASADQQE2AsQBIANBrLzAADYCwAEgA0IENwLIASADQcABakG0usAAELMCAAsgA0EANgLQASADQQE2AsQBIANBqJTAADYCwAEgA0IENwLIASADQcABakH4k8AAELMCAAsgAigCyAINCSACQegTaiACQegCaiIKKQMANwMAIAJB4BNqIAJB4AJqIg8pAwA3AwAgAkHYE2ogAkHYAmoiECkDADcDACACIAIpA9ACNwPQEyASIA0pAwA3AwAgEyALKQMANwMAIBQgDikDADcDACAVIBEpAwA3AwAgAiACKQMwNwPgDiACQYgUaiAJQRhqKQMANwMAIAJBgBRqIAlBEGopAwA3AwAgAkH4E2ogCUEIaikDADcDACACIAkpAwA3A/ATIBYgFykDADcDACAYIBkpAwA3AwAgGiAbKQMANwMAIAIgBikDADcDkBQgByAFIAggAkHwE2ogHBCXASACKALIAkUEQCACQcgTaiAKKQMANwMAIAJBwBNqIA8pAwA3AwAgAkG4E2ogECkDADcDACACIAIpA9ACNwOwEyACQfASaiISIAJB0BNqIAJBsBNqEOoBIAogDSkDADcDACAPIAspAwA3AwAgECAOKQMANwMAIAJB0AJqIhMgESkDADcDACACIAIpAzA3A8gCIAggBSAHIAkgBhCiASACQbgKaiIDIBIgCBDqASACQRI6ANgKIAogDSkDADcDACAPIAspAwA3AwAgECAOKQMANwMAIBMgESkDADcDACACIAIpAzA3A8gCQgAhIiMAQbACayIGJAAgBkH4AWogB0EgaikDADcDACAGQfABaiIJIAdBGGopAwA3AwAgBkHoAWogB0EQaikDADcDACAGQeABaiAHQQhqKQMANwMAIAYgBykDADcD2AEgBkHgAGogBkHYAWogAkGAAWogAkHYAGoQfCAGQcgBaiAFQdgBaikDACIhNwMAIAZBwAFqIAVB0AFqKQMAIiM3AwAgBkG4AWogBUHIAWopAwAiJDcDACAGQZABaiAkNwMAIAZBmAFqICM3AwAgBkGgAWogITcDACAGQRI6AKgBIAYgBSkDwAEiITcDsAEgBiAhNwOIAUIBISRCACEhAkACQAJAIAYtAIABIggOAgIBAAtCCiEkQgEhIwNAIAZBGGogJEIBIAhBAXEiChsgIUIAIAobICMgIhCUAiAGQShqICQgISAkICEQlAIgCEEDSyAGQTBqKQMAISEgBkEgaikDACEiIAYpAyghJCAGKQMYISMgCEEBdiEIDQALIAZBCGogIyAiICQgIRCUAiAGQRBqKQMAISEgBikDCCEkDAELQgohJAsgBkGQAmoiCCAhNwMAIAYgJDcDiAIgBkEBNgI8IAZBxP3AADYCOCAGQgE3AkQgBiAGQYgCaq1CgICAgLAHhDcDqAIgBiAGQagCajYCQCAGQZwCaiAGQThqEM8BIAlCADcDACAGQgA3A+gBIAgpAwAhISAGKQOIAiEiIAYoApwCIgkEQCAGKAKgAiAJEIwDCyAMQQhqIQkgBkESOgD4ASAGICI3A9gBIAYgITcD4AEgBkE4aiAGQeAAaiAGQdgBaiIIIAZBiAFqIgoQfCAGQfABaiAFQZgEaikDADcDACAGQegBaiAFQZAEaikDADcDACAGQeABaiAFQYgEaikDADcDACAGQRI6ANABIAZBEjoA+AEgBiAFKQOABDcD2AEgCiAHIAggBkGwAWoQfCAGKQNAIiEgBikDkAF8IiMgIVQhBSAGKQNIIiEgBikDmAF8IiQgIVQhByAGKQNQIiIgBikDoAF8IiEgIlQhCAJAAkACQCAGKQM4IiIgBikDiAF8IiUgIloEfiAFrQUgI0IBfCIjUK0gBa18CyIiUAR+IAetBSAkICIgJHwiJFatIAetfAsiIlAEQCAGICE3A1AgBiAkNwNIIAYgIzcDQCAGICU3AzggCEUNAQwCCyAGICQ3A0ggBiAjNwNAIAYgJTcDOCAGICEgInwiIjcDUCAIICEgIlZyDQEgIiEhCyAGQRI6AFgCQAJAAkACQAJAAkACQCAGQThqIAMQmgIiCEH/AXEOAwABAgELIAMtACAiBUESSw0BIAVBEkchCAsgCEH/AXFBAUYNAQsgBkHYAWpBuMTAAEEBELcBIAYoAtgBDQIgCSAGKQPgATcDACAJQSBqIAZBgAJqKQMANwMAIAlBGGogBkH4AWopAwA3AwAgCUEQaiAGQfABaikDADcDACAJQQhqIAZB6AFqKQMANwMADAELIAMpAxAhKCADKQMIISICfiADKQMAIiogJVgEQCAjICJ9ISkgIiAjVq0MAQsgIyAiQn+FfCEpICIgI1atICIgI1GtfAshJiADKQMYIScgJCAofSEjAkAgJlAEQCAkIChUrSEiDAELICMgJlStICQgKFStfCEiICMgJn0hIwsgISAnfSEkAkAgIlAEQCAhICdaDQEMBAsgISAnVCAiICRWcg0DICQgIn0hJAsgCUESOgAgIAkgJDcDGCAJICM3AxAgCSApNwMIIAkgJSAqfTcDAAsgBkGwAmokAAwDCyAGIAYoAtwBNgKwAUHMxMAAQSsgBkGwAWpBvMTAAEHo3MAAEJUCAAsgBkEANgLoASAGQQE2AtwBIAZBsMTAADYC2AEgBkIENwLgASAGQdgBakGAxMAAELMCAAsgBkEANgLoASAGQQE2AtwBIAZBlIfBADYC2AEgBkIENwLgASAGQdgBakGohcEAELMCAAsgDEEANgIADA4LIAIoAswCIQMgDEEBNgIAIAwgAzYCBAwNCyACKALMAiEDIAxBATYCACAMIAM2AgQMDAsgAigC5A4hAyAMQQE2AgAgDCADNgIEDAsLIAIoAswCIQMgDEEBNgIAIAwgAzYCBAwKCyACQQA2AtgCIAJBATYCzAIgAkH8i8AANgLIAiACQgQ3AtACIAJByAJqQbCSwAAQzQEhAyAMQQE2AgAgDCADNgIEDAkLIAIoAswCIQMgDEEBNgIAIAwgAzYCBAwICyACKALkDiEDIAxBATYCACAMIAM2AgQMBwsgAigC5A4hAyAMQQE2AgAgDCADNgIEDAYLIAIgAigCzAI2ApAUQbiCwABBKyACQZAUakGogsAAQdCSwAAQlQIACyACQQA2AtgCIAJBATYCzAIgAkH8i8AANgLIAiACQgQ3AtACIAJByAJqQcCSwAAQzQEhAyAMQQE2AgAgDCADNgIEDAQLIAIoAswCIQMgDEEBNgIAIAwgAzYCBAwDCyACQQA2AtgCIAJBATYCzAIgAkGolMAANgLIAiACQgQ3AtACIAJByAJqQfiTwAAQswIACyACQQA2AtgCIAJBATYCzAIgAkGsvMAANgLIAiACQgQ3AtACIAJByAJqQbS6wAAQswIACyACQQA2AtgCIAJBATYCzAIgAkG8i8AANgLIAiACQgQ3AtACIAJByAJqQaCSwAAQzQEhAyAMQQE2AgAgDCADNgIECyACQZAVaiQAIARBmAhqIAxBxLXAABDRASAEKAKYCA0FIARB9BlqIARBwAhqKQMAIiE3AgAgBEGwGWogBEGoCGopAwA3AwAgBEG4GWogBEGwCGopAwA3AwAgBEHAGWogBEG4CGopAwA3AwAgBEHIGWogITcDACAEIAQpA6AINwOoGSAEQQhqIARBqBlqQdS1wAAQvAEMBwsgBEGwCGogBEGsEGooAgAiAzYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAM2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggBCgC0BkiA0GEAUkNBiADEAAMBgsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNBSADEAAMBQsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNBCADEAAMBAsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNAyADEAAMAwsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNAiADEAAMAgsgBEHoGWogBEG0CGooAgAiAzYCACAEQRBqIARBpAhqKQIANwMAIARBGGogBEGsCGopAgA3AwAgBEEgaiADNgIAIAQgBCkCnAg3AwgMAQsgBEGwCGogBEGsEGooAgAiAzYCACAEQRBqIARBnBBqKQIANwMAIARBGGogBEGkEGopAgA3AwAgBEEgaiADNgIAIAQgBCkClBA3AwgLIAFBgwFLBEAgARAACwJ/IAQoAggiA0ECRgRAIAQoAgwhAUEADAELIARBqBBqIARBIGooAgA2AgAgBEGgEGogBEEYaikDADcDACAEQZgQaiAEQRBqKQMANwMAIAQgBCkDCDcDkBBBACEBIARBkBBqEOEBCyECIAAgA0ECRzYCCCAAIAI2AgQgACABNgIAIARBgBpqJAALmA8CBn8KfiMAQZADayICJAAgAkHIAGogAUHYAWopAwA3AwAgAkFAayABQdABaikDADcDACACQThqIAFByAFqKQMANwMAIAJBEjoAUCACIAEpA8ABNwMwIAJByAJqIgQgAUEYaikDADcDACACQcACaiABQRBqKQMANwMAIAJBuAJqIAFBCGopAwA3AwAgAkESOgDQAiACIAEpAwA3A7ACIAJB8AJqIAFBOGopAwA3AwAgAkHoAmogAUEwaikDADcDACACQeACaiIDIAFBKGopAwA3AwAgAiABKQMgNwPYAiACQYACaiIFIAJBsAJqIAJB2AJqIgYQxgECQAJAAkACQAJAAkAgAigCgAJFBEAgAkGgAWogAkGoAmopAwA3AwAgAkGYAWogAkGgAmopAwA3AwAgAkGQAWogAkGYAmopAwA3AwAgAkGIAWogAkGQAmopAwA3AwAgAiACKQOIAjcDgAEgA0IANwMAIAJCgICQu7rWrfANNwPYAiACQQE2AoQCIAJBsJTAADYCgAIgAkIBNwKMAiACIAatQoCAgIAQhDcDiAMgAiACQYgDajYCiAIgAkH8AmogBRDPASAEQgA3AwAgAkIANwPAAiADKQMAIQggAikD2AIhCiACKAL8AiIDBEAgAigCgAMgAxCMAwsgAkESOgDQAiACIAo3A7ACIAIgCDcDuAIgAkGYAmogAUGABWoiA0EYaikDADcDACACQZACaiADQRBqKQMANwMAIAJBiAJqIANBCGopAwA3AwAgAkESOgCgAiACIAMpAwA3A4ACIAJB2ABqIAJBgAJqIgQgAkGAAWogAkGwAmoQdSAEQcyBwABBBBC2ASACKAKAAg0BIAIpA5gCIQwgAikDkAIhCSABKQPQBiELIAEpA8gGIQgCfiACKQOIAiIQIAEpA8AGIhFaBEAgCSAIfSEOIAggCVatDAELIAkgCEJ/hXwhDiAIIAlWrSAIIAlRrXwLIQogAikDoAIhDyABKQPYBiENIAwgC30hCQJAIApQBEAgCyAMVq0hDAwBCyAJIApUrSALIAxWrXwhDCAJIAp9IQkLIA8gDX0hCgJAIAxQBEAgDSAPWA0BDAgLIAogDFQgDSAPVnINByAKIAx9IQoLIAJBEjoAoAIgAiAKNwOYAiACIAk3A5ACIAIgDjcDiAIgAiAQIBF9NwOAAiACQdABaiACQdgAaiACQYACaiIEEHEgAigC0AENAiACQcgBaiACQfgBaikDADcDACACQcABaiACQfABaikDADcDACACQbgBaiACQegBaikDADcDACACQbABaiACQeABaikDADcDACACIAIpA9gBNwOoASACQZgCaiADQRhqKQMANwMAIAJBkAJqIANBEGopAwA3AwAgAkGIAmogA0EIaikDADcDACACQRI6AKACIAIgAykDADcDgAIgAkEIaiACQTBqIAJBqAFqIAQQdSACQcgCaiABQZgBaikDADcDACACQcACaiABQZABaikDADcDACACQbgCaiABQYgBaikDADcDACACQRI6ANACIAIgASkDgAE3A7ACIARBzIHAAEEEELYBIAIoAoACDQMgAikDmAIhDCACKQOQAiEJAn4gESACKQOIAiIQWARAIAkgCH0hDiAIIAlWrQwBCyAJIAhCf4V8IQ4gCCAJVq0gCCAJUa18CyEKIAIpA6ACIQ8gDCALfSEIAkAgClAEQCALIAxWrSEJDAELIAggClStIAsgDFatfCEJIAggCn0hCAsgDyANfSELAkAgCVAEQCANIA9YDQEMCAsgCSALViANIA9Wcg0HIAsgCX0hCwsgAkESOgCgAiACIAs3A5gCIAIgCDcDkAIgAiAONwOIAiACIBAgEX03A4ACIAJB0AFqIAJBsAJqIAJBgAJqEHEgAigC0AFFBEAgAikDECIIIAIpA+ABfCILIAhUIQEgAikD6AEhDiACKQMYIQggAikDCCIKIAIpA9gBfCINIApaBH4gAa0FIAtCAXwiC1CtIAGtfAshCiACKQPwASEMIAIpAyAhCSAIIAggDnwiCFYhASAKUAR+IAGtBSAIIAggCnwiCFatIAGtfAshCiAJIAkgDHwiCVYhAQJAIApQBEAgACAJNwMgIAAgCDcDGCAAIAs3AxAgACANNwMIIAFFDQEMCAsgACAINwMYIAAgCzcDECAAIA03AwggACAJIAp8Igg3AyAgASAIIAlUcg0HCyAAQQA2AgAgAEESOgAoDAULIAIoAtQBIQEgAEEBNgIAIAAgATYCBAwECyACKAKEAiEBIABBATYCACAAIAE2AgQMAwsgAiACKAKEAjYCsAJBuILAAEErIAJBsAJqQaiCwABByIfAABCVAgALIAIoAtQBIQEgAEEBNgIAIAAgATYCBAwBCyACIAIoAoQCNgJYQbiCwABBKyACQdgAakGogsAAQbiHwAAQlQIACyACQZADaiQADwsgAkEANgKQAiACQQE2AoQCIAJBrLzAADYCgAIgAkIENwKIAiACQYACakG0usAAELMCAAsgAkEANgKQAiACQQE2AoQCIAJBqJTAADYCgAIgAkIENwKIAiACQYACakH4k8AAELMCAAuZDwIGfwp+IwBBkANrIgIkACACQcgAaiABQdgBaikDADcDACACQUBrIAFB0AFqKQMANwMAIAJBOGogAUHIAWopAwA3AwAgAkESOgBQIAIgASkDwAE3AzAgAkHIAmoiBCABQRhqKQMANwMAIAJBwAJqIAFBEGopAwA3AwAgAkG4AmogAUEIaikDADcDACACQRI6ANACIAIgASkDADcDsAIgAkHwAmogAUE4aikDADcDACACQegCaiABQTBqKQMANwMAIAJB4AJqIgMgAUEoaikDADcDACACIAEpAyA3A9gCIAJBgAJqIgUgAkGwAmogAkHYAmoiBhDGAQJAAkACQAJAAkACQCACKAKAAkUEQCACQaABaiACQagCaikDADcDACACQZgBaiACQaACaikDADcDACACQZABaiACQZgCaikDADcDACACQYgBaiACQZACaikDADcDACACIAIpA4gCNwOAASADQgA3AwAgAkKAgJC7utat8A03A9gCIAJBATYChAIgAkHE/cAANgKAAiACQgE3AowCIAIgBq1CgICAgLAHhDcDiAMgAiACQYgDajYCiAIgAkH8AmogBRDPASAEQgA3AwAgAkIANwPAAiADKQMAIQggAikD2AIhCiACKAL8AiIDBEAgAigCgAMgAxCMAwsgAkESOgDQAiACIAo3A7ACIAIgCDcDuAIgAkGYAmogAUGABWoiA0EYaikDADcDACACQZACaiADQRBqKQMANwMAIAJBiAJqIANBCGopAwA3AwAgAkESOgCgAiACIAMpAwA3A4ACIAJB2ABqIAJBgAJqIgQgAkGAAWogAkGwAmoQdiAEQajHwABBBBC3ASACKAKAAg0BIAIpA5gCIQwgAikDkAIhCSABKQPQBiELIAEpA8gGIQgCfiACKQOIAiIQIAEpA8AGIhFaBEAgCSAIfSEOIAggCVatDAELIAkgCEJ/hXwhDiAIIAlWrSAIIAlRrXwLIQogAikDoAIhDyABKQPYBiENIAwgC30hCQJAIApQBEAgCyAMVq0hDAwBCyAJIApUrSALIAxWrXwhDCAJIAp9IQkLIA8gDX0hCgJAIAxQBEAgDSAPWA0BDAgLIAogDFQgDSAPVnINByAKIAx9IQoLIAJBEjoAoAIgAiAKNwOYAiACIAk3A5ACIAIgDjcDiAIgAiAQIBF9NwOAAiACQdABaiACQdgAaiACQYACaiIEEHIgAigC0AENAiACQcgBaiACQfgBaikDADcDACACQcABaiACQfABaikDADcDACACQbgBaiACQegBaikDADcDACACQbABaiACQeABaikDADcDACACIAIpA9gBNwOoASACQZgCaiADQRhqKQMANwMAIAJBkAJqIANBEGopAwA3AwAgAkGIAmogA0EIaikDADcDACACQRI6AKACIAIgAykDADcDgAIgAkEIaiACQTBqIAJBqAFqIAQQdiACQcgCaiABQZgBaikDADcDACACQcACaiABQZABaikDADcDACACQbgCaiABQYgBaikDADcDACACQRI6ANACIAIgASkDgAE3A7ACIARBqMfAAEEEELcBIAIoAoACDQMgAikDmAIhDCACKQOQAiEJAn4gESACKQOIAiIQWARAIAkgCH0hDiAIIAlWrQwBCyAJIAhCf4V8IQ4gCCAJVq0gCCAJUa18CyEKIAIpA6ACIQ8gDCALfSEIAkAgClAEQCALIAxWrSEJDAELIAggClStIAsgDFatfCEJIAggCn0hCAsgDyANfSELAkAgCVAEQCANIA9YDQEMCAsgCSALViANIA9Wcg0HIAsgCX0hCwsgAkESOgCgAiACIAs3A5gCIAIgCDcDkAIgAiAONwOIAiACIBAgEX03A4ACIAJB0AFqIAJBsAJqIAJBgAJqEHIgAigC0AFFBEAgAikDECIIIAIpA+ABfCILIAhUIQEgAikD6AEhDiACKQMYIQggAikDCCIKIAIpA9gBfCINIApaBH4gAa0FIAtCAXwiC1CtIAGtfAshCiACKQPwASEMIAIpAyAhCSAIIAggDnwiCFYhASAKUAR+IAGtBSAIIAggCnwiCFatIAGtfAshCiAJIAkgDHwiCVYhAQJAIApQBEAgACAJNwMgIAAgCDcDGCAAIAs3AxAgACANNwMIIAFFDQEMCAsgACAINwMYIAAgCzcDECAAIA03AwggACAJIAp8Igg3AyAgASAIIAlUcg0HCyAAQQA2AgAgAEESOgAoDAULIAIoAtQBIQEgAEEBNgIAIAAgATYCBAwECyACKAKEAiEBIABBATYCACAAIAE2AgQMAwsgAiACKAKEAjYCsAJBzMTAAEErIAJBsAJqQbzEwABBgPnAABCVAgALIAIoAtQBIQEgAEEBNgIAIAAgATYCBAwBCyACIAIoAoQCNgJYQczEwABBKyACQdgAakG8xMAAQfD4wAAQlQIACyACQZADaiQADwsgAkEANgKQAiACQQE2AoQCIAJBlIfBADYCgAIgAkIENwKIAiACQYACakGohcEAELMCAAsgAkEANgKQAiACQQE2AoQCIAJBsMTAADYCgAIgAkIENwKIAiACQYACakGAxMAAELMCAAuHUAIZfxp+IwBBwBtrIgQkACAEQZAQaiICIAEQAiABEAMQvgECQAJAAkACQAJAAkACQCAEKAKQEEUEQCAEQShqIARBnAhqIARBmBBqQfAHENkBQfAHENkBGiAEIAEQETYCtBkgAiAEQbQZakGoocAAELEBIAQoApAQDQEgBEGsGWogBEGwEGoiAykDACIbNwIAIARBpBlqIARBqBBqIgYpAwAiHTcCACAEQZwZaiAEQaAQaiIIKQMAIhw3AgAgBEHAGWogHDcDACAEQcgZaiAdNwMAIARB0BlqIBs3AwAgBCAEKQOYECIbNwKUGSAEIBs3A7gZIAQgARASNgL8GSACIARB/BlqQbihwAAQsQEgBCgCkBANAiAEQfQZaiADKQMAIhs3AgAgBEHsGWogBikDACIdNwIAIARB5BlqIAgpAwAiHDcCACAEQYgaaiAcNwMAIARBkBpqIB03AwAgBEGYGmogGzcDACAEIAQpA5gQIhs3AtwZIAQgGzcDgBogBCABEBM2AsQaIAIgBEHEGmpByKHAABCyASAEKAKQEEUEQCAEQbwaaiADKQMAIhs3AgAgBEG0GmogBikDACIdNwIAIARBrBpqIAgpAwAiHDcCACAEQdAaaiAcNwMAIARB2BpqIB03AwAgBEHgGmogGzcDACAEIAQpA5gQIhs3AqQaIAQgGzcDyBogARAUIgJFBEAgBEIANwOQEAwFCyAEIAI2AuwaIARBmBtqIARB7BpqQdihwAAQsQEgBCgCmBtFBEAgBEGgEGogBEGoG2opAwA3AwAgBEGoEGogBEGwG2opAwA3AwAgBEGwEGogBEG4G2opAwA3AwAgBCAEKQOgGzcDmBAgBEESOgC4ECAEQgE3A5AQIAJBhAFJDQUgAhAADAULIARBEGogBEGkG2opAgA3AwAgBEEYaiAEQawbaikCADcDACAEQSBqIARBtBtqKAIANgIAIAQgBCkCnBs3AwggAkGEAUkNBSACEAAMBQsgBEG4GmogBEGsEGooAgAiAjYCACAEQbAaaiAEQaQQaikCACIbNwMAIARBqBpqIARBnBBqKQIAIh03AwAgBEEQaiAdNwMAIARBGGogGzcDACAEQSBqIAI2AgAgBCAEKQKUECIbNwOgGiAEIBs3AwgMBAsgBEGwCGogBEGsEGooAgAiAjYCACAEQRBqIARBnBBqKQIANwMAIARBGGogBEGkEGopAgA3AwAgBEEgaiACNgIAIAQgBCkClBA3AwgMBgsgBEGoGWogBEGsEGooAgAiAjYCACAEQaAZaiAEQaQQaikCACIbNwMAIARBmBlqIARBnBBqKQIAIh03AwAgBEEQaiAdNwMAIARBGGogGzcDACAEQSBqIAI2AgAgBCAEKQKUECIbNwOQGSAEIBs3AwgMBAsgBEHwGWogBEGsEGooAgAiAjYCACAEQegZaiAEQaQQaikCACIbNwMAIARB4BlqIARBnBBqKQIAIh03AwAgBEEQaiAdNwMAIARBGGogGzcDACAEQSBqIAI2AgAgBCAEKQKUECIbNwPYGSAEIBs3AwgMAgsgBEGYCGohBiAEQZAQaiEHIAEQFSICQf///wdHIREgAkH/AXEhEiMAQaAFayICJAAgAkEoaiAEQbgZaiIIQRhqKQMANwMAIAJBIGogCEEQaikDADcDACACQRhqIAhBCGopAwA3AwAgAkFAayAEQYAaaiIDQQhqKQMANwMAIAJByABqIANBEGopAwA3AwAgAkHQAGogA0EYaikDADcDACACQRI6ADAgAiAIKQMANwMQIAIgAykDADcDOCACQRI6AFggAkESOgDoAyACIARBKGoiCCkD2AUiIjcD4AMgAiAIKQPQBSIjNwPYAyACIAgpA8gFIiA3A9ADIAIgCCkDwAUiJjcDyAMgAkHIBGoiBSAIIAJByANqIARByBpqIhMQeAJAAkACQAJAAkACQAJAAkACQAJAIAIoAsgEIglFBEAgCQRAIAVBBHIQ7QILIAJBEjoA6AQgAiAiNwPgBCACICM3A9gEIAIgIDcD0AQgAiAmNwPIBCACQRBqIAJByARqEJoCQf8BcSIFRQ0BIAVB/wFGDQMgAi0AMCEFDAILIAJByARqIgNBBHIQ7QIgAkEANgLYBCACQQE2AswEIAJB9I/AADYCyAQgAkIENwLQBCADQaCRwAAQzQEhAyAGQQE2AgAgBiADNgIEDAcLIAItADAiBUESSQ0BCyACICI3A+AEIAIgIzcD2AQgAiAgNwPQBCACICY3A8gEIAJBEGogAkHIBGpBIBCtAiAFQRJHcg0BIAZBEjoAKCAGICI3AyAgBiAjNwMYIAYgIDcDECAGICY3AwggBkEANgIADAULIAJBAjYCzAMgAkG0j8AANgLIAyACQgI3AtQDIAJBEjoA6AQgAiAiNwPgBCACICM3A9gEIAIgIDcD0AQgAiAmNwPIBCACIAJByARqrUKAgICAMIQ3A4AFIAIgAkEQaq1CgICAgDCENwP4BCACIAJB+ARqNgLQAyACQaAEaiIDIAJByANqEM8BIAJBCGogA0GwvsAAQcSPwAAQpwIgAigCDCEIIAIoAgghBSACQdAEaiIJIAJBqARqKAIANgIAQZHewQAtAAAaIAIgAikCoAQ3A8gEQRhBBBD4AiIDRQ0BIAMgBTYCBCADQZi/wAA2AgAgAyACKQPIBDcCDCADIAg2AgggA0EUaiAJKAIANgIAIAZBATYCACAGIAM2AgQMBAsgAikDGCEbIAIpAyghHSACKQMgIhwgI30hJwJAAn4gJiACKQMQIiFYBEAgGyAgfSEkIBsgIFStDAELIBsgIEJ/hXwhJCAbICBUrSAbICBRrXwLIhtQBEAgHCAjVK0hHgwBCyAbICdWrSAcICNUrXwhHiAnIBt9IScLIB0gIn0hKAJAIB5QBEAgHSAiWg0BDAYLIB0gIlQgHiAoVnINBSAoIB59ISgLIAJBEjoAgAEgAiAoNwN4IAIgJzcDcCACICQ3A2ggAiAhICZ9Iiw3A2AgAkHIBGoiCUHkhsAAQQEQtgEgAigCyARFBEAgAkHoA2oiBSACQfAEaiIQKQMANwMAIAJB4ANqIhQgAkHoBGoiDSIMKQMANwMAIAJB2ANqIhUgAkHgBGoiDikDADcDACACQdADaiIWIAJB2ARqIgopAwA3AwAgAiACKQPQBDcDyAMgAkGYAWoiFyADIAhBwAFqIAMgBS0AAEESRhsgAkE4aiACQcgDaiILQSAQrQIbIgNBCGopAwA3AwAgAkGgAWoiGCADQRBqKQMANwMAIAJBqAFqIg8gA0EYaikDADcDACACIAMpAwA3A5ABIAkgCBCZASACKALIBEUEQCACQdABaiAQKQMANwMAIAJByAFqIAwpAwA3AwAgAkHAAWogDikDADcDACACQbgBaiAKKQMANwMAIAIgAikD0AQ3A7ABIAkgCCACQbABaiIMIBMgESASEGQgAigCyARFBEAgAkGgAmoiAyANKQMAIhs3AwAgAkGYAmoiBSAOKQMAIh03AwAgAkGQAmoiGSAKKQMAIhw3AwAgAkHgAWogHDcDACACQegBaiAdNwMAIAJB8AFqIBs3AwAgAiACKQPQBCIbNwOIAiACIAIoAPEENgKAAiACIAJB9ARqKAAANgCDAiACIBs3A9gBIAIgAi0A8AQiEDoA+AEgAkH8AWogAigAgwI2AAAgAiACKAKAAjYA+QEgAiAiNwPgBCACICM3A9gEIAIgIDcD0AQgAiAmNwPIBCACQRI6AOgEIAJB2AFqIAkQmgJB/wFxIhpB/wFGIBBBEkkgGhtFBEAgAkGQBWogDykDADcDACACQYgFaiAYKQMANwMAIAJBgAVqIBcpAwA3AwAgAiACKQOQATcD+AQgAkESOgCYBSAUIAMpAwA3AwAgFSAFKQMANwMAIBYgGSkDADcDACACIAIpA4gCNwPIAyACIBA6AOgDIAJB7ANqIAIoAIMCNgAAIAIgAigCgAI2AOkDIAkgCCALIAJB+ARqIgUQaiACKALIBEUEQCACQcACaiANKQMANwMAIAJBuAJqIA4pAwA3AwAgAkGwAmogCikDADcDACACQcwCaiACQfQEaigAADYAACACIAIpA9AENwOoAiACIAIoAPEENgDJAiACIAItAPAEIgM6AMgCIAJBqAJqIAJB4ABqEJoCIhlBfyADQRJHIANBEkkbIBlB/wFxG0EBa0H/AXFBAkkEQCAUIA8pAwA3AwAgFSAYKQMANwMAIBYgFykDADcDACACIAIpA5ABNwPIAyACQRI6AOgDIA0gAkGAAWopAwA3AwAgDiACQfgAaikDADcDACAKIAJB8ABqKQMANwMAIAJB0ARqIAJB6ABqKQMANwMAIAIgAikDYDcDyAQjAEHgAWsiAyQAAkACQAJAAkACQCAHKAIAQQFHDQAgBykDICEqIAcpAxghKyAHKQMQISUgBykDCCEvIANB2ABqIgpCADcDACADQoCAkLu61q3wDTcDUCADQQE2AoQBIANBxP3AADYCgAEgA0IBNwKMASADIANB0ABqrUKAgICAsAeENwPYASADIANB2AFqNgKIASADQShqIANBgAFqEM8BIANByAFqQgA3AwAgA0IANwPAASAKKQMAIRsgAykDUCEdIAMoAigiBwRAIAMoAiwgBxCMAwsgA0ESOgDQASADIB03A7ABIAMgGzcDuAEgA0HoAGogCEHAAWoiB0EYaikDADcDACADQeAAaiAHQRBqKQMANwMAIAogB0EIaikDADcDACADQRI6AHAgAyAHKQMANwNQIANBoAFqIAtBIGopAwA3AwAgA0GYAWogC0EYaikDADcDACADQZABaiALQRBqKQMANwMAIANBiAFqIAtBCGopAwA3AwAgAyALKQMANwOAASADQShqIANB0ABqIANBsAFqIANBgAFqEHYgAykDMCIbIAgpA4gEfCIdIBtUIQcgAykDOCIbIAgpA5AEfCIcIBtUIQogAykDQCIbIAgpA5gEfCIhIBtUIQ0CQCADKQMoIhsgCCkDgAR8IjAgG1oEfiAHrQUgHUIBfCIdUK0gB618CyIbUAR+IAqtBSAcIBsgHHwiHFatIAqtfAsiG1AEQCANRQ0BDAULIA0NBCAhIBsgIXwiIVYNBAsgA0HoAGogCEHgA2oiB0EYaikDADcDACADQeAAaiAHQRBqKQMANwMAIANB2ABqIAdBCGopAwA3AwAgA0ESOgBwIAMgBykDADcDUCADQYABakGox8AAQQQQtwECQAJAIAMoAoABRQRAIAMpA5ABIRsgDCkDCCEfIAMpA6ABIS0gDCkDGCEuIAMpA5gBIjEgDCkDECIyfSEeAkACfiADKQOIASIzIAwpAwAiNFoEQCAbIB99ISkgGyAfVK0MAQsgGyAfQn+FfCEpIBsgH1StIBsgH1GtfAsiH1AEQCAxIDJUrSEbDAELIB4gH1StIDEgMlStfCEbIB4gH30hHgsgLSAufSEfAkAgG1AEQCAtIC5aDQEMBwsgLSAuVCAbIB9Wcg0GIB8gG30hHwsgA0ESOgCgASADIB83A5gBIAMgHjcDkAEgAyApNwOIASADIDMgNH03A4ABIANBsAFqIANB0ABqIANBgAFqEMMBIB0gAykDuAF8Ih4gHVQhByADKQPAASAcfCIdIBxUIQogAykDyAEgIXwiHCAhVCEMAkAgMCAwIAMpA7ABfCIfWAR+IAetBSAeQgF8Ih5QrSAHrXwLIhtQBH4gCq0FIB0gGyAdfCIdVq0gCq18CyIbUARAIAxFDQEMCAsgDA0HIBwgGyAcfCIcVg0HCyAdICt9ISECQAJ+IB8gL1oEQCAeICV9IRsgHiAlVK0MAQsgHiAlQn+FfCEbIB4gJVStIB4gJVGtfAsiJVAEQCAdICtUrSEeDAELICEgJVStIB0gK1StfCEeICEgJX0hIQsgHCAqfSEdAkAgHlAEQCAcICpaDQEMBwsgHSAeVCAcICpUcg0GIB0gHn0hHQsgA0ESOgCgASADIB03A5gBIAMgITcDkAEgAyAbNwOIASADIB8gL303A4ABIAMgCSADQYABaiIHEMIBIANB8ABqIgogA0EgaikDADcDACADQegAaiIMIANBGGopAwA3AwAgA0HgAGoiDSADQRBqKQMANwMAIANB2ABqIg4gA0EIaikDADcDACADIAMpAwA3A1AgByAIIANB0ABqIgcgCxBqIAMoAoABDQIgCiADQagBaikDADcDACAMIANBoAFqKQMANwMAIA0gA0GYAWopAwA3AwAgDiADQZABaikDADcDACADIAMpA4gBNwNQAkACQAJAIAkgBxCaAkH/AXEiBw4DAAEEAQsgCS0AICADLQBwTw0BDAMLIAdBAUsNAgsgBSADKQMANwMAIAVBIGogA0EgaikDADcDACAFQRhqIANBGGopAwA3AwAgBUEQaiADQRBqKQMANwMAIAVBCGogA0EIaikDADcDACADKAKAAUUNBCADQYABakEEchDtAgwECyADIAMoAoQBNgKwAUHMxMAAQSsgA0GwAWpBvMTAAEG848AAEJUCAAsgAygCgAFFDQELIANBgAFqQQRyEO0CCyADQaABaiAJQSBqKQMANwMAIANBmAFqIAlBGGopAwA3AwAgA0GQAWogCUEQaikDADcDACADQYgBaiAJQQhqKQMANwMAIAMgCSkDADcDgAEgA0HQAGoiByAIIANBgAFqIAsQagJAIAMoAlAiC0UEQCADQdQBaiADQfwAaigAADYAACADIAMoAHk2ANEBIAMgAy0AeCIKOgDQASADIAMpA3AiITcDyAEgAyADKQNoIh83A8ABIAMgAykDYCIbNwO4ASADIAMpA1giKTcDsAEgCwRAIAdBBHIQ7QILAkACQAJAIAkgA0GwAWoQmgJB/wFxIgsOAwEABAALIAtBAkkNAQwDCyAJLQAgIApJDQILIAkpAwghHSAJKQMYISUgCSkDECIqIB99IRwCQAJ+ICkgCSkDACIrWARAIB0gG30hHiAbIB1WrQwBCyAdIBtCf4V8IR4gGyAdVq0gGyAdUa18CyIbUARAIB8gKlatIR8MAQsgGyAcVq0gHyAqVq18IR8gHCAbfSEcCyAlICF9IR0CQCAfUARAICEgJVgNAQwFCyAdIB9UICEgJVZyDQQgHSAffSEdCyAFQRI6ACAgBSAdNwMYIAUgHDcDECAFIB43AwggBSArICl9NwMADAILIANBgAFqQbjEwABBARC3ASADKAKAAUUEQCAFIAMpA4gBNwMAIAVBIGogA0GoAWopAwA3AwAgBUEYaiADQaABaikDADcDACAFQRBqIANBmAFqKQMANwMAIAVBCGogA0GQAWopAwA3AwAgAygCUEUNAiADQdAAakEEchDtAgwCCyADIAMoAoQBNgIoQczEwABBKyADQShqQbzEwABB3OPAABCVAgALIANBgAFqQbjEwABBARC3ASADKAKAAUUEQCAFIAMpA4gBNwMAIAVBIGogA0GoAWopAwA3AwAgBUEYaiADQaABaikDADcDACAFQRBqIANBmAFqKQMANwMAIAVBCGogA0GQAWopAwA3AwAMAQsgAyADKAKEATYCUEHMxMAAQSsgA0HQAGpBvMTAAEHM48AAEJUCAAsgA0HgAWokAAwCCyADQQA2ApABIANBATYChAEgA0GwxMAANgKAASADQgQ3AogBIANBgAFqQYDEwAAQswIACyADQQA2ApABIANBATYChAEgA0GUh8EANgKAASADQgQ3AogBIANBgAFqQaiFwQAQswIACyACQRI6AOgEIAIgIjcD4AQgAiAjNwPYBCACICA3A9AEIAIgJjcDyAQgAkHwAmoiCwJ/IAJB+ARqIAJByARqIAUgCRCaAiIDQf8BcQR/IAMFIAkgAi0AmAUiAyACLQDoBCIFSQ0BGiADIAVHC0H/AXFBAUYbCyIDQSBqKQMAIhs3AwAgAkHoAmoiBSADQRhqKQMAIh03AwAgAkHgAmoiCSADQRBqKQMAIhw3AwAgAkHYAmoiByADQQhqKQMAIh43AwAgAiADKQMAIiE3A9ACIAJB6ANqIBs3AwAgAkHgA2ogHTcDACACQdgDaiAcNwMAIAJB0ANqIB43AwAgAiAhNwPIAyACQcgEaiAIIAJByANqIBMQeAJAAkAgAigCyAQiA0EBRgRAIAJBEjoAmAMgAiAiNwOQAyACICM3A4gDIAIgIDcDgAMgAiAmNwP4AgwBCyACQZgDaiALKQMANwMAIAJBkANqIAUpAwA3AwAgAkGIA2ogCSkDADcDACACQYADaiAHKQMANwMAIAIgAikD0AI3A/gCIANFDQELIAJByARqQQRyEO0CCyASQQcgERsiDUUNCCAkQn+FISEgAkHQA2ohBSACQdAEaiEDIAJBmQVqIQkgAkHIA2pBBHIhDiACQekEaiERA0AgAkGYBWogAkHwAmoiCykDADcDACACQZAFaiISIAJB6AJqIgcpAwA3AwAgAkGIBWoiEyACQeACaiIKKQMANwMAIAJBgAVqIhQgAkHYAmoiDCkDADcDACACIAIpA9ACNwP4BCACQeAEaiACQagBaiIVKQMANwMAIAJB2ARqIAJBoAFqIhYpAwA3AwAgAyACQZgBaiIXKQMANwMAIAIgAikDkAE3A8gEIAJBEjoA6AQgESACKACJATYAACARQQNqIAJBjAFqIhgoAAA2AAAgAkHIA2ogCCACQfgEaiACQcgEahBqAkAgAigCyAMiD0UEQCACQcADaiAFQSBqKQMANwMAIAJBuANqIAVBGGopAwA3AwAgAkGwA2ogBUEQaikDADcDACACQagDaiAFQQhqKQMANwMAIAIgBSkDADcDoAMMAQsgCyACQZgDaikDACIbNwMAIAcgAkGQA2opAwAiHTcDACAKIAJBiANqKQMAIhw3AwAgDCACQYADaikDACIeNwMAIAIgAikD+AIiIDcD0AIgAkHABGogGzcDACACQbgEaiAdNwMAIAJBsARqIBw3AwAgAkGoBGogHjcDACACICA3A6AEIBIgFSkDADcDACATIBYpAwA3AwAgFCAXKQMANwMAIAJBEjoAmAUgAiACKQOQATcD+AQgCSACKACJATYAACAJQQNqIBgoAAA2AAAgAkHIBGogCCACQaAEaiACQfgEahBqIAIoAsgERQRAIAJBwANqIANBIGopAwA3AwAgAkG4A2ogA0EYaikDADcDACACQbADaiADQRBqKQMANwMAIAJBqANqIANBCGopAwA3AwAgAiADKQMANwOgAyACKALIAyEPDAELIAIoAswEIQMgBkEBNgIAIAYgAzYCBCACKALIA0UNCyAOEO0CDAsLIA8EQCAOEO0CCwJAIAJBoANqIAJB4ABqEJoCIg9B/wFxBH8gDwVBfyACLQDAAyIPQRJHIA9BEkkbC0EBa0H/AXFBAkkNAAJAAkAgAkHQAmogAkH4AmoQmgJB/wFxDgIAAQILIAItAPACIAItAJgDSQ0BCyACQZgDaiALKQMANwMAIAJBkANqIAcpAwA3AwAgAkGIA2ogCikDADcDACACQYADaiAMKQMANwMAIAIgAikD0AI3A/gCIAJBoANqIAJB4ABqQSAQrQINACACLQDAA0ESRg0KCyACQcAEaiALKQMANwMAIAJBuARqIAcpAwA3AwAgAkGwBGogCikDADcDACACQagEaiAMKQMANwMAIAIgAikD0AI3A6AEIBIgFSkDADcDACATIBYpAwA3AwAgFCAXKQMANwMAIAIgAikDkAE3A/gEIAJBEjoAmAUgCSACKACJATYAACAJQQNqIBgoAAA2AAAgA0EgaiACQdABaikDADcDACADQRhqIAJByAFqKQMANwMAIANBEGogAkHAAWopAwA3AwAgA0EIaiACQbgBaikDADcDACADIAIpA7ABNwMAIAJCATcDyAQgAkHIA2ogCCACQaAEaiACQfgEaiACQcgEahBpAkACQAJAAkAgAigCyANFBEAgAkGYBGogBUEgaikDADcDACACQZAEaiAFQRhqKQMANwMAIAJBiARqIAVBEGopAwA3AwAgAkGABGogBUEIaikDADcDACACIAUpAwA3A/gDIAJBoANqIAJB4ABqEJoCQf8BcSILRQ0BIAtB/wFHDQIMAwsgAigCzAMhAyAGQQE2AgAgBiADNgIEDA4LIAItAMADQRJJDQELIAIpA6gDIRwgAikDsAMiHiAnfSEdAkACfiAsIAIpA6ADIiJYBEAgHCAkfSEbIBwgJFStDAELIBwgIXwhGyAcICRUrSAcICRRrXwLIhxQBEAgHiAnVK0hHgwBCyAcIB1WrSAeICdUrXwhHiAdIBx9IR0LIAIpA7gDIiAgKH0hHAJAAkAgHlAEQCAgIChaDQEMAgsgICAoVCAcIB5Ucg0BIBwgHn0hHAsgAkESOgDoBCACIBw3A+AEIAIgHTcD2AQgAiAbNwPQBCACICIgLH03A8gEIAJByANqIAJByARqIAJB+ANqEMABIAIpA9ADIRsgAikD2AIhHCACKQPgAyEeIAIpA+gCISAgAikD4AIiIiACKQPYAyIjfSEdAkACfiACKQPQAiImIAIpA8gDIh9aBEAgHCAbfSEpIBsgHFatDAELIBwgG0J/hXwhKSAbIBxWrSAbIBxRrXwLIhxQBEAgIiAjVK0hGwwBCyAcIB1WrSAiICNUrXwhGyAdIBx9IR0LICAgHn0hHAJAAkAgG1AEQCAeICBYDQEMAgsgGyAcViAeICBWcg0BIBwgG30hHAsgAkESOgDwAiACIBw3A+gCIAIgHTcD4AIgAiApNwPYAiACICYgH303A9ACDAMLDA4LDA0LIAIpA6gDIRwgJyACKQOwAyIefSEdAkACfiACKQOgAyIiICxYBEAgJCAcfSEbIBwgJFatDAELICQgHEJ/hXwhGyAcICRWrSAcICRRrXwLIhxQBEAgHiAnVq0hHgwBCyAcIB1WrSAeICdWrXwhHiAdIBx9IR0LICggAikDuAMiIH0hHAJAIB5QBEAgICAoWA0BDA4LIBwgHlQgICAoVnINDSAcIB59IRwLIAJBEjoA6AQgAiAcNwPgBCACIB03A9gEIAIgGzcD0AQgAiAsICJ9NwPIBCACQcgDaiACQcgEaiACQfgDahDAASACKQPYAiIdIAIpA9ADfCIbIB1UIQsgAikD4AIiHCACKQPYA3wiHSAcVCEHIAIpA+gCIhwgHCACKQPgA3wiHFYhCgJAIAIpA9ACIh4gAikDyAN8IiAgHloEfiALrQUgG0IBfCIbUK0gC618CyIeUAR+IAetBSAdIB0gHnwiHVatIAetfAsiHlAEQCAKRQ0BDAsLIAoNCiAcIBwgHnwiHFYNCgsgAkESOgDwAiACIBw3A+gCIAIgHTcD4AIgAiAbNwPYAiACICA3A9ACCyANQQFrIg0NAAsMCAsgBiACKQOIAjcDCCAGIBA6ACggBiACKAKAAjYAKSAGQQA2AgAgBkEsaiACKACDAjYAACAGQSBqIAJBoAJqKQMANwMAIAZBGGogAkGYAmopAwA3AwAgBkEQaiACQZACaikDADcDAAwICyACKALMBCEDIAZBATYCACAGIAM2AgQMBwsgAkEANgLYBCACQQE2AswEIAJB9I/AADYCyAQgAkIENwLQBCACQcgEakH8j8AAEM0BIQMgBkEBNgIAIAYgAzYCBAwGCyACKALMBCEDIAZBATYCACAGIAM2AgQMBQsgAigCzAQhAyAGQQE2AgAgBiADNgIEDAQLIAIgAigCzAQ2AsgDQbiCwABBKyACQcgDakGogsAAQZCRwAAQlQIAC0EEQRgQqQMACyACQQA2AtgEIAJBATYCzAQgAkGsvMAANgLIBCACQgQ3AtAEIAJByARqQbS6wAAQswIACyACQZgFaiACQZgDaikDADcDACACQZAFaiACQZADaikDADcDACACQYgFaiACQYgDaikDADcDACACQYAFaiACQYADaikDADcDACACIAIpA/gCNwP4BCACQeADaiACQagBaikDADcDACACQdgDaiACQaABaikDADcDACACQdADaiACQZgBaikDADcDACACIAIpA5ABNwPIAyACQRI6AOgDIAJB7ANqIAJBjAFqKAAANgAAIAIgAigAiQE2AOkDIAJByARqIAggAkH4BGogAkHIA2oQagJAIAIoAsgERQRAIAJBuARqIAJB6ARqKQMANwMAIAJBsARqIAJB4ARqKQMANwMAIAJBqARqIAJB2ARqKQMANwMAIAJBxARqIAJB9ARqKAAANgAAIAIgAikD0AQ3A6AEIAIgAigA8QQ2AMEEIAIgAi0A8AQiAzoAwAQgAkHgAGogAkGgBGoQmgJB/wFxIghB/wFGIANBEksgCBsNAQJAAkAgAkH4AmogAkHYAWoQmgIiA0H/AXEEfyADBSACLQCYAyIDIBBJDQEgAyAQRwtB/wFxQQFGDQELIAYgAikD+AI3AwggBkEANgIAIAZBKGogAkGYA2opAwA3AwAgBkEgaiACQZADaikDADcDACAGQRhqIAJBiANqKQMANwMAIAZBEGogAkGAA2opAwA3AwAMAwsgAkEANgLYBCACQQE2AswEIAJB+JDAADYCyAQgAkIENwLQBCACQcgEakGAkcAAEM0BIQMgBkEBNgIAIAYgAzYCBAwCCyACKALMBCEDIAZBATYCACAGIAM2AgQMAQsgAkEANgLYBCACQQE2AswEIAJBqJDAADYCyAQgAkIENwLQBCACQcgEakGwkMAAEM0BIQMgBkEBNgIAIAYgAzYCBAsgAkGgBWokAAwBCyACQQA2AtgEIAJBATYCzAQgAkGolMAANgLIBCACQgQ3AtAEIAJByARqQfiTwAAQswIACyAEQeAYaiAGQeihwAAQ0QEgBCgC4BhFBEAgBEHUGGogBEGIGWopAwAiGzcCACAEQcwYaiAEQYAZaikDACIdNwIAIARBxBhqIARB+BhqKQMAIhw3AgAgBEG8GGogBEHwGGopAwAiHjcCACAEQZAYaiAeNwMAIARBmBhqIBw3AwAgBEGgGGogHTcDACAEQagYaiAbNwMAIAQgBCkD6BgiGzcCtBggBCAbNwOIGCAEKALEGiICQYQBTwRAIAIQAAsgBCgC/BkiAkGEAU8EQCACEAALIAQoArQZIgJBhAFPBEAgAhAACyAEQQhqIARBiBhqQfihwAAQvAEMBAsgBEHIGGogBEH8GGooAgAiAjYCACAEQcAYaiAEQfQYaikCACIbNwMAIARBuBhqIARB7BhqKQIAIh03AwAgBEEQaiAdNwMAIARBGGogGzcDACAEQSBqIAI2AgAgBCAEKQLkGCIbNwOwGCAEIBs3AwgLIAQoAsQaIgJBhAFJDQAgAhAACyAEKAL8GSICQYQBSQ0AIAIQAAsgBCgCtBkiAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAQoAggiAkECRgRAIAQoAgwhAUEADAELIARBqBBqIARBIGooAgA2AgAgBEGgEGogBEEYaikDADcDACAEQZgQaiAEQRBqKQMANwMAIAQgBCkDCDcDkBBBACEBIARBkBBqEOEBCyEDIAAgAkECRzYCCCAAIAM2AgQgACABNgIAIARBwBtqJAALwksCIX8SfiMAQYAcayIEJAAgBEHAEWoiAiABEAIgARADEL4BAkACQAJAAkACQAJAAkAgBCgCwBFFBEAgBEHYAWogBEHMCWogBEHIEWpB8AcQ2QFB8AcQ2QEaIAQgARAeNgKEGiACIARBhBpqQbCkwAAQsQEgBCgCwBENASAEQfwZaiAEQeARaiIDKQMAIiM3AgAgBEH0GWogBEHYEWoiBSkDACIkNwIAIARB7BlqIARB0BFqIgYpAwAiJjcCACAEQcAZaiAmNwMAIARByBlqICQ3AwAgBEHQGWogIzcDACAEIAQpA8gRIiM3AuQZIAQgIzcDuBkgBEESOgDYGSAEIAEQHzYC1BogAiAEQdQaakHApMAAELEBIAQoAsARDQIgBEHMGmogAykDACIjNwIAIARBxBpqIAUpAwAiJDcCACAEQbwaaiAGKQMAIiY3AgAgBEGQGmogJjcDACAEQZgaaiAkNwMAIARBoBpqICM3AwAgBCAEKQPIESIjNwK0GiAEICM3A4gaIARBEjoAqBogBCABECA2AqgbIAIgBEGoG2pB0KTAABCxASAEKALAEUUEQCAEQZwbaiADKQMAIiM3AgAgBEGUG2ogBSkDACIkNwIAIARBjBtqIAYpAwAiJjcCACAEQeAaaiAmNwMAIARB6BpqICQ3AwAgBEHwGmogIzcDACAEIAQpA8gRIiM3AoQbIAQgIzcD2BogBEESOgD4GiABECEiAkUEQCAEQgA3A8ARDAULIAQgAjYCrBsgBEHYG2ogBEGsG2pB4KTAABCxASAEKALYG0UEQCAEQdARaiAEQegbaikDADcDACAEQdgRaiAEQfAbaikDADcDACAEQeARaiAEQfgbaikDADcDACAEIAQpA+AbNwPIESAEQRI6AOgRIARCATcDwBEgAkGEAUkNBSACEAAMBQsgBEEIaiAEQeQbaikCADcDACAEQRBqIARB7BtqKQIANwMAIARBGGogBEH0G2ooAgA2AgAgBCAEKQLcGzcDACACQYQBSQ0FIAIQAAwFCyAEQZgbaiAEQdwRaigCACICNgIAIARBkBtqIARB1BFqKQIAIiM3AwAgBEGIG2ogBEHMEWopAgAiJDcDACAEQQhqICQ3AwAgBEEQaiAjNwMAIARBGGogAjYCACAEIAQpAsQRIiM3A4AbIAQgIzcDAAwECyAEQeAJaiAEQdwRaigCACICNgIAIARB2AlqIARB1BFqKQIAIiM3AwAgBEHQCWogBEHMEWopAgAiJDcDACAEQQhqICQ3AwAgBEEQaiAjNwMAIARBGGogAjYCACAEIAQpAsQRIiM3A8gJIAQgIzcDAAwGCyAEQfgZaiAEQdwRaigCACICNgIAIARB8BlqIARB1BFqKQIAIiM3AwAgBEHoGWogBEHMEWopAgAiJDcDACAEQQhqICQ3AwAgBEEQaiAjNwMAIARBGGogAjYCACAEIAQpAsQRIiM3A+AZIAQgIzcDAAwECyAEQcgaaiAEQdwRaigCACICNgIAIARBwBpqIARB1BFqKQIAIiM3AwAgBEG4GmogBEHMEWopAgAiJDcDACAEQQhqICQ3AwAgBEEQaiAjNwMAIARBGGogAjYCACAEIAQpAsQRIiM3A7AaIAQgIzcDAAwCCyAEQagBaiEGIARB2AFqIQggBEG4GWohBSAEQYgaaiENIARB2BpqIQsgBEHAEWohAyABECIiAkH///8HRyEOIAJB//8DcSEHIwBB0ARrIgIkACACQbgDaiISQaXfwABBAxC3AQJAAkACQAJAAkACQAJAIAIoArgDRQRAIAJBiANqIAJB4ANqKQMANwMAIAJBgANqIAJB2ANqKQMANwMAIAJB+AJqIAJB0ANqIgwpAwA3AwAgAkHwAmogAkHIA2oiCSkDADcDACACIAIpA8ADNwPoAiACQRhqIANBCGogAkHoAmogAygCABsiA0EIaikDADcDACACQSBqIANBEGopAwA3AwAgAkEoaiADQRhqKQMANwMAIAJBMGogA0EgaikDADcDACACIAMpAwA3AxAgAiAHQfQDIA4bIhc2AjwgDCAIQdgFaikDADcDACAJIAhB0AVqKQMANwMAIAJBwANqIAhByAVqKQMANwMAIAJBEjoA2AMgAiAIKQPABTcDuAMgCyASEJoCQf8BcSIDRQ0BIANB/wFHDQIMAwsgAiACKAK8AzYC6AJBzMTAAEErIAJB6AJqQbzEwABBrOPAABCVAgALIAstACBBEkkNAQsgAkGIA2ogC0EgaikDADcDACACQYADaiALQRhqKQMANwMAIAJB+AJqIAtBEGopAwA3AwAgAkHwAmogC0EIaikDADcDACACIAspAwA3A+gCIAJBuANqIAggAkHoAmogDRBqAkACQAJAAkACQCACKAK4A0UEQCACQeAAaiACQeADaikDADcDACACQdgAaiACQdgDaikDADcDACACQdAAaiACQdADaikDADcDACACQcgAaiACQcgDaikDADcDACACIAIpA8ADNwNAAkAgBSACQUBrEJoCIgNB/wFxBH8gAwUgBS0AICIDIAItAGAiDkkNASADIA5HC0H/AXFBAUYNBQsgBSkDCCEkIAIpA0ghJiAFKQMYISUgAikDWCEoIAIpA1AiJyAFKQMQIil9ISMCQAJ+IAIpA0AiKyAFKQMAIixaBEAgJiAkfSEqICQgJlatDAELICYgJEJ/hXwhKiAkICZWrSAkICZRrXwLIiRQBEAgJyApVK0hJwwBCyAjICRUrSAnIClUrXwhJyAjICR9ISMLICggJX0hJgJAICdQBEAgJSAoWA0BDAcLICYgJ1QgJSAoVnINBiAmICd9ISYLIAJBEjoA2AMgAiAmNwPQAyACICM3A8gDIAIgKjcDwAMgAiArICx9NwO4AyACQbgDaiACQRBqEJoCIgNB/wFxBH8gAwVBfyACLQAwIgNBEkcgA0ESSxsLQQFrQf8BcUEBTQRAIAJB4AFqIAVBIGopAwA3AwAgAkHYAWogBUEYaikDADcDACACQdABaiAFQRBqKQMANwMAIAJByAFqIg4gBUEIaikDADcDACACIAUpAwA3A8ABIAJBiANqIA1BIGopAwA3AwAgAkGAA2ogDUEYaikDADcDACACQfgCaiIYIA1BEGopAwA3AwAgAkHwAmoiEiANQQhqKQMANwMAIAIgDSkDADcD6AIgAkG4A2ohDCACQcABaiITIQ8jAEGwAmsiAyQAIANBoAJqIAJB6AJqIhQiCUEgaikDADcDACADQZgCaiAJQRhqKQMANwMAIANBkAJqIAlBEGopAwA3AwAgA0GIAmogCUEIaikDADcDACADIAkpAwA3A4ACIANB6AFqIAhB2AFqKQMANwMAIANB4AFqIAhB0AFqKQMANwMAIANB2AFqIAhByAFqKQMANwMAIANBEjoA8AEgAyAIKQPAATcD0AEgCEHAAWohByADQShqAn8gCSADQdABaiIKIANBgAJqIAoQmgIiFUH/AXEEfyAVBSAKIAMtAKACIgpBEkkNARogCkESRwtB/wFxQQFGGwsiCkEgaikDADcDACADQSBqIApBGGopAwA3AwAgA0EYaiAKQRBqKQMANwMAIANBEGogCkEIaikDADcDACADIAopAwA3AwggA0HoAWogB0EYaikDADcDACADQeABaiAHQRBqKQMANwMAIANB2AFqIAdBCGopAwA3AwAgA0ESOgDwASADIAcpAwA3A9ABIANBMGogDyADQdABaiIKEMIBIANBmAJqIAhB2AVqKQMANwMAIANBkAJqIAhB0AVqKQMANwMAIANBiAJqIAhByAVqKQMANwMAIANBEjoAoAIgAyAIKQPABTcDgAIgCiAIIANBgAJqEGcCQAJAAkACQAJAAkACQCADKALQAUUEQCADKQPwASEwIAMpA+gBITEgAykD4AEhMiADKQPYASEzIAogA0EIaiAJEMIBIAMpA9gBIiMgCCkDiAR8IiUgI1QhCSADKQPgASIkIAgpA5AEfCIjICRUIQogAykD6AEiJCAkIAgpA5gEfCIkViEPAkAgAykD0AEiJiAIKQOABHwiLCAmWgR+IAmtBSAlQgF8IiVQrSAJrXwLIiZQBH4gCq0FICMgIyAmfCIjVq0gCq18CyImUARAIA9FDQEMCAsgDw0HICQgJCAmfCIkVg0HCyADQcABaiAIQeADaiIJQRhqKQMANwMAIANBuAFqIAlBEGopAwA3AwAgA0GwAWogCUEIaikDADcDACADQRI6AMgBIAMgCSkDADcDqAEgA0HQAWoiCUGox8AAQQQQtwEgAygC0AENASADKQPwASEqIAMpA+gBISkgAykD4AEhJyADKQPYASEtIAkgCBCZASADKALQAUUEQCADKQPgASEoIAMpA/ABISsgKSADKQPoASIufSEmAkACfiADKQPYASI0IC1YBEAgJyAofSEvICcgKFStDAELICcgKEJ/hXwhLyAnIChUrSAnIChRrXwLIihQBEAgKSAuVK0hJwwBCyAmIChUrSApIC5UrXwhJyAmICh9ISYLICogK30hKAJAICdQBEAgKiArWg0BDAgLICogK1QgJyAoVnINByAoICd9ISgLIANBEjoAoAIgAyAoNwOYAiADICY3A5ACIAMgLzcDiAIgAyAtIDR9NwOAAiADQYABaiADQagBaiADQYACahDDASAlIAMpA4gBfCInICVUIQkgAykDkAEgI3wiJiAjVCEKICQgAykDmAEgJHwiI1YhDwJAICwgLCADKQOAAXwiJFgEfiAJrQUgJ0IBfCInUK0gCa18CyIlUAR+IAqtBSAmICUgJnwiJlatIAqtfAsiJVAEQCADICM3A3AgAyAmNwNoIAMgJzcDYCADICQ3A1ggD0UNAQwHCyADICY3A2ggAyAnNwNgIAMgJDcDWCADICMgJXwiJDcDcCAPICMgJFZyDQYLIANBEjoAeCADQegBaiAHQRhqKQMANwMAIANB4AFqIAdBEGopAwA3AwAgA0HYAWogB0EIaikDADcDACADQRI6APABIAMgBykDADcD0AEgA0GAAmogA0HQAWogA0HYAGoQwgEgAykDOCIjIDJ8IiQgI1QhByADKQNAIiYgMXwiIyAmVCEJIAMpA0giJiAmIDB8IiZWIQoCQCADKQMwIiUgM3wiJyAlWgR+IAetBSAkQgF8IiRQrSAHrXwLIiVQBH4gCa0FICMgIyAlfCIjVq0gCa18CyIlUARAIAMgJjcD6AEgAyAjNwPgASADICQ3A9gBIAMgJzcD0AEgCkUNAQwGCyADICM3A+ABIAMgJDcD2AEgAyAnNwPQASADICUgJnwiIzcD6AEgCiAjICZUcg0FCyADQRI6APABIAxBCGogA0GAAmogA0HQAWoQwwEgDEEANgIADAMLIAMoAtQBIQcgDEEBNgIAIAwgBzYCBAwCCyADKALUASEHIAxBATYCACAMIAc2AgQMAQsgAyADKALUATYCrAJBzMTAAEErIANBrAJqQbzEwABBmO3AABCVAgALIANBsAJqJAAMBAsgA0EANgK4ASADQQE2AqwBIANBlIfBADYCqAEgA0IENwKwASADQagBakGohcEAELMCAAsgA0EANgLgASADQQE2AtQBIANBlIfBADYC0AEgA0IENwLYASADQdABakGohcEAELMCAAsgA0EANgLgASADQQE2AtQBIANBsMTAADYC0AEgA0IENwLYASADQdABakGAxMAAELMCAAsgA0EANgKQAiADQQE2AoQCIANBlIfBADYCgAIgA0IENwKIAiADQYACakGohcEAELMCAAsgAigCuAMNBCACIAIoAOEDNgJoIAIgAkHkA2ooAAA2AGsgAi0A4AMhByACKQPYAyEmIAIpA9ADISMgAikDyAMhKCACKQPAAyEnIAJBiAFqQn83AwAgAkGAAWpCfzcDACACQfgAakJ/NwMAIAJCfzcDcCACQRI6AJABIBdFDQMgE60iMEKAgICAsAeEITEgAkHZA2ohCSACQZEBaiEKIBRBBHIhDyACQeEBaiETIAJBwANqIQMgAkG5AmohFCACQbkBaiEVIAJB4QNqIRkgAkGJA2oiG0EDaiEcA0AgGyACKAJoNgAAIBwgAigAazYAACACIAc6AIgDIAIgJjcDgAMgAiAjNwP4AiACICg3A/ACIAIgJzcD6AIgAkG4A2ogCCACQegCaiANEGoCQAJAAkACQCACKAK4A0UEQCAVIBkoAAA2AAAgFUEDaiAZQQNqKAAANgAAIAIgAi0A4AMiEDoAuAEgAiACKQPYAyIrNwOwASACIAIpA9ADIiw3A6gBIAIgAikDyAMiKTcDoAEgAiACKQPAAyIuNwOYASACQZgBaiAFEJoCQf8BcSIMRQ0BIAxB/wFHDQIMAwsgAigCvAMhAyAGQQE2AgAgBiADNgIEDA0LIBAgBS0AIEkNAQsgBSkDCCElICwgBSkDECIqfSEkAkACfiAFKQMAIi8gLlgEQCApICV9IS0gJSApVq0MAQsgKSAlQn+FfCEtICUgKVatICUgKVGtfAsiJVAEQCAqICxWrSEqDAELICQgJVStICogLFatfCEqICQgJX0hJAsgKyAFKQMYIiV9ISkCQCAqUARAICUgK1YNASAuIC99ISUMAwsgKSAqVCAlICtWcg0AIC4gL30hJSApICp9ISkMAgsMDAsgBSkDCCEkIAUpAxAiJSAsfSEtAkACfiAuIAUpAwAiMlgEQCAkICl9IS8gJCApVK0MAQsgJCApQn+FfCEvICQgKVStICQgKVGtfAsiJFAEQCAlICxUrSElDAELICQgLVatICUgLFStfCElIC0gJH0hLQsgBSkDGCIkICt9ISoCQAJAICVQBEAgJCArWg0BDAILICQgK1QgJSAqVnINASAqICV9ISoLIAJBEjoA2AMgAiAqNwPQAyACIC03A8gDIAIgLzcDwAMgAiAyIC59NwO4AyACQbgDaiACQRBqEJoCIgxB/wFxBH8gDAVBfyACLQAwIgxBEkcgDEESSxsLQQFrQf8BcUEBTQRAIAUpAwghJSAFKQMQIiogLH0hJAJAAn4gLiAFKQMAIi9YBEAgJSApfSEtICUgKVStDAELICUgKUJ/hXwhLSAlIClUrSAlIClRrXwLIiVQBEAgKiAsVK0hKgwBCyAkICVUrSAqICxUrXwhKiAkICV9ISQLIAUpAxgiJSArfSEpAkAgKlAEQCAlICtUDQEgLyAufSElDAQLICkgKlQgJSArVHINACAvIC59ISUgKSAqfSEpDAMLDA0LIAYgAigCaDYAKSAGIAc6ACggBiAmNwMgIAYgIzcDGCAGICg3AxAgBiAnNwMIIAZBADYCACAGQSxqIAIoAGs2AAAMCwsMCwsgAkESOgCQASACICk3A4gBIAIgJDcDgAEgAiAtNwN4IAIgJTcDcCAUIAIoAmg2AAAgFEEDaiACKABrNgAAIAIgBzoAuAIgAiAmNwOwAiACICM3A6gCIAIgKDcDoAIgAiAnNwOYAiACQbgDaiIRIAgQmQECQAJAIAIoArgDRQRAIBIgAykDADcDACASQSBqIh0gA0EgaikDADcDACASQRhqIh4gA0EYaikDADcDACASQRBqIh8gA0EQaikDADcDACASQQhqIiAgA0EIaikDADcDACACQgE3A+gCIAJB2ANqIhogDUEgaikDADcDACACQdADaiIHIA1BGGopAwA3AwAgAkHIA2oiDCANQRBqKQMANwMAIAMgDUEIaikDADcDACACIA0pAwA3A7gDIAJBwAFqIAggAkGYAmogESACQegCahBpAkACQCACKALAAUUEQCACQZACaiAOQSBqKQMANwMAIAJBiAJqIA5BGGopAwA3AwAgAkGAAmogDkEQaikDADcDACACQfgBaiAOQQhqKQMANwMAIAJB0AJqIhYgAkH4AGopAwA3AwAgAkHYAmoiISACQYABaikDADcDACACQeACaiIiIAJBiAFqKQMANwMAIAIgDikDADcD8AEgAiACKQNwNwPIAiACIApBA2ooAAA2AMMCIAIgCigAADYCwAIgDkIANwMAIAJCgICQu7rWrfANNwPAASACQQE2ArwDIAJBxP3AADYCuAMgAkIBNwLEAyACIDE3A6gDIAIgAkGoA2o2AsADIAJBuARqIBEQzwEgGEIANwMAIBhBCGpCADcDACAOKQMAISQgAikDwAEhJSACKAK4BCIRBEAgAigCvAQgERCMAwsgAkESOgCIAyACICU3A+gCIAIgJDcD8AIgByAiKQMANwMAIAwgISkDADcDACADIBYpAwA3AwAgCSACKALAAjYAACAJQQNqIAIoAMMCNgAAIAIgAikDyAI3A7gDIAJBEjoA2AMgAkGYAmogAkG4A2ogAkHoAmogAkHwAWoQdiACQZgBaiAFEJoCQf8BcSIRRQ0BIBFB/wFHDQIMBAsgAigCxAEhAyAGQQE2AgAgBiADNgIEDA4LIBAgBS0AIEkNAgsgAikDoAIhJAJ+IAIpA5gCIisgJ1gEQCAkIChWrSEpICggJH0MAQsgJCAoVq0gJCAoUa18ISkgKCAkQn+FfAshJCAjIAIpA6gCIiV9ISgCQCApUARAICMgJVStISUMAQsgKCApVK0gIyAlVK18ISUgKCApfSEoCyAmIAIpA7ACIip9ISMCQCAlUARAICYgKloNAQwPCyAjICVUICYgKlRyDQ4gIyAlfSEjCyAnICt9ISUMAgsgAigCvAMhAyAGQQE2AgAgBiADNgIEDAsLICggAikDoAJ8IiQgKFQhECAjIAIpA6gCfCIoICNUIREgJiACKQOwAnwiIyAmVCEWICcgJyACKQOYAnwiJVgEfiAQrQUgJEIBfCIkUK0gEK18CyImUAR+IBGtBSAoICYgKHwiKFatIBGtfAsiJlAEQCAWRQ0BDAULIBYNBCAjICMgJnwiI1YNBAsgAkHgAWoiEEESOgAAIAJB2AFqICM3AwAgAkHQAWogKDcDACAOICQ3AwAgAiAlNwPAASAaIBApAwA3AwAgByAjNwMAIAwgKDcDACADICQ3AwAgAiAlNwO4AyACQegCaiAIIAJBuANqIhAgDRBqAkAgAigC6AJFBEAgGiAdKQMANwMAIAcgHikDADcDACAMIB8pAwA3AwAgAyAgKQMANwMAIAIgEikDADcDuAMgECAFEJoCIgdB/wFxBH8gBwVBfyACLQDYAyIHIAUtACAiDEcgByAMSRsLQQFrQf8BcUEBTQRAIAUpAwghIyACKQPAAyEnIAIpA8gDIiUgBSkDECIofSEmAkACfiACKQO4AyIqIAUpAwAiKVoEQCAnICN9ISQgIyAnVq0MAQsgJyAjQn+FfCEkICMgJ1atICMgJ1GtfAsiJ1AEQCAlIChUrSEjDAELICYgJ1StICUgKFStfCEjICYgJ30hJgsgAikD0AMiJSAFKQMYIih9IScCQCAjUARAICUgKFoNAQwQCyAlIChUICMgJ1ZyDQ8gJyAjfSEnCyACKQPIASEjAn4gAikDwAEiKyAqICl9IipaBEAgIyAkVK0hJSAjICR9DAELICMgJFStICMgJFGtfCElICMgJEJ/hXwLISggAikD0AEiJCAmfSEjAkAgJVAEQCAkICZUrSEkDAELICMgJVStICQgJlStfCEkICMgJX0hIwsgAikD2AEiJSAnfSEmAkAgJFAEQCAlICdaDQEMEAsgJSAnVCAkICZWcg0PICYgJH0hJgsgKyAqfSEnQRIhBwwCCyACIBMoAAA2AmggAiATQQNqKAAANgBrIAItAOABIQcgAikD2AEhJiACKQPQASEjIAIpA8gBISggAikDwAEhJwwBCwJAAkACQCACQcABaiALEJoCQf8BcQ4CAAIBCyACLQDgASALLQAgTw0BCyACIAutQoCAgIDAB4Q3A7ADIAIgMEKAgICAwAeENwOoAyACQQI2AswEIAJBAzYCvAQgAkGE48AANgK4BCACQQI2AsQEIAJBAzoA9AMgAkEENgLwAyACQqCAgIAQNwLoAyACQQI2AuADIAJBAjYC2AMgAkEDOgDUAyACQQQ2AtADIAJCIDcCyAMgAkECNgLAAyACQQI2ArgDIAIgAkG4A2o2AsgEIAIgAkGoA2o2AsAEIAJBnANqIgMgAkG4BGoQiwIgA0Gc48AAEIYCIQMgBkEBNgIAIAYgAzYCBCACKALoAkUNCyAPEO0CDAsLIAspAwghIyACKQMYISQCfiALKQMAIiogAikDECIpWgRAICMgJFStIScgIyAkfQwBCyAjICRUrSAjICRRrXwhJyAjICRCf4V8CyEoIAspAxAiJCACKQMgIiZ9ISMCQCAnUARAICQgJlStISQMAQsgIyAnVK0gJCAmVK18ISQgIyAnfSEjCyALKQMYIicgAikDKCIlfSEmAkACQCAkUARAICUgJ1gNAQwCCyAlICdWICQgJlZyDQEgJiAkfSEmCyAqICl9ISdBEiEHDAELDAsLIAIoAugCBEAgDxDtAgsgF0EBayIXDQALDAMLIAZBADYCACAGIAspAwA3AwggBkEoaiALQSBqKQMANwMAIAZBIGogC0EYaikDADcDACAGQRhqIAtBEGopAwA3AwAgBkEQaiALQQhqKQMANwMADAcLIAIoArwDIQMgBkEBNgIAIAYgAzYCBAwGCyACQQA2AsgDIAJBATYCvAMgAkGUh8EANgK4AyACQgQ3AsADIAJBuANqQaiFwQAQswIACyACIAJBEGqtQoCAgIDAB4Q3A4ADIAIgAkHwAGqtQoCAgIDAB4Q3A/gCIAIgBa1CgICAgMAHhDcD8AIgAiACQTxqrUKAgICA0AeENwPoAiACQQM6ALQEIAJBBDYCsAQgAkKggICAMDcCqAQgAkECNgKgBCACQQI2ApgEIAJBAzoAlAQgAkEENgKQBCACQqCAgIAgNwKIBCACQQI2AoAEIAJBAjYC+AMgAkEDOgD0AyACQQQ2AvADIAJCoICAgBA3AugDIAJBAjYC4AMgAkECNgLYAyACQQM6ANQDIAJBBDYC0AMgAkIgNwLIAyACQQI2AsADIAJBAjYCuAMgAkEENgLUASACQQQ2AsQBIAJBgOLAADYCwAEgAkEENgLMASACIAJBuANqNgLQASACIAJB6AJqNgLIASACQZgCaiIDIAJBwAFqEM8BIAIgA0HwhcEAQaDiwAAQpwIgAigCBCEFIAIoAgAhCCACQcADaiILIAJBoAJqKAIANgIAQZHewQAtAAAaIAIgAikCmAI3A7gDQRhBBBD4AiIDBEAgAyAINgIEIANB2IbBADYCACADIAIpA7gDNwIMIAMgBTYCCCADQRRqIAsoAgA2AgAgBkEBNgIAIAYgAzYCBAwFC0EEQRgQqQMACyACKAK8AyEDIAZBATYCACAGIAM2AgQMAwsgAiACQUBrrUKAgICAwAeENwPIASACIAWtQoCAgIDAB4Q3A8ABIAJBAjYC/AIgAkECNgLsAiACQbjgwAA2AugCIAJBAjYC9AIgAkEDOgD0AyACQQQ2AvADIAJCoICAgBA3AugDIAJBAjYC4AMgAkECNgLYAyACQQM6ANQDIAJBBDYC0AMgAkIgNwLIAyACQQI2AsADIAJBAjYCuAMgAiACQbgDajYC+AIgAiACQcABajYC8AIgAkGYAmoiAyACQegCahDPASACQQhqIANB8IXBAEHI4MAAEKcCIAIoAgwhBSACKAIIIQggAkHAA2oiCyACQaACaigCADYCAEGR3sEALQAAGiACIAIpApgCNwO4A0EYQQQQ+AIiAwRAIAMgCDYCBCADQdiGwQA2AgAgAyACKQO4AzcCDCADIAU2AgggA0EUaiALKAIANgIAIAZBATYCACAGIAM2AgQMAwtBBEEYEKkDAAsMAgsgAkEANgLIAyACQQE2ArwDIAJByN/AADYCuAMgAkIENwLAAyACQbgDakHQ38AAEM0BIQMgBkEBNgIAIAYgAzYCBAsgAkHQBGokAAwCCyACQQA2AsgDIAJBATYCvAMgAkGwxMAANgK4AyACQgQ3AsADIAJBuANqQYDEwAAQswIACyACQQA2AsgEIAJBATYCvAQgAkGwxMAANgK4BCACQgQ3AsAEIAJBuARqQYDEwAAQswIACyAEQfgAaiAGQfCkwAAQ0QEgBCgCeEUEQCAEQewAaiAEQaABaikDACIjNwIAIARB5ABqIARBmAFqKQMAIiQ3AgAgBEHcAGogBEGQAWopAwAiJjcCACAEQdQAaiAEQYgBaikDACInNwIAIARBKGogJzcDACAEQTBqICY3AwAgBEE4aiAkNwMAIARBQGsgIzcDACAEIAQpA4ABIiM3AkwgBCAjNwMgIAQgBEEgakGApcAAELwBIAQoAqgbIgJBhAFPBEAgAhAACyAEKALUGiICQYQBTwRAIAIQAAsgBCgChBoiAkGEAU8EQCACEAALDAQLIARB4ABqIARBlAFqKAIAIgI2AgAgBEHYAGogBEGMAWopAgAiIzcDACAEQdAAaiAEQYQBaikCACIkNwMAIARBCGogJDcDACAEQRBqICM3AwAgBEEYaiACNgIAIAQgBCkCfCIjNwNIIAQgIzcDAAsgBCgCqBsiAkGEAUkNACACEAALIAQoAtQaIgJBhAFJDQAgAhAACyAEKAKEGiICQYQBSQ0AIAIQAAsgAUGDAUsEQCABEAALAn8gBCgCACICQQJGBEAgBCgCBCEBQQAMAQsgBEHYEWogBEEYaigCADYCACAEQdARaiAEQRBqKQMANwMAIARByBFqIARBCGopAwA3AwAgBCAEKQMANwPAEUEAIQEgBEHAEWoQ4QELIQMgACACQQJHNgIIIAAgAzYCBCAAIAE2AgAgBEGAHGokAAvrDQIDfwp+IwBBoANrIgIkACACQcgAaiABQdgBaikDADcDACACQUBrIAFB0AFqKQMANwMAIAJBOGogAUHIAWopAwA3AwAgAkESOgBQIAIgASkDwAE3AzAgAkGYAWogAUGYBWopAwA3AwAgAkGQAWogAUGQBWopAwA3AwAgAkGIAWogAUGIBWopAwA3AwAgAkESOgCgASACIAEpA4AFNwOAASACQfACaiABQRhqKQMANwMAIAJB6AJqIAFBEGopAwA3AwAgAkHgAmogAUEIaikDADcDACACQRI6APgCIAIgASkDADcD2AIgAkGYA2ogAUE4aikDADcDACACQZADaiABQTBqKQMANwMAIAJBiANqIAFBKGopAwA3AwAgAiABKQMgNwOAAyACQagCaiIDIAJB2AJqIAJBgANqEMYBAkACQAJAAkACQAJAIAIoAqgCRQRAIAJByAFqIAJB0AJqKQMANwMAIAJBwAFqIAJByAJqKQMANwMAIAJBuAFqIAJBwAJqKQMANwMAIAJBsAFqIAJBuAJqKQMANwMAIAIgAikDsAI3A6gBIAJB2ABqIAJBgAFqIAJBqAFqEMMBIANBqMfAAEEEELcBIAIoAqgCDQEgAikDwAIhCSACKQO4AiEFIAEpA9AGIQggASkDyAYhBgJ+IAIpA7ACIg0gASkDwAYiDloEQCAFIAZ9IQsgBSAGVK0MAQsgBSAGQn+FfCELIAUgBlStIAUgBlGtfAshByACKQPIAiEMIAEpA9gGIQogCSAIfSEFAkAgB1AEQCAIIAlWrSEJDAELIAUgB1StIAggCVatfCEJIAUgB30hBQsgDCAKfSEHAkAgCVAEQCAKIAxYDQEMCAsgByAJVCAKIAxWcg0HIAcgCX0hBwsgAkESOgDIAiACIAc3A8ACIAIgBTcDuAIgAiALNwOwAiACIA0gDn03A6gCIAJB+AFqIAJB2ABqIAJBqAJqIgQQciACKAL4AQ0CIAJB8AFqIAJBoAJqKQMANwMAIAJB6AFqIAJBmAJqKQMANwMAIAJB4AFqIAJBkAJqKQMANwMAIAJB2AFqIAJBiAJqKQMANwMAIAIgAikDgAI3A9ABIAJBwAJqIAFBgAVqIgNBGGopAwA3AwAgAkG4AmogA0EQaikDADcDACACQbACaiADQQhqKQMANwMAIAJBEjoAyAIgAiADKQMANwOoAiACQQhqIAJBMGogAkHQAWogBBB8IAJB8AJqIAFBmAFqKQMANwMAIAJB6AJqIAFBkAFqKQMANwMAIAJB4AJqIAFBiAFqKQMANwMAIAJBEjoA+AIgAiABKQOAATcD2AIgBEGox8AAQQQQtwEgAigCqAINAyACKQPAAiEJIAIpA7gCIQUCfiAOIAIpA7ACIg1YBEAgBSAGfSELIAUgBlStDAELIAUgBkJ/hXwhCyAFIAZUrSAFIAZRrXwLIQcgAikDyAIhDCAJIAh9IQYCQCAHUARAIAggCVatIQUMAQsgBiAHVK0gCCAJVq18IQUgBiAHfSEGCyAMIAp9IQgCQCAFUARAIAogDFgNAQwICyAFIAhWIAogDFZyDQcgCCAFfSEICyACQRI6AMgCIAIgCDcDwAIgAiAGNwO4AiACIAs3A7ACIAIgDSAOfTcDqAIgAkH4AWogAkHYAmogAkGoAmoQciACKAL4AUUEQCACKQMQIgYgAikDiAJ8IgggBlQhASACKQOQAiELIAIpAxghBiACKQMIIgcgAikDgAJ8IgogB1oEfiABrQUgCEIBfCIIUK0gAa18CyEHIAIpA5gCIQkgAikDICEFIAYgBiALfCIGViEBIAdQBH4gAa0FIAYgBiAHfCIGVq0gAa18CyEHIAUgBSAJfCIFViEBAkAgB1AEQCAAIAU3AyAgACAGNwMYIAAgCDcDECAAIAo3AwggAUUNAQwICyAAIAY3AxggACAINwMQIAAgCjcDCCAAIAUgB3wiBjcDICABIAUgBlZyDQcLIABBADYCACAAQRI6ACgMBQsgAigC/AEhASAAQQE2AgAgACABNgIEDAQLIAIoAqwCIQEgAEEBNgIAIAAgATYCBAwDCyACIAIoAqwCNgLYAkHMxMAAQSsgAkHYAmpBvMTAAEGg+cAAEJUCAAsgAigC/AEhASAAQQE2AgAgACABNgIEDAELIAIgAigCrAI2AoABQczEwABBKyACQYABakG8xMAAQZD5wAAQlQIACyACQaADaiQADwsgAkEANgK4AiACQQE2AqwCIAJBlIfBADYCqAIgAkIENwKwAiACQagCakGohcEAELMCAAsgAkEANgK4AiACQQE2AqwCIAJBsMTAADYCqAIgAkIENwKwAiACQagCakGAxMAAELMCAAvVDgIHfwp+IwBB0ANrIgMkACADQagBaiABQfgDaikDADcDACADQaABaiABQfADaikDADcDACADQZgBaiABQegDaikDADcDACADIAEpA+ADNwOQASADQdACaiIGQajHwABBBBC3AQJAIAMoAtACRQRAIANBoAJqIANB8AJqIgUpAwA3AwAgA0GYAmogA0HoAmopAwA3AwAgA0GQAmogA0HgAmopAwA3AwAgAyADKQPYAjcDiAIgAyADKAD5AjYCgAIgAyADQfwCaigAADYAgwIgAy0A+AIhBCAGIAEQmQECQCADKALQAkUEQCADQcgCaiADQfgCaikDADcDACADQcACaiAFKQMANwMAIANBuAJqIANB6AJqKQMANwMAIANBsAJqIANB4AJqKQMANwMAIAMgAykD2AI3A6gCQgEhCwJAAkACQCAEDgICAQALQgohCyAEIQFCASENA0AgA0HIAGogC0IBIAFBAXEiBRsgCkIAIAUbIA0gDBCUAiADQdgAaiALIAogCyAKEJQCIAFBA0sgA0HgAGopAwAhCiADQdAAaikDACEMIAMpA1ghCyADKQNIIQ0gAUEBdiEBDQALIANBOGogDSAMIAsgChCUAiADQUBrKQMAIQogAykDOCELDAELQgohCwsgA0GwA2oiASAKNwMAIAMgCzcDqAMgA0EBNgLUAiADQcT9wAA2AtACIANCATcC3AIgA0KAgICAsAciEiADQagDaq2ENwPIAyADIANByANqNgLYAiADQbgDaiADQdACahDPASADQZgDakIANwMAIANCADcDkAMgASkDACEQIAMpA6gDIREgAygCuAMiAQRAIAMoArwDIAEQjAMLIANBEjoAoAMgAyARNwOAAyADIBA3A4gDIANB6AJqIANBoAJqKQMANwMAIANB4AJqIANBmAJqKQMANwMAIANB2AJqIANBkAJqKQMANwMAIANB9AJqIAMoAIMCNgAAIAMgAykDiAI3A9ACIAMgBDoA8AIgAyADKAKAAjYA8QIgA0HYAWogA0HQAmoiASADQYADaiADQagCahB2IAFBqMfAAEEEELcBIAMoAtACRQRAIAMpA+gCIQogAykD4AIhDiADKQPoASEMIAMpA+ABIQ8CfiADKQPYASIQIAMpA9gCIhFaBEAgDiAPVq0hDSAPIA59DAELIA4gD1atIA4gD1GtfCENIA8gDkJ/hXwLIRMgAykD8AIhDiADKQPwASEPIAwgCn0hCwJAIA1QBEAgCiAMVq0hDAwBCyALIA1UrSAKIAxWrXwhDCALIA19IQsLIA8gDn0hCgJAIAxQBEAgDiAPWA0BDAYLIAogDFQgDiAPVnINBSAKIAx9IQoLIANBEjoA0AEgAyAKNwPIASADIAs3A8ABIAMgEzcDuAEgAyAQIBF9NwOwAUIAIQogA0HgAWoiAUIANwMAIANCgICQu7rWrfANNwPYASADQQE2AtQCIANBxP3AADYC0AJCASELIANCATcC3AIgAyASIANB2AFqrYQiEjcDuAMgAyADQbgDajYC2AIgA0GoA2ogA0HQAmoQzwEgA0GYA2pCADcDACADQgA3A5ADIAEpAwAhECADKQPYASERIAMoAqgDIgEEQCADKAKsAyABEIwDCyADQRI6AKADIAMgETcDgAMgAyAQNwOIAyADQegCaiADQagBaikDADcDACADQeACaiADQaABaikDADcDACADQdgCaiADQZgBaikDADcDACADIAMpA5ABNwPQAiADQRI6APACIANB6ABqIANB0AJqIANBsAFqIANBgANqEHYCQAJAAkAgAy0AiAEiAQ4CAgEAC0IKIQtCASENQgAhDANAIANBGGogC0IBIAFBAXEiBBsgCkIAIAQbIA0gDBCUAiADQShqIAsgCiALIAoQlAIgAUEDSyADQTBqKQMAIQogA0EgaikDACEMIAMpAyghCyADKQMYIQ0gAUEBdiEBDQALIANBCGogDSAMIAsgChCUAiADQRBqKQMAIQogAykDCCELDAELQgohCwsgA0HgAWoiASAKNwMAIAMgCzcD2AEgA0EBNgKEAyADQcT9wAA2AoADIANCATcCjAMgAyASNwOoAyADIANBqANqNgKIAyADQbABaiADQYADahDPASADQegCakIANwMAIANCADcD4AIgASkDACEQIAMpA9gBIREgAygCsAEiAQRAIAMoArQBIAEQjAMLIANBEjoA8AIgAyARNwPQAiADIBA3A9gCIABBCGogA0HoAGogAiADQdACahB2IABBADYCAAwCCyADIAMoAtQCNgKAA0HMxMAAQSsgA0GAA2pBvMTAAEGcyMAAEJUCAAsgAygC1AIhASAAQQE2AgAgACABNgIECyADQdADaiQADwsgAyADKALUAjYCgANBzMTAAEErIANBgANqQbzEwABBrMjAABCVAgALIANBADYC4AIgA0EBNgLUAiADQbDEwAA2AtACIANCBDcC2AIgA0HQAmpBgMTAABCzAgAL894BAhd/En4jAEHQAWsiBiQAIAZBkAFqIhIgAUGYAmopAwA3AwAgBkGIAWoiEyABQZACaikDADcDACAGQYABaiIUIAFBiAJqKQMANwMAIAZBEjoAmAEgBiABKQOAAjcDeCAGIAEgBkH4AGoiDCACEJoBIBIgAUHYAmopAwA3AwAgEyABQdACaikDADcDACAUIAFByAJqKQMANwMAIAZBEjoAmAEgBiABKQPAAjcDeCAGQShqIhEgASAMIAIQmgEgBkHIAWogBkEgaikDADcDACAGQcABaiAGQRhqKQMANwMAIAZBuAFqIAZBEGopAwA3AwAgBkGwAWogBkEIaikDADcDACAGIAYpAwA3A6gBIAZBmAFqIAZByABqKQMANwMAIBIgBkFAaykDADcDACATIAZBOGopAwA3AwAgFCAGQTBqKQMANwMAIAYgBikDKDcDeCAGQdAAaiEHIAZBqAFqIhkhBSMAQdAEayIEJAAgBEGAA2oiAkIANwMAIARCgICQu7rWrfANNwP4AiAEQQE2AqQCIARBxP3AADYCoAIgBEIBNwKsAiAEIARB+AJqrUKAgICAsAeEIho3A4gBIAQgBEGIAWo2AqgCIARB2AFqIARBoAJqEM8BIARBoARqQgA3AwAgBEIANwOYBCACKQMAIRsgBCkD+AIhHCAEKALYASICBEAgBCgC3AEgAhCMAwsgBEESOgCoBCAEIBw3A4gEIAQgGzcDkAQgBEG4AmogAUHgAWoiAkEYaikDADcDACAEQbACaiACQRBqKQMANwMAIARBqAJqIAJBCGopAwA3AwAgBEESOgDAAiAEIAIpAwA3A6ACIARB+AJqIgIgBEGgAmoiAyAFIARBiARqEHYgBEHQAmogAhDXAQJAAkACQAJAAkACQAJAAkACQCAEKALQAkUEQCAEKQPwAiEhIAQpA+gCIR4gBCkD4AIhGyAEKQPYAiEfIARBgANqIgJCADcDACAEQoCAkLu61q3wDTcD+AIgBEEBNgKkAiAEQcT9wAA2AqACIARCATcCrAIgBCAaNwOIASAEIARBiAFqNgKoAiAEQdgBaiADEM8BIARBoARqQgA3AwAgBEIANwOYBCACKQMAIRogBCkD+AIhHCAEKALYASICBEAgBCgC3AEgAhCMAwsgBEESOgCoBCAEIBw3A4gEIAQgGjcDkAQgBEG4AmogAUGgAmoiAkEYaikDADcDACAEQbACaiACQRBqKQMANwMAIARBqAJqIAJBCGopAwA3AwAgBEESOgDAAiAEIAIpAwA3A6ACIARB+AJqIgIgBEGgAmogDCAEQYgEahB8IARB0AJqIAIQ1wEgBCgC0AINASAEKQPgAiEcIB4gBCkD6AIiIH0hGgJAAn4gBCkD2AIiIiAfWARAIBsgHH0hHSAbIBxUrQwBCyAbIBxCf4V8IR0gGyAcVK0gGyAcUa18CyIbUARAQn9CACAeICBUGyEcDAELQn9CACAeICBUGyAaIBtUrX0hHCAaIBt9IRoLIAQpA/ACISMgBEGgBGogAUEYaikDADcDACAEQZgEaiABQRBqKQMANwMAIARBkARqIAFBCGopAwA3AwAgBEESOgCoBCAEIAEpAwA3A4gEIARBkANqIAFBOGopAwA3AwAgBEGIA2ogAUEwaikDADcDACAEQYADaiABQShqKQMANwMAIAQgASkDIDcD+AIgBEGgAmoiAiAEQYgEaiAEQfgCahDGASAEKAKgAiIFDQIgBQRAIAJBBHIQ7QILIARBoAJqIgVBuMTAAEEBEHcCQAJAAkAgBCgCoAJFBEAgHyAifSEbIAQpA8ACIR4gBCkDuAIhICAEKQOwAiEfIAQpA6gCISICfyAhICN9IBx8IhxCAFMEQCAeQgBZDQMgBEIAIBt9IiE3A4gEIAQgHUJ/hUIAIB19IiMgIUIAUiICGzcDkAQgBCAaQn+FIiEgI1AgAkF/c3EiAq18IiMgISACGzcDmAQgBCACICEgI1ZxrSAcQn+FfDcDoAQgBEIAICJ9IiI3A6ACIAQgH0J/hUIAIB99IiEgIkIAUiICGzcDqAIgBCAgQn+FIh8gIVAgAkF/c3EiAq18IiAgHyACGzcDsAIgBCACIB8gIFZxrSAeQn+FfDcDuAIgBSAEQYgEahCaAgwBCyAeQgBTDQQgBCAcNwOgBCAEIBo3A5gEIAQgHTcDkAQgBCAbNwOIBCAEIB43A7gCIAQgIDcDsAIgBCAfNwOoAiAEICI3A6ACIARBiARqIARBoAJqEJoCC0H/AXEOAgIDAQsgBCAEKAKkAjYCiARBzMTAAEErIARBiARqQbzEwABBhNnAABCVAgALIAQgHDcDoAQgBCAaNwOYBCAEIB03A5AEIAQgGzcDiAQgBCAEQYgEakH4wsAAQSAQrQIEfiAdQn+FQgAgHX0iH0IAIBt9IhtCAFIiAhshHSAaQn+FIh4gH1AgAkF/c3EiAq18Ih8gHiACGyEaIAIgHiAfVnGtIBxCf4V8BSAcCzcDkAMgBCAaNwOIAyAEIB03A4ADIAQgGzcD+AIgBEGgAmoiCCAEQfgCahC5ASAEKAKgAg0FIARB0AFqIARBwAJqIg0pAwAiGjcDACAEQcgBaiAEQbgCaiILKQMAIhs3AwAgBEHAAWogBEGwAmoiDykDACIcNwMAIARBkAFqIBw3AwAgBEGYAWogGzcDACAEQaABaiAaNwMAIAQgBCkDqAIiGjcDuAEgBCAEKADJAjYCsAEgBCAEQcwCaiIQKAAANgCzASAEIBo3A4gBIAQgBC0AyAIiCjoAqAEgBEGsAWogBCgAswE2AAAgBCAEKAKwATYAqQEjAEGABGsiAyQAIANBkANqIgIgARCAAQJAAkACQAJAAkACQAJAAkACQCADKAKQA0UEQCADQZABaiADQbgDaikDACIeNwMAIANBiAFqIANBsANqKQMANwMAIANBgAFqIANBqANqIgUpAwA3AwAgA0H4AGogA0GgA2oiCSkDADcDACADIAMpA5gDNwNwIANBqAJqIAFB2AFqKQMANwMAIANBoAJqIAFB0AFqKQMANwMAIANBmAJqIAFByAFqKQMANwMAIANBEjoAsAIgAyABKQPAATcDkAIgBSABQZgFaikDADcDACAJIAFBkAVqKQMANwMAIANBmANqIAFBiAVqKQMANwMAIANBEjoAsAMgAyABKQOABTcDkAMgA0HAA2ogA0GQAmogAhDCASACQajHwABBBBC3ASADKAKQAw0BIAMpA8gDIhogAykDoAN8IhsgGlQhAiADKQPQAyIcIAMpA6gDfCIaIBxUIQUgAykD2AMiHSADKQOwA3wiHCAdVCEJAkAgAykDwAMiHyADKQOYA3wiHSAfWgR+IAKtBSAbQgF8IhtQrSACrXwLIh9QBH4gBa0FIBogGiAffCIaVq0gBa18CyIfUARAIAMgHDcDqAIgAyAaNwOgAiADIBs3A5gCIAMgHTcDkAIgCUUNAQwJCyADIBo3A6ACIAMgGzcDmAIgAyAdNwOQAiADIBwgH3wiGjcDqAIgCSAaIBxUcg0ICyADQRI6ALACQgEhGkIAIRsCQAJAAkAgHqdB/wFxIgIOAgIBAAtCCiEaQgEhHUIAIRwDQCADQdAAaiAaQgEgAkEBcSIFGyAbQgAgBRsgHSAcEJQCIANB4ABqIBogGyAaIBsQlAIgAkEDSyADQegAaikDACEbIANB2ABqKQMAIRwgAykDYCEaIAMpA1AhHSACQQF2IQINAAsgA0FAayAdIBwgGiAbEJQCIANByABqKQMAIRsgAykDQCEaDAELQgohGgsgA0HwAmoiAiAbNwMAIAMgGjcD6AIgA0EBNgLEAyADQcT9wAA2AsADIANCATcCzAMgAyADQegCaq1CgICAgLAHhDcDwAEgAyADQcABajYCyAMgA0HAAmogA0HAA2oQzwEgA0GoA2pCADcDACADQgA3A6ADIAIpAwAhGiADKQPoAiEbIAMoAsACIgIEQCADKALEAiACEIwDCyADQRI6ALADIAMgGzcDkAMgAyAaNwOYAyADQZgBaiICIANB8ABqIANBkANqIgUgA0GQAmoiCRB2IAVBqMfAAEEEELcBAkACQAJAAkACQCADKAKQA0UEQCADQbACaiADQbgDaikDADcDACADQagCaiADQbADaikDADcDACADQaACaiADQagDaikDADcDACADQZgCaiADQaADaikDADcDACADIAMpA5gDNwOQAiACIAkQmgJB/wFxDgIBAwILIAMgAygClAM2AsADQczEwABBKyADQcADakG8xMAAQZz3wAAQlQIACyADLQC4ASADLQCwAk8NAQsgA0HgAmogA0G4AWopAwA3AwAgA0HYAmogA0GwAWopAwA3AwAgA0HQAmogA0GoAWopAwA3AwAgA0HIAmogA0GgAWopAwA3AwAgAyADKQOYATcDwAIgA0GQA2oiAkGox8AAQQQQtwEgAygCkAMNASADQeADaiADQbgDaikDADcDACADQdgDaiADQbADaikDADcDACADQdADaiADQagDaikDADcDACADQcgDaiADQaADaikDADcDACADIAMpA5gDNwPAAyACQajHwABBBBC3ASADKAKQA0UNAiADIAMoApQDNgLoAkHMxMAAQSsgA0HoAmpBvMTAAEH89sAAEJUCAAsgA0HgAWogA0G4AWopAwA3AwAgA0HYAWogA0GwAWopAwA3AwAgA0HQAWogA0GoAWopAwA3AwAgA0HIAWogA0GgAWopAwA3AwAgAyADKQOYATcDwAEgA0GQA2oiAkGox8AAQQQQtwEgAygCkAMNBCADQYgCaiADQbADaikDADcDACADQYACaiADQagDaikDADcDACADQfgBaiADQaADaikDADcDACADIAMpA5gDNwPwASADIAMoALkDNgLoASADIANBvANqKAAANgDrASADLQC4AyEFIAJBqMfAAEEEELcBIAMoApADDQUgAykDoAMhGyABKQPIBiEcIAMpA7ADIR0gASkD2AYhHiADKQOoAyIfIAEpA9AGIiB9IRoCQAJ+IAMpA5gDIiEgASkDwAYiI1oEQCAbIBx9ISIgGyAcVK0MAQsgGyAcQn+FfCEiIBsgHFStIBsgHFGtfAsiG1AEQCAfICBUrSEcDAELIBogG1StIB8gIFStfCEcIBogG30hGgsgHSAefSEbAkAgHFAEQCAdIB5aDQEMDAsgHSAeVCAbIBxUcg0LIBsgHH0hGwsgA0ESOgCIAyADIBs3A4ADIAMgGjcD+AIgAyAiNwPwAiADICEgI303A+gCQgEhGkIAIRsCQAJAAkAgBQ4CAgEAC0IKIRogBSECQgEhHUIAIRwDQCADQSBqIBpCASACQQFxIgkbIBtCACAJGyAdIBwQlAIgA0EwaiAaIBsgGiAbEJQCIAJBA0sgA0E4aikDACEbIANBKGopAwAhHCADKQMwIRogAykDICEdIAJBAXYhAg0ACyADQRBqIB0gHCAaIBsQlAIgA0EYaikDACEbIAMpAxAhGgwBC0IKIRoLIANByAJqIgIgGzcDACADIBo3A8ACIANBATYClAMgA0HE/cAANgKQAyADQgE3ApwDIAMgA0HAAmqtQoCAgICwB4Q3A/gDIAMgA0H4A2o2ApgDIANB7ANqIANBkANqEM8BIANB2ANqQgA3AwAgA0IANwPQAyACKQMAIRogAykDwAIhGyADKALsAyICBEAgAygC8AMgAhCMAwsgA0ESOgDgAyADIBs3A8ADIAMgGjcDyAMgA0GoA2ogA0GIAmopAwA3AwAgA0GgA2ogA0GAAmopAwA3AwAgA0GYA2ogA0H4AWopAwA3AwAgA0G0A2ogAygA6wE2AAAgAyADKQPwATcDkAMgAyAFOgCwAyADIAMoAugBNgCxAyADQcACaiICIANBkANqIANBwANqIANB6AJqEHYgA0GQAmogA0HAAWogAhByIAMoApACDQYMBwsgAyADKAKUAzYCwANBzMTAAEErIANBwANqQbzEwABBjPfAABCVAgALIAMpA6ADIRsgASkDyAYhHCADKQOwAyEeIAEpA9gGIR8gAykDqAMiICABKQPQBiIifSEaAkACfiADKQOYAyIhIAEpA8AGIiNaBEAgGyAcfSEdIBsgHFStDAELIBsgHEJ/hXwhHSAbIBxUrSAbIBxRrXwLIhtQBEAgICAiVK0hHAwBCyAaIBtUrSAgICJUrXwhHCAaIBt9IRoLIB4gH30hGwJAIBxQBEAgHiAfWg0BDAoLIB4gH1QgGyAcVHINCSAbIBx9IRsLIANBEjoAsAMgAyAbNwOoAyADIBo3A6ADIAMgHTcDmAMgAyAhICN9NwOQAyADQegCaiICIANBwANqIANBkANqEMIBIANBkAJqIANBwAJqIAIQciADKAKQAg0EDAULIAMoApQDIQIgCEEBNgIAIAggAjYCBAwFCyADIAMoApQDNgKQAkHMxMAAQSsgA0GQAmpBvMTAAEGs98AAEJUCAAsgAyADKAKUAzYCwANBzMTAAEErIANBwANqQbzEwABBlPbAABCVAgALIAMgAygClAM2AsADQczEwABBKyADQcADakG8xMAAQYT2wAAQlQIACyADKAKUAiECIAhBATYCACAIIAI2AgQMAQsgA0G4AWogA0G4AmopAwA3AwAgA0GwAWogA0GwAmopAwA3AwAgA0GoAWogA0GoAmopAwA3AwAgA0GgAWogA0GgAmopAwA3AwAgAyADKQOYAjcDmAEgA0GoA2oiAiABQZgBaikDADcDACADQaADaiIJIAFBkAFqKQMANwMAIANBmANqIgUgAUGIAWopAwA3AwAgA0ESOgCwAyADIAEpA4ABNwOQAyAIAn8CQAJAAkAgA0GQA2ogA0GYAWoQmgJB/wFxDgIAAgELIAMtALgBQRNJDQELIAIgAUGAAWoiAkEYaikDADcDACAJIAJBEGopAwA3AwAgBSACQQhqKQMANwMAIANBAzYClAIgA0HU9sAANgKQAiADQgI3ApwCIANBEjoAsAMgAyADQZgBaq1CgICAgKAHhDcDyAMgAyADQZADaq1CgICAgKAHhDcDwAMgAyACKQMANwOQAyADIANBwANqNgKYAiADQegCaiICIANBkAJqEM8BIANBCGogAkHwhcEAQez2wAAQpwIgAygCDCEJIAMoAgghDiAFIANB8AJqKAIANgIAQZHewQAtAAAaIAMgAykC6AI3A5ADQRhBBBD4AiICRQ0QIAIgDjYCBCACQdiGwQA2AgAgAiADKQOQAzcCDCACIAk2AgggAkEUaiADQZgDaigCADYCACAIIAI2AgRBAQwBCyABKQOIASEbIAMpA6ABIRwgASkDmAEhHiADKQOwASEfIAEpA5ABIiAgAykDqAEiIn0hGgJAAn4gASkDgAEiISADKQOYASIjWgRAIBsgHH0hHSAbIBxUrQwBCyAbIBxCf4V8IR0gGyAcVK0gGyAcUa18CyIbUARAICAgIlStIRwMAQsgGiAbVK0gICAiVK18IRwgGiAbfSEaCyAeIB99IRsCQCAcUARAIB4gH1oNAQwFCyAeIB9UIBsgHFRyDQQgGyAcfSEbCyAIQRI6ACggCCAbNwMgIAggGjcDGCAIIB03AxAgCCAhICN9NwMIQQALNgIACyADQYAEaiQADAILIANBADYCoAMgA0EBNgKUAyADQZSHwQA2ApADIANCBDcCmAMgA0GQA2pBqIXBABCzAgALIANBADYCoAMgA0EBNgKUAyADQbDEwAA2ApADIANCBDcCmAMgA0GQA2pBgMTAABCzAgALIAQoAqACIgINBiAEQZgCaiANKQMAIho3AwAgBEGQAmogCykDACIbNwMAIARBiAJqIA8pAwAiHDcDACAEQfwBaiAQKAAANgAAIARB4AFqIBw3AwAgBEHoAWogGzcDACAEQfABaiAaNwMAIAQgBCkDqAIiGjcDgAIgBCAEKADJAjYA+QEgBCAaNwPYASAEIAQtAMgCIgU6APgBIAIEQCAIQQRyEO0CCwJAAkAgBEHYAWogBEGIAWoQmgIiAkF/QQAgBSAKSRsgAkH/AXEbQf8BcUECTwRAIARBoAJqIQgjAEHQBGsiAyQAIANB4ANqIgIgARCDAQJAAkACQAJAAkACQAJAAkACQCADKALgA0UEQCADQbgBaiADQYgEaikDACIeNwMAIANBsAFqIANBgARqKQMANwMAIANBqAFqIANB+ANqIgUpAwA3AwAgA0GgAWogA0HwA2oiCikDADcDACADIAMpA+gDNwOYASADQagEaiABQZgFaikDADcDACADQaAEaiABQZAFaikDADcDACADQZgEaiABQYgFaikDADcDACADQRI6ALAEIAMgASkDgAU3A5AEIANBmANqIglCADcDACADQoCAkLu61q3wDTcDkAMgA0EBNgLkAyADQcT9wAA2AuADIANCATcC7AMgAyADQZADaq1CgICAgLAHhCIiNwPoASADIANB6AFqNgLoAyADQegCaiACEM8BIANB0AJqQgA3AwAgA0IANwPIAiAJKQMAIRogAykDkAMhGyADKALoAiICBEAgAygC7AIgAhCMAwsgA0ESOgDYAiADIBs3A7gCIAMgGjcDwAIgBSABQcABaiICQRhqKQMANwMAIAogAkEQaikDADcDACADQegDaiACQQhqKQMANwMAIANBEjoAgAQgAyACKQMANwPgAyADQZADaiADQeADaiICIANBuAJqIANBkARqEHYgAkGox8AAQQQQtwEgAygC4AMNASADKQOYAyIaIAMpA/ADfCIbIBpUIQIgAykDoAMiGiAaIAMpA/gDfCIaViEFIAMpA6gDIhwgHCADKQOABHwiHFYhCgJAIAMpA5ADIh8gAykD6AN8Ih0gH1oEfiACrQUgG0IBfCIbUK0gAq18CyIfUAR+IAWtBSAaIBogH3wiGlatIAWtfAsiH1AEQCADIBw3A9ACIAMgGjcDyAIgAyAbNwPAAiADIB03A7gCIApFDQEMCQsgAyAaNwPIAiADIBs3A8ACIAMgHTcDuAIgAyAcIB98Iho3A9ACIAogGiAcVHINCAsgA0ESOgDYAkIBIRpCACEbAkACQAJAIB6nQf8BcSICDgICAQALQgohGkIBIRxCACEdA0AgA0H4AGogGkIBIAJBAXEiBRsgG0IAIAUbIBwgHRCUAiADQYgBaiAaIBsgGiAbEJQCIAJBA0sgA0GQAWopAwAhGyADQYABaikDACEdIAMpA4gBIRogAykDeCEcIAJBAXYhAg0ACyADQegAaiAcIB0gGiAbEJQCIANB8ABqKQMAIRsgAykDaCEaDAELQgohGgsgA0GYA2oiAiAbNwMAIAMgGjcDkAMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAiNwPoASADIANB6AFqNgKYBCADQegCaiADQZAEahDPASADQfgDakIANwMAIANCADcD8AMgAikDACEaIAMpA5ADIRsgAygC6AIiAgRAIAMoAuwCIAIQjAMLIANBEjoAgAQgAyAbNwPgAyADIBo3A+gDIANBwAFqIgIgA0GYAWogA0HgA2oiBSADQbgCaiIKEHwgBUGox8AAQQQQtwECQAJAAkACQAJAIAMoAuADRQRAIANB2AJqIANBiARqKQMANwMAIANB0AJqIANBgARqKQMANwMAIANByAJqIANB+ANqKQMANwMAIANBwAJqIANB8ANqKQMANwMAIAMgAykD6AM3A7gCIAIgChCaAkH/AXEOAgEDAgsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB5PXAABCVAgALIAMtAOABIAMtANgCTw0BCyADQYgDaiADQeABaikDADcDACADQYADaiADQdgBaikDADcDACADQfgCaiADQdABaikDADcDACADQfACaiADQcgBaikDADcDACADIAMpA8ABNwPoAiADQeADaiICQajHwABBBBC3ASADKALgAw0BIANBsARqIANBiARqKQMANwMAIANBqARqIANBgARqKQMANwMAIANBoARqIANB+ANqKQMANwMAIANBmARqIANB8ANqKQMANwMAIAMgAykD6AM3A5AEIAJBqMfAAEEEELcBIAMoAuADRQ0CIAMgAygC5AM2ApADQczEwABBKyADQZADakG8xMAAQcT1wAAQlQIACyADQYgCaiADQeABaikDADcDACADQYACaiADQdgBaikDADcDACADQfgBaiADQdABaikDADcDACADQfABaiADQcgBaikDADcDACADIAMpA8ABNwPoASADQeADaiICQajHwABBBBC3ASADKALgAw0EIANBsAJqIANBgARqKQMANwMAIANBqAJqIANB+ANqKQMANwMAIANBoAJqIANB8ANqKQMANwMAIAMgAykD6AM3A5gCIAMgAygAiQQ2ApACIAMgA0GMBGooAAA2AJMCIAMtAIgEIQUgAkGox8AAQQQQtwEgAygC4AMNBSADKQP4AyEdIAMpA/ADIRogASkD0AYhHiABKQPIBiEbAn4gAykD6AMiISABKQPABiIjWgRAIBogG1StIRwgGiAbfQwBCyAaIBtUrSAaIBtRrXwhHCAaIBtCf4V8CyEkIAMpA4AEIR8gASkD2AYhICAdIB59IRoCQCAcUARAIB0gHlStIR0MAQsgGiAcVK0gHSAeVK18IR0gGiAcfSEaCyAfICB9IRsCQCAdUARAIB8gIFoNAQwMCyAbIB1UIB8gIFRyDQsgGyAdfSEbCyADQRI6ALADIAMgGzcDqAMgAyAaNwOgAyADICQ3A5gDIAMgISAjfTcDkANCASEaQgAhGwJAAkACQCAFDgICAQALQgohGiAFIQJCASEcQgAhHQNAIANByABqIBpCASACQQFxIgobIBtCACAKGyAcIB0QlAIgA0HYAGogGiAbIBogGxCUAiACQQNLIANB4ABqKQMAIRsgA0HQAGopAwAhHSADKQNYIRogAykDSCEcIAJBAXYhAg0ACyADQThqIBwgHSAaIBsQlAIgA0FAaykDACEbIAMpAzghGgwBC0IKIRoLIANB8AJqIgIgGzcDACADIBo3A+gCIANBATYC5AMgA0HE/cAANgLgAyADQgE3AuwDIAMgA0HoAmqtQoCAgICwB4Q3A8gEIAMgA0HIBGo2AugDIANBvARqIANB4ANqEM8BIANBqARqQgA3AwAgA0IANwOgBCACKQMAIRogAykD6AIhGyADKAK8BCICBEAgAygCwAQgAhCMAwsgA0ESOgCwBCADIBs3A5AEIAMgGjcDmAQgA0H4A2ogA0GwAmopAwA3AwAgA0HwA2ogA0GoAmopAwA3AwAgA0HoA2ogA0GgAmopAwA3AwAgA0GEBGogAygAkwI2AAAgAyADKQOYAjcD4AMgAyAFOgCABCADIAMoApACNgCBBCADQegCaiICIANB4ANqIANBkARqIANBkANqEHwgA0G4AmogA0HoAWogAhByIAMoArgCDQYMBwsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB1PXAABCVAgALIAMpA/gDIR0gAykD8AMhGiABKQPQBiEeIAEpA8gGIRsCfiADKQPoAyIhIAEpA8AGIiNaBEAgGiAbVK0hHCAaIBt9DAELIBogG1StIBogG1GtfCEcIBogG0J/hXwLISQgAykDgAQhHyABKQPYBiEgIB0gHn0hGgJAIBxQBEAgHSAeVK0hHQwBCyAaIBxUrSAdIB5UrXwhHSAaIBx9IRoLIB8gIH0hGwJAIB1QBEAgHyAgWg0BDAoLIBsgHVQgHyAgVHINCSAbIB19IRsLIANBEjoAgAQgAyAbNwP4AyADIBo3A/ADIAMgJDcD6AMgAyAhICN9NwPgAyADQZADaiICIANBkARqIANB4ANqEMIBIANBuAJqIANB6AJqIAIQciADKAK4AkUNBSADKAK8AiECIAhBATYCACAIIAI2AgQMBgsgAygC5AMhAiAIQQE2AgAgCCACNgIEDAULIAMgAygC5AM2ArgCQczEwABBKyADQbgCakG8xMAAQfT1wAAQlQIACyADIAMoAuQDNgKQBEHMxMAAQSsgA0GQBGpBvMTAAEHg9MAAEJUCAAsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB0PTAABCVAgALIAMoArwCIQIgCEEBNgIAIAggAjYCBAwBCyADQeABaiADQeACaikDADcDACADQdgBaiICIANB2AJqKQMANwMAIANB0AFqIgUgA0HQAmopAwA3AwAgA0HIAWoiCiADQcgCaikDADcDACADIAMpA8ACNwPAASADQcgDaiAKKQMANwMAIANB0ANqIAUpAwA3AwAgA0HYA2ogAikDADcDACADIAMpA8ABNwPAAyADIAMoAOEBNgK4AyADIANB5AFqKAAANgC7AyADLQDgASEFIANBqARqIAFBgAVqIgJBGGopAwA3AwAgA0GgBGogAkEQaikDADcDACADQZgEaiACQQhqKQMANwMAIANBEjoAsAQgAyACKQMANwOQBEIBIRpCACEbAkACQAJAIAUOAgIBAAtCCiEaIAUhAkIBIRxCACEdA0AgA0EYaiAaQgEgAkEBcSIKGyAbQgAgChsgHCAdEJQCIANBKGogGiAbIBogGxCUAiACQQNLIANBMGopAwAhGyADQSBqKQMAIR0gAykDKCEaIAMpAxghHCACQQF2IQINAAsgA0EIaiAcIB0gGiAbEJQCIANBEGopAwAhGyADKQMIIRoMAQtCCiEaCyADQZgDaiICIBs3AwAgAyAaNwOQAyADQQE2AuQDIANBxP3AADYC4AMgA0IBNwLsAyADICI3A+gBIAMgA0HoAWo2AugDIANB6AJqIANB4ANqEM8BIANB0AJqQgA3AwAgA0IANwPIAiACKQMAIRogAykDkAMhGyADKALoAiICBEAgAygC7AIgAhCMAwsgA0ESOgDYAiADIBs3A7gCIAMgGjcDwAIgA0H4A2oiCiADQdgDaikDADcDACADQfADaiIJIANB0ANqKQMANwMAIANB6ANqIANByANqKQMANwMAIANBhARqIAMoALsDNgAAIAMgAykDwAM3A+ADIAMgBToAgAQgAyADKAK4AzYAgQQgA0GQA2oiAiADQeADaiIFIANBuAJqIg0gA0GQBGoiCxB8IANByAFqIANBmANqIg8pAwA3AwAgA0HQAWogA0GgA2oiECkDADcDACADQdgBaiADQagDaiIOKQMANwMAIANB4AFqIANBsANqKQMANwMAIAMgAykDkAM3A8ABIANB0AJqIAFBGGopAwA3AwAgA0HIAmogAUEQaikDADcDACADQcACaiABQQhqKQMANwMAIANBEjoA2AIgAyABKQMANwO4AiAOIAFBOGopAwA3AwAgECABQTBqKQMANwMAIA8gAUEoaikDADcDACADIAEpAyA3A5ADIAUgDSACEMYBAkACQAJAAkAgAygC4ANFBEAgAUEgaiECIANBqARqIANBgARqKQMANwMAIANBoARqIAopAwA3AwAgA0GYBGogCSkDADcDACADQbQEaiADQYwEaigAADYAACADIAMpA+gDNwOQBCADIAMoAIkENgCxBCADIAMtAIgEIgU6ALAEIANBwAFqIAsQmgJB/wFxDgIBAwILIAMoAuQDIQIgCEEBNgIAIAggAjYCBAwECyADLQDgASAFTw0BCyADQdACaiABQRhqKQMANwMAIANByAJqIAFBEGopAwA3AwAgA0HAAmoiBSABQQhqKQMANwMAIANBEjoA2AIgAyABKQMANwO4AiADQagDaiACQRhqKQMANwMAIANBoANqIAJBEGopAwA3AwAgA0GYA2ogAkEIaikDADcDACADIAIpAwA3A5ADIANB4ANqIANBuAJqIANBkANqEMYBIAMoAuADRQ0BIAMoAuQDIQIgCEEBNgIAIAggAjYCBAwCCyADKQPAASEiIAMpA8gBIRogAykD0AEhHSADKQPYASEeIANB0AJqIAFBGGopAwA3AwAgA0HIAmogAUEQaikDADcDACADQcACaiABQQhqKQMANwMAIANBEjoA2AIgAyABKQMANwO4AiADQagEaiACQRhqKQMANwMAIANBoARqIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADIAIpAwA3A5AEIANB4ANqIANBuAJqIANBkARqEMYBIAMoAuADRQRAIAMpA/gDIR8gAykD8AMhGwJ+IAMpA+gDIiEgIlgEQCAaIBtUrSEcIBogG30MAQsgGiAbVK0gGiAbUa18IRwgGiAbQn+FfAshIyADKQOABCEgIB0gH30hGgJAIBxQBEAgHSAfVK0hHQwBCyAaIBxUrSAdIB9UrXwhHSAaIBx9IRoLIB4gIH0hGwJAIB1QBEAgHiAgWg0BDAYLIBsgHVQgHiAgVHINBSAbIB19IRsLIAhBEjoAKCAIIBs3AyAgCCAaNwMYIAggIzcDECAIICIgIX03AwggCEEANgIADAILIAMoAuQDIQIgCEEBNgIAIAggAjYCBAwBCyADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADQaAEaiADQfgDaikDADcDACADQZgEaiADQfADaikDADcDACADIAMpA+gDNwOQBCADQQM2AuwCIANBnPXAADYC6AIgA0ICNwL0AiADIANBkARqrUKAgICAoAeENwPwASADIANBwAFqrUKAgICAoAeENwPoASADIANB6AFqNgLwAiADQbgCaiICIANB6AJqEM8BIAMgAkHwhcEAQbT1wAAQpwIgAygCBCEKIAMoAgAhCSADQegDaiINIAUoAgA2AgBBkd7BAC0AABogAyADKQK4AjcD4ANBGEEEEPgCIgJFDREgAiAJNgIEIAJB2IbBADYCACACIAMpA+ADNwIMIAIgCjYCCCACQRRqIA0oAgA2AgAgCCACNgIEIAhBATYCAAsgA0HQBGokAAwCCyADQQA2AvADIANBATYC5AMgA0GUh8EANgLgAyADQgQ3AugDIANB4ANqQaiFwQAQswIACyADQQA2AvADIANBATYC5AMgA0GwxMAANgLgAyADQgQ3AugDIANB4ANqQYDEwAAQswIACyAEKAKgAiICDQEgBEGABGogBEHAAmopAwA3AwAgBEH4A2ogBEG4AmopAwA3AwAgBEHwA2ogBEGwAmopAwA3AwAgBCAEKQOoAjcD6AMgAgRAIAhBBHIQ7QILIARBoANqIgUgBEG4AWogBEGAAmoQ3wEgBEESOgDAAyAEQaAEaiABQdgBaikDADcDACAEQZgEaiABQdABaikDADcDACAEQZAEaiABQcgBaikDADcDACAEQRI6AKgEIAQgASkDwAE3A4gEIARBoAJqIgIgBRDUASAEQfgCaiIDIAUgAiAEQYgEahB8IAIgBEHoA2ogAxDrASAEQRI6AMACIARB0AJqIAIQ1wEgBCgC0AINAiAHIAQpA9gCNwMIIAdBIGogBEHwAmopAwA3AwAgB0EYaiAEQegCaikDADcDACAHQRBqIARB4AJqKQMANwMAIAdBADYCAAwMCyAEQawEaiAEKACzATYAACAEQaAEaiIJIARB0AFqKQMANwMAIARBmARqIg0gBEHIAWopAwA3AwAgBEGQBGoiDyAEQcABaikDADcDACAEIAQpA7gBNwOIBCAEIAo6AKgEIAQgBCgCsAE2AKkEIARBoAJqIQggBEGIBGoiECECIwBBoAVrIgMkACADQfADaiIFIAEQgAECQAJAAkACQAJAAkAgAygC8ANFBEAgA0GQAWogA0GYBGopAwA3AwAgA0GIAWogA0GQBGopAwA3AwAgA0GAAWogA0GIBGoiCykDADcDACADQfgAaiADQYAEaiIOKQMANwMAIAMgAykD+AM3A3AgCyABQZgBaikDADcDACAOIAFBkAFqKQMANwMAIANB+ANqIAFBiAFqKQMANwMAIANBEjoAkAQgAyABKQOAATcD8AMgBSACEJoCQf8BcSIFRQ0BIAVB/wFHDQIMAwsgAygC9AMhAiAIQQE2AgAgCCACNgIEDAMLIAMtAJAEIAItACBJDQELIAIpAwghGiABKQOIASEcIAIpAxghHSABKQOYASEfIAEpA5ABIiAgAikDECIifSEbAkACfiABKQOAASIhIAIpAwAiI1oEQCAcIBp9IR4gGiAcVq0MAQsgHCAaQn+FfCEeIBogHFatIBogHFGtfAsiGlAEQCAgICJUrSEcDAELIBogG1atICAgIlStfCEcIBsgGn0hGwsgHyAdfSEaAkACQCAcUARAIB0gH1gNAQwCCyAaIBxUIB0gH1ZyDQEgGiAcfSEaCyADQRI6AMAEIAMgGjcDuAQgAyAbNwOwBCADIB43A6gEIAMgISAjfTcDoAQgA0HwA2pBqMfAAEEEELcBAkACQAJAIAMoAvADRQRAIAMpA4AEIRsgASkDyAYhHCADKQOQBCEhIAEpA9gGIR8gAykDiAQiHSABKQPQBiIgfSEaAkACfiADKQP4AyIkIAEpA8AGIiJaBEAgGyAcfSEeIBsgHFStDAELIBsgHEJ/hXwhHiAbIBxUrSAbIBxRrXwLIiNQBEAgHSAgVK0hGwwBCyAaICNUrSAdICBUrXwhGyAaICN9IRoLICEgH30hHQJAIBtQBEAgHyAhWA0BDAULIB8gIVYgGyAdVnINBCAdIBt9IR0LIANBEjoAkAQgAyAdNwOIBCADIBo3A4AEIAMgHjcD+AMgAyAkICJ9NwPwAyADQbgCaiADQaAEaiADQfADahByAkACQCADKAK4AkUEQCADQbgBaiADQeACaikDADcDACADQbABaiADQdgCaikDADcDACADQagBaiADQdACaikDADcDACADQaABaiADQcgCaikDADcDACADIAMpA8ACNwOYASADQfAAaiADQZgBahCaAkH/AXEiAkUNASACQf8BRw0CDAULIAMoArwCIQIgCEEBNgIAIAggAjYCBAwICyADLQCQASADLQC4AUkNAwsgAykDoAEhGyADKQN4IR0gAykDsAEhISADKQOIASEjIAMpA4ABIh4gAykDqAEiJH0hGgJAAn4gAykDcCInIAMpA5gBIiZaBEAgHSAbfSElIBsgHVatDAELIB0gG0J/hXwhJSAbIB1WrSAbIB1RrXwLIhtQBEAgHiAkVK0hHgwBCyAaIBtUrSAeICRUrXwhHiAaIBt9IRoLICMgIX0hHQJAIB5QBEAgISAjWA0BDAkLIB0gHlQgISAjVnINCCAdIB59IR0LIANBEjoAwAQgAyAdNwO4BCADIBo3A7AEIAMgJTcDqAQgAyAnICZ9NwOgBCADQdACaiICIAFBmAVqKQMANwMAIANByAJqIgUgAUGQBWopAwA3AwAgA0HAAmoiCyABQYgFaikDADcDACADQRI6ANgCIAMgASkDgAU3A7gCIANBiARqIg4gAUHYAWopAwA3AwAgA0GABGoiFSABQdABaikDADcDACADQfgDaiABQcgBaikDADcDACADQRI6AJAEIAMgASkDwAE3A/ADIANBwAFqIhYgA0GgBGogA0G4AmoiFyADQfADaiIYEHYgGEGox8AAQQQQtwECQAJAAkACQAJAAkACQAJAIAMoAvADRQRAIANB2AJqIANBmARqKQMANwMAIAIgA0GQBGopAwA3AwAgBSAOKQMANwMAIAsgFSkDADcDACADIAMpA/gDNwO4AiAWIBcQmgJB/wFxDgIBAwILIAMgAygC9AM2AqAEQczEwABBKyADQaAEakG8xMAAQejywAAQlQIACyADLQDgASADLQDYAk8NAQsgA0GIA2ogA0HgAWopAwA3AwAgA0GAA2ogA0HYAWopAwA3AwAgA0H4AmogA0HQAWopAwA3AwAgA0HwAmogA0HIAWopAwA3AwAgAyADKQPAATcD6AIgA0HwA2oiAkGox8AAQQQQtwEgAygC8AMNASADQcAEaiADQZgEaikDADcDACADQbgEaiADQZAEaikDADcDACADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADIAMpA/gDNwOgBCACQajHwABBBBC3ASADKALwA0UNAiADIAMoAvQDNgKQA0HMxMAAQSsgA0GQA2pBvMTAAEHI8sAAEJUCAAsgA0GIAmogA0HgAWopAwA3AwAgA0GAAmogA0HYAWopAwA3AwAgA0H4AWogA0HQAWopAwA3AwAgA0HwAWogA0HIAWopAwA3AwAgAyADKQPAATcD6AEgA0HwA2oiAkGox8AAQQQQtwEgAygC8AMNAiADQbACaiADQZAEaikDADcDACADQagCaiADQYgEaikDADcDACADQaACaiADQYAEaikDADcDACADIAMpA/gDNwOYAiADIAMoAJkENgKQAiADIANBnARqKAAANgCTAiADLQCYBCEFIAJBqMfAAEEEELcBIAMoAvADDQMgAykDgAQhGiADKQOQBCEdIAMpA4gEIiEgIH0hGwJAAn4gIiADKQP4AyIjWARAIBogHH0hHiAaIBxUrQwBCyAaIBxCf4V8IR4gGiAcVK0gGiAcUa18CyIaUARAICAgIVatIRwMAQsgGiAbVq0gICAhVq18IRwgGyAafSEbCyAdIB99IRoCQCAcUARAIB0gH1oNAQwOCyAaIBxUIB0gH1RyDQ0gGiAcfSEaCyADQRI6ALADIAMgGjcDqAMgAyAbNwOgAyADIB43A5gDIAMgIyAifTcDkANCASEbQgAhGgJAAkACQCAFDgICAQALQgohGyAFIQJCASEdQgAhHANAIANBQGsgG0IBIAJBAXEiCxsgGkIAIAsbIB0gHBCUAiADQdAAaiAbIBogGyAaEJQCIAJBA0sgA0HYAGopAwAhGiADQcgAaikDACEcIAMpA1AhGyADKQNAIR0gAkEBdiECDQALIANBMGogHSAcIBsgGhCUAiADQThqKQMAIRogAykDMCEbDAELQgohGwsgA0HwAmoiAiAaNwMAIAMgGzcD6AIgA0EBNgL0AyADQcT9wAA2AvADIANCATcC/AMgAyADQegCaq1CgICAgLAHhDcDmAUgAyADQZgFajYC+AMgA0GMBWogA0HwA2oQzwEgA0G4BGpCADcDACADQgA3A7AEIAIpAwAhGiADKQPoAiEbIAMoAowFIgIEQCADKAKQBSACEIwDCyADQRI6AMAEIAMgGzcDoAQgAyAaNwOoBCADQYgEaiADQbACaikDADcDACADQYAEaiADQagCaikDADcDACADQfgDaiADQaACaikDADcDACADQZQEaiADKACTAjYAACADIAMpA5gCNwPwAyADIAU6AJAEIAMgAygCkAI2AJEEIANB6AJqIgIgA0HwA2ogA0GgBGogA0GQA2oQdiADQbgCaiADQegBaiACEHIgAygCuAINBAwGCyADIAMoAvQDNgKgBEHMxMAAQSsgA0GgBGpBvMTAAEHY8sAAEJUCAAsgAykDgAQhGiADKQOQBCEdIAMpA4gEIiEgIH0hGwJAAn4gIiADKQP4AyIjWARAIBogHH0hHiAaIBxUrQwBCyAaIBxCf4V8IR4gGiAcVK0gGiAcUa18CyIaUARAICAgIVatIRwMAQsgGiAbVq0gICAhVq18IRwgGyAafSEbCyAdIB99IRoCQCAcUARAIB0gH1oNAQwMCyAaIBxUIB0gH1RyDQsgGiAcfSEaCyADQRI6AJAEIAMgGjcDiAQgAyAbNwOABCADIB43A/gDIAMgIyAifTcD8AMgA0GQA2oiAiADQaAEaiADQfADahDCASADQbgCaiADQegCaiACEHIgAygCuAJFDQQgAygCvAIhAiAIQQE2AgAgCCACNgIEDAkLIAMgAygC9AM2AqAEQczEwABBKyADQaAEakG8xMAAQdzxwAAQlQIACyADIAMoAvQDNgKgBEHMxMAAQSsgA0GgBGpBvMTAAEHM8cAAEJUCAAsgAygCvAIhAiAIQQE2AgAgCCACNgIEDAYLIAMgAygC9AM2ApADQczEwABBKyADQZADakG8xMAAQfjywAAQlQIACyADQeABaiADQeACaikDADcDACADQdgBaiICIANB2AJqKQMANwMAIANB0AFqIgUgA0HQAmopAwA3AwAgA0HIAWoiCyADQcgCaikDADcDACADIAMpA8ACNwPAASADQcgDaiALKQMANwMAIANB0ANqIAUpAwA3AwAgA0HYA2ogAikDADcDACADIAMpA8ABNwPAAyADIAMoAOEBNgK4AyADIANB5AFqKAAANgC7AyADLQDgASEFIANBuARqIAFBgAVqIgJBGGopAwA3AwAgA0GwBGogAkEQaikDADcDACADQagEaiACQQhqKQMANwMAIANBEjoAwAQgAyACKQMANwOgBEIBIRtCACEaAkACQAJAIAUOAgIBAAtCCiEbIAUhAkIBIR1CACEcA0AgA0EQaiAbQgEgAkEBcSILGyAaQgAgCxsgHSAcEJQCIANBIGogGyAaIBsgGhCUAiACQQNLIANBKGopAwAhGiADQRhqKQMAIRwgAykDICEbIAMpAxAhHSACQQF2IQINAAsgAyAdIBwgGyAaEJQCIANBCGopAwAhGiADKQMAIRsMAQtCCiEbCyADQZgDaiICIBo3AwAgAyAbNwOQAyADQQE2AvQDIANBxP3AADYC8AMgA0IBNwL8AyADIANBkANqrUKAgICAsAeENwPoASADIANB6AFqNgL4AyADQegCaiADQfADahDPASADQdACakIANwMAIANCADcDyAIgAikDACEaIAMpA5ADIRsgAygC6AIiAgRAIAMoAuwCIAIQjAMLIANBEjoA2AIgAyAbNwO4AiADIBo3A8ACIANBiARqIgsgA0HYA2opAwA3AwAgA0GABGoiDiADQdADaikDADcDACADQfgDaiADQcgDaikDADcDACADQZQEaiADKAC7AzYAACADIAMpA8ADNwPwAyADIAU6AJAEIAMgAygCuAM2AJEEIANBkANqIgIgA0HwA2oiBSADQbgCaiIVIANBoARqEHYgA0HIAWogA0GYA2oiFikDADcDACADQdABaiADQaADaiIXKQMANwMAIANB2AFqIANBqANqIhgpAwA3AwAgA0HgAWogA0GwA2opAwA3AwAgAyADKQOQAzcDwAEgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIBggAUE4aikDADcDACAXIAFBMGopAwA3AwAgFiABQShqKQMANwMAIAMgASkDIDcDkAMgBSAVIAIQxgEgAygC8AMEQCADKAL0AyECIAhBATYCACAIIAI2AgQMBQsgAUEgaiECIANBuARqIANBkARqKQMANwMAIANBsARqIAspAwA3AwAgA0GoBGogDikDADcDACADQcQEaiADQZwEaigAADYAACADIAMpA/gDNwOgBCADIAMoAJkENgDBBCADIAMtAJgEIgU6AMAEAkACQCADQcABaiADQaAEahCaAkH/AXEiCwRAIAtB/wFHDQEMAgsgAy0A4AEgBUkNAQsgA0HQBGogA0HIAWopAwA3AwAgA0HYBGogA0HQAWopAwA3AwAgA0HgBGogA0HYAWopAwA3AwAgAyADKQPAATcDyAQgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIANBuARqIAJBGGopAwA3AwAgA0GwBGogAkEQaikDADcDACADQagEaiACQQhqKQMANwMAIAMgAikDADcDoAQgA0HwA2ogA0G4AmogA0GgBGoQxgEgAygC8ANFBEAgA0GABWogA0GQBGopAwA3AwAgA0H4BGogA0GIBGopAwA3AwAgA0HwBGogA0GABGopAwA3AwAgAyADKQP4AzcD6AQgCEEIaiADQcgEaiADQegEahDfASAIQQA2AgAgCEESOgAoDAYLIAMoAvQDIQIgCEEBNgIAIAggAjYCBAwFCyADQdACaiABQRhqKQMANwMAIANByAJqIAFBEGopAwA3AwAgA0HAAmogAUEIaikDADcDACADQRI6ANgCIAMgASkDADcDuAIgA0GoA2ogAkEYaikDADcDACADQaADaiACQRBqKQMANwMAIANBmANqIAJBCGopAwA3AwAgAyACKQMANwOQAyADQfADaiADQbgCaiADQZADahDGASADKALwA0UEQCADQcAEaiADQZgEaikDADcDACADQbgEaiADQZAEaikDADcDACADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADIAMpA/gDNwOgBCADQQM2AuwCIANBoPLAADYC6AIgA0ICNwL0AiADIANBoARqrUKAgICAoAeENwPwASADIANBwAFqrUKAgICAoAeENwPoASADIANB6AFqNgLwAiADQeQDaiICIANB6AJqEIsCIAJBuPLAABCGAiECIAhBATYCACAIIAI2AgQMBQsgAygC9AMhAiAIQQE2AgAgCCACNgIEDAQLIANBAzYC9AMgA0Gk8cAANgLwAyADQgI3AvwDIAMgA0GYAWqtQoCAgICgB4Q3A8ACIAMgA0HwAGqtQoCAgICgB4Q3A7gCIAMgA0G4Amo2AvgDIANBoARqIgIgA0HwA2oQzwEgA0HgAGogAkHwhcEAQbzxwAAQpwIgAygCZCEFIAMoAmAhCyADQfgDaiIOIANBqARqKAIANgIAQZHewQAtAAAaIAMgAykCoAQ3A/ADQRhBBBD4AiICBEAgAiALNgIEIAJB2IbBADYCACACIAMpA/ADNwIMIAIgBTYCCCACQRRqIA4oAgA2AgAgCEEBNgIAIAggAjYCBAwECwwSCwwDCwwCCyADQYgEaiABQYABaiIFQRhqKQMANwMAIANBgARqIAVBEGopAwA3AwAgA0H4A2oiCyAFQQhqKQMANwMAIANBAzYCvAIgA0HM8MAANgK4AiADQgI3AsQCIANBEjoAkAQgAyACrUKAgICAoAeENwOoBCADIANB8ANqrUKAgICAoAeENwOgBCADIAUpAwA3A/ADIAMgA0GgBGo2AsACIANBkANqIgIgA0G4AmoQzwEgA0HoAGogAkHwhcEAQeTwwAAQpwIgAygCbCEFIAMoAmghDiALIANBmANqKAIANgIAQZHewQAtAAAaIAMgAykCkAM3A/ADQRhBBBD4AiICRQ0PIAIgDjYCBCACQdiGwQA2AgAgAiADKQPwAzcCDCACIAU2AgggAkEUaiALKAIANgIAIAhBATYCACAIIAI2AgQLIANBoAVqJAAMAQsgA0EANgKABCADQQE2AvQDIANBsMTAADYC8AMgA0IENwL4AyADQfADakGAxMAAELMCAAsgBCgCoAJFBEAgECAEQagCahDXASAEKAKIBEUEQCAHIAQpA5AENwMIIAdBIGogBEGoBGopAwA3AwAgB0EYaiAJKQMANwMAIAdBEGogDSkDADcDACAHQQA2AgAMDQsgBCgCjAQhAiAHQQE2AgAgByACNgIEDAwLIAQgBCgCpAIiAjYC+AIgCSABQdgFaikDADcDACANIAFB0AVqKQMANwMAIA8gAUHIBWopAwA3AwAgBCABKQPABTcDiAQgBEESOgCoBCAEQYgBaiAEQYgEahCaAkH/AXEiBUH/AUYgCkESSSAFG0UEQCAHIAI2AgQgB0EBNgIADAwLIAdCADcDCCAHQSBqQgA3AwAgB0EYakIANwMAIAdBEGpCADcDACAEQfgCahDtAiAHQQA2AgAMCwsgB0IANwMIIAdBADYCACAHQSBqQgA3AwAgB0EYakIANwMAIAdBEGpCADcDACAEQaACakEEchDtAgwKCyAEKALUAiECIAdBATYCACAHIAI2AgQMCQsgBEGgAmpBuMTAAEEBEHcgBCgCoAJFBEAgByAEKQOoAjcDCCAHQSBqIARBwAJqKQMANwMAIAdBGGogBEG4AmopAwA3AwAgB0EQaiAEQbACaikDADcDACAHQQA2AgAMCQsgBCAEKAKkAjYCiARBzMTAAEErIARBiARqQbzEwABB9NjAABCVAgALIAQgHDcDoAQgBCAaNwOYBCAEIB03A5AEIAQgGzcDiAQgBEGgAmoiCCAEQYgEaiICELkBIAQoAqACDQUgBEEgaiAEQcACaiILKQMAIho3AwAgBEEYaiAEQbgCaiIPKQMAIhs3AwAgBEEQaiAEQbACaiIQKQMAIhw3AwAgBEGQAWogHDcDACAEQZgBaiAbNwMAIARBoAFqIBo3AwAgBCAEKQOoAiIaNwMIIAQgBCgAyQI2AgAgBCAEQcwCaiIOKAAANgADIAQgGjcDiAEgBCAELQDIAiIKOgCoASAEQawBaiAEKAADNgAAIAQgBCgCADYAqQEgBEGgBGogAUG4BWopAwA3AwAgBEGYBGogAUGwBWopAwA3AwAgBEGQBGogAUGoBWopAwA3AwAgBEESOgCoBCAEIAEpA6AFNwOIBCMAQfADayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKQM4IhpCAFkEQCABKQMgIRsgASkDKCEcIAEpAzAhHSADIBo3A8gBIAMgHTcDwAEgAyAcNwO4ASADIBs3A7ABIANBmANqQgA3AwAgA0GQA2pCADcDACADQYgDakIANwMAIANCADcDgAMgA0GwAWogA0GAA2oQmgJB/wFxQf8BRw0BCyADQcgBaiABQSBqIgVBGGopAwA3AwAgA0HAAWogBUEQaikDADcDACADQbgBaiAFQQhqKQMANwMAIAMgBSkDADcDsAEgAykDsAEhGwJ+IANBsAFqQfjCwABBIBCtAgRAIAMpA8gBQn+FIhxCACADKQO4ASIdfSIeUEIAIBt9IhtCAFIiCUF/c3EiBSADKQPAAUJ/hSIaIAWtfCIfIBpUcSINrXwgHCANGyEcIB8gGiAFGyEaIB1Cf4UgHiAJGwwBCyADKQPIASEcIAMpA8ABIRogAykDuAELIR0gAyAcNwPIAyADIBo3A8ADIAMgHTcDuAMgAyAbNwOwAyADQYADaiADQbADahC5ASADKAKAAw0BIAIpAwgiGyADKQOQA3wiGiAbVCEFIAIpAxAiHCADKQOYA3wiGyAcVCEJIAIpAxgiHSADKQOgA3wiHCAdVCENAkAgAikDACIdIAMpA4gDfCIeIB1aBH4gBa0FIBpCAXwiGlCtIAWtfAsiHVAEfiAJrQUgGyAbIB18IhtWrSAJrXwLIh1QBEAgDUUNAQwMCyANDQsgHCAcIB18IhxWDQsLIAJBEjoAICACIBw3AxggAiAbNwMQIAIgGjcDCCACIB43AwALIANBgANqIgUgARCDASADKAKAAw0BIAMpA6ADISMgAykDmAMhJCADKQOQAyEbIAMpA4gDIScgA0H4AWogAUHYAWopAwA3AwAgA0HwAWogAUHQAWopAwA3AwAgA0HoAWogAUHIAWopAwA3AwAgA0ESOgCAAiADIAEpA8ABNwPgASADQfgCaiACQSBqKQMANwMAIANB8AJqIAJBGGopAwA3AwAgA0HoAmogAkEQaikDADcDACADQeACaiACQQhqKQMANwMAIAMgAikDADcD2AIgA0GQAmoiAkIANwMAIANCgICQu7rWrfANNwOIAiADQQE2AoQDIANBxP3AADYCgAMgA0IBNwKMAyADIANBiAJqrUKAgICAsAeEIig3A+gDIAMgA0HoA2o2AogDIANB2ANqIAUQzwEgA0HIA2pCADcDACADQgA3A8ADIAIpAwAhGiADKQOIAiEcIAMoAtgDIgIEQCADKALcAyACEIwDCyADQRI6ANADIAMgHDcDsAMgAyAaNwO4AyADQZgDaiABQYAFaiICQRhqKQMANwMAIANBkANqIAJBEGopAwA3AwAgA0GIA2ogAkEIaikDADcDACADQRI6AKADIAMgAikDADcDgAMgA0GIAmogA0GAA2oiBSADQdgCaiADQbADahB2IAVBqMfAAEEEELcBIAMoAoADDQIgAykDkAMhHSABKQPIBiEcIAMpA6ADISUgASkD2AYhHyADKQOYAyIeIAEpA9AGIiB9IRoCQAJ+IAMpA4gDIikgASkDwAYiIloEQCAdIBx9ISEgHCAdVq0MAQsgHSAcQn+FfCEhIBwgHVatIBwgHVGtfAsiJlAEQCAeICBUrSEdDAELIBogJlStIB4gIFStfCEdIBogJn0hGgsgJSAffSEeAkAgHVAEQCAfICVYDQEMDAsgHyAlViAdIB5Wcg0LIB4gHX0hHgsgA0ESOgCgAyADIB43A5gDIAMgGjcDkAMgAyAhNwOIAyADICkgIn03A4ADIANBsAFqIANBiAJqIANBgANqIgUQciADKAKwAQ0DIANBqAFqIANB2AFqKQMANwMAIANBoAFqIANB0AFqKQMANwMAIANBmAFqIANByAFqKQMANwMAIANBkAFqIANBwAFqKQMANwMAIAMgAykDuAE3A4gBIANBmANqIAJBGGopAwA3AwAgA0GQA2ogAkEQaikDADcDACADQYgDaiACQQhqKQMANwMAIANBEjoAoAMgAyACKQMANwOAAyADQeAAaiADQeABaiADQYgBaiAFEHYgAykDaCEdIAMpA3ghJSAkIAMpA3AiHn0hGgJAAn4gAykDYCImICdYBEAgGyAdfSEhIBsgHVStDAELIBsgHUJ/hXwhISAbIB1UrSAbIB1RrXwLIhtQBEAgHiAkVq0hHQwBCyAaIBtUrSAeICRWrXwhHSAaIBt9IRoLICMgJX0hHgJAIB1QBEAgIyAlWg0BDAwLICMgJVQgHSAeVnINCyAeIB19IR4LIANBEjoAWCADIB43A1AgAyAaNwNIIAMgITcDQCADICcgJn03AzggA0GAA2pBqMfAAEEEELcBAkACQAJAAkACQCADKAKAA0UEQCADQdABaiADQagDaikDADcDACADQcgBaiADQaADaikDADcDACADQcABaiADQZgDaikDADcDACADQbgBaiADQZADaikDADcDACADIAMpA4gDNwOwASADQThqIANBsAFqEJoCQf8BcQ4CAQMCCyADIAMoAoQDNgKwA0HMxMAAQSsgA0GwA2pBvMTAAEHQ+MAAEJUCAAsgAy0AWCADLQDQAU8NAQsgA0GAAmogA0HYAGopAwA3AwAgA0H4AWogA0HQAGopAwA3AwAgA0HwAWogA0HIAGopAwA3AwAgA0HoAWogA0FAaykDADcDACADIAMpAzg3A+ABIANBgANqIgJBqMfAAEEEELcBIAMoAoADDQEgA0HQAmogA0GgA2opAwA3AwAgA0HIAmogA0GYA2opAwA3AwAgA0HAAmogA0GQA2opAwA3AwAgAyADKQOIAzcDuAIgAyADKACpAzYCsAIgAyADQawDaigAADYAswIgAy0AqAMhBSACQajHwABBBBC3ASADKAKAA0UNAiADIAMoAoQDNgKwA0HMxMAAQSsgA0GwA2pBvMTAAEGw+MAAEJUCAAsgA0GoAmogA0HYAGopAwA3AwAgA0GgAmogA0HQAGopAwA3AwAgA0GYAmogA0HIAGopAwA3AwAgA0GQAmogA0FAaykDADcDACADIAMpAzg3A4gCIANBgANqIgJBqMfAAEEEELcBIAMoAoADDQYgA0HQA2ogA0GoA2opAwA3AwAgA0HIA2ogA0GgA2opAwA3AwAgA0HAA2ogA0GYA2opAwA3AwAgA0G4A2ogA0GQA2opAwA3AwAgAyADKQOIAzcDsAMgAkGox8AAQQQQtwEgAygCgAMNByADKQOQAyEaIAMpA6ADIR4gAykDmAMiISAgfSEbAkACfiAiIAMpA4gDIiNYBEAgGiAcfSEdIBogHFStDAELIBogHEJ/hXwhHSAaIBxUrSAaIBxRrXwLIhxQBEAgICAhVq0hGgwBCyAbIBxUrSAgICFWrXwhGiAbIBx9IRsLIB4gH30hHAJAIBpQBEAgHiAfWg0BDA4LIB4gH1QgGiAcVnINDSAcIBp9IRwLIANBEjoAoAMgAyAcNwOYAyADIBs3A5ADIAMgHTcDiAMgAyAjICJ9NwOAAyADQdgCaiICIANBsANqIANBgANqEMIBIANBsAFqIANBiAJqIAIQciADKAKwAQ0IDAkLIAMgAygChAM2ArADQczEwABBKyADQbADakG8xMAAQcD4wAAQlQIACyADKQOQAyEaIAMpA6ADIR4gAykDmAMiISAgfSEbAkACfiAiIAMpA4gDIiNYBEAgGiAcfSEdIBogHFStDAELIBogHEJ/hXwhHSAaIBxUrSAaIBxRrXwLIhxQBEAgICAhVq0hGgwBCyAbIBxUrSAgICFWrXwhGiAbIBx9IRsLIB4gH30hHAJAIBpQBEAgHiAfWg0BDAwLIB4gH1QgGiAcVnINCyAcIBp9IRwLIANBEjoA+AIgAyAcNwPwAiADIBs3A+gCIAMgHTcD4AIgAyAjICJ9NwPYAkIBIRtCACEcAkACQAJAIAUOAgIBAAtCCiEbIAUhAkIBIR5CACEaA0AgA0EYaiAbQgEgAkEBcSIJGyAcQgAgCRsgHiAaEJQCIANBKGogGyAcIBsgHBCUAiACQQNLIANBMGopAwAhHCADQSBqKQMAIRogAykDKCEbIAMpAxghHiACQQF2IQINAAsgA0EIaiAeIBogGyAcEJQCIANBEGopAwAhHCADKQMIIRsMAQtCCiEbCyADQZACaiICIBw3AwAgAyAbNwOIAiADQQE2AoQDIANBxP3AADYCgAMgA0IBNwKMAyADICg3A9gDIAMgA0HYA2o2AogDIANB4ABqIANBgANqEM8BIANByANqQgA3AwAgA0IANwPAAyACKQMAIRogAykDiAIhGyADKAJgIgIEQCADKAJkIAIQjAMLIANBEjoA0AMgAyAbNwOwAyADIBo3A7gDIANBmANqIANB0AJqKQMANwMAIANBkANqIANByAJqKQMANwMAIANBiANqIANBwAJqKQMANwMAIANBpANqIAMoALMCNgAAIAMgAykDuAI3A4ADIAMgBToAoAMgAyADKAKwAjYAoQMgA0GIAmoiAiADQYADaiADQbADaiADQdgCahB2IANBsAFqIANB4AFqIAIQciADKAKwAUUNByADKAK0ASECIAhBATYCACAIIAI2AgQMCAsgAygChAMhAiAIQQE2AgAgCCACNgIEDAcLIAMoAoQDIQIgCEEBNgIAIAggAjYCBAwGCyADIAMoAoQDNgKwA0HMxMAAQSsgA0GwA2pBvMTAAEHg+MAAEJUCAAsgAygCtAEhAiAIQQE2AgAgCCACNgIEDAQLIAMgAygChAM2ArADQczEwABBKyADQbADakG8xMAAQcz3wAAQlQIACyADIAMoAoQDNgLYAkHMxMAAQSsgA0HYAmpBvMTAAEG898AAEJUCAAsgAygCtAEhAiAIQQE2AgAgCCACNgIEDAELIANB2ABqIANB2AFqKQMANwMAIANB0ABqIANB0AFqKQMANwMAIANByABqIANByAFqKQMANwMAIANBQGsgA0HAAWopAwA3AwAgAyADKQO4ATcDOCADQZgDaiICIAFBmAFqKQMANwMAIANBkANqIgkgAUGQAWopAwA3AwAgA0GIA2oiBSABQYgBaikDADcDACADQRI6AKADIAMgASkDgAE3A4ADIAgCfwJAAkACQCADQThqIANBgANqEJoCQf8BcQ4CAAIBCyADLQBYQRFLDQELIAIgAUGAAWoiAkEYaikDADcDACAJIAJBEGopAwA3AwAgBSACQQhqKQMANwMAIANBAzYCtAEgA0GI+MAANgKwASADQgI3ArwBIANBEjoAoAMgAyADQYADaq1CgICAgKAHhDcDuAMgAyADQThqrUKAgICAoAeENwOwAyADIAIpAwA3A4ADIAMgA0GwA2o2ArgBIANB2AJqIgIgA0GwAWoQzwEgAyACQfCFwQBBoPjAABCnAiADKAIEIQkgAygCACENIAUgA0HgAmooAgA2AgBBkd7BAC0AABogAyADKQLYAjcDgANBGEEEEPgCIgJFDQ4gAiANNgIEIAJB2IbBADYCACACIAMpA4ADNwIMIAIgCTYCCCACQRRqIANBiANqKAIANgIAIAggAjYCBEEBDAELIAEpA4gBIRogAykDQCEcIAEpA5gBIR4gAykDUCEfIAMpA0giICABKQOQASIifSEbAkACfiADKQM4IiEgASkDgAEiI1oEQCAcIBp9IR0gGiAcVq0MAQsgHCAaQn+FfCEdIBogHFatIBogHFGtfAsiHFAEQCAgICJUrSEaDAELIBsgHFStICAgIlStfCEaIBsgHH0hGwsgHyAefSEcAkAgGlAEQCAeIB9YDQEMBQsgGiAcViAeIB9Wcg0EIBwgGn0hHAsgCEESOgAoIAggHDcDICAIIBs3AxggCCAdNwMQIAggISAjfTcDCEEACzYCAAsgA0HwA2okAAwCCyADQQA2ApADIANBATYChAMgA0GUh8EANgKAAyADQgQ3AogDIANBgANqQaiFwQAQswIACyADQQA2ApADIANBATYChAMgA0GwxMAANgKAAyADQgQ3AogDIANBgANqQYDEwAAQswIACyAEKAKgAiICDQYgBEHwAWogCykDADcDACAEQegBaiAPKQMANwMAIARB4AFqIBApAwA3AwAgBEH8AWogDigAADYAACAEIAQpA6gCNwPYASAEIAQoAMkCNgD5ASAEIAQtAMgCIgU6APgBIAIEQCAIQQRyEO0CCwJAAkACQCAEQdgBaiAEQYgBahCaAiICQX9BACAFIApJGyACQf8BcRtB/wFxQQJPBEAgAUGgBWohBSABKQM4IhpCAFMNAyABKQMgIRsgASkDKCEcIAEpAzAhHSAEIBo3A6AEIAQgHTcDmAQgBCAcNwOQBCAEIBs3A4gEIARBuAJqIgNCADcDACAEQbACaiIIQgA3AwAgBEGoAmpCADcDACAEQgA3A6ACIARBiARqIgogBEGgAmoiCRCaAkH/AXFBAk8NAyAEQaAEaiABQRhqKQMANwMAIARBmARqIAFBEGopAwA3AwAgBEGQBGogAUEIaikDADcDACAEQRI6AKgEIAQgASkDADcDiAQgBEHIBGogAUEgaiICQRhqKQMANwMAIARBwARqIAJBEGopAwA3AwAgBEG4BGogAkEIaikDADcDACAEIAIpAwA3A7AEIAkgCiAEQbAEahDGASAEKAKgAg0BIARB4ANqIARBwAJqKQMANwMAIARB2ANqIAMpAwA3AwAgBEHQA2ogCCkDADcDACAEIAQpA6gCNwPIAyAEQfgCaiICIARByANqIAUQ3wEgBEESOgCYAyAEQdACaiACENcBIAQoAtACRQ0CIAQoAtQCIQIgB0EBNgIAIAcgAjYCBAwLCyAEQawEaiAEKAADNgAAIARBoARqIgIgBEEgaikDADcDACAEQZgEaiIFIARBGGopAwA3AwAgBEGQBGoiAyAEQRBqKQMANwMAIAQgBCkDCDcDiAQgBCAKOgCoBCAEIAQoAgA2AKkEIARBoAJqIAEgBEGIBGoiCBBnIAQoAqACRQRAIAggBEGoAmoQ1wEgBCgCiARFBEAgBEFAayAEQagEaikDADcDACAEQThqIAIpAwA3AwAgBEEwaiAFKQMANwMAIAQgBCkDkAQ3AyggBCkDKCEaIAcCfiAEQShqQfjCwABBIBCtAgRAIAQpAzAiG0J/hUIAIBt9IhxCACAafSIaQgBSIgIbIRsgBCkDOEJ/hSIdIBxQIAJBf3NxIgKtfCIeIB0gAhshHCACIB0gHlZxrSAEKQNAQn+FfAwBCyAEKQM4IRwgBCkDMCEbIAQpA0ALNwMgIAcgHDcDGCAHIBs3AxAgByAaNwMIIAdBADYCAAwMCyAEKAKMBCECIAdBATYCACAHIAI2AgQMCwsgBCAEKAKkAiIINgL4AiACIAFB2AVqKQMANwMAIAUgAUHQBWopAwA3AwAgAyABQcgFaikDADcDACAEIAEpA8AFNwOIBCAEQRI6AKgEIARBiAFqIARBiARqEJoCQf8BcSICQf8BRiAKQRJJIAIbRQRAIAcgCDYCBCAHQQE2AgAMCwsgB0IANwMIIAdBIGpCADcDACAHQRhqQgA3AwAgB0EQakIANwMAIARB+AJqEO0CIAdBADYCAAwKCyAEKAKkAiECIAdBATYCACAHIAI2AgQMCQsgBEHgAGogBEHwAmopAwA3AwAgBEHYAGogBEHoAmopAwA3AwAgBEHQAGogBEHgAmopAwA3AwAgBCAEKQPYAjcDSCAEKQNIIRogBwJ+IARByABqQfjCwABBIBCtAgRAIAQpA1AiG0J/hUIAIBt9IhxCACAafSIaQgBSIgIbIRsgBCkDWEJ/hSIdIBxQIAJBf3NxIgKtfCIeIB0gAhshHCACIB0gHlZxrSAEKQNgQn+FfAwBCyAEKQNYIRwgBCkDUCEbIAQpA2ALNwMgIAcgHDcDGCAHIBs3AxAgByAaNwMIIAdBADYCAAwICyAEQaACaiICIAEgBRDfASAEQRI6AMACIARBiARqIAIQ1wEgBCgCiARFBEAgBEGAAWogBEGoBGopAwA3AwAgBEH4AGogBEGgBGopAwA3AwAgBEHwAGogBEGYBGopAwA3AwAgBCAEKQOQBDcDaCAEKQNoIRogBwJ+IARB6ABqQfjCwABBIBCtAgRAIAQpA3AiG0J/hUIAIBt9IhxCACAafSIaQgBSIgIbIRsgBCkDeEJ/hSIdIBxQIAJBf3NxIgKtfCIeIB0gAhshHCACIB0gHlZxrSAEKQOAAUJ/hXwMAQsgBCkDeCEcIAQpA3AhGyAEKQOAAQs3AyAgByAcNwMYIAcgGzcDECAHIBo3AwggB0EANgIADAgLIAQoAowEIQIgB0EBNgIAIAcgAjYCBAwHCyAEKALUAiECIAdBATYCACAHIAI2AgQMBgsgBCgC1AIhAiAHQQE2AgAgByACNgIEDAULIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgBEGgAmpBBHIQ7QIMBAsgBCgCpAIhAiAHQQE2AgAgByACNgIEDAMLIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgBEGgAmpBBHIQ7QIMAgsgBCgCpAIhAiAHQQE2AgAgByACNgIEDAELIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgBEGgAmpBBHIQ7QILIARB0ARqJAAMAQtBBEEYEKkDAAsgAAJ/AkACQAJAAkACQAJAIAYoAlBFBEAgBikDcCEjIAYpA2ghJSAGKQNgIAYpA1ghJiMAQdABayIFJAAgBUHoAGogAUHYAWopAwA3AwAgBUHgAGogAUHQAWopAwA3AwAgBUHYAGogAUHIAWopAwA3AwAgBSABKQPAATcDUCAFQaABakG4xMAAQQEQtwECQAJAAkACQAJAAkAgBSgCoAFFBEAgBUGYAWoiAiAFQcgBaikDADcDACAFQZABaiAFQcABaikDADcDACAFQYgBaiAFQbgBaikDADcDACAFQYABaiAFQbABaikDADcDACAFIAUpA6gBNwN4AkACQCAFQdAAaiAFQfgAakEgEK0CRQRAIAItAABBEkYNAQsgBUGgAWpBqMfAAEEEELcBAkACQAJAAkAgBSgCoAFFBEAgBUGYAWogBUHIAWopAwA3AwAgBUGQAWogBUHAAWopAwA3AwAgBUGIAWogBUG4AWopAwA3AwAgBUGAAWogBUGwAWopAwA3AwAgBSAFKQOoATcDeCARIAVB+ABqEJoCIgJB/wFxDgMBAgMCCyAFIAUoAqQBNgJQQczEwABBKyAFQdAAakG8xMAAQYjawAAQlQIACyARLQAgIgIgBS0AmAEiA0kNASACIANHIQILIAJB/wFxQQFGDQELIAVBoAFqQajHwABBBBC3ASAFKAKgAQ0EIAVBmAFqIAVByAFqKQMANwMAIAVBkAFqIAVBwAFqKQMANwMAIAVBiAFqIAVBuAFqKQMANwMAIAVBgAFqIAVBsAFqKQMANwMAIAUgBSkDqAE3A3gCQCAGIAVB+ABqEJoCIgJB/wFxBH8gAgUgBi0AICICIAUtAJgBIgNJDQEgAiADRwtB/wFxQQFGDQELIAVB6ABqIAFBuAJqKQMANwMAIAVB4ABqIAFBsAJqKQMANwMAIAVB2ABqIAFBqAJqKQMANwMAIAVBEjoAcCAFIAEpA6ACNwNQIAVBoAFqQajHwABBBBC3ASAFKAKgAUUNAiAFIAUoAqQBNgJ4QczEwABBKyAFQfgAakG8xMAAQejZwAAQlQIACyAFQQA2ArABQQEhAiAFQQE2AqQBIAVBwNnAADYCoAEgBUIENwKoASAMIAVBoAFqQcjZwAAQzQE2AgQMBgsgBUEANgKwAUEBIQIgBUEBNgKkASAFQbTawAA2AqABIAVCBDcCqAEgDCAFQaABakG82sAAEM0BNgIEDAULIAUpA7gBIRwgBSkDsAEhGiARKQMQIR4gESkDCCEbAn4gBSkDqAEiIiARKQMAIiFaBEAgGiAbVK0hHSAaIBt9DAELIBogG1StIBogG1GtfCEdIBogG0J/hXwLISQgBSkDwAEhHyARKQMYISAgHCAefSEbAkAgHVAEQCAcIB5UrSEaDAELIBsgHVStIBwgHlStfCEaIBsgHX0hGwsgHyAgfSEcAkAgGlAEQCAfICBaDQEMBwsgHyAgVCAaIBxWcg0GIBwgGn0hHAsgBUESOgCYASAFIBw3A5ABIAUgGzcDiAEgBSAkNwOAASAFICIgIX03A3ggBUG4AWogAUHAAWoiAkEYaikDADcDACAFQbABaiACQRBqKQMANwMAIAVBqAFqIAJBCGopAwA3AwAgBUESOgDAASAFIAIpAwA3A6ABIAVBKGoiAyAFQdAAaiAFQfgAaiAFQaABaiIEEHwgBSADENcBIAUoAgANAiAFKQMgISggBSkDGCEfIAUpAxAhHiAFKQMIISQgBUHoAGogAUH4AWopAwA3AwAgBUHgAGogAUHwAWopAwA3AwAgBUHYAGogAUHoAWopAwA3AwAgBUESOgBwIAUgASkD4AE3A1AgBEGox8AAQQQQtwEgBSgCoAENAyAFKQO4ASEcIAUpA7ABIRogBikDECEgIAYpAwghGwJ+IAUpA6gBIikgBikDACIqWgRAIBogG1StIR0gGiAbfQwBCyAaIBtUrSAaIBtRrXwhHSAaIBtCf4V8CyErIAUpA8ABISIgBikDGCEhIBwgIH0hGwJAIB1QBEAgHCAgVK0hGgwBCyAbIB1UrSAcICBUrXwhGiAbIB19IRsLICIgIX0hHAJAIBpQBEAgISAiWA0BDAcLICEgIlYgGiAcVnINBiAcIBp9IRwLIAVBEjoAmAEgBSAcNwOQASAFIBs3A4gBIAUgKzcDgAEgBSApICp9NwN4IAVBuAFqIAJBGGopAwA3AwAgBUGwAWogAkEQaikDADcDACAFQagBaiACQQhqKQMANwMAIAVBEjoAwAEgBSACKQMANwOgASAFQShqIgIgBUHQAGogBUH4AGogBUGgAWoQdiAFIAIQ1wEgBSgCAEUEQCAFKQMYIR0gBSkDECEaAn4gBSkDCCIgICRYBEAgGiAeVq0hHCAeIBp9DAELIBogHlatIBogHlGtfCEcIB4gGkJ/hXwLIRogBSkDICEeIB8gHX0hGwJAIBxQBEBCf0IAIB0gH1YbIR0MAQtCf0IAIB0gH1YbIBsgHFStfSEdIBsgHH0hGwsgDCAbNwMYIAwgGjcDECAMICQgIH03AwggDCAoIB59IB18NwMgQQAhAgwFCyAMIAUoAgQ2AgRBASECDAQLIAUgBSgCpAE2AnhBzMTAAEErIAVB+ABqQbzEwABBzNrAABCVAgALIAUgBSgCpAE2AlBBzMTAAEErIAVB0ABqQbzEwABB+NnAABCVAgALIAwgBSgCBDYCBEEBIQIMAQsgBSAFKAKkATYCeEHMxMAAQSsgBUH4AGpBvMTAAEHY2cAAEJUCAAsgDCACNgIAIAVB0AFqJAAMAQsgBUEANgKwASAFQQE2AqQBIAVBsMTAADYCoAEgBUIENwKoASAFQaABakGAxMAAELMCAAsgBigCeA0BIAYpA5gBIR0gBikDkAEhICAGKQOIASEiIAYpA4ABISEgEiABQRhqKQMANwMAIBMgAUEQaikDADcDACAUIAFBCGopAwA3AwAgBkESOgCYASAGIAEpAwA3A3ggGSAMENcBIAYoAqgBDQIgBikDuAEiGnwiGyAaVCECIAYpA8ABIhwgJXwiGiAcVCEMIAYpA8gBIRwgJiAGKQOwASIffCIeIB9aBH4gAq0FIBtCAXwiG1CtIAKtfAsiH1AEfiAMrQUgGiAaIB98IhpWrSAMrXwLIh9QBH4gHCAjfAUgHCAjfCAffAshHyAbICJ8IhwgG1QhAiAaICB8IhsgGlQhDCAeIB4gIXwiIFgEfiACrQUgHEIBfCIcUK0gAq18CyIaUAR+IAytBSAbIBogG3wiG1atIAytfAsiGlAEfiAdIB98BSAdIB98IBp8CyEhIAZBkAFqIAFBuAVqKQMANwMAIAZBiAFqIAFBsAVqKQMANwMAIAZBgAFqIAFBqAVqKQMANwMAIAZBEjoAmAEgBiABKQOgBTcDeCAGQagBaiAGQfgAahDXASAGKAKoAQ0DIAYpA7gBIR0gGyAGKQPAASIffSEaAkACfiAGKQOwASIiICBYBEAgHCAdfSEeIBwgHVStDAELIBwgHUJ/hXwhHiAcIB1UrSAcIB1RrXwLIh1QBEBCf0IAIBsgH1QbIRwMAQtCf0IAIBsgH1QbIBogHVStfSEcIBogHX0hGgsgBikDyAEhIyAGQfgAaiICQbjEwABBARB3IAYoAngNBCAgICJ9IR0gBikDmAEhGyAGKQOQASEgIAYpA4gBIR8gBikDgAEhIgJAAn8gISAjfSAcfCIcQgBTBEAgG0IAWQ0IIAZCACAdfSIhNwOoASAGIB5Cf4VCACAefSIjICFCAFIiARs3A7ABIAYgGkJ/hSIhICNQIAFBf3NxIgGtfCIjICEgARs3A7gBIAYgASAhICNWca0gHEJ/hXw3A8ABIAZCACAifSIiNwN4IAYgH0J/hUIAIB99IiEgIkIAUiIBGzcDgAEgBiAgQn+FIh8gIVAgAUF/c3EiAa18IiAgHyABGzcDiAEgBiABIB8gIFZxrSAbQn+FfDcDkAEgAiAGQagBahCaAgwBCyAbQgBTDQEgBiAcNwPAASAGIBo3A7gBIAYgHjcDsAEgBiAdNwOoASAGIBs3A5ABIAYgIDcDiAEgBiAfNwOAASAGICI3A3ggBkGoAWogBkH4AGoQmgILQf8BcUH/AUYNBgsgBiAcNwPAASAGIBo3A7gBIAYgHjcDsAEgBiAdNwOoASAGQfgAaiAGQagBahC6ASAGKAJ4RQRAIAAgBikDgAE3AwggAEEoaiAGQaABaikDADcDACAAQSBqIAZBmAFqKQMANwMAIABBGGogBkGQAWopAwA3AwAgAEEQaiAGQYgBaikDADcDAEEADAgLIAAgBigCfDYCBAwGCyAAIAYoAlQ2AgQMBQsgACAGKAJ8NgIEDAQLIAAgBigCrAE2AgQMAwsgACAGKAKsATYCBAwCCyAGIAYoAnw2AqgBQczEwABBKyAGQagBakG8xMAAQeTYwAAQlQIACyAGQQA2AogBIAZBATYCfCAGQczYwAA2AnggBkIENwKAASAAIAZB+ABqQdTYwAAQzQE2AgRBAQwBC0EBCzYCACAGQdABaiQAC4UQAhF/CX4jAEGQAmsiAiQAIAAtACAhCCACQQAQngIgAkEgakEKEJ4CIAJBQGtBMBCeAiACQegBaiIKIABBGGopAwA3AwAgAkHgAWoiCyAAQRBqKQMANwMAIAJB2AFqIgwgAEEIaikDADcDACACIAApAwA3A9ABIAJB4ABqIgMgAkHQAWoQnQEgAkEANgKIASACQoCAgIDAADcCgAECQAJAAkACQAJAAkACQAJAIAMgAhCaAkH/AXFBAUYEQCACQfABaiEFIAIpA1ghGCACKQNQIRkgAikDSCEaIAIpA0AhGwNAIAhFIAYgCEdyRQRAIAIoAogBIgMgAigCgAFGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqNgKIAQsgAkG4AWogAkH4AGoiDSkDADcDACACQbABaiACQfAAaiIOKQMANwMAIAJBqAFqIAJB6ABqIg8pAwA3AwAgAiACKQNgNwOgASACQdABaiACQaABaiACQSBqEHMgBUEIaikDACITIBp8IhYgE1QhAyAFQRBqKQMAIhQgGXwiEyAUVCEEIAVBGGopAwAiFyAYfCIUIBdUIQcCQCAFKQMAIhUgG3wiFyAVWgR+IAOtBSAWQgF8IhZQrSADrXwLIhVQBH4gBK0FIBMgEyAVfCITVq0gBK18CyIVUARAIAIgFDcD6AEgAiATNwPgASACIBY3A9gBIAIgFzcD0AEgB0UNAQwLCyACIBM3A+ABIAIgFjcD2AEgAiAXNwPQASACIBQgFXwiEzcD6AEgByATIBRUcg0KCyACQaABaiEHQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAcgBCkDCDcDECAHIAQpAwA3AwgMAQtBASEJIANBATYCFCADQfi4wAA2AhAgA0IBNwIcIAMgBK1CgICAgNAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQzwEgA0EIaiAEQbC+wABBgLnAABCnAiADKAIMIRAgAygCCCERIANBGGoiEiADQTxqKAIANgIAQZHewQAtAAAaIAMgAykCNDcDEEEYQQQQ+AIiBEUNASAEIBE2AgQgBEGYv8AANgIAIAQgAykDEDcCDCAEIBA2AgggBEEUaiASKAIANgIAIAcgBDYCBAsgByAJNgIAIANBQGskAAwBC0EEQRgQqQMACyACKAKgAQ0CIAItAKgBIQQgAigCiAEiAyACKAKAAUYEQCACQYABahD1AQsgAigChAEgA0ECdGogBDYCACACIANBAWo2AogBIAJB0AFqIAJB4ABqIgMgAkEgahBzIA0gCikDADcDACAOIAspAwA3AwAgDyAMKQMANwMAIAIgAikD0AE3A2AgBkEBaiEGIAMgAhCaAkH/AXFBAUYNAAsLIAYgCE8NAiACKAKIASIEIAQgCCAGayIHaiIDTw0EIAIoAoABIARrIAdJDQEMAwsgAiACKAKkATYC0AFBnJfAAEErIAJB0AFqQYyXwABByJfAABCVAgALIAJBgAFqIAQgBxD0ASACKAKIASEEDAELIAYgCEcNAyACKAKIASEDDAILIAIoAoQBIARBAnRqIQMgB0ECTwRAIAZBf3MgCGoiBkEHcSEFIAdBAmtBB08EQCAGQXhxIQYDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgBkEIayIGDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2AogBCyACKAKAASEFIAgEQCADIAVGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqIgM2AogBIAIoAoABIQULIAMgBUYEQCACQYABahD1AQsgAigChAEgA0ECdGpBMDYCACACIANBAWo2AogBCyACQbgBaiAAQRhqKQMANwMAIAJBsAFqIABBEGopAwA3AwAgAkGoAWogAEEIaikDADcDACACIAApAwA3A6ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQaABaiACQdABahCaAkH/AXFB/wFHOgCPASACKAKEASEDIAIoAogBIQAgAkEANgLMASACQoCAgIAQNwLEASAABEAgAkHEAWpBACAAEPcBIANBBGshBiAAQQJ0IQMDQCACQcQBaiADIAZqKAIAEOgBIANBBGsiAw0ACwsgAkGYAWogAkHMAWooAgA2AgAgAiACKQLEATcDkAEgAkECNgLUASACQdiXwAA2AtABIAJCAjcC3AEgAiACQZABaq1CgICAgOAAhDcDqAEgAiACQY8Baq1CgICAgPAAhDcDoAEgAiACQaABajYC2AEgAkHEAWogAkHQAWoQzwEgAigCkAEiAARAIAIoApQBIAAQjAMLIAIoAoABIgAEQCACKAKEASAAQQJ0EIwDCyACQQE2AtQBIAJBsJTAADYC0AEgAkIBNwLcASACIAJBxAFqrUKAgICA4ACENwOgASACIAJBoAFqNgLYASABKAIUIAEoAhggAkHQAWoQuAEgAigCxAEiAQRAIAIoAsgBIAEQjAMLIAJBkAJqJAAPCyACQQA2ArABIAJBATYCpAEgAkGsvMAANgKgASACQgQ3AqgBIAJBoAFqQbS6wAAQswIAC5gMAgh/BH4jAEHwGmsiAiQAIAJBkBBqIgUgARACIAEQAxC+AQJAAkACQAJAAkACQAJAIAIoApAQRQRAIAJBKGoiCSACQZwIaiACQZgQakHwBxDZAUHwBxDZARogAiABECkiAzYCrBkgAkGgGmoiBiACQawZakHUrMAAELEBIAIoAqAaDQEgAkGkGWogAkHAGmoiBCkDACIKNwIAIAJBnBlqIAJBuBpqIgcpAwAiCzcCACACQZQZaiACQbAaaiIIKQMAIgw3AgAgAkHoGGogDDcDACACQfAYaiALNwMAIAJB+BhqIAo3AwAgAiACKQOoGiIKNwKMGSACIAo3A+AYIAJBEjoAgBkgAiABECoiAzYC1BkgBiACQdQZakHkrMAAELEBIAIoAqAaDQIgAkHMGWogBCkDACIKNwIAIAJBxBlqIAcpAwAiCzcCACACQbwZaiAIKQMAIgw3AgAgAkHgGWogDDcDACACQegZaiALNwMAIAJB8BlqIAo3AwAgAiACKQOoGiIKNwK0GSACIAo3A9gZIAIgARArIgM2AswaIAYgAkHMGmpB9KzAABCxASACKAKgGkUEQCACQZQaaiAEKQMAIgo3AgAgAkGMGmogBykDACILNwIAIAJBhBpqIAgpAwAiDDcCACACQdgaaiAMNwMAIAJB4BpqIAs3AwAgAkHoGmogCjcDACACIAIpA6gaIgo3AvwZIAIgCjcD0BogBSAJIAJB4BhqIAJB2BlqIAJB0BpqEJYBIAJBmAhqIAVBhK3AABDRASACKAKYCA0EIAJB1BhqIAJBwAhqKQMAIgo3AgAgAkHMGGogAkG4CGopAwAiCzcCACACQcQYaiACQbAIaikDACIMNwIAIAJBvBhqIAJBqAhqKQMAIg03AgAgAkGQGGogDTcDACACQZgYaiAMNwMAIAJBoBhqIAs3AwAgAkGoGGogCjcDACACIAIpA6AIIgo3ArQYIAIgCjcDiBggAigCzBoiA0GEAU8EQCADEAALIAIoAtQZIgNBhAFPBEAgAxAACyACKAKsGSIDQYQBTwRAIAMQAAsgAkEIaiACQYgYakGUrcAAELwBDAgLIAJBkBpqIAJBvBpqKAIAIgQ2AgAgAkGIGmogAkG0GmopAgAiCjcDACACQYAaaiACQawaaikCACILNwMAIAJBEGogCzcDACACQRhqIAo3AwAgAkEgaiAENgIAIAIgAikCpBoiCjcD+BkgAiAKNwMIDAQLIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMIDAYLIAJBoBlqIAJBvBpqKAIAIgQ2AgAgAkGYGWogAkG0GmopAgAiCjcDACACQZAZaiACQawaaikCACILNwMAIAJBEGogCzcDACACQRhqIAo3AwAgAkEgaiAENgIAIAIgAikCpBoiCjcDiBkgAiAKNwMIDAQLIAJByBlqIAJBvBpqKAIAIgQ2AgAgAkHAGWogAkG0GmopAgAiCjcDACACQbgZaiACQawaaikCACILNwMAIAJBEGogCzcDACACQRhqIAo3AwAgAkEgaiAENgIAIAIgAikCpBoiCjcDsBkgAiAKNwMIDAILIAJByBhqIAJBtAhqKAIAIgM2AgAgAkHAGGogAkGsCGopAgAiCjcDACACQbgYaiACQaQIaikCACILNwMAIAJBEGogCzcDACACQRhqIAo3AwAgAkEgaiADNgIAIAIgAikCnAgiCjcDsBggAiAKNwMIIAIoAswaIQMLIANBhAFPBEAgAxAACyACKALUGSEDCyADQYQBTwRAIAMQAAsgAigCrBkhAwsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAggiBEECRgRAQQAhAyACKAIMDAELIAJBqBBqIAJBIGooAgA2AgAgAkGgEGogAkEYaikDADcDACACQZgQaiACQRBqKQMANwMAIAIgAikDCDcDkBAgAkGQEGoQ4QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB8BpqJAALmAwCCH8EfiMAQfAaayICJAAgAkGQEGoiBSABEAIgARADEL4BAkACQAJAAkACQAJAAkAgAigCkBBFBEAgAkEoaiIJIAJBnAhqIAJBmBBqQfAHENkBQfAHENkBGiACIAEQKSIDNgKsGSACQaAaaiIGIAJBrBlqQZiywAAQsQEgAigCoBoNASACQaQZaiACQcAaaiIEKQMAIgo3AgAgAkGcGWogAkG4GmoiBykDACILNwIAIAJBlBlqIAJBsBpqIggpAwAiDDcCACACQegYaiAMNwMAIAJB8BhqIAs3AwAgAkH4GGogCjcDACACIAIpA6gaIgo3AowZIAIgCjcD4BggAkESOgCAGSACIAEQKiIDNgLUGSAGIAJB1BlqQaiywAAQsQEgAigCoBoNAiACQcwZaiAEKQMAIgo3AgAgAkHEGWogBykDACILNwIAIAJBvBlqIAgpAwAiDDcCACACQeAZaiAMNwMAIAJB6BlqIAs3AwAgAkHwGWogCjcDACACIAIpA6gaIgo3ArQZIAIgCjcD2BkgAiABECsiAzYCzBogBiACQcwaakG4ssAAELEBIAIoAqAaRQRAIAJBlBpqIAQpAwAiCjcCACACQYwaaiAHKQMAIgs3AgAgAkGEGmogCCkDACIMNwIAIAJB2BpqIAw3AwAgAkHgGmogCzcDACACQegaaiAKNwMAIAIgAikDqBoiCjcC/BkgAiAKNwPQGiAFIAkgAkHgGGogAkHYGWogAkHQGmoQlwEgAkGYCGogBUHIssAAENEBIAIoApgIDQQgAkHUGGogAkHACGopAwAiCjcCACACQcwYaiACQbgIaikDACILNwIAIAJBxBhqIAJBsAhqKQMAIgw3AgAgAkG8GGogAkGoCGopAwAiDTcCACACQZAYaiANNwMAIAJBmBhqIAw3AwAgAkGgGGogCzcDACACQagYaiAKNwMAIAIgAikDoAgiCjcCtBggAiAKNwOIGCACKALMGiIDQYQBTwRAIAMQAAsgAigC1BkiA0GEAU8EQCADEAALIAIoAqwZIgNBhAFPBEAgAxAACyACQQhqIAJBiBhqQdiywAAQvAEMCAsgAkGQGmogAkG8GmooAgAiBDYCACACQYgaaiACQbQaaikCACIKNwMAIAJBgBpqIAJBrBpqKQIAIgs3AwAgAkEQaiALNwMAIAJBGGogCjcDACACQSBqIAQ2AgAgAiACKQKkGiIKNwP4GSACIAo3AwgMBAsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgMBgsgAkGgGWogAkG8GmooAgAiBDYCACACQZgZaiACQbQaaikCACIKNwMAIAJBkBlqIAJBrBpqKQIAIgs3AwAgAkEQaiALNwMAIAJBGGogCjcDACACQSBqIAQ2AgAgAiACKQKkGiIKNwOIGSACIAo3AwgMBAsgAkHIGWogAkG8GmooAgAiBDYCACACQcAZaiACQbQaaikCACIKNwMAIAJBuBlqIAJBrBpqKQIAIgs3AwAgAkEQaiALNwMAIAJBGGogCjcDACACQSBqIAQ2AgAgAiACKQKkGiIKNwOwGSACIAo3AwgMAgsgAkHIGGogAkG0CGooAgAiAzYCACACQcAYaiACQawIaikCACIKNwMAIAJBuBhqIAJBpAhqKQIAIgs3AwAgAkEQaiALNwMAIAJBGGogCjcDACACQSBqIAM2AgAgAiACKQKcCCIKNwOwGCACIAo3AwggAigCzBohAwsgA0GEAU8EQCADEAALIAIoAtQZIQMLIANBhAFPBEAgAxAACyACKAKsGSEDCyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEBBACEDIAIoAgwMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQECACQZAQahDhASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHwGmokAAu1GQIRfwl+IwBBkAJrIgIkACAALQAgIQggAkEAEJ4CIAJBIGpBChCeAiACQUBrQTAQngIgAkHoAWoiDCAAQRhqKQMANwMAIAJB4AFqIhAgAEEQaikDADcDACACQdgBaiIRIABBCGopAwA3AwAgAiAAKQMANwPQASACQeAAaiEEIwBBoAFrIgMkACADQZgBaiIGQgA3AwAgA0GQAWoiCUIANwMAIANBiAFqIg1CADcDACADQgA3A4ABAkACQAJAAkACQAJAAkAgAkHQAWoiBSADQYABahCaAkH/AXFB/wFGBEAgBUGgpsEAQSAQrQJFDQELIANB2ABqIAVBGGoiCikDADcDACADQdAAaiAFQRBqIgspAwA3AwAgA0HIAGogBUEIaiIOKQMANwMAIAMgBSkDADcDQCADQfgAaiIPIAopAwA3AwAgA0HwAGoiCiALKQMANwMAIANB6ABqIgsgDikDADcDACADIAUpAwA3A2AgBkIANwMAIAlCADcDACANQgA3AwAgA0IANwOAASADQUBrIANBgAFqEJoCQf8BcUH/AUYNASADQThqIA8pAwA3AwAgA0EwaiAKKQMANwMAIANBKGogCykDADcDACADIAMpA2A3AyAMAgsgBSkDECIXIAUpAwBCAXwiEyAFKQMIIhRCAXwiFoQiGVAiBq18IhogFyAGGyEVIBYgFCATUBshFCAFKQMYIRYgGVAgFyAaVnFFBEAgAyAWNwOYASADIBU3A5ABIAMgFDcDiAEgAyATNwOAAQwDCyADIBU3A5ABIAMgFDcDiAEgAyATNwOAASADIBZCAXwiEzcDmAEgE0IAUg0CDAQLIANBIGogA0HgAGoQygELIAQgAykDIDcDACAEQRhqIANBOGopAwA3AwAgBEEQaiADQTBqKQMANwMAIARBCGogA0EoaikDADcDAAwBCyADIANBgAFqIgUQygEgAykDECEVIAMpAxghFCADKQMAIRYgAykDCCETIAVBARCeAiATIBMgAykDiAF8IhdWIQUgFSADKQOQASAVfCITViEGIBQgAykDmAEgFHwiFVYhCQJAIBYgFiADKQOAAXwiFFgEfiAFrQUgF0IBfCIXUK0gBa18CyIWUAR+IAatBSATIBMgFnwiE1atIAatfAsiFlAEQCAEIBU3AxggBCATNwMQIAQgFzcDCCAEIBQ3AwAgCUUNAgwBCyAEIBM3AxAgBCAXNwMIIAQgFDcDACAEIBUgFnwiEzcDGCAJDQAgEyAVWg0BCwwBCyADQaABaiQADAELIANBADYCcCADQQE2AmQgA0GYpsEANgJgIANCBDcCaCADQeAAakG4pcEAELMCAAsgAkEANgKIASACQoCAgIDAADcCgAECQAJAAkACQAJAAkACQAJAIAQgAhCaAkH/AXFBAUYEQCACQfABaiEFIAIpA1ghFiACKQNQIRkgAikDSCEaIAIpA0AhGwNAIAhFIAcgCEdyRQRAIAIoAogBIgMgAigCgAFGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqNgKIAQsgAkG4AWogAkH4AGoiDSkDADcDACACQbABaiACQfAAaiIKKQMANwMAIAJBqAFqIAJB6ABqIgspAwA3AwAgAiACKQNgNwOgASACQdABaiACQaABaiACQSBqEHMgBUEIaikDACITIBp8IhcgE1QhAyAFQRBqKQMAIhUgGXwiEyAVVCEEIAVBGGopAwAiFCAWfCIVIBRUIQYCQCAFKQMAIhggG3wiFCAYWgR+IAOtBSAXQgF8IhdQrSADrXwLIhhQBH4gBK0FIBMgEyAYfCITVq0gBK18CyIYUARAIAIgFTcD6AEgAiATNwPgASACIBc3A9gBIAIgFDcD0AEgBkUNAQwLCyACIBM3A+ABIAIgFzcD2AEgAiAUNwPQASACIBUgGHwiEzcD6AEgBiATIBVUcg0KCyACQaABaiEGQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAYgBCkDCDcDECAGIAQpAwA3AwgMAQtBASEJIANBATYCFCADQZyowQA2AhAgA0IBNwIcIAMgBK1CgICAgNAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQzwEgA0EIaiAEQcyjwQBBpKjBABCnAiADKAIMIQ4gAygCCCEPIANBGGoiEiADQTxqKAIANgIAQZHewQAtAAAaIAMgAykCNDcDEEEYQQQQ+AIiBEUNASAEIA82AgQgBEG0pMEANgIAIAQgAykDEDcCDCAEIA42AgggBEEUaiASKAIANgIAIAYgBDYCBAsgBiAJNgIAIANBQGskAAwBC0EEQRgQqQMACyACKAKgAQ0CIAItAKgBIQQgAigCiAEiAyACKAKAAUYEQCACQYABahD1AQsgAigChAEgA0ECdGogBDYCACACIANBAWo2AogBIAJB0AFqIAJB4ABqIgMgAkEgahBzIA0gDCkDADcDACAKIBApAwA3AwAgCyARKQMANwMAIAIgAikD0AE3A2AgB0EBaiEHIAMgAhCaAkH/AXFBAUYNAAsLIAcgCE8NAiACKAKIASIEIAQgCCAHayIGaiIDTw0EIAIoAoABIARrIAZJDQEMAwsgAiACKAKkATYC0AFBqKLBAEErIAJB0AFqQZiiwQBB1KLBABCVAgALIAJBgAFqIAQgBhD0ASACKAKIASEEDAELIAcgCEcNAyACKAKIASEDDAILIAIoAoQBIARBAnRqIQMgBkECTwRAIAdBf3MgCGoiB0EHcSEFIAZBAmtBB08EQCAHQXhxIQcDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgB0EIayIHDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAGakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2AogBCyACKAKAASEFIAgEQCADIAVGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqIgM2AogBIAIoAoABIQULIAMgBUYEQCACQYABahD1AQsgAigChAEgA0ECdGpBMDYCACACIANBAWo2AogBCyACQbgBaiAAQRhqKQMANwMAIAJBsAFqIABBEGopAwA3AwAgAkGoAWogAEEIaikDADcDACACIAApAwA3A6ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQaABaiIGIAJB0AFqIgkQmgJB/wFxQf8BRzoAjwEgAigChAEhACACKAKIASEDIAJBzAFqIgxBADYCACACQoCAgIAQNwLEASMAQRBrIgQkACAAIANBAnRqIgcgAGtBAnYiBSACQcQBaiIDKAIAIAMoAggiCGtLBEAgAyAIIAUQ9wELIAAgB0cEQANAAkACfwJAIAdBBGsiBygCACIFQYABTwRAIARBADYCDCAFQYAQSQ0BIAVBgIAESQRAIAQgBUE/cUGAAXI6AA4gBCAFQQx2QeABcjoADCAEIAVBBnZBP3FBgAFyOgANQQMMAwsgBCAFQT9xQYABcjoADyAEIAVBEnZB8AFyOgAMIAQgBUEGdkE/cUGAAXI6AA4gBCAFQQx2QT9xQYABcjoADUEEDAILIAMoAggiCCADKAIARgRAIAMQ+AELIAMoAgQgCGogBToAACADIAhBAWo2AggMAgsgBCAFQT9xQYABcjoADSAEIAVBBnZBwAFyOgAMQQILIQUgBSADKAIAIAMoAggiCGtLBH8gAyAIIAUQ9wEgAygCCAUgCAsgAygCBGogBEEMaiAFENkBGiADIAMoAgggBWo2AggLIAAgB0cNAAsLIARBEGokACACQZgBaiAMKAIANgIAIAIgAikCxAE3A5ABIAIgAkGQAWqtQoCAgICQDoQ3A6gBIAIgAkGPAWqtQoCAgIDwAIQ3A6ABIAJBAjYC1AEgAkHkosEANgLQASACQgI3AtwBIAIgBjYC2AEgAyAJEM8BIAIoApABIgAEQCACKAKUASAAEIwDCyACKAKAASIABEAgAigChAEgAEECdBCMAwsgAkECNgLUASACQYCjwQA2AtABIAJCATcC3AEgAiACQcQBaq1CgICAgJAOhDcDoAEgAiACQaABajYC2AEgASgCFCABKAIYIAJB0AFqELgBIAIoAsQBIgEEQCACKALIASABEIwDCyACQZACaiQADwsgAkEANgKwASACQQE2AqQBIAJBmKbBADYCoAEgAkIENwKoASACQaABakG4pcEAELMCAAviQgIWfxF+IwBB4BprIgMkACADQYgQaiIJIAEQAiABEAMQvgECQAJAAkACQAJAAkACQCADKAKIEEUEQCADQSBqIgQgA0GUCGogA0GQEGpB8AcQ2QFB8AcQ2QEaIAMgARApIgI2AvwYIANBkBpqIgggA0H8GGpBwLDAABCxASADKAKQGg0BIANB9BhqIANBsBpqIgopAwAiGDcCACADQewYaiADQagaaiIFKQMAIhk3AgAgA0HkGGogA0GgGmoiBikDACIaNwIAIANBiBlqIBo3AwAgA0GQGWogGTcDACADQZgZaiAYNwMAIAMgAykDmBoiGDcC3BggAyAYNwOAGSADIAEQKiICNgLEGSAIIANBxBlqQdCwwAAQsQEgAygCkBoNAiADQbwZaiAKKQMAIhg3AgAgA0G0GWogBSkDACIZNwIAIANBrBlqIAYpAwAiGjcCACADQdAZaiAaNwMAIANB2BlqIBk3AwAgA0HgGWogGDcDACADIAMpA5gaIhg3AqQZIAMgGDcDyBkgAyABECsiAjYCvBogCCADQbwaakHgsMAAELEBIAMoApAaRQRAIANBhBpqIAopAwAiGDcCACADQfwZaiAFKQMAIhk3AgAgA0H0GWogBikDACIaNwIAIANByBpqIBo3AwAgA0HQGmogGTcDACADQdgaaiAYNwMAIAMgAykDmBoiGDcC7BkgAyAYNwPAGiADQcgZaiEKIANBwBpqIQgjAEGAB2siAiQAIAJBIGogA0GAGWoiBUEYaikDADcDACACQRhqIAVBEGopAwA3AwAgAkEQaiAFQQhqKQMANwMAIAJBEjoAKCACIAUpAwA3AwggAkGABmogBEHYBWopAwA3AwAgAkH4BWogBEHQBWopAwA3AwAgAkHwBWogBEHIBWopAwA3AwAgAkESOgCIBiACIAQpA8AFNwPoBQJAAkACQAJAAkACQCACQQhqIAJB6AVqEJoCQf8BcSIFBEAgBUH/AUcNAQwCCyACLQAoQRJJDQELIAJBgAFqIAJBKGoiBSkDADcDACACQfgAaiACQSBqIgYpAwA3AwAgAkHwAGogAkEYaiIHKQMANwMAIAJB6ABqIAJBEGoiCykDADcDACACIAIpAwg3A2AgAkGgAWogCEEYaikDADcDACACQZgBaiAIQRBqKQMANwMAIAJBkAFqIAhBCGopAwA3AwAgAiAIKQMANwOIASACQcgBaiAFKQMANwMAIAJBwAFqIAYpAwA3AwAgAkG4AWogBykDADcDACACQbABaiALKQMANwMAIAIgAikDCDcDqAEgAkHQAWogBCAKIAJBiAFqELABIAJB6AVqQcyBwABBBBC2AQJAAkACQAJAAkACQAJAAkACQAJAAkAgAigC6AVFBEAgAikD+AUhGCACKQPYASEcIAIpA4gGIR0gAikD6AEhHiACKQOABiIbIAIpA+ABIiB9IRkCQAJ+IAIpA/AFIiEgAikD0AEiH1oEQCAYIBx9IRogGCAcVK0MAQsgGCAcQn+FfCEaIBggHFStIBggHFGtfAsiGFAEQCAbICBUrSEbDAELIBggGVatIBsgIFStfCEbIBkgGH0hGQsgHSAefSEYAkAgG1AEQCAdIB5aDQEMDQsgHSAeVCAYIBtUcg0MIBggG30hGAsgAkESOgDoAiACIBg3A+ACIAIgGTcD2AIgAiAaNwPQAiACICEgH303A8gCIAJB2ARqIgUgBEHYAWopAwA3AwAgAkHQBGoiBiAEQdABaikDADcDACACQcgEaiIHIARByAFqKQMANwMAIAJBEjoA4AQgAiAEKQPAATcDwAQgAkGIBmoiCyACQYABaikDADcDACACQYAGaiIMIAJB+ABqKQMANwMAIAJB+AVqIg4gAkHwAGopAwA3AwAgAkHwBWogAkHoAGopAwA3AwAgAiACKQNgNwPoBSACQfgBaiACQegFaiINIAJByAJqIAJBwARqIg8QeyANQeSGwABBARC2AQJAAkACQAJAAkAgAigC6AVFBEAgAkHgBGogAkGQBmopAwA3AwAgBSALKQMANwMAIAYgDCkDADcDACAHIA4pAwA3AwAgAiACKQPwBTcDwAQgAkHQAWogDxCaAiIFQf8BcQ4DAQIDAgsgAiACKALsBTYCyAJBuILAAEErIAJByAJqQaiCwABB/I3AABCVAgALIAItAPABIgUgAi0A4AQiBkkNASAFIAZHIQULIAVB/wFxQQFGDQELIAJB6AVqQeSGwABBARC2ASACKALoBQ0BIAIpA4gGIRogAikDgAYhGSACKQP4BSEYIAIpA/AFIRsMDAsgAkGIBmoiBSACQfABaikDADcDACACQYAGaiIGIAJB6AFqKQMANwMAIAJB+AVqIgcgAkHgAWopAwA3AwAgAkHwBWogAkHYAWopAwA3AwAgAiACKQPQATcD6AUgAkGgAmogAkGoAWogAkHoBWoiCxDBASALIAQQfyACKALoBQ0HIAJBmANqIAJBkAZqKQMANwMAIAJBkANqIAUpAwA3AwAgAkGIA2ogBikDADcDACACQYADaiAHKQMANwMAIAIgAikD8AU3A/gCIAQpA4gBIhkgAikDqAJ8IhggGVQhBSAEKQOQASIaIAIpA7ACfCIZIBpUIQYgBCkDmAEiGiACKQO4AiAafCIaViEHAkAgBCkDgAEiGyACKQOgAnwiHCAbWgR+IAWtBSAYQgF8IhhQrSAFrXwLIhtQBH4gBq0FIBkgGSAbfCIZVq0gBq18CyIbUARAIAIgGjcDsAYgAiAZNwOoBiACIBg3A6AGIAIgHDcDmAYgB0UNAQwSCyACIBk3A6gGIAIgGDcDoAYgAiAcNwOYBiACIBogG3wiGDcDsAYgByAYIBpUcg0RCyACQRI6ALgGIAJB6AVqQcyBwABBBBC2ASACKALoBQ0CIAIpA/gFIRkgBCkDyAYhGyACKQOIBiEfIAQpA9gGIR4gAikDgAYiHCAEKQPQBiIgfSEYAkACfiACKQPwBSIiIAQpA8AGIiFaBEAgGSAbfSEaIBkgG1StDAELIBkgG0J/hXwhGiAZIBtUrSAZIBtRrXwLIhlQBEAgHCAgVK0hHQwBCyAYIBlUrSAcICBUrXwhHSAYIBl9IRgLIB8gHn0hHAJAIB1QBEAgHiAfWA0BDBELIBwgHVQgHiAfVnINECAcIB19IRwLIAJBEjoAiAYgAiAcNwOABiACIBg3A/gFIAIgGjcD8AUgAiAiICF9NwPoBSACQcAEaiACQZgGaiACQegFahBxAkACQCACKALABEUEQCACQcADaiACQegEaikDADcDACACQbgDaiACQeAEaikDADcDACACQbADaiACQdgEaikDADcDACACQagDaiACQdAEaikDADcDACACIAIpA8gENwOgAyACQfgCaiACQaADahCaAkH/AXEiBUUNASAFQf8BRw0CDAsLIAIoAsQEIQQMCwsgAi0AmAMgAi0AwANJDQkLIAIpA6gDIRkgAikDgAMhGiACKQO4AyEdIAIpA5ADIR8gAikDiAMiHCACKQOwAyIifSEYAkACfiACKQP4AiIkIAIpA6ADIiVaBEAgGiAZfSEjIBkgGlatDAELIBogGUJ/hXwhIyAZIBpWrSAZIBpRrXwLIhlQBEAgHCAiVK0hGgwBCyAYIBlUrSAcICJUrXwhGiAYIBl9IRgLIB8gHX0hHAJAIBpQBEAgHSAfWA0BDBELIBogHFYgHSAfVnINECAcIBp9IRwLIAJBEjoAuAYgAiAcNwOwBiACIBg3A6gGIAIgIzcDoAYgAiAkICV9NwOYBiACQdgEaiIGIARBmAVqKQMANwMAIAJB0ARqIgcgBEGQBWopAwA3AwAgAkHIBGoiCyAEQYgFaikDADcDACACQRI6AOAEIAIgBCkDgAU3A8AEIAJBgAZqIgwgBEHAAWoiBUEYaikDADcDACACQfgFaiIOIAVBEGopAwA3AwAgAkHwBWogBUEIaikDADcDACACQRI6AIgGIAIgBSkDADcD6AUgAkHIA2oiBSACQZgGaiACQcAEaiINIAJB6AVqIg8QdSAPQcyBwABBBBC2AQJAAkACQAJAAkAgAigC6AVFBEAgAkHgBGogAkGQBmopAwA3AwAgBiACQYgGaikDADcDACAHIAwpAwA3AwAgCyAOKQMANwMAIAIgAikD8AU3A8AEIAUgDRCaAkH/AXEOAgEDAgsgAiACKALsBTYCmAZBuILAAEErIAJBmAZqQaiCwABBmIfAABCVAgALIAItAOgDIAItAOAETw0BCyACQZAFaiACQegDaikDADcDACACQYgFaiACQeADaikDADcDACACQYAFaiACQdgDaikDADcDACACQfgEaiACQdADaikDADcDACACIAIpA8gDNwPwBCACQegFaiIFQcyBwABBBBC2ASACKALoBQ0BIAJBuAZqIAJBkAZqKQMANwMAIAJBsAZqIAJBiAZqKQMANwMAIAJBqAZqIAJBgAZqKQMANwMAIAJBoAZqIAJB+AVqKQMANwMAIAIgAikD8AU3A5gGIAVBzIHAAEEEELYBIAIoAugFRQ0CIAIgAigC7AU2ApgFQbiCwABBKyACQZgFakGogsAAQfiGwAAQlQIACyACQZAEaiACQegDaikDADcDACACQYgEaiACQeADaikDADcDACACQYAEaiACQdgDaikDADcDACACQfgDaiACQdADaikDADcDACACIAIpA8gDNwPwAyACQegFaiIFQcyBwABBBBC2ASACKALoBQ0FIAJBuARqIAJBkAZqKQMANwMAIAJBsARqIAJBiAZqKQMANwMAIAJBqARqIAJBgAZqKQMANwMAIAJBoARqIAJB+AVqKQMANwMAIAIgAikD8AU3A5gEIAVBzIHAAEEEELYBIAIoAugFDQYgAikD+AUhGCACKQOIBiEcIAIpA4AGIh0gIH0hGQJAAn4gISACKQPwBSIfWARAIBggG30hGiAYIBtUrQwBCyAYIBtCf4V8IRogGCAbVK0gGCAbUa18CyIYUARAIB0gIFStIRsMAQsgGCAZVq0gHSAgVK18IRsgGSAYfSEZCyAcIB59IRgCQCAbUARAIBwgHloNAQwTCyAYIBtUIBwgHlRyDRIgGCAbfSEYCyACQRI6ALgFIAIgGDcDsAUgAiAZNwOoBSACIBo3A6AFIAIgHyAhfTcDmAUgAkGYBmoiBSACQZgEahDTASACQYgGaiACQbgEaikDADcDACACQYAGaiACQbAEaikDADcDACACQfgFaiACQagEaikDADcDACACQfAFaiACQaAEaikDADcDACACIAIpA5gENwPoBSACQfAEaiIGIAJB6AVqIAUgAkGYBWoQdSACQcAEaiACQfADaiAGEHEgAigCwAQNBwwICyACIAIoAuwFNgKYBkG4gsAAQSsgAkGYBmpBqILAAEGIh8AAEJUCAAsgAikD+AUhGCACKQOIBiEcIAIpA4AGIh0gIH0hGQJAAn4gISACKQPwBSIfWARAIBggG30hGiAYIBtUrQwBCyAYIBtCf4V8IRogGCAbVK0gGCAbUa18CyIYUARAIB0gIFStIRsMAQsgGCAZVq0gHSAgVK18IRsgGSAYfSEZCyAcIB59IRgCQCAbUARAIBwgHloNAQwRCyAYIBtUIBwgHlRyDRAgGCAbfSEYCyACQRI6AIgGIAIgGDcDgAYgAiAZNwP4BSACIBo3A/AFIAIgHyAhfTcD6AUgAkGYBWoiBSACQZgGaiACQegFahDAASACQcAEaiACQfAEaiAFEHEgAigCwARFDQYgAigCxAQhBAwJCyACIAIoAuwFNgLABEG4gsAAQSsgAkHABGpBqILAAEHsjcAAEJUCAAsgAiACKALsBTYCwARBuILAAEErIAJBwARqQaiCwABBjI7AABCVAgALIAIgAigC7AU2ApgFQbiCwABBKyACQZgFakGogsAAQaiHwAAQlQIACyACIAIoAuwFNgKYBkG4gsAAQSsgAkGYBmpBqILAAEHUhsAAEJUCAAsgAiACKALsBTYCmAZBuILAAEErIAJBmAZqQaiCwABBxIbAABCVAgALIAIoAsQEIQQMAwsgAkHoA2oiECACQegEaikDADcDACACQeADaiINIAJB4ARqKQMANwMAIAJB2ANqIgwgAkHYBGoiESkDADcDACACQdADaiIHIAJB0ARqIhIpAwA3AwAgAiACKQPIBDcDyAMgAkHIBWoiBiAHKQMANwMAIAJB0AVqIgsgDCkDADcDACACQdgFaiIOIA0pAwA3AwAgAkHgBWoiDyAQKQMANwMAIAIgAikDyAM3A8AFIAJBsAZqIhMgBEGABWoiBUEYaikDADcDACACQagGaiIUIAVBEGopAwA3AwAgAkGgBmoiFSAFQQhqKQMANwMAIAJBEjoAuAYgAiAFKQMANwOYBiACQcAEaiIFIAJBwAVqENMBIAJBiAZqIhYgDykDADcDACACQYAGaiIPIA4pAwA3AwAgAkH4BWoiDiALKQMANwMAIAJB8AVqIAYpAwA3AwAgAiACKQPABTcD6AUgAkGYBWoiBiACQegFaiILIAUgAkGYBmoiFxB1IAcgAkGgBWoiBykDADcDACAMIAJBqAVqIgwpAwA3AwAgDSACQbAFaiINKQMANwMAIBAgAkG4BWopAwA3AwAgAiACKQOYBTcDyAMgESAEQRhqKQMANwMAIBIgBEEQaikDADcDACACQcgEaiAEQQhqKQMANwMAIAJBEjoA4AQgAiAEKQMANwPABCANIARBOGopAwA3AwAgDCAEQTBqKQMANwMAIAcgBEEoaikDADcDACACIAQpAyA3A5gFIAsgBSAGEMYBIAIoAugFDQAgEyAWKQMANwMAIBQgDykDADcDACAVIA4pAwA3AwAgAkG8BmogAkGUBmooAAA2AAAgAiACKQPwBTcDmAYgAiACKACRBjYAuQYgAiACLQCQBiIFOgC4BgJAAkACQAJAIBcgAkHIA2oQmgIiBkH/AXEEfyAGBSACLQDoAyIGIAVLDQEgBSAGRwtB/wFxQQFGDQELIAJB6AVqQeSGwABBARC2ASACKALoBQ0CIAJB8AJqIAJBkAZqKQMANwMAIAJB6AJqIAJBiAZqKQMANwMAIAJB4AJqIAJBgAZqKQMANwMAIAJB2AJqIAJB+AVqKQMANwMAIAIgAikD8AU3A9ACDAELIAJB2ARqIARBGGopAwA3AwAgAkHQBGogBEEQaikDADcDACACQcgEaiAEQQhqKQMANwMAIAJBEjoA4AQgAiAEKQMANwPABCACQbAGaiAEQSBqIgVBGGopAwA3AwAgAkGoBmogBUEQaikDADcDACACQaAGaiAFQQhqKQMANwMAIAIgBSkDADcDmAYgAkHoBWogAkHABGogAkGYBmoQxgEgAigC6AUNAiACQfgGaiACQYgGaikDADcDACACQfAGaiACQYAGaikDADcDACACQegGaiACQfgFaikDADcDACACQcgGaiACQdADaikDADcDACACQdAGaiACQdgDaikDADcDACACQdgGaiACQeADaikDADcDACACIAIpA/AFNwPgBiACIAIpA8gDNwPABiACQdACaiACQeAGaiACQcAGahDdAQsgAikD0AIhGyACKQPYAiEYIAIpA+ACIRkgAikD6AIhGgwFCyACIAIoAuwFNgLABEG4gsAAQSsgAkHABGpBqILAAEHohsAAEJUCAAsgAigC7AUhBAwBCyACQQM2AuwFIAJBnIbAADYC6AUgAkICNwL0BSACIAJBoANqrUKAgICAMIQ3A8gEIAIgAkH4AmqtQoCAgIAwhDcDwAQgAiACQcAEajYC8AUgAkGYBmoiBCACQegFahDPASACIARBsL7AAEG0hsAAEKcCIAIoAgQhCCACKAIAIQogAkHwBWoiBSACQaAGaigCADYCAEGR3sEALQAAGiACIAIpApgGNwPoBUEYQQQQ+AIiBEUNASAEIAo2AgQgBEGYv8AANgIAIAQgAikD6AU3AgwgBCAINgIIIARBFGogBSgCADYCAAsgCUEBNgIAIAkgBDYCBAwEC0EEQRgQqQMACyAYIAIpA4ACIh18IhwgHVQhBSACKQOIAiIYIBggGXwiGVYhBiACKQOQAiIYIBggGnwiGFYhBwJAAkAgAikD+AEiGiAbfCIiIBpaBH4gBa0FIBxCAXwiHFCtIAWtfAsiGlAEfiAGrQUgGSAZIBp8IhlWrSAGrXwLIhpQBEAgB0UNAQwCCyAHDQEgGCAYIBp8IhhWDQELIAJB1ABqIAIoAFw2AAAgAiACKABZNgBRIAJBEjoAUCACIBg3A0ggAiAZNwNAIAIgHDcDOCACICI3AzAgAkHgBGogAkEoaiIFKQMANwMAIAJB2ARqIAJBIGoiBikDADcDACACQdAEaiACQRhqIgcpAwA3AwAgAkHIBGogAkEQaiILKQMANwMAIAIgAikDCDcDwAQgAkGwBmogCkEYaikDADcDACACQagGaiAKQRBqKQMANwMAIAJBoAZqIApBCGopAwA3AwAgAiAKKQMANwOYBiACQeACaiAIQRhqKQMANwMAIAJB2AJqIAhBEGopAwA3AwAgAkHQAmogCEEIaikDADcDACACIAgpAwA3A8gCIAJB6AVqIAQgAkHABGogAkGYBmogAkHIAmoQlgEgAigC6AUEQCACKALsBSEEIAlBATYCACAJIAQ2AgQMBAsgAikDiAYhHiACKQOABiEgIAIpA/AFIR8gAikD+AUhGyACQYgGaiAFKQMANwMAIAJBgAZqIAYpAwA3AwAgAkH4BWogBykDADcDACACQfAFaiALKQMANwMAIAIgAikDCDcD6AUgAkHABGogBCACQegFaiAKIAgQoQEgGyACKQPIBCIhfCIaIBtUIQQgAikD0AQiIyAgfCIdICBUIQggAikD2AQiJCAefCIlIB5UIQoCQAJAIB8gHyACKQPABCInfCIoWAR+IAStBSAaQgF8IhpQrSAErXwLIiZQBH4gCK0FIB0gHSAmfCIdVq0gCK18CyImUARAIAIgJTcDgAYgAiAdNwP4BSACIBo3A/AFIAIgKDcD6AUgCkUNAQwCCyACIB03A/gFIAIgGjcD8AUgAiAoNwPoBSACICUgJnwiGjcDgAYgCiAaICVUcg0BCyACQRI6AIgGAkAgAkEwaiACQegFahCaAkH/AXFB/wFHBEACfiAfICJYBEAgGyAcVq0hGiAcIBt9DAELIBsgHFatIBsgHFGtfCEaIBwgG0J/hXwLIR0gGSAgfSEcAkAgGlAEQCAZICBUrSEbDAELIBogHFatIBkgIFStfCEbIBwgGn0hHAsgGCAefSEZAkAgG1AEQCAYIB5aDQEMAwsgGCAeVCAZIBtUcg0CIBkgG30hGQsgHCAjfSEYAkACfiAnICIgH30iHlgEQCAdICF9IRogHSAhVK0MAQsgHSAhQn+FfCEaIB0gIVStIB0gIVGtfAsiG1AEQCAcICNUrSEdDAELIBggG1StIBwgI1StfCEdIBggG30hGAsgGSAkfSEcAkAgHVAEQCAZICRaDQEMCQsgGSAkVCAcIB1Ucg0IIBwgHX0hHAsgCUESOgAoIAkgHDcDICAJIBg3AxggCSAaNwMQIAlBADYCACAJIB4gJ303AwgMBgsgAkEANgL4BSACQQE2AuwFIAJB1I3AADYC6AUgAkIENwLwBSACQegFakHcjcAAEM0BIQQgCUEBNgIAIAkgBDYCBAwFCwwFCyACQQA2AtgCIAJBATYCzAIgAkGsvMAANgLIAiACQgQ3AtACIAJByAJqQbS6wAAQswIACwwECwwCCyACQQA2AvgFIAJBATYC7AUgAkG8i8AANgLoBSACQgQ3AvAFIAJB6AVqQYSNwAAQzQEhBCAJQQE2AgAgCSAENgIECyACQYAHaiQADAILIAJBADYC+AUgAkEBNgLsBSACQaiUwAA2AugFIAJCBDcC8AUgAkHoBWpB+JPAABCzAgALIAJBADYC+AUgAkEBNgLsBSACQay8wAA2AugFIAJCBDcC8AUgAkHoBWpBtLrAABCzAgALIANBkAhqIAlB8LDAABDRASADKAKQCA0EIANBzBhqIANBuAhqKQMAIhg3AgAgA0HEGGogA0GwCGopAwAiGTcCACADQbwYaiADQagIaikDACIaNwIAIANBtBhqIANBoAhqKQMAIhw3AgAgA0GIGGogHDcDACADQZAYaiAaNwMAIANBmBhqIBk3AwAgA0GgGGogGDcDACADIAMpA5gIIhg3AqwYIAMgGDcDgBggAygCvBoiBEGEAU8EQCAEEAALIAMoAsQZIgRBhAFPBEAgBBAACyADKAL8GCIEQYQBTwRAIAQQAAsgAyADQYAYakGAscAAELwBDAgLIANBgBpqIANBrBpqKAIAIgQ2AgAgA0H4GWogA0GkGmopAgAiGDcDACADQfAZaiADQZwaaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClBoiGDcD6BkgAyAYNwMADAQLIANBqAhqIANBpBBqKAIAIgQ2AgAgA0EIaiADQZQQaikCADcDACADQRBqIANBnBBqKQIANwMAIANBGGogBDYCACADIAMpAowQNwMADAYLIANB8BhqIANBrBpqKAIAIgQ2AgAgA0HoGGogA0GkGmopAgAiGDcDACADQeAYaiADQZwaaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClBoiGDcD2BggAyAYNwMADAQLIANBuBlqIANBrBpqKAIAIgQ2AgAgA0GwGWogA0GkGmopAgAiGDcDACADQagZaiADQZwaaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClBoiGDcDoBkgAyAYNwMADAILIANBwBhqIANBrAhqKAIAIgQ2AgAgA0G4GGogA0GkCGopAgAiGDcDACADQbAYaiADQZwIaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClAgiGDcDqBggAyAYNwMAIAMoArwaIQILIAJBhAFPBEAgAhAACyADKALEGSECCyACQYQBTwRAIAIQAAsgAygC/BghAgsgAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAMoAgAiAUECRgRAQQAhAiADKAIEDAELIANBoBBqIANBGGooAgA2AgAgA0GYEGogA0EQaikDADcDACADQZAQaiADQQhqKQMANwMAIAMgAykDADcDiBAgA0GIEGoQ4QEhAkEACyEEIAAgAUECRzYCCCAAIAI2AgQgACAENgIAIANB4BpqJAAL4CICEH8OfiMAQeAaayIDJAAgA0GIEGoiBSABEAIgARADEL4BAkACQAJAAkACQAJAAkAgAygCiBBFBEAgA0EgaiIEIANBlAhqIANBkBBqQfAHENkBQfAHENkBGiADIAEQGyICNgLkGSAFIANB5BlqQeCjwAAQsQEgAygCiBANASADQdwZaiADQagQaiIGKQMAIhI3AgAgA0HUGWogA0GgEGoiBykDACIUNwIAIANBzBlqIANBmBBqIggpAwAiFjcCACADQaAZaiAWNwMAIANBqBlqIBQ3AwAgA0GwGWogEjcDACADIAMpA5AQIhI3AsQZIAMgEjcDmBkgA0ESOgC4GSADIAEQHCICNgK0GiAFIANBtBpqQfCjwAAQsQEgAygCiBANAiADQawaaiAGKQMAIhI3AgAgA0GkGmogBykDACIUNwIAIANBnBpqIAgpAwAiFjcCACADQfAZaiAWNwMAIANB+BlqIBQ3AwAgA0GAGmogEjcDACADIAMpA5AQIhI3ApQaIAMgEjcD6BkgA0ESOgCIGiADIAEQHSICNgLcGiAFIANB3BpqQYCkwAAQsQEgAygCiBBFBEAgA0HUGmogBikDACISNwIAIANBzBpqIAcpAwAiFDcCACADQcQaaiAIKQMAIhY3AgAgA0GYCGogFjcDACADQaAIaiAUNwMAIANBqAhqIBI3AwAgAyADKQOQECISNwK8GiADIBI3A5AIIANBEjoAsAggA0HwGGohBSADQZAIaiEHIwBB8AJrIgIkACACQfAAaiADQZgZaiIGQSBqIgspAwA3AwAgAkHoAGoiDCAGQRhqIggpAwA3AwAgAkHgAGoiDSAGQRBqIgkpAwA3AwAgAkHYAGoiDiAGQQhqIgopAwA3AwAgAiAGKQMANwNQIAJBgAFqIg8gBCACQdAAaiIQIANB6BlqIhEQagJAAkACQAJAAkACQAJAAkACQCACKAKAAUUEQCACKQOgASEZIAIpA5gBIRggAikDkAEhFSACKQOIASEdIAwgBEHYAWopAwA3AwAgDSAEQdABaikDADcDACAOIARByAFqKQMANwMAIAJBEjoAcCACIAQpA8ABNwNQIAJBoAFqIAspAwA3AwAgAkGYAWogCCkDADcDACACQZABaiAJKQMANwMAIAJBiAFqIAopAwA3AwAgAiAGKQMANwOAASACQcgCaiAPIBAgERB8IAkpAwAhFyAKKQMAIRIgAikD2AIhGiACKQPQAiEUAn4gAikDyAIiHiAGKQMAIh9aBEAgEiAUVq0hEyAUIBJ9DAELIBIgFFatIBIgFFGtfCETIBQgEkJ/hXwLIRsgCCkDACEUIAIpA+ACIRwgGiAXfSEWAkAgE1AEQCAXIBpWrSEXDAELIBMgFlatIBcgGlatfCEXIBYgE30hFgsgHCAUfSESAkAgF1AEQCAUIBxYDQEMCgsgEiAXVCAUIBxWcg0JIBIgF30hEgsgGCAWfSEUAkACfiAeIB99IhogHVgEQCAVIBt9IRcgFSAbVK0MAQsgFSAbQn+FfCEXIBUgG1StIBUgG1GtfAsiFVAEQCAWIBhWrSETDAELIBQgFVStIBYgGFatfCETIBQgFX0hFAsgGSASfSEWAkAgE1AEQCASIBlYDQEMCgsgEyAWViASIBlWcg0JIBYgE30hFgsgAkESOgAgIAIgFjcDGCACIBQ3AxAgAiAXNwMIIAIgHSAafSIbNwMAIAJBgAFqQajHwABBBBC3ASACKAKAAQ0BIAIpA5ABIhIgBykDCHwiEyASVCEIIAIpA5gBIhUgBykDEHwiEiAVVCEJIAIpA6ABIhUgBykDGCAVfCIVViEKAkAgAikDiAEiGCAHKQMAfCIZIBhaBH4gCK0FIBNCAXwiE1CtIAitfAsiGFAEfiAJrQUgEiASIBh8IhJWrSAJrXwLIhhQBEAgAiAVNwPwASACIBI3A+gBIAIgEzcD4AEgAiAZNwPYASAKRQ0BDAkLIAIgEjcD6AEgAiATNwPgASACIBk3A9gBIAIgFSAYfCISNwPwASAKIBIgFVRyDQgLIAJBEjoA+AEgAkHgAmogBEGYBmopAwA3AwAgAkHYAmogBEGQBmopAwA3AwAgAkHQAmogBEGIBmopAwA3AwAgAkESOgDoAiACIAQpA4AGNwPIAiACQYABaiIHQYDnhA8QngIgAkESOgCgASACQYACaiIIIAJByAJqIAcQwgEgAkHQAGogAkHYAWogCBByIAIoAlANAiACKQNwIRkgAikDaCEYIAIpA2AhEyACKQNYIRwgB0Gox8AAQQQQtwEgAigCgAENAyACKQOQASEVIAIpA6ABIRogGCACKQOYASIdfSESAkACfiACKQOIASIfIBxYBEAgEyAVfSEeIBMgFVStDAELIBMgFUJ/hXwhHiATIBVUrSATIBVRrXwLIhNQBEAgGCAdVK0hFQwBCyASIBNUrSAYIB1UrXwhFSASIBN9IRILIBkgGn0hEwJAIBVQBEAgGSAaWg0BDAoLIBkgGlQgEyAVVHINCSATIBV9IRMLIARBgAZqIQQgAkESOgBIIAIgEzcDQCACIBI3AzggAiAeNwMwIAIgHCAffTcDKCACQbABaiIHIAYgAkEoahDDAQJAAkACQCAHIAIQmgIiBkH/AXEEfyAGBSACLQDQASIGQRJJDQEgBkESRwtB/wFxQQFGDQELIAIpA7gBIRMgAikDyAEhGSAUIAIpA8ABIhh9IRICQAJ+IAIpA7ABIhogG1gEQCAXIBN9IRUgEyAXVq0MAQsgFyATQn+FfCEVIBMgF1atIBMgF1GtfAsiF1AEQCAUIBhUrSETDAELIBIgF1StIBQgGFStfCETIBIgF30hEgsgFiAZfSEUAkAgE1AEQCAWIBlaDQEMDAsgFiAZVCATIBRWcg0LIBQgE30hFAsgAkESOgCgAiACIBQ3A5gCIAIgEjcDkAIgAiAVNwOIAiACIBsgGn03A4ACIAJB6ABqIARBGGopAwA3AwAgAkHgAGogBEEQaikDADcDACACQdgAaiAEQQhqKQMANwMAIAJBEjoAcCACIAQpAwA3A1AgAkGAAWoiBEGA54QPEJ4CIAJBEjoAoAEgAkHIAmoiByACQdAAaiIGIAQQwgEgAkGgAWogAkEgaikDADcDACACQZgBaiACQRhqKQMANwMAIAJBkAFqIAJBEGopAwA3AwAgAkGIAWogAkEIaikDADcDACACIAIpAwA3A4ABIAYgBCAHEMMBIAQgAkGAAmogBhDCASACQdgBaiAEENcBIAIoAtgBRQ0BDAcLIAIpA7gBIRMgAikDyAEhGSACKQPAASIYIBR9IRICQAJ+IBsgAikDsAEiGlgEQCATIBd9IRUgEyAXVK0MAQsgEyAXQn+FfCEVIBMgF1StIBMgF1GtfAsiF1AEQCAUIBhWrSETDAELIBIgF1StIBQgGFatfCETIBIgF30hEgsgGSAWfSEUAkAgE1AEQCAWIBlYDQEMCwsgFiAZViATIBRWcg0KIBQgE30hFAsgAkESOgCgAiACIBQ3A5gCIAIgEjcDkAIgAiAVNwOIAiACIBogG303A4ACIAJB6ABqIARBGGopAwA3AwAgAkHgAGogBEEQaikDADcDACACQdgAaiAEQQhqKQMANwMAIAJBEjoAcCACIAQpAwA3A1AgAkGAAWoiBEGA54QPEJ4CIAJBEjoAoAEgAkHIAmoiByACQdAAaiIGIAQQwgEgAkGgAWogAkEgaikDADcDACACQZgBaiACQRhqKQMANwMAIAJBkAFqIAJBEGopAwA3AwAgAkGIAWogAkEIaikDADcDACACIAIpAwA3A4ABIAYgBCAHEMMBIAQgAkGAAmogBhDCASACQdgBaiAEENcBIAIoAtgBDQYgBSACKQPgATcDCCAFQSBqIAJB+AFqKQMANwMAIAVBGGogAkHwAWopAwA3AwAgBUEQaiACQegBaikDADcDAAwFCyACQcACaiACQfgBaikDADcDACACQbgCaiACQfABaikDADcDACACQbACaiACQegBaikDADcDACACIAIpA+ABNwOoAiACKQOoAiEWIAUCfiACQagCakH4wsAAQSAQrQIEQCACKQOwAiISQn+FQgAgEn0iFEIAIBZ9IhZCAFIiBBshEiACKQO4AkJ/hSITIBRQIARBf3NxIgStfCIXIBMgBBshFCAEIBMgF1ZxrSACKQPAAkJ/hXwMAQsgAikDuAIhFCACKQOwAiESIAIpA8ACCzcDICAFIBQ3AxggBSASNwMQIAUgFjcDCAwECyACKAKEASEEIAVBATYCACAFIAQ2AgQMBQsgAiACKAKEATYCyAJBzMTAAEErIAJByAJqQbzEwABBiO3AABCVAgALIAIoAlQhBCAFQQE2AgAgBSAENgIEDAMLIAIgAigChAE2AlBBzMTAAEErIAJB0ABqQbzEwABB+OzAABCVAgALIAVBADYCAAwBCyACKALcASEEIAVBATYCACAFIAQ2AgQLIAJB8AJqJAAMAgsgAkEANgKQASACQQE2AoQBIAJBlIfBADYCgAEgAkIENwKIASACQYABakGohcEAELMCAAsgAkEANgKQASACQQE2AoQBIAJBsMTAADYCgAEgAkIENwKIASACQYABakGAxMAAELMCAAsgA0HIGGogBUGQpMAAENYBIAMoAsgYDQQgA0G8GGogA0HoGGopAwAiEjcCACADQbQYaiADQeAYaikDACIUNwIAIANBrBhqIANB2BhqKQMAIhY3AgAgA0GIGGogFjcDACADQZAYaiAUNwMAIANBmBhqIBI3AwAgAyADKQPQGCISNwKkGCADIBI3A4AYIAMoAtwaIgRBhAFPBEAgBBAACyADKAK0GiIEQYQBTwRAIAQQAAsgAygC5BkiBEGEAU8EQCAEEAALIAMgA0GAGGpBoKTAABC9AQwICyADQdAaaiADQaQQaigCACIENgIAIANByBpqIANBnBBqKQIAIhI3AwAgA0HAGmogA0GUEGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAowQIhI3A7gaIAMgEjcDAAwECyADQagIaiADQaQQaigCACIENgIAIANBCGogA0GUEGopAgA3AwAgA0EQaiADQZwQaikCADcDACADQRhqIAQ2AgAgAyADKQKMEDcDAAwGCyADQdgZaiADQaQQaigCACIENgIAIANB0BlqIANBnBBqKQIAIhI3AwAgA0HIGWogA0GUEGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAowQIhI3A8AZIAMgEjcDAAwECyADQagaaiADQaQQaigCACIENgIAIANBoBpqIANBnBBqKQIAIhI3AwAgA0GYGmogA0GUEGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAowQIhI3A5AaIAMgEjcDAAwCCyADQbgYaiADQeQYaigCACIENgIAIANBsBhqIANB3BhqKQIAIhI3AwAgA0GoGGogA0HUGGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAswYIhI3A6AYIAMgEjcDACADKALcGiECCyACQYQBTwRAIAIQAAsgAygCtBohAgsgAkGEAU8EQCACEAALIAMoAuQZIQILIAJBhAFJDQAgAhAACyABQYMBSwRAIAEQAAsCfyADKAIAIgFBAkYEQEEAIQIgAygCBAwBCyADQaAQaiADQRhqKAIANgIAIANBmBBqIANBEGopAwA3AwAgA0GQEGogA0EIaikDADcDACADIAMpAwA3A4gQIANBiBBqEOEBIQJBAAshBCAAIAFBAkc2AgggACACNgIEIAAgBDYCACADQeAaaiQAC+YRAhF/CX4jAEGQAmsiAiQAIAEtACAhCCACQQAQngIgAkEgakEKEJ4CIAJBQGtBMBCeAiACQegBaiIKIAFBGGopAwA3AwAgAkHgAWoiCyABQRBqKQMANwMAIAJB2AFqIgwgAUEIaikDADcDACACIAEpAwA3A9ABIAJB4ABqIgMgAkHQAWoQngEgAkEANgKIASACQoCAgIDAADcCgAECQAJAAkACQAJAAkACQAJAIAMgAhCaAkH/AXFBAUYEQCACQfABaiEGIAIpA1ghGCACKQNQIRkgAikDSCEaIAIpA0AhGwNAIAhFIAUgCEdyRQRAIAIoAogBIgMgAigCgAFGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqNgKIAQsgAkG4AWogAkH4AGoiDSkDADcDACACQbABaiACQfAAaiIOKQMANwMAIAJBqAFqIAJB6ABqIg8pAwA3AwAgAiACKQNgNwOgASACQdABaiACQaABaiACQSBqEHMgBkEIaikDACITIBp8IhYgE1QhAyAGQRBqKQMAIhQgGXwiEyAUVCEEIAZBGGopAwAiFyAYfCIUIBdUIQcCQCAGKQMAIhUgG3wiFyAVWgR+IAOtBSAWQgF8IhZQrSADrXwLIhVQBH4gBK0FIBMgEyAVfCITVq0gBK18CyIVUARAIAIgFDcD6AEgAiATNwPgASACIBY3A9gBIAIgFzcD0AEgB0UNAQwLCyACIBM3A+ABIAIgFjcD2AEgAiAXNwPQASACIBQgFXwiEzcD6AEgByATIBRUcg0KCyACQaABaiEHQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAcgBCkDCDcDECAHIAQpAwA3AwgMAQtBASEJIANBATYCFCADQeyDwQA2AhAgA0IBNwIcIAMgBK1CgICAgNAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQzwEgA0EIaiAEQfCFwQBB9IPBABCnAiADKAIMIRAgAygCCCERIANBGGoiEiADQTxqKAIANgIAQZHewQAtAAAaIAMgAykCNDcDEEEYQQQQ+AIiBEUNASAEIBE2AgQgBEHYhsEANgIAIAQgAykDEDcCDCAEIBA2AgggBEEUaiASKAIANgIAIAcgBDYCBAsgByAJNgIAIANBQGskAAwBC0EEQRgQqQMACyACKAKgAQ0CIAItAKgBIQQgAigCiAEiAyACKAKAAUYEQCACQYABahD1AQsgAigChAEgA0ECdGogBDYCACACIANBAWo2AogBIAJB0AFqIAJB4ABqIgMgAkEgahBzIA0gCikDADcDACAOIAspAwA3AwAgDyAMKQMANwMAIAIgAikD0AE3A2AgBUEBaiEFIAMgAhCaAkH/AXFBAUYNAAsLIAUgCE8NAiACKAKIASIEIAQgCCAFayIHaiIDTw0EIAIoAoABIARrIAdJDQEMAwsgAiACKAKkATYC0AFBuPvAAEErIAJB0AFqQaj7wABB5PvAABCVAgALIAJBgAFqIAQgBxD0ASACKAKIASEEDAELIAUgCEcNAyACKAKIASEDDAILIAIoAoQBIARBAnRqIQMgB0ECTwRAIAVBf3MgCGoiBUEHcSEGIAdBAmtBB08EQCAFQXhxIQUDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgBUEIayIFDQALCyAGBEADQCADQTA2AgAgA0EEaiEDIAZBAWsiBg0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2AogBCyACKAKAASEGIAgEQCADIAZGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqIgM2AogBIAIoAoABIQYLIAMgBkYEQCACQYABahD1AQsgAigChAEgA0ECdGpBMDYCACACIANBAWo2AogBCyACQbgBaiABQRhqKQMANwMAIAJBsAFqIAFBEGopAwA3AwAgAkGoAWogAUEIaikDADcDACACIAEpAwA3A6ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQaABaiIHIAJB0AFqIgkQmgJB/wFxQf8BRzoAjwEgAigChAEhASACKAKIASEDIAJBzAFqIgpBADYCACACQoCAgIAQNwLEASMAQRBrIgUkACABIANBAnRqIgggAWtBAnYiBCACQcQBaiIDKAIAIAMoAggiBmtLBEAgAyAGIAQQ9wELIAEgCEcEQANAAkACfwJAIAhBBGsiCCgCACIEQYABTwRAIAVBADYCDCAEQYAQSQ0BIARBgIAESQRAIAUgBEE/cUGAAXI6AA4gBSAEQQx2QeABcjoADCAFIARBBnZBP3FBgAFyOgANQQMMAwsgBSAEQT9xQYABcjoADyAFIARBEnZB8AFyOgAMIAUgBEEGdkE/cUGAAXI6AA4gBSAEQQx2QT9xQYABcjoADUEEDAILIAMoAggiBiADKAIARgRAIAMQ+AELIAMgBkEBajYCCCADKAIEIAZqIAQ6AAAMAgsgBSAEQT9xQYABcjoADSAFIARBBnZBwAFyOgAMQQILIQQgBCADKAIAIAMoAggiBmtLBEAgAyAGIAQQ9wEgAygCCCEGCyADKAIEIAZqIAVBDGogBBDZARogAyAEIAZqNgIICyABIAhHDQALCyAFQRBqJAAgAkGYAWogCigCADYCACACIAIpAsQBNwOQASACIAJBkAFqrUKAgICA8AeENwOoASACIAJBjwFqrUKAgICA8ACENwOgASACQQI2AtQBIAJB9PvAADYC0AEgAkICNwLcASACIAc2AtgBIAAgCRDPASACKAKQASIABEAgAigClAEgABCMAwsgAigCgAEiAARAIAIoAoQBIABBAnQQjAMLIAJBkAJqJAAPCyACQQA2ArABIAJBATYCpAEgAkGUh8EANgKgASACQgQ3AqgBIAJBoAFqQaiFwQAQswIAC44LAgp/CX4jAEHQAWsiAyQAIAMgAjYCDCADIAE2AgggA0EoaiIJQgA3AwAgA0EgaiIKQgA3AwAgA0EYaiILQgA3AwAgA0IANwMQAkACQAJAAkAgAkUEQAwBCyABIAJqIQwDQAJ/IAEsAAAiCEEATgRAIAhB/wFxIQIgAUEBagwBCyABLQABQT9xIQIgCEEfcSEEIAhBX00EQCAEQQZ0IAJyIQIgAUECagwBCyABLQACQT9xIAJBBnRyIQIgCEFwSQRAIAIgBEEMdHIhAiABQQNqDAELIARBEnRBgIDwAHEgAS0AA0E/cSACQQZ0cnIhAiABQQRqCyEBIAMgAjYCcAJAIAJBMGsiBEEKTwRAIAcgAkHlAEdyRQRAQQEhBwwCCyAFIAJBLkdyRQRAQQEhBQwCCyACQd8ARg0BIANBATYCtAEgA0H8kcEANgKwASADQgE3ArwBIAMgA0HwAGqtQoCAgICgDYQ3A5ABIAMgA0GQAWo2ArgBIANBsAFqQYSSwQAQzQEhASAAQQE2AgAgACABNgIEDAQLAkACQCAHRQRAIAMgDTcDyAEgAyAONwPAASADIBA3A7gBIAMgEjcDsAEgA0GQAWogA0GwAWoQ4gEgAykDmAEhEAJAIAMpA5ABIhEgBK18IhIgEVQEQCAQQgF8IhBQDQELIAMpA6ABIQ4gAykDqAEhDQwCCyADKQOgAUIBfCIOUEUEQCADKQOoASENDAILIAMpA6gBQgF8Ig1CAFINAQwICyADQcgBaiAJKQMANwMAIANBwAFqIAopAwA3AwAgA0G4AWogCykDADcDACADIAMpAxA3A7ABIANBkAFqIANBsAFqEOIBIAMpA5gBIQ8CQAJAAkAgAykDkAEiESAErXwiFCARVARAIA9CAXwiD1ANAQsgAykDoAEhEQwBCyADKQOgAUIBfCIRUA0BCyADIAMpA6gBNwMoIAMgETcDICADIA83AxggAyAUNwMQDAELIAMgETcDICADIA83AxggAyAUNwMQIAMgAykDqAFCAXwiETcDKCARUA0BCyAFQQAhBUUNAUEBIQUgBiAHQX9zQQFxaiEGDAELDAULIAEgDEcNAAsLIANBMGoiASAGEJ4CIANBEGoiAiABEJoCQf8BcUH/AUYEQCADQQI2ArQBIANB1JDBADYCsAEgA0ICNwK8ASADIANBCGqtQoCAgICwDYQ3A5gBIAMgAq1CgICAgMANhDcDkAEgAyADQZABajYCuAEgA0GwAWpBzJHBABDNASEBIABBATYCACAAIAE2AgQMAQsgAyANNwNoIAMgDjcDYCADIBA3A1ggAyASNwNQIANBkAFqQQoQngIgAykDQCEPIAMpAzghEyADKQMgIQ4gAykDGCENAn4gAykDECIUIAMpAzAiEVoEQCANIBNUrSESIA0gE30MAQsgDSATVK0gDSATUa18IRIgDSATQn+FfAshFSADKQNIIRMgAykDKCENIA4gD30hEAJAIBJQBEAgDiAPVK0hDwwBCyAQIBJUrSAOIA9UrXwhDyAQIBJ9IRALIA0gE30hDgJAIA9QBEAgAyAONwPIASADIBA3A8ABIAMgFTcDuAEgAyAUIBF9NwOwASANIBNaDQEMAwsgAyAQNwPAASADIBU3A7gBIAMgDiAPfTcDyAEgAyAUIBF9NwOwASANIBNUIA4gD1RyDQILIANB8ABqIgEgA0GQAWogA0GwAWoQrAEgAEEIaiADQdAAaiABEJgBIABBADYCAAsgA0HQAWokAA8LIANBADYCgAEgA0EBNgJ0IANBmJDBADYCcCADQgQ3AnggA0HwAGpBpI/BABCzAgALIANBADYCwAEgA0EBNgK0ASADQZimwQA2ArABIANCBDcCuAEgA0GwAWpBuKXBABCzAgALywsCA38KfiMAQbACayIGJAAgBkH4AWogAkEgaikDADcDACAGQfABaiIHIAJBGGopAwA3AwAgBkHoAWogAkEQaikDADcDACAGQeABaiACQQhqKQMANwMAIAYgAikDADcD2AEgBkHgAGogBkHYAWogBSAEEHYgBkHIAWogAUHYAWopAwAiCTcDACAGQcABaiABQdABaikDACIKNwMAIAZBuAFqIAFByAFqKQMAIg03AwAgBkGQAWogDTcDACAGQZgBaiAKNwMAIAZBoAFqIAk3AwAgBkESOgCoASAGIAEpA8ABIgk3A7ABIAYgCTcDiAFCASEJQgAhCgJAAkACQCAGLQCAASIEDgICAQALQgohCUIBIQsDQCAGQRhqIAlCASAEQQFxIgUbIApCACAFGyALIAwQlAIgBkEoaiAJIAogCSAKEJQCIARBA0sgBkEwaikDACEKIAZBIGopAwAhDCAGKQMoIQkgBikDGCELIARBAXYhBA0ACyAGQQhqIAsgDCAJIAoQlAIgBkEQaikDACEKIAYpAwghCQwBC0IKIQkLIAZBkAJqIgQgCjcDACAGIAk3A4gCIAZBATYCPCAGQcT9wAA2AjggBkIBNwJEIAYgBkGIAmqtQoCAgICwB4Q3A6gCIAYgBkGoAmo2AkAgBkGcAmogBkE4ahDPASAHQgA3AwAgBkIANwPoASAEKQMAIQkgBikDiAIhCiAGKAKcAiIEBEAgBigCoAIgBBCMAwsgBkESOgD4ASAGIAo3A9gBIAYgCTcD4AEgBkE4aiAGQeAAaiAGQdgBaiIEIAZBiAFqIgUQdiAGQfABaiABQZgEaikDADcDACAGQegBaiABQZAEaikDADcDACAGQeABaiABQYgEaikDADcDACAGQRI6ANABIAZBEjoA+AEgBiABKQOABDcD2AEgBSACIAQgBkGwAWoQdiAGKQNAIgkgBikDkAF8IgsgCVQhASAGKQOYASEMIAYpA0ghCSAGKQM4IgogBikDiAF8Ig8gCloEfiABrQUgC0IBfCILUK0gAa18CyENIAYpA6ABIQ4gBikDUCEKIAkgCSAMfCIJViEBIA1QBH4gAa0FIAkgCSANfCIJVq0gAa18CyENIAogCiAOfCIKViEBAkACQCANUARAIAYgCjcDUCAGIAk3A0ggBiALNwNAIAYgDzcDOCABRQ0BDAILIAYgCTcDSCAGIAs3A0AgBiAPNwM4IAYgCiANfCINNwNQIAEgCiANVnINASANIQoLIAZBEjoAWAJAAkACQAJAAkACQAJAIAZBOGogAxCaAiIEQf8BcQ4DAAECAQsgAy0AICIBQRJLDQEgAUESRyEECyAEQf8BcUEBRg0BCyAGQdgBakG4xMAAQQEQtwEgBigC2AENAiAAIAYpA+ABNwMAIABBIGogBkGAAmopAwA3AwAgAEEYaiAGQfgBaikDADcDACAAQRBqIAZB8AFqKQMANwMAIABBCGogBkHoAWopAwA3AwAMAQsgAykDECEOIAMpAwghDAJ+IAMpAwAiEiAPWARAIAsgDH0hESALIAxUrQwBCyALIAxCf4V8IREgCyAMVK0gCyAMUa18CyENIAMpAxghECAJIA59IQsCQCANUARAIAkgDlStIQwMAQsgCyANVK0gCSAOVK18IQwgCyANfSELCyAKIBB9IQkCQCAMUARAIAogEFoNAQwECyAKIBBUIAkgDFRyDQMgCSAMfSEJCyAAQRI6ACAgACAJNwMYIAAgCzcDECAAIBE3AwggACAPIBJ9NwMACyAGQbACaiQADwsgBiAGKALcATYCsAFBzMTAAEErIAZBsAFqQbzEwABB2NzAABCVAgALIAZBADYC6AEgBkEBNgLcASAGQbDEwAA2AtgBIAZCBDcC4AEgBkHYAWpBgMTAABCzAgALIAZBADYC6AEgBkEBNgLcASAGQZSHwQA2AtgBIAZCBDcC4AEgBkHYAWpBqIXBABCzAgAL0AoCBX8KfiMAQdABayICJAAgAkEgaiABQRhqKQMANwMAIAJBGGogAUEQaikDADcDACACQRBqIAFBCGopAwA3AwAgAkESOgAoIAIgASkDADcDCCACQfAAaiIDIAFB2ANqKQMANwMAIAJB6ABqIgQgAUHQA2opAwA3AwAgAkHgAGoiBSABQcgDaikDADcDACACQRI6AHggAiABKQPAAzcDWCACQZgBaiABQdgBaikDADcDACACQZABaiABQdABaikDADcDACACQYgBaiABQcgBaikDADcDACACQRI6AKABIAIgASkDwAE3A4ABIAJBMGogAkHYAGogAkGAAWoQwgEgAyABQbgFaiIGKQMANwMAIAQgAUGwBWoiBCkDADcDACAFIAFBqAVqIgMpAwA3AwAgAkESOgB4IAIgASkDoAU3A1ggAikDOCIKIAMpAwB8IgsgClQhAyAEKQMAIAIpA0AhCSACKQMwIg8gASkDoAV8Ig4gD1oEfiADrQUgC0IBfCILUK0gA618CyEIIAYpAwAhDCACKQNIIQ0gCXwiByAJVCEBIAhQBH4gAa0FIAcgByAIfCIHVq0gAa18CyEIIAwgDXwiDCANVCEBAkACQAJAIAhQBEAgAiAMNwOYASACIAc3A5ABIAIgCzcDiAEgAiAONwOAASABRQ0BDAILIAIgBzcDkAEgAiALNwOIASACIA43A4ABIAIgCCAMfCIHNwOYASABIAcgDFRyDQELIAJBEjoAoAECQAJAAkAgAkEIaiIBIAJBgAFqIgMQmgJB/wFxQQFHBEAgAkEDNgKwASACQbzGwAA2AqwBIAJCAzcCuAEgAkKAgICAoAciByACQdgAaq2ENwOQASACIAcgAkEwaq2ENwOIASACIAcgAa2ENwOAASACIAM2ArQBIAJBxAFqIgEgAkGsAWoQzwEgAiABQfCFwQBB1MbAABCnAiACKAIEIQMgAigCACEEIAJBiAFqIgUgAkHMAWooAgA2AgBBkd7BAC0AABogAiACKQLEATcDgAFBGEEEEPgCIgFFDQIgASAENgIEIAFB2IbBADYCACABIAIpA4ABNwIMIAEgAzYCCCABQRRqIAUoAgA2AgAgAEEBNgIAIAAgATYCBAwBCyACKQMYIQwgAikDECEHAn4gDyACKQMIIhBYBEAgByAKVK0hCCAHIAp9DAELIAcgClStIAcgClGtfCEIIAcgCkJ/hXwLIQsgAikDICEOIAwgCX0hBwJAIAhQBEAgCSAMVq0hCgwBCyAHIAhUrSAJIAxWrXwhCiAHIAh9IQcLIA4gDX0hCAJAIApQBEAgDSAOWA0BDAQLIAggClQgDSAOVnINAyAIIAp9IQgLIAIpA2ghDSACKQNgIQkCfiAQIA99Ig4gAikDWCIQWgRAIAsgCX0hDCAJIAtWrQwBCyALIAlCf4V8IQwgCSALVq0gCSALUa18CyEKIAIpA3AhDyAHIA19IQkCQCAKUARAIAcgDVStIQsMAQsgCSAKVK0gByANVK18IQsgCSAKfSEJCyAIIA99IQcCQCALUARAIAggD1oNAQwGCyAIIA9UIAcgC1RyDQUgByALfSEHCyAAQRI6ACggACAHNwMgIAAgCTcDGCAAIAw3AxAgAEEANgIAIAAgDiAQfTcDCAsgAkHQAWokAA8LQQRBGBCpAwALDAELIAJBADYCvAEgAkEBNgKwASACQZSHwQA2AqwBIAJCBDcCtAEgAkGsAWpBqIXBABCzAgALIAJBADYCkAEgAkEBNgKEASACQbDEwAA2AoABIAJCBDcCiAEgAkGAAWpBgMTAABCzAgAL3QoCBH8FfiMAQYADayIEJAAgAAJ/AkACQAJAAkACfyADKAIARQRAIARB2AFqIAEgAhCEASAEKALYAQ0FIARBgAFqIARB+AFqKQMANwMAIARB+ABqIARB8AFqKQMANwMAIARB8ABqIARB6AFqKQMANwMAIAQgBCkD4AE3A2ggBCAEKACBAjYCYCAEIARBhAJqKAAANgBjIAQtAIACDAELIARBgAFqIANBIGopAwA3AwAgBEH4AGogA0EYaikDADcDACAEQfAAaiADQRBqKQMANwMAIAQgAykDCDcDaCAEIAMoACk2AmAgBCADQSxqKAAANgBjIAMtACgLIQIgBEHIAWogAUG4BGopAwA3AwAgBEHAAWogAUGwBGopAwA3AwAgBEG4AWogAUGoBGopAwA3AwAgBEESOgDQASAEIAEpA6AENwOwAUIBIQgCQAJAAkAgAiIDDgICAQALQgohCEIBIQoDQCAEQUBrIAhCASADQQFxIgUbIAlCACAFGyAKIAsQlAIgBEHQAGogCCAJIAggCRCUAiADQQNLIARB2ABqKQMAIQkgBEHIAGopAwAhCyAEKQNQIQggBCkDQCEKIANBAXYhAw0ACyAEQTBqIAogCyAIIAkQlAIgBEE4aikDACEJIAQpAzAhCAwBC0IKIQgLIARB4AJqIgMgCTcDACAEIAg3A9gCIARBATYC3AEgBEHE/cAANgLYASAEQgE3AuQBIARCgICAgLAHIgwgBEHYAmqthDcD+AIgBCAEQfgCajYC4AEgBEHoAmogBEHYAWoQzwEgBEHIAmpCADcDACAEQgA3A8ACIAMpAwAhCCAEKQPYAiEJIAQoAugCIgMEQCAEKALsAiADEIwDCyAEQRI6ANACIAQgCTcDsAIgBCAINwO4AiAEQfABaiIDIARBgAFqKQMANwMAIARB6AFqIgUgBEH4AGopAwA3AwAgBEHgAWogBEHwAGopAwA3AwAgBEH8AWogBCgAYzYAACAEIAQpA2g3A9gBIAQgAjoA+AEgBCAEKAJgNgD5ASAEQYgBaiAEQdgBaiICIARBsAFqIARBsAJqEHwgAiABEJkBIAQoAtgBDQMgBEGoAmogBEGAAmopAwA3AwAgBEGgAmogBEH4AWopAwA3AwAgBEGYAmogAykDADcDACAEQZACaiAFKQMANwMAIAQgBCkD4AE3A4gCQgEhCEIAIQkgBC0AqAEiAw4CAgEAC0IKIQhCASEKQgAhCwNAIARBEGogCEIBIANBAXEiARsgCUIAIAEbIAogCxCUAiAEQSBqIAggCSAIIAkQlAIgA0EDSyAEQShqKQMAIQkgBEEYaikDACELIAQpAyAhCCAEKQMQIQogA0EBdiEDDQALIAQgCiALIAggCRCUAiAEQQhqKQMAIQkgBCkDACEIDAELQgohCAsgBEG4AWoiASAJNwMAIAQgCDcDsAEgBEEBNgLcASAEQcT9wAA2AtgBIARCATcC5AEgBCAMIARBsAFqrYQ3A+gCIAQgBEHoAmo2AuABIARB2AJqIARB2AFqEM8BIARByAJqQgA3AwAgBEIANwPAAiABKQMAIQggBCkDsAEhCSAEKALYAiIBBEAgBCgC3AIgARCMAwsgBEESOgDQAiAEIAk3A7ACIAQgCDcDuAIgBEH4AWogBEGoAWopAwA3AwAgBEHwAWogBEGgAWopAwA3AwAgBEHoAWogBEGYAWopAwA3AwAgBEHgAWogBEGQAWopAwA3AwAgBCAEKQOIATcD2AEgAEEIaiAEQdgBaiAEQYgCaiAEQbACahB8QQAMAQsgACAEKALcATYCBEEBCzYCACAEQYADaiQAC+MJAgZ/BH4jAEHAGmsiAiQAIAJBkBBqIgUgARACIAEQAxC+AQJAAkACQAJAIAIoApAQRQRAIAJBKGoiBiACQZwIaiACQZgQakHwBxDZAUHwBxDZARogBSAGEJkBIAJBmAhqIAVBiKLAABDRASACKAKYCA0BIAJB5BlqIAJBwAhqKQMAIgg3AgAgAkHcGWogAkG4CGopAwAiCTcCACACQdQZaiACQbAIaiIEKQMAIgo3AgAgAkHMGWogAkGoCGoiBykDACILNwIAIAJB+BlqIAs3AwAgAkGAGmogCjcDACACQYgaaiAJNwMAIAJBkBpqIAg3AwAgAiACKQOgCCIINwLEGSACIAg3A/AZIAIgARAWIgM2ApwaIAUgAkGcGmpBmKLAABCyASACKAKQEEUEQCACQbQIaiACQbAQaikDACIINwIAIAJBrAhqIAJBqBBqKQMAIgk3AgAgAkGkCGogAkGgEGopAwAiCjcCACACQagaaiAKNwMAIAJBsBpqIAk3AwAgAkG4GmogCDcDACACIAIpA5gQIgg3ApwIIAIgCDcDoBogAiABEBcgAkGQGWoiAyAGIAJB8BlqIAJBoBpqIAIoAgBBAEcgAigCBBBkIAJB4BhqIANBqKLAABDRASACKALgGA0DIAJB1BhqIAJBiBlqKQMAIgg3AgAgAkHMGGogAkGAGWopAwAiCTcCACACQcQYaiACQfgYaikDACIKNwIAIAJBvBhqIAJB8BhqKQMAIgs3AgAgAkGQGGogCzcDACACQZgYaiAKNwMAIAJBoBhqIAk3AwAgAkGoGGogCDcDACACIAIpA+gYIgg3ArQYIAIgCDcDiBggAigCnBoiA0GEAU8EQCADEAALIAJBCGogAkGIGGpBuKLAABC8AQwFCyAEIAJBrBBqKAIAIgQ2AgAgByACQaQQaikCACIINwMAIAJBoAhqIAJBnBBqKQIAIgk3AwAgAkEQaiAJNwMAIAJBGGogCDcDACACQSBqIAQ2AgAgAiACKQKUECIINwOYCCACIAg3AwgMAwsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgMAwsgAkHYGWogAkG0CGooAgAiAzYCACACQdAZaiACQawIaikCACIINwMAIAJByBlqIAJBpAhqKQIAIgk3AwAgAkEQaiAJNwMAIAJBGGogCDcDACACQSBqIAM2AgAgAiACKQKcCCIINwPAGSACIAg3AwgMAgsgAkHIGGogAkH8GGooAgAiAzYCACACQcAYaiACQfQYaikCACIINwMAIAJBuBhqIAJB7BhqKQIAIgk3AwAgAkEQaiAJNwMAIAJBGGogCDcDACACQSBqIAM2AgAgAiACKQLkGCIINwOwGCACIAg3AwggAigCnBohAwsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAggiBEECRgRAQQAhAyACKAIMDAELIAJBqBBqIAJBIGooAgA2AgAgAkGgEGogAkEYaikDADcDACACQZgQaiACQRBqKQMANwMAIAIgAikDCDcDkBAgAkGQEGoQ4QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJBwBpqJAALmLYBAix/E34jAEGgGmsiByQAIAdBkBBqIgsgARACIAEQAxC+AQJAAkACQAJAAkAgBygCkBBFBEAgB0EoaiIIIAdBnAhqIAdBmBBqQfAHENkBQfAHENkBGiAHIAEQTyIGNgKEGSAHQdAZaiIEIAdBhBlqQeC/wAAQsQEgBygC0BkNASAHQfwYaiAHQfAZaiICKQMAIi83AgAgB0H0GGogB0HoGWoiAykDACIuNwIAIAdB7BhqIAdB4BlqIgUpAwAiMDcCACAHQZAZaiAwNwMAIAdBmBlqIC43AwAgB0GgGWogLzcDACAHIAcpA9gZIi83AuQYIAcgLzcDiBkgByABEFAiBjYC/BkgBCAHQfwZakHwv8AAELIBIAcoAtAZRQRAIAdBxBlqIAIpAwAiLzcCACAHQbwZaiADKQMAIi43AgAgB0G0GWogBSkDACIwNwIAIAdBiBpqIDA3AwAgB0GQGmogLjcDACAHQZgaaiAvNwMAIAcgBykD2BkiLzcCrBkgByAvNwOAGiAHQYAaaiEXIAEQUSIGQf///wdHIQ8gBkH/AXEhEiMAQcAFayIDJAAgA0EYaiAHQYgZaiIGQRhqKQMANwMAIANBEGogBkEQaikDADcDACADQQhqIAZBCGopAwA3AwAgA0ESOgAgIAMgBikDADcDACADQdgEaiAIQcgFaikDACIvNwMAIANB4ARqIAhB0AVqKQMAIi43AwAgA0HoBGogCEHYBWopAwAiMDcDACADQYgEaiAvNwMAIANBkARqIC43AwAgA0GYBGogMDcDACADQRI6AKAEIAMgCCkDwAUiLzcD0AQgAyAvNwOABCADQgA3A3ggA0GoA2oiDSAIIANBgARqIANB+ABqIgUQpQICQAJAAkACQAJAAkACQAJAAkAgAygCqANFBEAgA0FAayADQcgDaikDADcDACADQThqIANBwANqIg4pAwA3AwAgA0EwaiADQbgDaiIKKQMANwMAIANBzABqIANB1ANqKAAANgAAIAMgAykDsAM3AyggAyADKADRAzYASSADIAMtANADIgY6AEggBSAIEHkgAygCeA0BIA4gA0GYAWopAwA3AwAgCiADQZABaikDADcDACADQbADaiIUIANBiAFqKQMANwMAIANBzANqIhUgA0GkAWooAAA2AAAgAyADKQOAATcDqAMgAyADKAChATYAyQMgAyADLQCgASIEOgDIAwJAAkAgCwJ/AkACQCADQShqIA0QmgIiAkF/IAQgBkcgBCAGSxsgAkH/AXEbQf8BcUEBRwRAIwBBwAtrIgIkACACQegIaiIGIAgQgwECQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKALoCEUEQCACQZgDaiACQZAJaikDACI9NwMAIAJBkANqIAJBiAlqKQMANwMAIAJBiANqIAJBgAlqIgQpAwA3AwAgAkGAA2ogAkH4CGoiCSkDADcDACACIAIpA/AINwP4AiACQbgJaiAIQcgBaikDADcDACACQcAJaiAIQdABaikDADcDACACQcgJaiAIQdgBaikDADcDACACIAgpA8ABNwOwCSACQegJaiAIQZgFaikDACIvNwMAIAJB4AlqIAhBkAVqKQMAIi43AwAgAkHYCWogCEGIBWopAwAiMDcDACACQZgKaiAwNwMAIAJBoApqIC43AwAgAkGoCmogLzcDACACQRI6ALAKIAIgCCkDgAUiLzcD0AkgAiAvNwOQCiACQbAHaiIMQgA3AwAgAkKAgJC7utat8A03A6gHIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgAkGoB2qtQoCAgICwB4QiPjcDqAYgAiACQagGajYC8AggAkGAB2ogBhDPASACQegGakIANwMAIAJCADcD4AYgDCkDACEvIAIpA6gHIS4gAigCgAciBgRAIAIoAoQHIAYQjAMLIAJBEjoA8AYgAiAuNwPQBiACIC83A9gGIAQgCEHAAWoiBkEYaikDADcDACAJIAZBEGopAwA3AwAgAkHwCGogBkEIaikDADcDACACQRI6AIgJIAIgBikDADcD6AggAkGwBWogAkHoCGoiBiACQdAGaiACQZAKahB2IAZBqMfAAEEEELcBIAIoAugIDQEgAikDiAkhNSACKQOACSE4IAIpA/gIITkgAikD8AghOyACQfgJaiAIQegDaikDACIvNwMAIAJBgApqIAhB8ANqKQMAIi43AwAgAkGICmogCEH4A2opAwAiMDcDACACQfgDaiAvNwMAIAJBgARqIC43AwAgAkGIBGogMDcDACACIAgpA+ADIi83A/AJIAIgLzcD8AMgBkGox8AAQQQQtwEgAigC6AgNAiACQbAEaiACQYgJaiIJKQMANwMAIAJBqARqIAJBgAlqKQMANwMAIAJBoARqIAJB+AhqKQMANwMAIAIgAikD8Ag3A5gEIAIgAigAkQk2ApAEIAIgAkGUCWooAAA2AJMEIAItAJAJIQQgBiAIEJkBIAIoAugIDQMgAkHYBGogAkGQCWopAwA3AwAgAkHQBGogCSkDADcDACACQcgEaiACQYAJaikDADcDACACQcAEaiACQfgIaikDADcDACACIAIpA/AINwO4BEIBIS9CACEuAkACQAJAIAQOAgIBAAtCCiEvIAQhBkIBITADQCACQYACaiAvQgEgBkEBcSIJGyAuQgAgCRsgMCAxEJQCIAJBkAJqIC8gLiAvIC4QlAIgBkEDSyACQZgCaikDACEuIAJBiAJqKQMAITEgAikDkAIhLyACKQOAAiEwIAZBAXYhBg0ACyACQfABaiAwIDEgLyAuEJQCIAJB+AFqKQMAIS4gAikD8AEhLwwBC0IKIS8LIAJBoAtqIgYgLjcDACACIC83A5gLIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgAkGYC2qtQoCAgICwB4Q3A7gLIAIgAkG4C2o2AvAIIAJBqAtqIAJB6AhqEM8BIAJBqApqQgA3AwAgAkIANwOgCiAGKQMAIS8gAikDmAshLiACKAKoCyIGBEAgAigCrAsgBhCMAwsgAkESOgCwCiACIC43A5AKIAIgLzcDmAogAkGACWogAkGwBGopAwA3AwAgAkH4CGogAkGoBGopAwA3AwAgAkHwCGogAkGgBGopAwA3AwAgAkGMCWogAigAkwQ2AAAgAiACKQOYBDcD6AggAiAEOgCICSACIAIoApAENgCJCSACQagHaiACQegIaiIGIAJBkApqIAJBuARqEHYgBkGox8AAQQQQtwEgAigC6AgNBCACKQP4CCEuIAIpA7AHITAgAikDiAkhMiACKQPAByE0IAIpA7gHIjEgAikDgAkiNn0hLwJAAn4gAikDqAciNyACKQPwCCI6WgRAIDAgLn0hMyAuIDBWrQwBCyAwIC5Cf4V8ITMgLiAwVq0gLiAwUa18CyIuUARAIDEgNlStITEMAQsgLiAvVq0gMSA2VK18ITEgLyAufSEvCyA0IDJ9IS4CQCAxUARAIDIgNFgNAQwZCyAuIDFUIDIgNFZyDRggLiAxfSEuCyACQRI6AKAHIAIgLjcDmAcgAiAvNwOQByACIDM3A4gHIAIgNyA6fTcDgAcgAkGwB2oiBkIANwMAIAJCgICQu7rWrfANNwOoByACQQE2AuwIIAJBxP3AADYC6AggAkIBNwL0CCACID43A6gLIAIgAkGoC2o2AvAIIAJBmAtqIAJB6AhqEM8BIAJBqApqQgA3AwAgAkIANwOgCiAGKQMAIS8gAikDqAchLiACKAKYCyIGBEAgAigCnAsgBhCMAwsgAkESOgCwCiACIC43A5AKIAIgLzcDmAogAkGACWogAkGIBGopAwA3AwAgAkH4CGogAkGABGopAwA3AwAgAkHwCGogAkH4A2opAwA3AwAgAiACKQPwAzcD6AggAkESOgCICSACQcgDaiACQegIaiIGIAJBgAdqIAJBkApqEHYgBkGox8AAQQQQtwEgAigC6AgNBSACKQP4CCEuIAgpA4gEITIgAikDiAkhMSAIKQOYBCE2IAIpA4AJIjAgCCkDkAQiN30hLwJAAn4gAikD8AgiNCAIKQOABCI6WgRAIC4gMn0hMyAuIDJUrQwBCyAuIDJCf4V8ITMgLiAyVK0gLiAyUa18CyIuUARAIDAgN1StITAMAQsgLiAvVq0gMCA3VK18ITAgLyAufSEvCyAxIDZ9IS4CQCAwUARAIDEgNloNAQwZCyAxIDZUIC4gMFRyDRggLiAwfSEuCyACQRI6AMgHIAIgLjcDwAcgAiAvNwO4ByACIDM3A7AHIAIgNCA6fTcDqAdCASEvQgAhLgJAAkACQCACLQDoAyIGDgICAQALQgohL0IBITBCACExA0AgAkHQAWogL0IBIAZBAXEiBBsgLkIAIAQbIDAgMRCUAiACQeABaiAvIC4gLyAuEJQCIAZBA0sgAkHoAWopAwAhLiACQdgBaikDACExIAIpA+ABIS8gAikD0AEhMCAGQQF2IQYNAAsgAkHAAWogMCAxIC8gLhCUAiACQcgBaikDACEuIAIpA8ABIS8MAQtCCiEvCyACQYgHaiIGIC43AwAgAiAvNwOAByACQQE2AuwIIAJBxP3AADYC6AggAkIBNwL0CCACIAJBgAdqrUKAgICAsAeEIjw3A6gLIAIgAkGoC2o2AvAIIAJBmAtqIAJB6AhqEM8BIAJBqApqQgA3AwAgAkIANwOgCiAGKQMAIS8gAikDgAchLiACKAKYCyIGBEAgAigCnAsgBhCMAwsgAkESOgCwCiACIC43A5AKIAIgLzcDmAogAkGICWogAkHoA2opAwA3AwAgAkGACWogAkHgA2opAwA3AwAgAkH4CGogAkHYA2opAwA3AwAgAkHwCGogAkHQA2opAwA3AwAgAiACKQPIAzcD6AggAkGoBmogAkHoCGogAkGoB2ogAkGQCmoQdiA5IAIpA7AGfCIzIDlUIQYgAikDuAYgOHwiLyA4VCEEIAIpA8AGIDV8Ii4gNVQhCQJAIDsgOyACKQOoBnwiOVgEfiAGrQUgM0IBfCIzUK0gBq18CyIwUAR+IAStBSAvIC8gMHwiL1atIAStfAsiMFAEQCAJRQ0BDBoLIAkNGSAuIC4gMHwiLlYNGQsgAkHoCGpBqMfAAEEEELcBIAIoAugIDQYgAikD+AghMSACKQOICSE4IAIpA4AJIjQgN30hMAJAAn4gOiACKQPwCCI7WARAIDEgMn0hNSAxIDJUrQwBCyAxIDJCf4V8ITUgMSAyVK0gMSAyUa18CyIxUARAIDQgN1StITQMAQsgMCAxVK0gNCA3VK18ITQgMCAxfSEwCyA4IDZ9ITECQCA0UARAIDYgOFgNAQwZCyAxIDRUIDYgOFZyDRggMSA0fSExCyACQRI6AMgHIAIgMTcDwAcgAiAwNwO4ByACIDU3A7AHIAIgOyA6fTcDqAcgAkGIB2oiBkIANwMAIAJCgICQu7rWrfANNwOAByACQQE2AuwIIAJBxP3AADYC6AggAkIBNwL0CCACIDw3A5gLIAIgAkGYC2o2AvAIIAJBqAZqIAJB6AhqEM8BIAJBqApqQgA3AwAgAkIANwOgCiAGKQMAITAgAikDgAchMSACKAKoBiIGBEAgAigCrAYgBhCMAwsgAkESOgCwCiACIDE3A5AKIAIgMDcDmAogAkESOgCICSACIC43A4AJIAIgLzcD+AggAiAzNwPwCCACIDk3A+gIIAJB2AVqIAJB6AhqIgYgAkGQCmogAkGoB2oQdiAGQajHwABBBBC3ASACKALoCA0HIAIpA/gIIS4gCCkDyAYhNCACKQOICSExIAgpA9gGITggAikDgAkiMCAIKQPQBiI5fSEvAkACfiACKQPwCCIzIAgpA8AGIjtaBEAgLiA0fSE1IC4gNFStDAELIC4gNEJ/hXwhNSAuIDRUrSAuIDRRrXwLIi5QBEAgMCA5VK0hMAwBCyAuIC9WrSAwIDlUrXwhMCAvIC59IS8LIDEgOH0hLgJAIDBQBEAgMSA4Wg0BDBkLIDEgOFQgLiAwVHINGCAuIDB9IS4LIAJBEjoAyAcgAiA4NwPAByACIDk3A7gHIAIgNDcDsAcgAiA7NwOoByACQYgHaiIGQgA3AwAgAkKAgJC7utat8A03A4AHIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgPDcDmAsgAiACQZgLajYC8AggAkGoBmogAkHoCGoQzwEgAkGoCmpCADcDACACQgA3A6AKIAYpAwAhMCACKQOAByExIAIoAqgGIgYEQCACKAKsBiAGEIwDCyACQRI6ALAKIAIgMTcDkAogAiAwNwOYCiACQRI6AIgJIAIgLjcDgAkgAiAvNwP4CCACIDU3A/AIIAIgMyA7fTcD6AggAkGAB2oiBiACQegIaiACQZAKaiACQagHahB8IAJB0AZqIAJB2AVqIAYQciACKALQBg0IIAIpA7gFIi8gAikD4AZ8Ii4gL1QhBiACKQPABSIwIAIpA+gGfCIvIDBUIQQgAikDyAUiMSACKQPwBnwiMCAxVCEJAkAgAikDsAUiMyACKQPYBnwiMSAzWgR+IAatBSAuQgF8Ii5QrSAGrXwLIjNQBH4gBK0FIC8gLyAzfCIvVq0gBK18CyIzUARAIAIgMDcDuAMgAiAvNwOwAyACIC43A6gDIAIgMTcDoAMgCUUNAQwaCyACIC83A7ADIAIgLjcDqAMgAiAxNwOgAyACIDAgM3wiLzcDuAMgCSAvIDBUcg0ZCyACQRI6AMADQgEhL0IAIS4CQAJAAkAgPadB/wFxIgYOAgIBAAtCCiEvQgEhMEIAITEDQCACQaABaiAvQgEgBkEBcSIEGyAuQgAgBBsgMCAxEJQCIAJBsAFqIC8gLiAvIC4QlAIgBkEDSyACQbgBaikDACEuIAJBqAFqKQMAITEgAikDsAEhLyACKQOgASEwIAZBAXYhBg0ACyACQZABaiAwIDEgLyAuEJQCIAJBmAFqKQMAIS4gAikDkAEhLwwBC0IKIS8LIAJBmApqIgYgLjcDACACIC83A5AKIAJBATYC1AYgAkHE/cAANgLQBiACQgE3AtwGIAIgAkGQCmqtQoCAgICwB4QiNTcDgAcgAiACQYAHajYC2AYgAkGoB2ogAkHQBmoQzwEgAkGACWpCADcDACACQgA3A/gIIAYpAwAhLyACKQOQCiEuIAIoAqgHIgYEQCACKAKsByAGEIwDCyACQRI6AIgJIAIgLjcD6AggAiAvNwPwCCACQdACaiACQfgCaiACQegIaiIGIAJBoANqEHwgBkGox8AAQQQQtwEgAigC6AgNCSACQYAFaiACQYgJaikDADcDACACQfgEaiACQYAJaikDADcDACACQfAEaiACQfgIaikDADcDACACIAIpA/AINwPoBCACIAIoAJEJNgLgBCACIAJBlAlqKAAANgDjBCACLQCQCSEEIAZBqMfAAEEEELcBIAIoAugIDQogAikD+AghLiACKQOICSExIAIpA4AJIjAgOX0hLwJAAn4gOyACKQPwCCI8WARAIC4gNH0hMyAuIDRUrQwBCyAuIDRCf4V8ITMgLiA0VK0gLiA0Ua18CyIuUARAIDAgOVStITAMAQsgLiAvVq0gMCA5VK18ITAgLyAufSEvCyAxIDh9IS4CQCAwUARAIDEgOFoNAQwZCyAuIDBUIDEgOFRyDRggLiAwfSEuCyACQRI6ALAKIAIgLjcDqAogAiAvNwOgCiACIDM3A5gKIAIgPCA7fTcDkApCASEvQgAhLgJAAkACQCAEDgICAQALQgohLyAEIQZCASEwQgAhMQNAIAJB8ABqIC9CASAGQQFxIgkbIC5CACAJGyAwIDEQlAIgAkGAAWogLyAuIC8gLhCUAiAGQQNLIAJBiAFqKQMAIS4gAkH4AGopAwAhMSACKQOAASEvIAIpA3AhMCAGQQF2IQYNAAsgAkHgAGogMCAxIC8gLhCUAiACQegAaikDACEuIAIpA2AhLwwBC0IKIS8LIAJBsAdqIgYgLjcDACACIC83A6gHIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgPjcDqAYgAiACQagGajYC8AggAkGAB2ogAkHoCGoQzwEgAkHoBmpCADcDACACQgA3A+AGIAYpAwAhLyACKQOoByEuIAIoAoAHIgYEQCACKAKEByAGEIwDCyACQRI6APAGIAIgLjcD0AYgAiAvNwPYBiACQYAJaiACQYAFaikDADcDACACQfgIaiACQfgEaikDADcDACACQfAIaiACQfAEaikDADcDACACQYwJaiACKADjBDYAACACIAIpA+gENwPoCCACIAQ6AIgJIAIgAigC4AQ2AIkJIAJBqAdqIgYgAkHoCGogAkHQBmogAkGQCmoQfCACQaACaiACQdACaiAGEHIgAigCoAINCyACQagFaiACQcgCaikDACIwNwMAIAJBoAVqIAJBwAJqKQMANwMAIAJBmAVqIAJBuAJqIgYpAwA3AwAgAkGQBWogAkGwAmoiBCkDADcDACACIAIpA6gCNwOIBSAGIAJB6AlqKQMANwMAIAQgAkHgCWopAwA3AwAgAkGoAmogAkHYCWopAwA3AwAgAiACKQPQCTcDoAIgAkESOgDAAkIBIS9CACEuAkACQAJAIDCnQf8BcSIGDgICAQALQgohL0IBITBCACExA0AgAkFAayAvQgEgBkEBcSIEGyAuQgAgBBsgMCAxEJQCIAJB0ABqIC8gLiAvIC4QlAIgBkEDSyACQdgAaikDACEuIAJByABqKQMAITEgAikDUCEvIAIpA0AhMCAGQQF2IQYNAAsgAkEwaiAwIDEgLyAuEJQCIAJBOGopAwAhLiACKQMwIS8MAQtCCiEvCyACQZgKaiIGIC43AwAgAiAvNwOQCiACQQE2AuwIIAJBxP3AADYC6AggAkIBNwL0CCACIDU3A4AHIAIgAkGAB2o2AvAIIAJBqAdqIAJB6AhqEM8BIAJB6AZqQgA3AwAgAkIANwPgBiAGKQMAIS8gAikDkAohLiACKAKoByIGBEAgAigCrAcgBhCMAwsgAkESOgDwBiACIC43A9AGIAIgLzcD2AYgAkGICWoiBCACQagFaikDADcDACACQYAJaiIJIAJBoAVqKQMANwMAIAJB+AhqIgwgAkGYBWopAwA3AwAgAkHwCGogAkGQBWopAwA3AwAgAiACKQOIBTcD6AggAkGwBWogAkHoCGoiBiACQdAGaiITIAJBoAJqIhAQfCACQcAHaiACQYgKaikDADcDACACQbgHaiACQYAKaikDADcDACACQbAHaiACQfgJaikDADcDACACIAIpA/AJNwOoByACQRI6AMgHIAZBqMfAAEEEELcBIAIoAugIDQwgAkHwBmogAkGQCWoiESkDADcDACACQegGaiAEKQMANwMAIAJB4AZqIAkpAwA3AwAgAkHYBmogDCkDADcDACACIAIpA/AINwPQBiAGIAgQmQEgAigC6AgNDSACQaAGaiARKQMANwMAIAJBmAZqIAQpAwA3AwAgAkGQBmogCSkDADcDACACQYgGaiAMKQMANwMAIAIgAikD8Ag3A4AGIBAgEyACQYAGahDCASAGQajHwABBBBC3ASACKALoCA0OIAIpA/gIIS4gAikDqAIhMCACKQOICSEzIAIpA7gCITUgAikDsAIiMSACKQOACSI8fSEvAkACfiACKQOgAiI/IAIpA/AIIkBaBEAgMCAufSE9IC4gMFatDAELIDAgLkJ/hXwhPSAuIDBWrSAuIDBRrXwLIi5QBEAgMSA8VK0hMQwBCyAuIC9WrSAxIDxUrXwhMSAvIC59IS8LIDUgM30hLgJAIDFQBEAgMyA1WA0BDBkLIC4gMVQgMyA1VnINGCAuIDF9IS4LIAJBEjoAsAogAiAuNwOoCiACIC83A6AKIAIgPTcDmAogAiA/IEB9NwOQCiACQYAHaiACQagHaiACQZAKahDDASACQegIakGox8AAQQQQtwEgAigC6AgNDyACKQP4CCEuIAIpA4gJITEgAikDgAkiMCA3fSEvAkACfiA6IAIpA/AIIjVYBEAgLiAyfSEzIC4gMlStDAELIC4gMkJ/hXwhMyAuIDJUrSAuIDJRrXwLIi5QBEAgMCA3VK0hMAwBCyAuIC9WrSAwIDdUrXwhMCAvIC59IS8LIDEgNn0hLgJAIDBQBEAgMSA2Wg0BDBkLIC4gMFQgMSA2VHINGCAuIDB9IS4LIAJBEjoAiAkgAiAuNwOACSACIC83A/gIIAIgMzcD8AggAiA1IDp9NwPoCCACQdgFaiACQYAHaiACQegIaiIGEMMBIAZBqMfAAEEEELcBIAIoAugIDRAgAikD+AgiLyACKQPgBXwiLiAvVCEGIAIpA4AJIjAgAikD6AV8Ii8gMFQhBCACKQOICSIxIAIpA/AFfCIwIDFUIQkCQCACKQPwCCIzIAIpA9gFfCIxIDNaBH4gBq0FIC5CAXwiLlCtIAatfAsiM1AEfiAErQUgLyAvIDN8Ii9WrSAErXwLIjNQBEAgAiAwNwO4AiACIC83A7ACIAIgLjcDqAIgAiAxNwOgAiAJRQ0BDBoLIAIgLzcDsAIgAiAuNwOoAiACIDE3A6ACIAIgMCAzfCIvNwO4AiAJIC8gMFRyDRkLIAJBEjoAwAIgAkHoCGpBqMfAAEEEELcBIAIoAugIDREgAikD+AghLiACKQOICSExIAIpA4AJIjAgN30hLwJAAn4gOiACKQPwCCI1WARAIC4gMn0hMyAuIDJUrQwBCyAuIDJCf4V8ITMgLiAyVK0gLiAyUa18CyIuUARAIDAgN1StITAMAQsgLiAvVq0gMCA3VK18ITAgLyAufSEvCyAxIDZ9IS4CQCAwUARAIDEgNloNAQwZCyAuIDBUIDEgNlRyDRggLiAwfSEuCyACQRI6AIgJIAIgLjcDgAkgAiAvNwP4CCACIDM3A/AIIAIgNSA6fTcD6AggAkGAB2ogAkGgAmogAkHoCGoiBhDCASAGQajHwABBBBC3ASACKALoCA0SIAJB8AdqIAJBiAlqKQMANwMAIAJB6AdqIAJBgAlqKQMANwMAIAJB4AdqIAJB+AhqKQMANwMAIAIgAikD8Ag3A9gHIAIgAigAkQk2AtAHIAIgAkGUCWooAAA2ANMHIAItAJAJIQQgAkESOgCwCiACIDg3A6gKIAIgOTcDoAogAiA0NwOYCiACIDs3A5AKQgEhL0IAIS4CQAJAAkAgBA4CAgEAC0IKIS8gBCEGQgEhMEIAITEDQCACQRBqIC9CASAGQQFxIgkbIC5CACAJGyAwIDEQlAIgAkEgaiAvIC4gLyAuEJQCIAZBA0sgAkEoaikDACEuIAJBGGopAwAhMSACKQMgIS8gAikDECEwIAZBAXYhBg0ACyACIDAgMSAvIC4QlAIgAkEIaikDACEuIAIpAwAhLwwBC0IKIS8LIAJBsAdqIgYgLjcDACACIC83A6gHIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgPjcD0AIgAiACQdACajYC8AggAkGgA2ogAkHoCGoQzwEgAkG4AmpCADcDACACQgA3A7ACIAYpAwAhLyACKQOoByEuIAIoAqADIgYEQCACKAKkAyAGEIwDCyACQRI6AMACIAIgLjcDoAIgAiAvNwOoAiACQYAJaiIGIAJB8AdqKQMANwMAIAJB+AhqIgkgAkHoB2opAwA3AwAgAkHwCGogAkHgB2opAwA3AwAgAkGMCWogAigA0wc2AAAgAiACKQPYBzcD6AggAiAEOgCICSACIAIoAtAHNgCJCSACQagHaiIEIAJB6AhqIgwgAkGgAmoiEyACQZAKaiIQEHYgAkHQBmoiESACQYAHaiAEEHIgAigC0AYNEyACQZgIaiACQfgGaikDADcDACACQZAIaiACQfAGaikDADcDACACQYgIaiACQegGaiIEKQMANwMAIAJBgAhqIAJB4AZqIhYpAwA3AwAgAiACKQPYBjcD+AcgAkGoBmogAkH4B2ogAkGIBWoQwwEgBCAIQRhqKQMANwMAIBYgCEEQaikDADcDACACQdgGaiAIQQhqKQMANwMAIAJBEjoA8AYgAiAIKQMANwPQBiACQagKaiAIQThqKQMANwMAIAJBoApqIAhBMGopAwA3AwAgAkGYCmogCEEoaikDADcDACACIAgpAyA3A5AKIAwgESAQEMYBAkACQCACKALoCEUEQCACQbgIaiACQYgJaikDACIvNwMAIAJBsAhqIAYpAwAiLjcDACACQagIaiAJKQMAIjA3AwAgAkHEAmogAkGUCWooAAA2AAAgAkGoAmogMDcDACACQbACaiAuNwMAIAJBuAJqIC83AwAgAiACKQPwCCIvNwOgCCACIAIoAJEJNgDBAiACIC83A6ACIAIgAi0AkAkiBjoAwAIgAkGwBWogExCaAkH/AXEiBEUNASAEQf8BRw0CDBcLIAIoAuwIDBcLIAItANAFIAZJDRULIAJB4ApqIAJBuAVqKQMANwMAIAJB6ApqIAJBwAVqKQMANwMAIAJB8ApqIAJByAVqKQMANwMAIAIgAikDsAU3A9gKIAJB0AZqIgYgAkHYCmogAkGgCGoQ3wEgAkESOgDwBiACQYAJaiIEIAJByAlqKQMANwMAIAJB+AhqIgkgAkHACWopAwA3AwAgAkHwCGoiEyACQbgJaikDADcDACACIAIpA7AJNwPoCCACQRI6AIgJIAJBwAhqIAYgAkHoCGoiDBDDASACQbgKaiIQIAhBgAFqIAJBqAZqEN8BIAJB8AZqIAJB4AhqIhEpAwA3AwAgAkHoBmogAkHYCGoiFikDADcDACACQeAGaiACQdAIaiIYKQMANwMAIAJB2AZqIAJByAhqIhkpAwA3AwAgAiACKQPACDcD0AYgDCAIIAYQhAEgAigC6AhFBEAgAkGQC2ogAkGICWoiBikDADcDACACQYgLaiAEKQMANwMAIAJBgAtqIAkpAwA3AwAgAiACKQPwCDcD+AogAkGQCWogECACQfgKahDfASAGIBEpAwA3AwAgBCAWKQMANwMAIAkgGCkDADcDACATIBkpAwA3AwAgAiACKQPACDcD6AggBUEIaiAMQcgAENkBGiAFQQA2AgAgBUESOgBQDBcLIAIoAuwIDBULIAIoAuwIIQYgBUEBNgIAIAUgBjYCBAwVCyACIAIoAuwINgKQCkHMxMAAQSsgAkGQCmpBvMTAAEG4zMAAEJUCAAsgAiACKALsCDYCkApBzMTAAEErIAJBkApqQbzEwABBqMzAABCVAgALIAIoAuwIIQYgBUEBNgIAIAUgBjYCBAwSCyACIAIoAuwINgKQCkHMxMAAQSsgAkGQCmpBvMTAAEGYzMAAEJUCAAsgAiACKALsCDYCkApBzMTAAEErIAJBkApqQbzEwABBiMzAABCVAgALIAIgAigC7Ag2ApAKQczEwABBKyACQZAKakG8xMAAQfjLwAAQlQIACyACIAIoAuwINgKQCkHMxMAAQSsgAkGQCmpBvMTAAEHoy8AAEJUCAAsgAigC1AYhBiAFQQE2AgAgBSAGNgIEDA0LIAIgAigC7Ag2AtAGQczEwABBKyACQdAGakG8xMAAQdjLwAAQlQIACyACIAIoAuwINgLQBkHMxMAAQSsgAkHQBmpBvMTAAEHIy8AAEJUCAAsgAigCpAIhBiAFQQE2AgAgBSAGNgIEDAoLIAIgAigC7Ag2AqgGQczEwABBKyACQagGakG8xMAAQbjLwAAQlQIACyACKALsCCEGIAVBATYCACAFIAY2AgQMCAsgAiACKALsCDYC0AZBzMTAAEErIAJB0AZqQbzEwABBqMvAABCVAgALIAIgAigC7Ag2AtAGQczEwABBKyACQdAGakG8xMAAQZjLwAAQlQIACyACIAIoAuwINgKgAkHMxMAAQSsgAkGgAmpBvMTAAEGIy8AAEJUCAAsgAiACKALsCDYCkApBzMTAAEErIAJBkApqQbzEwABB+MrAABCVAgALIAIgAigC7Ag2AqACQczEwABBKyACQaACakG8xMAAQejKwAAQlQIACyACKALUBiEGIAVBATYCACAFIAY2AgQMAgsgAkEANgL4CCACQQE2AuwIIAJB0MrAADYC6AggAkIENwLwCCACQegIakHYysAAEM0BCyEGIAVBATYCACAFIAY2AgQLIAJBwAtqJAAMAgsgAkEANgL4CCACQQE2AuwIIAJBsMTAADYC6AggAkIENwLwCCACQegIakGAxMAAELMCAAsgAkEANgL4CCACQQE2AuwIIAJBlIfBADYC6AggAkIENwLwCCACQegIakGohcEAELMCAAsgAygCeA0BIANBkAVqIgQgA0GYAWopAwA3AwAgA0GIBWoiAiADQZABaikDADcDACADQYAFaiIJIANBiAFqKQMANwMAIANBoAVqIANBsAFqKQMANwMAIANBqAVqIANBuAFqKQMANwMAIANBsAVqIANBwAFqKQMANwMAIANBuAVqIANByAFqKQMANwMAIAMgAykDgAE3A/gEIAMgAygAoQE2AvAEIAMgAykDqAE3A5gFIAMgA0GkAWooAAA2APMEIAMtAKABIQYgA0HoAGogBCkDACIvNwMAIANB4ABqIAIpAwAiLjcDACADQdgAaiAJKQMAIjA3AwAgA0H0AGogAygA8wQ2AAAgAyADKQP4BCIxNwNQIAMgBjoAcCADIAMoAvAENgBxIA4gLzcDACAKIC43AwAgFCAwNwMAIAMgMTcDqAMgAyAGOgDIAyAVIAMoAPMENgAAIAMgAygC8AQ2AMkDIAUgCCANIANBmAVqIBcQaCADKAJ4IgQNBCAEBEAgBUEEchDtAgsgA0GQAWoiAiAIQcAFaiIEQRhqKQMANwMAIANBiAFqIgUgBEEQaikDADcDACADQYABaiINIARBCGopAwA3AwAgAyAEKQMANwN4IANBEjoAmAEgA0HQAGogA0H4AGoiDhCaAiIKQX9BACAGQf8BcSIEQRJJGyAKQf8BcRtB/wFxQQJPDQUgA0HMA2ogAygA8wQ2AAAgA0HAA2ogA0GQBWopAwA3AwAgA0G4A2ogA0GIBWopAwA3AwAgA0GwA2ogA0GABWopAwA3AwAgAyADKQP4BDcDqAMgAyAGOgDIAyADIAMoAvAENgDJAyADQZgBaiADQSBqKQMANwMAIAIgA0EYaikDADcDACAFIANBEGopAwA3AwAgDSADQQhqKQMANwMAIAMgAykDADcDeAJAIANBqANqIA4QmgIiCEH/AXEEfyAIBSADLQCYASIIIARLDQEgBCAIRwtB/wFxQQFGDQMLIANBmARqIANBkAVqKQMANwMAIANBkARqIANBiAVqKQMANwMAIANBiARqIANBgAVqKQMANwMAIAMgAykD+AQ3A4AEIANB8ARqDAMLIANB+ABqQeSGwABBARC2ASADKAJ4RQRAIAsgAykDgAE3AwggC0EoaiADQaABaikDADcDACALQSBqIANBmAFqKQMANwMAIAtBGGogA0GQAWopAwA3AwAgC0EQaiADQYgBaikDADcDACALQQA2AgAMDwsgAyADKAJ8NgKoA0G4gsAAQSsgA0GoA2pBqILAAEHEiMAAEJUCAAsgAygCfCEGIAtBATYCACALIAY2AgQMDQsgA0GYBGogA0EYaikDADcDACADQZAEaiADQRBqKQMANwMAIANBiARqIANBCGopAwA3AwAgAyADKQMANwOABCADLQAgIQYgA0EhagsiCCgAADYAKSALQSxqIAhBA2ooAAA2AAAgC0EgaiADQZgEaikDADcDACALQRhqIANBkARqKQMANwMAIAtBEGogA0GIBGopAwA3AwAgCyADKQOABDcDCCALIAY6ACggC0EANgIADAsLIANB+ABqQQRyEO0CCyADQcADaiADQZAFaikDADcDACADQbgDaiADQYgFaikDADcDACADQbADaiADQYAFaikDADcDACADQcwDaiADKADzBDYAACADIAMpA/gENwOoAyADIAY6AMgDIAMgAygC8AQ2AMkDIANBmARqIBdBGGopAwA3AwAgA0GQBGogF0EQaikDADcDACADQYgEaiAXQQhqKQMANwMAIAMgFykDADcDgAQgA0H4AGohDSADQagDaiEMIANBgARqIQ4jAEHABGsiBSQAIAVB0ANqIgQgCBCZAQJAAkACQAJAAkACQAJAAkACQAJAIAUoAtADRQRAIAVB2ABqIhQgBUH4A2oiFSkDACIvNwMAIAVB0ABqIhMgBUHwA2oiAikDACIuNwMAIAVByABqIhAgBUHoA2oiCikDACIwNwMAIAVBQGsiESAFQeADaiIJKQMAIjE3AwAgBSAFKQPYAyIyNwM4IAVBoARqIC83AwAgBUGYBGogLjcDACAFQZAEaiAwNwMAIAVBiARqIDE3AwAgBSAyNwOABCAFQdABaiAUKQMANwMAIAVByAFqIBMpAwA3AwAgBUHAAWogECkDADcDACAFQbgBaiARKQMANwMAIAUgBSkDODcDsAEgBCAIIAVBgARqIAVBsAFqIA4QcCAFKALQAw0BIAVBgAFqIBUpAwA3AwAgBUH4AGogAikDADcDACAFQfAAaiAKKQMANwMAIAVB6ABqIAkpAwA3AwAgBSAFKQPYAzcDYCAFQeABaiAFQeAAaiAMEMIBIARBqMfAAEEEELcBIAUoAtADDQIgBUHQAmogAikDADcDACAFQcgCaiAKKQMANwMAIAVBwAJqIAkpAwA3AwAgBSAFKQPYAzcDuAIgBSAFKAD5AzYCsAIgBSAFQfwDaigAADYAswIgBS0A+AMhAiAEQajHwABBBBC3ASAFKALQAw0DIAUpA+ADIS4gCCkDyAYhMCAFKQPwAyEyIAgpA9gGITMgBSkD6AMiNCAIKQPQBiI2fSEvAkACfiAFKQPYAyI3IAgpA8AGIjVaBEAgLiAwfSExIC4gMFStDAELIC4gMEJ/hXwhMSAuIDBUrSAuIDBRrXwLIi5QBEAgNCA2VK0hMAwBCyAuIC9WrSA0IDZUrXwhMCAvIC59IS8LIDIgM30hLgJAIDBQBEAgMiAzWg0BDAsLIDIgM1QgLiAwVHINCiAuIDB9IS4LIAVBEjoA+AIgBSAuNwPwAiAFIC83A+gCIAUgMTcD4AIgBSA3IDV9NwPYAkIBIS9CACEuAkACQAJAIAIOAgIBAAtCCiEvIAIhBEIBITFCACEwA0AgBUEYaiAvQgEgBEEBcSIKGyAuQgAgChsgMSAwEJQCIAVBKGogLyAuIC8gLhCUAiAEQQNLIAVBMGopAwAhLiAFQSBqKQMAITAgBSkDKCEvIAUpAxghMSAEQQF2IQQNAAsgBUEIaiAxIDAgLyAuEJQCIAVBEGopAwAhLiAFKQMIIS8MAQtCCiEvCyAFQZACaiIEIC43AwAgBSAvNwOIAiAFQQE2AtQDIAVBxP3AADYC0AMgBUIBNwLcAyAFIAVBiAJqrUKAgICAsAeENwO4BCAFIAVBuARqNgLYAyAFQawEaiAFQdADahDPASAFQZgEakIANwMAIAVCADcDkAQgBCkDACEvIAUpA4gCIS4gBSgCrAQiBARAIAUoArAEIAQQjAMLIAVBEjoAoAQgBSAuNwOABCAFIC83A4gEIAVB6ANqIgogBUHQAmopAwA3AwAgBUHgA2oiCSAFQcgCaikDADcDACAFQdgDaiAFQcACaikDADcDACAFQfQDaiAFKACzAjYAACAFIAUpA7gCNwPQAyAFIAI6APADIAUgBSgCsAI2APEDIAVBiAJqIgIgBUHQA2oiBCAFQYAEaiAFQdgCahB2IAVBsAFqIgwgBUHgAWogAhByIAUoArABDQQgBUGgA2ogBUHYAWopAwA3AwAgBUGYA2ogBUHQAWoiAikDADcDACAFQZADaiAFQcgBaiIUKQMANwMAIAVBiANqIAVBwAFqIhUpAwA3AwAgBSAFKQO4ATcDgAMgBEHIzMAAQQYQtwEgBSgC0AMNBSACIAVB+ANqKQMANwMAIBQgBUHwA2opAwA3AwAgFSAKKQMANwMAIAVBuAFqIAkpAwA3AwAgBSAFKQPYAzcDsAEgBUGIAWogBUGAA2ogDBDDASAEQajHwABBBBC3ASAFKALQAw0GIAUpA+ADIS4gBSkDkAEhMCAFKQPwAyEyIAUpA6ABITMgBSkD6AMiNCAFKQOYASI2fSEvAkACfiAFKQPYAyI3IAUpA4gBIjVaBEAgLiAwfSExIC4gMFStDAELIC4gMEJ/hXwhMSAuIDBUrSAuIDBRrXwLIi5QBEAgNCA2VK0hMAwBCyAuIC9WrSA0IDZUrXwhMCAvIC59IS8LIDIgM30hLgJAIDBQBEAgMiAzWg0BDAsLIDIgM1QgLiAwVHINCiAuIDB9IS4LIAVBEjoA8AMgBSAuNwPoAyAFIC83A+ADIAUgMTcD2AMgBSA3IDV9NwPQAyAFQYAEaiAFQThqIAVB0ANqIgQQwwEgBEGox8AAQQQQtwEgBSgC0ANFBEAgBUHQAWogBUH4A2opAwA3AwAgBUHIAWogBUHwA2opAwA3AwAgBUHAAWogBUHoA2opAwA3AwAgBUG4AWogBUHgA2opAwA3AwAgBSAFKQPYAzcDsAEgBCAFQbABaiAFQYgBahDDASAFKQOIBCIvIAUpA9gDfCIuIC9UIQQgBSkDkAQiMCAFKQPgA3wiLyAwVCECIAUpA5gEIjEgBSkD6AN8IjAgMVQhCgJAIAUpA4AEIjIgBSkD0AN8IjEgMloEfiAErQUgLkIBfCIuUK0gBK18CyIyUAR+IAKtBSAvIC8gMnwiL1atIAKtfAsiMlAEQCAFIDA3A8ADIAUgLzcDuAMgBSAuNwOwAyAFIDE3A6gDIApFDQEMCwsgBSAvNwO4AyAFIC43A7ADIAUgMTcDqAMgBSAwIDJ8Ii83A8ADIAogLyAwVHINCgsgBUESOgDIAyANIAggBUGoA2ogBUE4aiAOEHAMCAsgBSAFKALUAzYCsAFBzMTAAEErIAVBsAFqQbzEwABB0MzAABCVAgALIAUoAtQDIQQgDUEBNgIAIA0gBDYCBAwGCyAFKALUAyEEIA1BATYCACANIAQ2AgQMBQsgBSAFKALUAzYCgARBzMTAAEErIAVBgARqQbzEwABBkM3AABCVAgALIAUgBSgC1AM2AoAEQczEwABBKyAFQYAEakG8xMAAQYDNwAAQlQIACyAFKAK0ASEEIA1BATYCACANIAQ2AgQMAgsgBSAFKALUAzYCsAFBzMTAAEErIAVBsAFqQbzEwABB8MzAABCVAgALIAUgBSgC1AM2ArABQczEwABBKyAFQbABakG8xMAAQeDMwAAQlQIACyAFQcAEaiQADAILIAVBADYCwAEgBUEBNgK0ASAFQZSHwQA2ArABIAVCBDcCuAEgBUGwAWpBqIXBABCzAgALIAVBADYC4AMgBUEBNgLUAyAFQbDEwAA2AtADIAVCBDcC2AMgBUHQA2pBgMTAABCzAgALAkACQAJAIAMoAnhFBEAgA0HwAWogA0GgAWopAwA3AwAgA0HoAWogA0GYAWopAwA3AwAgA0HgAWogA0GQAWoiBCkDADcDACADQdgBaiADQYgBaiICKQMANwMAIAMgAykDgAE3A9ABIAQgA0HoBGopAwA3AwAgAiADQeAEaikDADcDACADQYABaiADQdgEaikDADcDACADIAMpA9AENwN4IANBEjoAmAEgA0HQAWogDRCaAkH/AXEiBEUNASAEQf8BRg0CDAMLIAMoAnwhBiALQQE2AgAgCyAGNgIEDAwLIAMtAPABQRJPDQELIANB2AFqIANB2ARqKQMANwMAIANB4AFqIANB4ARqKQMANwMAIANB6AFqIANB6ARqKQMANwMAIAMgAykD0AQ3A9ABIANBEjoA8AELIANB+ANqIANB8AFqKQMAIi83AwAgA0HwA2ogA0HoAWopAwAiLjcDACADQegDaiADQeABaikDACIwNwMAIANB4ANqIANB2AFqKQMAIjE3AwAgAyADKQPQASIyNwPYAyADQaAEaiAvNwMAIANBmARqIC43AwAgA0GQBGogMDcDACADQYgEaiAxNwMAIAMgMjcDgAQgA0H4AGoiBCAIIANBgARqEGUgAygCeA0CIANBwAJqIANBoAFqKQMANwMAIANBuAJqIANBmAFqKQMANwMAIANBsAJqIANBkAFqKQMANwMAIANBqAJqIANBiAFqKQMANwMAIAMgAykDgAE3A6ACIANBqANqIgIgCCADQdgDaiADQaACaiAXEGggAygCqAMNCCADQZgCaiIaIANB0ANqKQMANwMAIANBkAJqIhsgA0HIA2oiHCkDADcDACADQYgCaiIdIANBwANqIh4pAwA3AwAgA0GAAmoiHyADQbgDaiIgKQMANwMAIAMgAykDsAM3A/gBIBJBByAPGyIURQ0GIAJBBHIhFSADQbADaiEOIANBgAFqIQ0gBEEEciETA0ACQAJAAkACQAJAIANB0AFqIANB0ABqEJoCQf8BcQ4CAAIBCyADLQDwASAGQf8BcU8NAQsgA0HQAWogAxCaAkH/AXEOAgEHAgsgA0EANgKIASADQQE2AnwgA0GQicAANgJ4IANCBDcCgAEgA0H4AGpBmInAABDNASEGIAtBATYCACALIAY2AgQMDAsgAy0A8AEgAy0AIE8NBQsgHCADQfABaiIhKQMANwMAIB4gA0HoAWoiIikDADcDACAgIANB4AFqIiMpAwA3AwAgDiADQdgBaiIkKQMANwMAIAMgAykD0AE3A6gDIwBBsAFrIgIkACACQQhqIQUjAEGgBWsiBCQAIARBqARqIAhB2AFqKQMANwMAIARBoARqIAhB0AFqKQMANwMAIARBmARqIAhByAFqKQMANwMAIARBEjoAsAQgBCAIKQPAATcDkAQgBCADQagDaiAEQZAEaiIKEMIBIARB2ANqIAhBmAVqKQMANwMAIARB0ANqIAhBkAVqKQMANwMAIARByANqIAhBiAVqKQMANwMAIARBEjoA4AMgBCAIKQOABTcDwAMgBEGwAmogCEEYaikDADcDACAEQagCaiAIQRBqKQMANwMAIARBoAJqIAhBCGopAwA3AwAgBEESOgC4AiAEIAgpAwA3A5gCIARBsANqIAhBOGopAwA3AwAgBEGoA2ogCEEwaikDADcDACAEQaADaiAIQShqKQMANwMAIAQgCCkDIDcDmAMgCiAEQZgCaiAEQZgDahDGAQJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEKAKQBEUEQCAEKQOgBCIvIAQpAwh8Ii4gL1QhCiAEKQOoBCIvIAQpAxAgL3wiL1YhCSAEKQOwBCIwIAQpAxggMHwiMFYhDAJAIAQpA5gEIjIgBCkDAHwiMSAyWgR+IAqtBSAuQgF8Ii5QrSAKrXwLIjJQBH4gCa0FIC8gLyAyfCIvVq0gCa18CyIyUARAIAQgMDcD2AQgBCAvNwPQBCAEIC43A8gEIAQgMTcDwAQgDEUNAQwMCyAEIC83A9AEIAQgLjcDyAQgBCAxNwPABCAEIDAgMnwiLzcD2AQgDCAvIDBUcg0LCyAEQRI6AOAEIARBKGoiFiAEQcADaiIPIARBwARqIhIQwwEgBEGQBGoiCkGox8AAQQQQtwEgBCgCkAQNASAEQeADaiAEQbgEaiIQKQMANwMAIARB2ANqIARBsARqIhEpAwA3AwAgBEHQA2ogBEGoBGoiCSkDADcDACAEQcgDaiAEQaAEaiIMKQMANwMAIAQgBCkDmAQ3A8ADIARBEjoA4AQgBCAIKQPYBiIyNwPYBCAEIAgpA9AGIjM3A9AEIAQgCCkDyAYiMDcDyAQgBCAIKQPABiI2NwPABCAEQbgCaiAEQcgAaikDADcDACAEQbACaiAEQUBrKQMANwMAIARBqAJqIARBOGopAwA3AwAgBEGgAmogBEEwaikDADcDACAEIAQpAyg3A5gCIAogBEGYAmoiGCASEHIgBCgCkAQNAiAEQZgBaiAQKQMANwMAIARBkAFqIBEpAwA3AwAgBEGIAWogCSkDADcDACAEQYABaiAMKQMANwMAIAQgBCkDmAQ3A3ggBEHQAGogDyAEQfgAahDCASAKIAgQgwEgBCgCkAQNAyAEQcQBaiAEQbwEaigAADYAACAEIAQoALkENgDBASAEIAQtALgEIhk6AMABIAQgBCkDsAQiNzcDuAEgBCAEKQOoBCI0NwOwASAEIAQpA6AEIi83A6gBIAQgBCkDmAQiOjcDoAEgBEHYBGogCEHAAWoiD0EYaikDADcDACAEQdAEaiAPQRBqKQMANwMAIARByARqIA9BCGopAwA3AwAgBEESOgDgBCAEIA8pAwA3A8AEIARBEjoAuAIgBCAyNwOwAiAEIDM3A6gCIAQgMDcDoAIgBCA2NwOYAiAKIBYgGBByAkACQCAEKAKQBEUEQCAEQZACaiAQKQMANwMAIARBiAJqIBEpAwA3AwAgBEGAAmogCSkDADcDACAEQfgBaiAMKQMANwMAIAQgBCkDmAQ3A/ABIAkgCEGABWoiCUEYaikDADcDACAMIAlBEGopAwA3AwAgBEGYBGogCUEIaikDADcDACAEQRI6ALAEIAQgCSkDADcDkAQgBEHIAWoiCSASIARB8AFqIAoQfCAEQaABaiAJEJoCQf8BcSIKRQ0BIApB/wFHDQIMCwsgBCgClAQhCiAFQQE2AgAgBSAKNgIEDAsLIBkgBC0A6AFJDQkLIAQpA9gBITUgBCkD0AEhLgJ+IAQpA8gBIjkgOlgEQCAuIC9WrSExIC8gLn0MAQsgLiAvVq0gLiAvUa18ITEgLyAuQn+FfAshOyAEKQPgASE4IDQgNX0hLwJAIDFQBEAgNCA1VK0hNAwBCyAvIDFUrSA0IDVUrXwhNCAvIDF9IS8LIDcgOH0hLgJAIDRQBEAgNyA4Wg0BDA0LIC4gNFQgNyA4VHINDCAuIDR9IS4LIARBEjoAkAMgBCAuNwOIAyAEIC83A4ADIAQgOzcD+AIgBCA6IDl9NwPwAiAEQZAEakGox8AAQQQQtwEgBCgCkAQNBCAEKQOgBCEuIAQpA7AEITcgBCkDqAQiNCAzfSEvAkACfiA2IAQpA5gEIjhYBEAgLiAwfSExIC4gMFStDAELIC4gMEJ/hXwhMSAuIDBUrSAuIDBRrXwLIjVQBEAgMyA0Vq0hLgwBCyAvIDVUrSAzIDRWrXwhLiAvIDV9IS8LIDcgMn0hNAJAIC5QBEAgMiA3WA0BDA0LIC4gNFYgMiA3VnINDCA0IC59ITQLIARBEjoA4AMgBCA0NwPYAyAEIC83A9ADIAQgMTcDyAMgBCA4IDZ9NwPAAyAEQaADaiIKQgA3AwAgBEKAgJC7utat8A03A5gDIARBATYClAQgBEHE/cAANgKQBCAEQgE3ApwEIAQgBEGYA2qtQoCAgICwB4Q3A5gFIAQgBEGYBWo2ApgEIARBjAVqIARBkARqEM8BIARB2ARqQgA3AwAgBEIANwPQBCAKKQMAIS8gBCkDmAMhLiAEKAKMBSIKBEAgBCgCkAUgChCMAwsgBEESOgDgBCAEIC43A8AEIAQgLzcDyAQgBEESOgCwBCAEIDI3A6gEIAQgMzcDoAQgBCAwNwOYBCAEIDY3A5AEIARBmANqIhAgBEGQBGoiCiAEQcAEaiIRIARBwANqIhYQdiAEQZgCaiIlIARB8AJqIhggEBByIAQoApgCDQUgBEHoAmogBEHAAmopAwA3AwAgBEHgAmogBEG4AmoiJikDADcDACAEQdgCaiAEQbACaiInKQMANwMAIARB0AJqIARBqAJqIigpAwA3AwAgBCAEKQOgAjcDyAIgBEGwBGoiDyAEQfAAaiIZKQMANwMAIARBqARqIgkgBEHoAGoiKSkDADcDACAEQaAEaiIMIARB4ABqIiopAwA3AwAgBEGYBGoiKyAEQdgAaiIsKQMANwMAIAQgBCkDUDcDkAQgBEHQAGoiLSAKIARByAJqEMMBIARBsANqIAhB4ANqIhJBGGopAwA3AwAgBEGoA2ogEkEQaikDADcDACAEQaADaiASQQhqKQMANwMAIARBEjoAuAMgBCASKQMANwOYAyAKQajHwABBBBC3ASAEKAKQBA0GICYgBEG4BGopAwA3AwAgJyAPKQMANwMAICggCSkDADcDACAEQaACaiAMKQMANwMAIAQgBCkDmAQ3A5gCIAogCBCZASAEKAKQBA0HIARBiARqIARBuARqKQMANwMAIARBgARqIA8pAwA3AwAgBEH4A2ogCSkDADcDACAEQfADaiAMKQMANwMAIAQgBCkDmAQ3A+gDIBEgJSAEQegDahDCASAKQajHwABBBBC3ASAEKAKQBEUEQCAEQYAFaiAPKQMANwMAIARB+ARqIAkpAwA3AwAgBEHwBGogDCkDADcDACAEIAQpA5gENwPoBCAWIBEgBEHoBGoQ3wEgBEESOgDgAyAYIBAgFhDDASAKIC0gGBDfASAZQRI6AAAgKSAJKQMAIi83AwAgKiAMKQMAIi43AwAgLCArKQMAIjA3AwAgBCAEKQOQBCIxNwNQIAVBKGogGSkDADcDACAFQSBqIC83AwAgBUEYaiAuNwMAIAVBEGogMDcDACAFIDE3AwggBUEANgIADAoLIAQgBCgClAQ2ApgCQczEwABBKyAEQZgCakG8xMAAQYjSwAAQlQIACyAEKAKUBCEKIAVBATYCACAFIAo2AgQMCAsgBCAEKAKUBDYCmAJBzMTAAEErIARBmAJqQbzEwABBuNLAABCVAgALIAQoApQEIQogBUEBNgIAIAUgCjYCBAwGCyAEKAKUBCEKIAVBATYCACAFIAo2AgQMBQsgBCAEKAKUBDYCwARBzMTAAEErIARBwARqQbzEwABBqNLAABCVAgALIAQoApwCIQogBUEBNgIAIAUgCjYCBAwDCyAEIAQoApQENgKMBUHMxMAAQSsgBEGMBWpBvMTAAEGY0sAAEJUCAAsgBCgClAQhCiAFQQE2AgAgBSAKNgIEDAELIARBADYCoAQgBEEBNgKUBCAEQfDRwAA2ApAEIARCBDcCmAQgBEGQBGpB+NHAABDNASEKIAVBATYCACAFIAo2AgQLIARBoAVqJAAMAgsgBEEANgKgBCAEQQE2ApQEIARBlIfBADYCkAQgBEIENwKYBCAEQZAEakGohcEAELMCAAsgBEEANgKgBCAEQQE2ApQEIARBsMTAADYCkAQgBEIENwKYBCAEQZAEakGAxMAAELMCAAsCQAJAAkAgA0H4AGoiBAJ/AkACQCACKAIIRQRAIAIpAyghNCACKQMgITYgAikDGCE3IAIpAxAhOCAFIAgQmQEgAigCCA0CIAIpAyghMSACKQMgITIgAikDGCEuIAIpAxAhOiACQfgAaiAIQbgEaikDADcDACACQfAAaiAIQbAEaikDADcDACACQegAaiAIQagEaikDADcDACACQRI6AIABIAIgCCkDoAQ3A2AgAkEgaiAIQfgDaikDADcDACACQRhqIAhB8ANqKQMANwMAIAJBEGogCEHoA2opAwA3AwAgAkESOgAoIAIgCCkD4AM3AwggAkE4aiACQeAAaiAFEMMBIAVBqMfAAEEEELcBIAIoAggNASACKQMYITAgAikDKCEzIAIpAyAiOSAyfSEvAkACfiA6IAIpAxAiO1gEQCAwIC59ITUgLiAwVq0MAQsgMCAuQn+FfCE1IC4gMFatIC4gMFGtfAsiMFAEQCAyIDlWrSEuDAELIC8gMFStIDIgOVatfCEuIC8gMH0hLwsgMyAxfSEwAkAgLlAEQCAxIDNYDQEMBwsgMSAzViAuIDBWcg0GIDAgLn0hMAsgAkESOgAoIAIgMDcDICACIC83AxggAiA1NwMQIAIgOyA6fTcDCCACQeAAaiACQThqIAJBCGoQwwEgNyACKQNofCIvIDdUIQUgAikDcCA2fCIuIDZUIQogAikDeCA0fCIwIDRUIQkCQCA4IDggAikDYHwiNlgEfiAFrQUgL0IBfCIvUK0gBa18CyIxUAR+IAqtBSAuIC4gMXwiLlatIAqtfAsiMVAEQCAJRQ0BDAYLIAkNBSAwIDAgMXwiMFYNBQsgAkEIakGox8AAQQQQtwEgAigCCEUEQCACKQMgITIgAikDGCExAn4gAikDECI1IDZYBEAgLyAxfSE3IC8gMVStDAELIC8gMUJ/hXwhNyAvIDFUrSAvIDFRrXwLITMgAikDKCE0IC4gMn0hLwJAIDNQBEAgLiAyVK0hMQwBCyAvIDNUrSAuIDJUrXwhMSAvIDN9IS8LIDAgNH0hLgJAIDFQBEAgMCA0Wg0BDAgLIDAgNFQgLiAxVHINByAuIDF9IS4LIAJB0ABqIAhB2AFqKQMANwMAIAJByABqIAhB0AFqKQMANwMAIAJBQGsgCEHIAWopAwA3AwAgAkESOgBYIAIgCCkDwAE3AzggAkGQAWoiBUIANwMAIAJCgICQu7rWrfANNwOIASACQQE2AgwgAkHE/cAANgIIIAJCATcCFCACIAJBiAFqrUKAgICAsAeENwOoASACIAJBqAFqNgIQIAJBnAFqIAJBCGoQzwEgAkH4AGpCADcDACACQgA3A3AgBSkDACEwIAIpA4gBITEgAigCnAEiBQRAIAIoAqABIAUQjAMLIAJBEjoAgAEgAiAxNwNgIAIgMDcDaCACQRI6ACggAiAuNwMgIAIgLzcDGCACIDc3AxAgAiA2IDV9NwMIIARBCGogAkEIaiACQeAAaiACQThqEHxBAAwECyACIAIoAgw2AmBBzMTAAEErIAJB4ABqQbzEwABBuM/AABCVAgALDAELIAIgAigCDDYCYEHMxMAAQSsgAkHgAGpBvMTAAEHIz8AAEJUCAAsgBCACKAIMNgIEQQELNgIAIAJBsAFqJAAMAgsgAkEANgIYIAJBATYCDCACQZSHwQA2AgggAkIENwIQIAJBCGpBqIXBABCzAgALIAJBADYCGCACQQE2AgwgAkGwxMAANgIIIAJCBDcCECACQQhqQYDEwAAQswIACwJAAkACQCADKAJ4IgRFBEAgA0H4AmogDUEgaiIKKQMANwMAIANB8AJqIA1BGGoiCSkDADcDACADQegCaiANQRBqIgwpAwA3AwAgA0HgAmogDUEIaiIPKQMANwMAIAMgDSkDADcD2AIgBARAIBMQ7QILIAMpA+ABIS4gAykD6AEhMSADKQPQASEyIAMpA9gBIS8gA0H4AGogA0H4AWogA0HYAmoQwAEgLyAvIAMpA4ABfCIwViEEIC4gLiADKQOIAXwiL1YhAiAxIAMpA5ABIDF8Ii5WIQUCQCAyIDIgAykDeHwiMVgEfiAErQUgMEIBfCIwUK0gBK18CyIyUAR+IAKtBSAvIC8gMnwiL1atIAKtfAsiMlAEQCAFRQ0BDA4LIAUNDSAuIC4gMnwiLlYNDQsgA0ESOgCgAyADIC43A5gDIAMgLzcDkAMgAyAwNwOIAyADIDE3A4ADIANBkAFqIANB6ARqIgQpAwA3AwAgA0GIAWogA0HgBGoiAikDADcDACANIANB2ARqIgUpAwA3AwAgAyADKQPQBDcDeCADQRI6AJgBIANBgANqIANB+ABqEJoCQf8BcSISRQ0BIBJB/wFGDQIMAwsgExDtAgwKCyADLQCgA0ESTw0BCyADQYgDaiAFKQMANwMAIANBkANqIAIpAwA3AwAgA0GYA2ogBCkDADcDACADIAMpA9AENwOAAyADQRI6AKADCyADQfgDaiADQaADaiIEKQMAIi83AwAgA0HwA2ogA0GYA2oiAikDACIuNwMAIANB6ANqIANBkANqIgUpAwAiMDcDACADQeADaiADQYgDaiISKQMAIjE3AwAgAyADKQOAAyIyNwPYAyADQaAEaiAvNwMAIANBmARqIC43AwAgA0GQBGogMDcDACADQYgEaiAxNwMAIAMgMjcDgAQgA0H4AGogCCADQYAEahBlIAMoAngNBSADQcgEaiAKKQMANwMAIANBwARqIAkpAwA3AwAgA0G4BGogDCkDADcDACADQbAEaiAPKQMANwMAIAMgDSkDADcDqAQgA0GoA2ogCCADQdgDaiADQagEaiAXEGggAygCqAMiCg0GIBogDkEgaikDADcDACAbIA5BGGopAwA3AwAgHSAOQRBqKQMANwMAIB8gDkEIaikDADcDACADIA4pAwA3A/gBIAoEQCAVEO0CCyAkIBIpAwA3AwAgIyAFKQMANwMAICIgAikDADcDACAhIAQpAwA3AwAgAyADKQOAAzcD0AEgFEEBayIUDQALDAYLIAMoAqwDIQYgC0EBNgIAIAsgBjYCBAwICyADKAJ8IQYgC0EBNgIAIAsgBjYCBAwHCyADKAJ8IQYgC0EBNgIAIAsgBjYCBAwGCyALIAMpAwA3AwggC0EANgIAIAtBKGogA0EgaikDADcDACALQSBqIANBGGopAwA3AwAgC0EYaiADQRBqKQMANwMAIAtBEGogA0EIaikDADcDAAwFCyADKAJ8IQYgC0EBNgIAIAsgBjYCBAwECyAVEO0CCyADQZABaiADQegEaikDADcDACADQYgBaiADQeAEaikDADcDACADQYABaiADQdgEaikDADcDACADIAMpA9AENwN4IANBEjoAmAECQAJAAkAgA0HQAWogA0H4AGoQmgIiCEH/AXEEfyAIBUF/IAMtAPABIghBEkcgCEESSRsLQQFrQf8BcUEBTQRAIANB0AFqIANB0ABqEJoCQf8BcQ4CAQMCCyADQfgAakHkhsAAQQEQtgEgAygCeEUEQCALIAMpA4ABNwMIIAtBKGogA0GgAWopAwA3AwAgC0EgaiADQZgBaikDADcDACALQRhqIANBkAFqKQMANwMAIAtBEGogA0GIAWopAwA3AwAgC0EANgIADAYLIAMgAygCfDYCqANBuILAAEErIANBqANqQaiCwABBqInAABCVAgALIAMtAPABIAZB/wFxTw0BCyADQcgDaiADQfABaikDADcDACADQcADaiADQegBaikDADcDACADQbgDaiADQeABaikDADcDACADQbADaiADQdgBaikDADcDACADIAMpA9ABNwOoAyADQZgBaiADQSBqKQMANwMAIANBkAFqIANBGGopAwA3AwAgA0GIAWogA0EQaikDADcDACADQYABaiADQQhqKQMANwMAIAMgAykDADcDeCALAn8gAyADQagDaiIGIAYgA0H4AGoQmgIiCEH/AXEEfyAIBSAGIAMtAMgDIgYgAy0AmAEiCEkNARogBiAIRwtB/wFxQQFGGwsiBikDADcDCCALQShqIAZBIGopAwA3AwAgC0EgaiAGQRhqKQMANwMAIAtBGGogBkEQaikDADcDACALQRBqIAZBCGopAwA3AwAgC0EANgIADAMLIANBADYCiAEgA0EBNgJ8IANBkInAADYCeCADQgQ3AoABIANB+ABqQbiJwAAQzQEhBiALQQE2AgAgCyAGNgIEDAILIANBADYCuAMgA0EBNgKsAyADQay8wAA2AqgDIANCBDcCsAMgA0GoA2pBtLrAABCzAgALIAMgAygCrAM2AoADIAMgA0GAA2oiBq1CgICAgCCENwPYAyADQQE2ApQEIANBATYChAQgA0GIisAANgKABCADQQE2AowEIANBAzoAlAEgA0EENgKQASADQiA3AogBIANBAjYCgAEgA0ECNgJ4IAMgA0H4AGo2ApAEIAMgA0HYA2o2AogEIANBzAJqIgggA0GABGoQiwIgCEGQisAAEIUCIQggC0EBNgIAIAsgCDYCBCAGEO0CCyADQcAFaiQAIAdBmAhqIAtBgMDAABDRASAHKAKYCA0DIAdB1BhqIAdBwAhqKQMAIi83AgAgB0HMGGogB0G4CGopAwAiLjcCACAHQcQYaiAHQbAIaikDACIwNwIAIAdBvBhqIAdBqAhqKQMAIjE3AgAgB0GQGGogMTcDACAHQZgYaiAwNwMAIAdBoBhqIC43AwAgB0GoGGogLzcDACAHIAcpA6AIIi83ArQYIAcgLzcDiBggBygC/BkiBkGEAU8EQCAGEAALIAcoAoQZIgZBhAFPBEAgBhAACyAHQQhqIAdBiBhqQZDAwAAQvAEMBgsgB0HAGWogB0HsGWooAgAiCDYCACAHQbgZaiAHQeQZaikCACIvNwMAIAdBsBlqIAdB3BlqKQIAIi43AwAgB0EQaiAuNwMAIAdBGGogLzcDACAHQSBqIAg2AgAgByAHKQLUGSIvNwOoGSAHIC83AwgMAwsgB0GwCGogB0GsEGooAgAiBjYCACAHQRBqIAdBnBBqKQIANwMAIAdBGGogB0GkEGopAgA3AwAgB0EgaiAGNgIAIAcgBykClBA3AwgMBAsgB0H4GGogB0HsGWooAgAiCDYCACAHQfAYaiAHQeQZaikCACIvNwMAIAdB6BhqIAdB3BlqKQIAIi43AwAgB0EQaiAuNwMAIAdBGGogLzcDACAHQSBqIAg2AgAgByAHKQLUGSIvNwPgGCAHIC83AwgMAgsgB0HIGGogB0G0CGooAgAiBjYCACAHQcAYaiAHQawIaikCACIvNwMAIAdBuBhqIAdBpAhqKQIAIi43AwAgB0EQaiAuNwMAIAdBGGogLzcDACAHQSBqIAY2AgAgByAHKQKcCCIvNwOwGCAHIC83AwggBygC/BkhBgsgBkGEAU8EQCAGEAALIAcoAoQZIQYLIAZBhAFJDQAgBhAACyABQYMBSwRAIAEQAAsCfyAHKAIIIgFBAkYEQEEAIQYgBygCDAwBCyAHQagQaiAHQSBqKAIANgIAIAdBoBBqIAdBGGopAwA3AwAgB0GYEGogB0EQaikDADcDACAHIAcpAwg3A5AQIAdBkBBqEOEBIQZBAAshCCAAIAFBAkc2AgggACAGNgIEIAAgCDYCACAHQaAaaiQAC+kJAgd/A34jAEHgGWsiAiQAIAJBiBBqIgUgARACIAEQAxC+AQJAAkACQCACKAKIEEUEQCACQSBqIgggAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARApIgM2AswYIAUgAkHMGGpBpK3AABCxASACKAKIEA0BIAJBxBhqIAJBqBBqIgQpAwAiCTcCACACQbwYaiACQaAQaiIGKQMAIgo3AgAgAkG0GGogAkGYEGoiBykDACILNwIAIAJBmAhqIAs3AwAgAkGgCGogCjcDACACQagIaiAJNwMAIAIgAikDkBAiCTcCrBggAiAJNwOQCCACQRI6ALAIIAIgARAqIgM2AvQYIAUgAkH0GGpBtK3AABCxAQJAIAIoAogQRQRAIAJB7BhqIAQpAwAiCTcCACACQeQYaiAGKQMAIgo3AgAgAkHcGGogBykDACILNwIAIAJBgBlqIAs3AwAgAkGIGWogCjcDACACQZAZaiAJNwMAIAIgAikDkBAiCTcC1BggAiAJNwP4GCACIAEQKyIDNgK8GSAFIAJBvBlqQcStwAAQsQEgAigCiBBFBEAgAkG0GWogBCkDACIJNwIAIAJBrBlqIAYpAwAiCjcCACACQaQZaiAHKQMAIgs3AgAgAkHIGWogCzcDACACQdAZaiAKNwMAIAJB2BlqIAk3AwAgAiACKQOQECIJNwKcGSACIAk3A8AZIAJBgBhqIAggAkGQCGogAkH4GGogAkHAGWoQoQEgAigCvBkiA0GEAU8EQCADEAALIAIoAvQYIgNBhAFPBEAgAxAACyACKALMGCIDQYQBTwRAIAMQAAsgAiACQYAYakHUrcAAELwBDAYLIAJBsBlqIAJBpBBqKAIAIgQ2AgAgAkGoGWogAkGcEGopAgAiCTcDACACQaAZaiACQZQQaikCACIKNwMAIAJBCGogCjcDACACQRBqIAk3AwAgAkEYaiAENgIAIAIgAikCjBAiCTcDmBkgAiAJNwMAIANBhAFPBEAgAxAACyACKAL0GCEDDAELIAJB6BhqIAJBpBBqKAIAIgQ2AgAgAkHgGGogAkGcEGopAgAiCTcDACACQdgYaiACQZQQaikCACIKNwMAIAJBCGogCjcDACACQRBqIAk3AwAgAkEYaiAENgIAIAIgAikCjBAiCTcD0BggAiAJNwMACyADQYQBTwRAIAMQAAsgAigCzBghAwwCCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAwCCyACQcAYaiACQaQQaigCACIENgIAIAJBuBhqIAJBnBBqKQIAIgk3AwAgAkGwGGogAkGUEGopAgAiCjcDACACQQhqIAo3AwAgAkEQaiAJNwMAIAJBGGogBDYCACACIAIpAowQIgk3A6gYIAIgCTcDAAsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAQQAhAyACKAIEDAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBAgAkGIEGoQ4QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB4BlqJAAL6QkCB38DfiMAQeAZayICJAAgAkGIEGoiBSABEAIgARADEL4BAkACQAJAIAIoAogQRQRAIAJBIGoiCCACQZQIaiACQZAQakHwBxDZAUHwBxDZARogAiABECkiAzYCzBggBSACQcwYakHossAAELEBIAIoAogQDQEgAkHEGGogAkGoEGoiBCkDACIJNwIAIAJBvBhqIAJBoBBqIgYpAwAiCjcCACACQbQYaiACQZgQaiIHKQMAIgs3AgAgAkGYCGogCzcDACACQaAIaiAKNwMAIAJBqAhqIAk3AwAgAiACKQOQECIJNwKsGCACIAk3A5AIIAJBEjoAsAggAiABECoiAzYC9BggBSACQfQYakH4ssAAELEBAkAgAigCiBBFBEAgAkHsGGogBCkDACIJNwIAIAJB5BhqIAYpAwAiCjcCACACQdwYaiAHKQMAIgs3AgAgAkGAGWogCzcDACACQYgZaiAKNwMAIAJBkBlqIAk3AwAgAiACKQOQECIJNwLUGCACIAk3A/gYIAIgARArIgM2ArwZIAUgAkG8GWpBiLPAABCxASACKAKIEEUEQCACQbQZaiAEKQMAIgk3AgAgAkGsGWogBikDACIKNwIAIAJBpBlqIAcpAwAiCzcCACACQcgZaiALNwMAIAJB0BlqIAo3AwAgAkHYGWogCTcDACACIAIpA5AQIgk3ApwZIAIgCTcDwBkgAkGAGGogCCACQZAIaiACQfgYaiACQcAZahCiASACKAK8GSIDQYQBTwRAIAMQAAsgAigC9BgiA0GEAU8EQCADEAALIAIoAswYIgNBhAFPBEAgAxAACyACIAJBgBhqQZizwAAQvAEMBgsgAkGwGWogAkGkEGooAgAiBDYCACACQagZaiACQZwQaikCACIJNwMAIAJBoBlqIAJBlBBqKQIAIgo3AwAgAkEIaiAKNwMAIAJBEGogCTcDACACQRhqIAQ2AgAgAiACKQKMECIJNwOYGSACIAk3AwAgA0GEAU8EQCADEAALIAIoAvQYIQMMAQsgAkHoGGogAkGkEGooAgAiBDYCACACQeAYaiACQZwQaikCACIJNwMAIAJB2BhqIAJBlBBqKQIAIgo3AwAgAkEIaiAKNwMAIAJBEGogCTcDACACQRhqIAQ2AgAgAiACKQKMECIJNwPQGCACIAk3AwALIANBhAFPBEAgAxAACyACKALMGCEDDAILIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMADAILIAJBwBhqIAJBpBBqKAIAIgQ2AgAgAkG4GGogAkGcEGopAgAiCTcDACACQbAYaiACQZQQaikCACIKNwMAIAJBCGogCjcDACACQRBqIAk3AwAgAkEYaiAENgIAIAIgAikCjBAiCTcDqBggAiAJNwMACyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCACIEQQJGBEBBACEDIAIoAgQMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIECACQYgQahDhASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHgGWokAAuCCQIDfwN+IwBBsBlrIgIkACACQZAQaiIEIAEQAiABEAMQvgECQCACKAKQEEUEQCACQShqIAJBnAhqIAJBmBBqQfAHENkBQfAHENkBGiACIAEQGCIDNgKAGSAEIAJBgBlqQfCiwAAQsQECQAJAIAIoApAQRQRAIAJBtAhqIAJBsBBqKQMAIgU3AgAgAkGsCGogAkGoEGopAwAiBjcCACACQaQIaiACQaAQaikDACIHNwIAIAJBkBhqIAc3AwAgAkGYGGogBjcDACACQaAYaiAFNwMAIAIgAikDmBAiBTcCnAggAiAFNwOIGCACQRI6AKgYIANBhAFPBEAgAxAACyACIAEQGSIDNgKAGSACQZAQaiACQYAZakGAo8AAELEBIAIoApAQDQEgAkG0CGogAkGwEGopAwAiBTcCACACQawIaiACQagQaikDACIGNwIAIAJBpAhqIAJBoBBqKQMAIgc3AgAgAkG4GGogBzcDACACQcAYaiAGNwMAIAJByBhqIAU3AwAgAiACKQOYECIFNwKcCCACIAU3A7AYIAJBEjoA0BggA0GEAU8EQCADEAALIAJBkBBqIgMgAkEoaiACQYgYaiACQbAYahBqIAJBmAhqIANBkKPAABDRASACKAKYCA0CIAJBpBlqIAJBwAhqKQMAIgU3AgAgAkHgGGogAkGoCGopAwA3AwAgAkHoGGogAkGwCGopAwA3AwAgAkHwGGogAkG4CGopAwA3AwAgAkH4GGogBTcDACACIAIpA6AINwPYGCACQQhqIAJB2BhqQaCjwAAQvAEMBAsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIFNwMAIAJBoAhqIAJBnBBqKQIAIgY3AwAgAkEQaiAGNwMAIAJBGGogBTcDACACQSBqIAQ2AgAgAiACKQKUECIFNwOYCCACIAU3AwggA0GEAUkNAyADEAAMAwsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIFNwMAIAJBoAhqIAJBnBBqKQIAIgY3AwAgAkEQaiAGNwMAIAJBGGogBTcDACACQSBqIAQ2AgAgAiACKQKUECIFNwOYCCACIAU3AwggA0GEAUkNAiADEAAMAgsgAkGYGWogAkG0CGooAgAiAzYCACACQRBqIAJBpAhqKQIANwMAIAJBGGogAkGsCGopAgA3AwAgAkEgaiADNgIAIAIgAikCnAg3AwgMAQsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgLIAFBgwFLBEAgARAACwJ/IAIoAggiBEECRgRAIAIoAgwhA0EADAELIAJBqBBqIAJBIGooAgA2AgAgAkGgEGogAkEYaikDADcDACACQZgQaiACQRBqKQMANwMAIAIgAikDCDcDkBBBACEDIAJBkBBqEOEBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJBsBlqJAALuAkCA38JfiMAQdACayIFJAAgBUEwaiABIAMgBBCwASAFQdABaiIDQajHwABBBBC3AQJAIAUoAtABRQRAIAUpA/ABIRAgBSkD6AEhCiAFKQPgASEIIAUpA9gBIQ4gAyABEJkBAkAgBSgC0AFFBEAgBSkD6AEhDCAFKQPgASEJAn4gBSkD2AEiCyAOWARAIAggCVStIQ8gCCAJfQwBCyAIIAlUrSAIIAlRrXwhDyAIIAlCf4V8CyENIAUpA/ABIQkgCiAMfSEIAkAgD1AEQCAKIAxUrSEMDAELIAggD1StIAogDFStfCEMIAggD30hCAsgECAJfSEKAkAgDFAEQCAJIBBYDQEMBQsgCiAMVCAJIBBWcg0EIAogDH0hCgsgBUESOgDIASAFIAo3A8ABIAUgCDcDuAEgBSANNwOwASAFIA4gC303A6gBQgAhCSAFQbACaiIDQgA3AwAgBUKAgJC7utat8A03A6gCIAVBATYC1AEgBUHE/cAANgLQAUIBIQggBUIBNwLcASAFQoCAgICwByIOIAVBqAJqrYQ3A8gCIAUgBUHIAmo2AtgBIAVBuAJqIAVB0AFqEM8BIAVBmAJqQgA3AwAgBUIANwOQAiADKQMAIQ0gBSkDqAIhCyAFKAK4AiIDBEAgBSgCvAIgAxCMAwsgBUESOgCgAiAFIAs3A4ACIAUgDTcDiAIgBUHoAWogAUHgA2oiA0EYaikDADcDACAFQeABaiADQRBqKQMANwMAIAVB2AFqIANBCGopAwA3AwAgBUESOgDwASAFIAMpAwA3A9ABIAVBgAFqIAVB0AFqIAVBqAFqIAVBgAJqEHYCQAJAAkAgBS0AoAEiBA4CAgEAC0IKIQhCASEKQgAhCwNAIAVBEGogCEIBIARBAXEiAxsgCUIAIAMbIAogCxCUAiAFQSBqIAggCSAIIAkQlAIgBEEDSyAFQShqKQMAIQkgBUEYaikDACELIAUpAyAhCCAFKQMQIQogBEEBdiEEDQALIAUgCiALIAggCRCUAiAFQQhqKQMAIQkgBSkDACEIDAELQgohCAsgBUGwAWoiAyAJNwMAIAUgCDcDqAEgBUEBNgKEAiAFQcT9wAA2AoACIAVCATcCjAIgBSAOIAVBqAFqrYQ3A7gCIAUgBUG4Amo2AogCIAVBqAJqIAVBgAJqEM8BIAVB6AFqIgRCADcDACAFQgA3A+ABIAMpAwAhDSAFKQOoASELIAUoAqgCIgMEQCAFKAKsAiADEIwDCyAFQRI6APABIAUgCzcD0AEgBSANNwPYASAFQdgAaiIDIAVBgAFqIAIgBUHQAWoiAhB2IAQgAUHYAWopAwA3AwAgBUHgAWogAUHQAWopAwA3AwAgBUHYAWogAUHIAWopAwA3AwAgBUESOgDwASAFIAEpA8ABNwPQASAAQQhqIAMgBUEwaiACEHYgAEEANgIADAELIAUoAtQBIQEgAEEBNgIAIAAgATYCBAsgBUHQAmokAA8LIAUgBSgC1AE2AoACQczEwABBKyAFQYACakG8xMAAQbzIwAAQlQIACyAFQQA2AuABIAVBATYC1AEgBUGwxMAANgLQASAFQgQ3AtgBIAVB0AFqQYDEwAAQswIAC7gJAgN/CX4jAEHQAmsiBSQAIAVBMGogASADIAQQsAEgBUHQAWoiA0Gox8AAQQQQtwECQCAFKALQAUUEQCAFKQPwASEQIAUpA+gBIQogBSkD4AEhCCAFKQPYASEOIAMgARCZAQJAIAUoAtABRQRAIAUpA+gBIQwgBSkD4AEhCQJ+IAUpA9gBIgsgDlgEQCAIIAlUrSEPIAggCX0MAQsgCCAJVK0gCCAJUa18IQ8gCCAJQn+FfAshDSAFKQPwASEJIAogDH0hCAJAIA9QBEAgCiAMVK0hDAwBCyAIIA9UrSAKIAxUrXwhDCAIIA99IQgLIBAgCX0hCgJAIAxQBEAgCSAQWA0BDAULIAogDFQgCSAQVnINBCAKIAx9IQoLIAVBEjoAyAEgBSAKNwPAASAFIAg3A7gBIAUgDTcDsAEgBSAOIAt9NwOoAUIAIQkgBUGwAmoiA0IANwMAIAVCgICQu7rWrfANNwOoAiAFQQE2AtQBIAVBxP3AADYC0AFCASEIIAVCATcC3AEgBUKAgICAsAciDiAFQagCaq2ENwPIAiAFIAVByAJqNgLYASAFQbgCaiAFQdABahDPASAFQZgCakIANwMAIAVCADcDkAIgAykDACENIAUpA6gCIQsgBSgCuAIiAwRAIAUoArwCIAMQjAMLIAVBEjoAoAIgBSALNwOAAiAFIA03A4gCIAVB6AFqIAFB4ANqIgNBGGopAwA3AwAgBUHgAWogA0EQaikDADcDACAFQdgBaiADQQhqKQMANwMAIAVBEjoA8AEgBSADKQMANwPQASAFQYABaiAFQdABaiAFQagBaiAFQYACahB2AkACQAJAIAUtAKABIgQOAgIBAAtCCiEIQgEhCkIAIQsDQCAFQRBqIAhCASAEQQFxIgMbIAlCACADGyAKIAsQlAIgBUEgaiAIIAkgCCAJEJQCIARBA0sgBUEoaikDACEJIAVBGGopAwAhCyAFKQMgIQggBSkDECEKIARBAXYhBA0ACyAFIAogCyAIIAkQlAIgBUEIaikDACEJIAUpAwAhCAwBC0IKIQgLIAVBsAFqIgMgCTcDACAFIAg3A6gBIAVBATYChAIgBUHE/cAANgKAAiAFQgE3AowCIAUgDiAFQagBaq2ENwO4AiAFIAVBuAJqNgKIAiAFQagCaiAFQYACahDPASAFQegBaiIEQgA3AwAgBUIANwPgASADKQMAIQ0gBSkDqAEhCyAFKAKoAiIDBEAgBSgCrAIgAxCMAwsgBUESOgDwASAFIAs3A9ABIAUgDTcD2AEgBUHYAGoiAyAFQYABaiACIAVB0AFqIgIQdiAEIAFB2AFqKQMANwMAIAVB4AFqIAFB0AFqKQMANwMAIAVB2AFqIAFByAFqKQMANwMAIAVBEjoA8AEgBSABKQPAATcD0AEgAEEIaiADIAVBMGogAhB2IABBADYCAAwBCyAFKALUASEBIABBATYCACAAIAE2AgQLIAVB0AJqJAAPCyAFIAUoAtQBNgKAAkHMxMAAQSsgBUGAAmpBvMTAAEGY3sAAEJUCAAsgBUEANgLgASAFQQE2AtQBIAVBsMTAADYC0AEgBUIENwLYASAFQdABakGAxMAAELMCAAuECAIBfxN+IwBBoAJrIgMkACADQQhqIAEpAwAiDkIAIAIpAwAiBEIAEJQCIANByABqIAEpAwgiCUIAIARCABCUAiADQdgAaiABKQMQIgVCACAEQgAQlAIgA0HoAGogASkDGCIKQgAgBEIAEJQCIANBGGogAikDCCIEQgAgDkIAEJQCIANB+ABqIARCACAJQgAQlAIgA0GoAWogBEIAIAVCABCUAiADQdgBaiAEQgAgCkIAEJQCIANBKGogAikDECIEQgAgDkIAEJQCIANBiAFqIARCACAJQgAQlAIgA0G4AWogBEIAIAVCABCUAiADQegBaiAEQgAgCkIAEJQCIANBOGogAikDGCIEQgAgDkIAEJQCIANBmAFqIARCACAJQgAQlAIgA0HIAWogBEIAIAVCABCUAiADQfgBaiAEQgAgCkIAEJQCIAMpAwghDgJAAkACQCADKQOYASIPIANBQGspAwAgAykDOCIHIAMpA4gBIgsgA0EwaikDACADKQMoIgUgAykDeCIKIANBIGopAwAgAykDGCIJIAMpA0giCCADQRBqKQMAfCIGfCIEIAlUrXwiDCADKQNYIhAgA0HQAGopAwAgBiAIVK18fCIIfCIGfCINfCIJIAVUrXwiEyADKQOoASIRIANBgAFqKQMAIAogDVatfCINIAYgDFStfCIFIAMpA2giBiADQeAAaikDACAIIBBUrXx8Igh8Igx8IhB8IhJ8IhR8IgogB1StfCIVIAMpA7gBIhYgA0GQAWopAwAgCyAUVq18IgsgEiATVK18IgcgAykD2AEiEyADQbABaikDACAQIBFUrXwiECAFIA1UIAUgDFZyrXwiBSADQfAAaikDACAGIAhWrXx8Igh8IgZ8Igx8Ig18IhF8IhJCAFINACADKQPIASIUIANBoAFqKQMAIA8gElatfCISIBEgFVStfCIPIAMpA+gBIhEgA0HAAWopAwAgDSAWVK18Ig0gByALVCAHIAxWcq18IgcgBiATVK0gA0HgAWopAwAgBSAQVCAFIAhWcq18fHwiC3wiCHwiBXwiBkIAUg0AIAMpA/gBIgwgA0HQAWopAwAgBiAUVK18IgYgDyASVCAFIA9Ucq18IgUgCCARVK0gA0HwAWopAwAgByANVCAHIAtWcq18fHwiB3wiD1ANAQsgACAKNwMYIAAgCTcDECAAIAQ3AwggACAONwMADAELIANBgAJqKQMAIAAgCjcDGCAAIAk3AxAgACAENwMIIAAgDjcDACAMIA9WrXxCACAFIAZUIAUgB1ZyrX1SDQAgA0GgAmokAA8LIANBADYCmAIgA0EBNgKMAiADQYS1wQA2AogCIANCBDcCkAIgA0GIAmpBjLXBABCzAgAL8wgBCH8jAEGAAmsiAiQAIAJB+ABqIAFBmAFqKQMANwMAIAJB8ABqIAFBkAFqKQMANwMAIAJB6ABqIAFBiAFqKQMANwMAIAJBEjoAgAEgAiABKQOAATcDYCACQYgBakG4xMAAQQEQtwECQAJAAkACQAJAAkACQCACKAKIAUUEQCABQYABaiEDIAJB2AFqIAJBsAFqKQMANwMAIAJB0AFqIAJBqAFqKQMANwMAIAJByAFqIAJBoAFqKQMANwMAIAJBwAFqIAJBmAFqKQMANwMAIAIgAikDkAE3A7gBIAJB4ABqIAJBuAFqEJoCIgRB/wFxDgMBAgMCCyACIAIoAowBNgI4QczEwABBKyACQThqQbzEwABByO7AABCVAgALIAItANgBIgRBEksNAiAEQRJHIQQLIARB/wFxQQFHDQELIAJB+ABqIAFBmAVqKQMANwMAIAJB8ABqIAFBkAVqKQMANwMAIAJB6ABqIAFBiAVqKQMANwMAIAJBEjoAgAEgAiABKQOABTcDYCACQdABaiIEIAFBGGopAwA3AwAgAkHIAWoiBSABQRBqKQMANwMAIAJBwAFqIgYgAUEIaikDADcDACACQRI6ANgBIAIgASkDADcDuAEgAkH4AWogAUE4aikDADcDACACQfABaiABQTBqKQMANwMAIAJB6AFqIAFBKGopAwA3AwAgAiABKQMgNwPgASACQYgBaiIHIAJBuAFqIgggAkHgAWoQxgEgAigCiAENASACQdgBaiACQbABaikDADcDACAEIAJBqAFqKQMANwMAIAUgAkGgAWoiBCkDADcDACAGIAJBmAFqIgUpAwA3AwAgAiACKQOQATcDuAEgAkE4aiIJIAJB4ABqIAgQwwEgBCADQRhqKQMANwMAIAUgA0EQaikDADcDACACQZABaiIGIANBCGopAwA3AwAgAkESOgCoASACIAMpAwA3A4gBIAJBEGoiAyAJIAcQwgEgBCABQdgGaikDADcDACAFIAFB0AZqKQMANwMAIAYgAUHIBmopAwA3AwAgAkESOgCoASACIAEpA8AGNwOIASAAIAMgBxByDAILIAJBoAFqIANBGGopAwA3AwAgAkGYAWogA0EQaikDADcDACACQZABaiIEIANBCGopAwA3AwAgAkECNgK8ASACQbjtwAA2ArgBIAJCATcCxAEgAiACQYgBaq1CgICAgKAHhDcDOCACQRI6AKgBIAIgAykDADcDiAEgAiACQThqNgLAASACQeAAaiIBIAJBuAFqEM8BIAJBCGogAUHwhcEAQbjuwAAQpwIgAigCDCEDIAIoAgghBSAEIAJB6ABqKAIANgIAQZHewQAtAAAaIAIgAikCYDcDiAFBGEEEEPgCIgFFDQIgASAFNgIEIAFB2IbBADYCACABIAIpA4gBNwIMIAEgAzYCCCABQRRqIAQoAgA2AgAgAEEBNgIAIAAgATYCBAwBCyACKAKMASEBIABBATYCACAAIAE2AgQLIAJBgAJqJAAPC0EEQRgQqQMAC/YIAg1/CX4jAEHwAWsiBCQAIARB2ABqIgUgASADENoBIARBEjoAeCAEQYABaiIGQfTGwABBBBC3AQJAIAQoAoABRQRAIARB0AFqIgcgBEGoAWoiCCkDADcDACAEQcgBaiIJIARBoAFqIgopAwA3AwAgBEHAAWoiCyAEQZgBaiIMKQMANwMAIARBuAFqIg0gBEGQAWoiAykDADcDACAEIAQpA4gBNwOwASAEQQhqIg4gBSAEQbABaiIPEMMBIARB8ABqIAFBmAZqKQMANwMAIARB6ABqIAFBkAZqKQMANwMAIARB4ABqIAFBiAZqKQMANwMAIARBEjoAeCAEIAEpA4AGNwNYIAZB9MbAAEEEELcBAkACQAJAAkACQAJAIAQoAoABRQRAIAcgCCkDADcDACAJIAopAwA3AwAgCyAMKQMANwMAIA0gAykDADcDACAEIAQpA4gBNwOwASAEQTBqIAUgDxDDASACIA4QmgIiAUH/AXEOAwECAwILIAQgBCgChAE2ArABQczEwABBKyAEQbABakG8xMAAQYjHwAAQlQIACyACLQAgIgMgBC0AKCIBSQ0BIAEgA0chAQsgAUH/AXFBAUYNAQsgBEGAAWpBuMTAAEEBELcBIAQoAoABDQIgACAEKQOIATcDACAAQSBqIARBqAFqKQMANwMAIABBGGogBEGgAWopAwA3AwAgAEEQaiAEQZgBaikDADcDACAAQQhqIARBkAFqKQMANwMADAELIAIpAxAhEyACKQMIIREgBCkDGCEUIAQpAxAhEgJ+IAIpAwAiFyAEKQMIIhhaBEAgESASVK0hFSARIBJ9DAELIBEgElStIBEgElGtfCEVIBEgEkJ/hXwLIRkgAikDGCERIAQpAyAhEiATIBR9IRYCQCAVUARAIBMgFFStIRMMAQsgFSAWVq0gEyAUVK18IRMgFiAVfSEWCyARIBJ9IRQCQCATUARAIBEgEloNAQwFCyARIBJUIBMgFFZyDQQgFCATfSEUCyAEQeAAaiIBQgA3AwAgBEKAgJC7utat8A03A1ggBEEBNgKEASAEQcT9wAA2AoABIARCATcCjAEgBCAEQdgAaq1CgICAgLAHhDcD6AEgBCAEQegBajYCiAEgBEHcAWogBEGAAWoQzwEgBEHIAWpCADcDACAEQgA3A8ABIAEpAwAhESAEKQNYIRIgBCgC3AEiAQRAIAQoAuABIAEQjAMLIARBEjoA0AEgBCASNwOwASAEIBE3A7gBIARBEjoAoAEgBCAUNwOYASAEIBY3A5ABIAQgGTcDiAEgBCAXIBh9NwOAASAAIARBgAFqIARBsAFqIARBMGoQfAsgBEHwAWokAA8LIAQgBCgChAE2ArABQczEwABBKyAEQbABakG8xMAAQfjGwAAQlQIACyAEIAQoAoQBNgKwAUHMxMAAQSsgBEGwAWpBvMTAAEGYx8AAEJUCAAsgBEEANgKQASAEQQE2AoQBIARBsMTAADYCgAEgBEIENwKIASAEQYABakGAxMAAELMCAAvfCQEKfyMAQRBrIgkkAAJAAkACQCABLQAURQRAIAEoAggiBiABKAIMIghHDQEMAgsgAEGCgMQANgIADAILIAEoAhAiBUEBaiECIAZBAWohAwJAAkAgBi0AACIHQcEAa0H/AXFBBk8EQAJAIAdB4QBrQf8BcUEGTwRAAkAgB0EwayIKQf8BcUEKTwRAIAdBCWsiBEEXSwRAIAUhBAwHC0EBIAR0QZOAgARxRQRAIAUhBAwHCwJAAkAgAyAIRwRAIAIhBANAIAMtAAAiB0HBAGtB/wFxQQZJDQcgB0HhAGtB/wFxQQZJDQUgB0EwayIKQf8BcUEKSQ0DIAdBCWsiAkEXS0EBIAJ0QZOAgARxRXINAiAEQQFqIQQgA0EBaiIDIAhHDQALCyABIAUgCGogBms2AhAgASAINgIIDAkLIANBAWohAyAEQQFqIQIMBwsgA0EBaiEDIARBAWohAgsgASACNgIQIAEgAzYCCAwECyADQQFqIQMgBEEBaiECCyABIAI2AhAgASADNgIIIAdB1wBrIQoMAgsgA0EBaiEDIARBAWohAgsgASACNgIQIAEgAzYCCCAHQTdrIQoLAkACQAJAIAECfwJAAkACQAJAAkAgAyAIRwRAIANBAWohBiACQQFqIgUgAy0AACIHQcEAa0H/AXFBBkkNBhogB0HhAGtB/wFxQQZJDQQgB0EwayILQf8BcUEKSQ0CIAdBCWsiBEEXS0EBIAR0QZOAgARxRXINCCAGIAhHBEAgBSEEA0AgBi0AACIHQcEAa0H/AXFBBkkNByAHQeEAa0H/AXFBBkkNBSAHQTBrIgtB/wFxQQpJDQMgB0EJayIFQRdLQQEgBXRBk4CABHFFcg0LIARBAWohBCAGQQFqIgYgCEcNAAsLIAEgAiAIaiADazYCECABIAg2AggLIABBgIDEADYCACABQQE6ABQMCwsgBkEBaiEGIARBAWohBQsgASAFNgIQIAEgBjYCCAwECyAGQQFqIQYgBEEBaiEFCyABIAU2AhAgASAGNgIIIAdB1wBrIQsMAgsgBkEBaiEGIARBAWoLNgIQIAEgBjYCCCAHQTdrIQsLIABBgYDEADYCACAAIAsgCkEEdHI6AAQMBAsgAiEEIAYhAyAFIQIMAQsgBkEBaiEDIARBAWohAgsgASACNgIQIAEgAzYCCCABKAIEIQIgASgCACEFAkACQCAERQ0AIAIgBEsEQCAEIAVqLAAAQb9/Sg0BDAILIAIgBEcNAQsgCSACIAVqNgIMIAkgBCAFajYCCEEAIQJBACEHAkAgCUEIaiIDKAIAIgUgAygCBEYNAEEBIQcgAyAFQQFqNgIAIAUtAAAiAsBBAE4NACADIAVBAmo2AgAgBS0AAUE/cSEIIAJBH3EhBiACQd8BTQRAIAZBBnQgCHIhAgwBCyADIAVBA2o2AgAgBS0AAkE/cSAIQQZ0ciEIIAJB8AFJBEAgCCAGQQx0ciECDAELIAMgBUEEajYCACAGQRJ0QYCA8ABxIAUtAANBP3EgCEEGdHJyIQILIAkgAjYCBCAJIAc2AgAgCSgCAARAIAkoAgQhAiAAIAQ2AgQgAUEBOgAUIAAgAjYCAAwDC0Got8EAEI8DAAsgBSACIAQgAkGYt8EAEPECAAsgAEGCgMQANgIACyAJQRBqJAALwwgCBH8JfiMAQYACayIDJAAgA0GAAWoiBEGox8AAQQQQtwECQCADKAKAAUUEQCADKQOgASEPIAMpA5gBIQkgAykDkAEhByADKQOIASENIAQgARCZAQJAIAMoAoABRQRAIAMpA5gBIQsgAykDkAEhCAJ+IAMpA4gBIgogDVgEQCAHIAhUrSEOIAcgCH0MAQsgByAIVK0gByAIUa18IQ4gByAIQn+FfAshDCADKQOgASEIIAkgC30hBwJAIA5QBEAgCSALVK0hCwwBCyAHIA5UrSAJIAtUrXwhCyAHIA59IQcLIA8gCH0hCQJAIAtQBEAgCCAPWA0BDAULIAkgC1QgCCAPVnINBCAJIAt9IQkLIANBEjoAeCADIAk3A3AgAyAHNwNoIAMgDDcDYCADIA0gCn03A1hCACEIIANB4AFqIgRCADcDACADQoCAkLu61q3wDTcD2AEgA0EBNgKEASADQcT9wAA2AoABQgEhByADQgE3AowBIANCgICAgLAHIg0gA0HYAWqthDcD+AEgAyADQfgBajYCiAEgA0HoAWogA0GAAWoQzwEgA0HIAWpCADcDACADQgA3A8ABIAQpAwAhDCADKQPYASEKIAMoAugBIgQEQCADKALsASAEEIwDCyADQRI6ANABIAMgCjcDsAEgAyAMNwO4ASADQZgBaiABQeADaiIBQRhqKQMANwMAIANBkAFqIAFBEGopAwA3AwAgA0GIAWogAUEIaikDADcDACADQRI6AKABIAMgASkDADcDgAEgA0EwaiADQYABaiADQdgAaiADQbABahB2AkACQAJAIAMtAFAiAQ4CAgEAC0IKIQdCASEJQgAhCgNAIANBEGogB0IBIAFBAXEiBBsgCEIAIAQbIAkgChCUAiADQSBqIAcgCCAHIAgQlAIgAUEDSyADQShqKQMAIQggA0EYaikDACEKIAMpAyAhByADKQMQIQkgAUEBdiEBDQALIAMgCSAKIAcgCBCUAiADQQhqKQMAIQggAykDACEHDAELQgohBwsgA0HgAGoiASAINwMAIAMgBzcDWCADQQE2ArQBIANBxP3AADYCsAEgA0IBNwK8ASADIA0gA0HYAGqthDcD6AEgAyADQegBajYCuAEgA0HYAWogA0GwAWoQzwEgA0GYAWpCADcDACADQgA3A5ABIAEpAwAhDCADKQNYIQogAygC2AEiAQRAIAMoAtwBIAEQjAMLIANBEjoAoAEgAyAKNwOAASADIAw3A4gBIABBCGogA0EwaiACIANBgAFqEHYgAEEANgIADAELIAMoAoQBIQEgAEEBNgIAIAAgATYCBAsgA0GAAmokAA8LIAMgAygChAE2ArABQczEwABBKyADQbABakG8xMAAQYjewAAQlQIACyADQQA2ApABIANBATYChAEgA0GwxMAANgKAASADQgQ3AogBIANBgAFqQYDEwAAQswIAC/kGAgh/B34jAEGgAWsiAiQAIAJBmAFqIgNCADcDACACQZABaiIGQgA3AwAgAkGIAWoiB0IANwMAIAJCADcDgAECQAJAAkACQAJAAkAgASACQYABahCaAkH/AXFB/wFGBEAgAUG4t8AAQSAQrQJFDQELIAJB2ABqIAFBGGoiBCkDADcDACACQdAAaiABQRBqIgUpAwA3AwAgAkHIAGogAUEIaiIIKQMANwMAIAIgASkDADcDQCACQfgAaiIJIAQpAwA3AwAgAkHwAGoiBCAFKQMANwMAIAJB6ABqIgUgCCkDADcDACACIAEpAwA3A2AgA0IANwMAIAZCADcDACAHQgA3AwAgAkIANwOAASACQUBrIAJBgAFqEJoCQf8BcUH/AUYNASACQThqIAkpAwA3AwAgAkEwaiAEKQMANwMAIAJBKGogBSkDADcDACACIAIpA2A3AyAMAgsgASkDECINIAEpAwBCAXwiCiABKQMIIgtCAXwiDoQiD1AiA618IhAgDSADGyEMIA4gCyAKUBshCyABKQMYIQ4gD1AgDSAQVnFFBEAgAiAONwOYASACIAw3A5ABIAIgCzcDiAEgAiAKNwOAAQwDCyACIAw3A5ABIAIgCzcDiAEgAiAKNwOAASACIA5CAXwiCjcDmAEgCkIAUg0CDAQLIAJBIGogAkHgAGoQyAELIAAgAikDIDcDACAAQRhqIAJBOGopAwA3AwAgAEEQaiACQTBqKQMANwMAIABBCGogAkEoaikDADcDAAwBCyACIAJBgAFqIgEQyAEgAikDECEKIAIpAxghCyACKQMAIQwgAikDCCENIAFBARCeAiANIA0gAikDiAF8Ig1WIQEgAikDkAEhDyAMIAwgAikDgAF8Ig5YBH4gAa0FIA1CAXwiDVCtIAGtfAshDCACKQOYASEQIAogCiAPfCIKViEBIAxQBH4gAa0FIAogCiAMfCIKVq0gAa18CyEMIAsgCyAQfCILViEBAkAgDFAEQCAAIAs3AxggACAKNwMQIAAgDTcDCCAAIA43AwAgAUUNAgwBCyAAIAo3AxAgACANNwMIIAAgDjcDACAAIAsgDHwiCjcDGCABDQAgCiALWg0BCwwBCyACQaABaiQADwsgAkEANgJwIAJBATYCZCACQay8wAA2AmAgAkIENwJoIAJB4ABqQbS6wAAQswIAC/kGAgh/B34jAEGgAWsiAiQAIAJBmAFqIgNCADcDACACQZABaiIGQgA3AwAgAkGIAWoiB0IANwMAIAJCADcDgAECQAJAAkACQAJAAkAgASACQYABahCaAkH/AXFB/wFGBEAgAUHwgcEAQSAQrQJFDQELIAJB2ABqIAFBGGoiBCkDADcDACACQdAAaiABQRBqIgUpAwA3AwAgAkHIAGogAUEIaiIIKQMANwMAIAIgASkDADcDQCACQfgAaiIJIAQpAwA3AwAgAkHwAGoiBCAFKQMANwMAIAJB6ABqIgUgCCkDADcDACACIAEpAwA3A2AgA0IANwMAIAZCADcDACAHQgA3AwAgAkIANwOAASACQUBrIAJBgAFqEJoCQf8BcUH/AUYNASACQThqIAkpAwA3AwAgAkEwaiAEKQMANwMAIAJBKGogBSkDADcDACACIAIpA2A3AyAMAgsgASkDECINIAEpAwBCAXwiCiABKQMIIgtCAXwiDoQiD1AiA618IhAgDSADGyEMIA4gCyAKUBshCyABKQMYIQ4gD1AgDSAQVnFFBEAgAiAONwOYASACIAw3A5ABIAIgCzcDiAEgAiAKNwOAAQwDCyACIAw3A5ABIAIgCzcDiAEgAiAKNwOAASACIA5CAXwiCjcDmAEgCkIAUg0CDAQLIAJBIGogAkHgAGoQyQELIAAgAikDIDcDACAAQRhqIAJBOGopAwA3AwAgAEEQaiACQTBqKQMANwMAIABBCGogAkEoaikDADcDAAwBCyACIAJBgAFqIgEQyQEgAikDECEKIAIpAxghCyACKQMAIQwgAikDCCENIAFBARCeAiANIA0gAikDiAF8Ig1WIQEgAikDkAEhDyAMIAwgAikDgAF8Ig5YBH4gAa0FIA1CAXwiDVCtIAGtfAshDCACKQOYASEQIAogCiAPfCIKViEBIAxQBH4gAa0FIAogCiAMfCIKVq0gAa18CyEMIAsgCyAQfCILViEBAkAgDFAEQCAAIAs3AxggACAKNwMQIAAgDTcDCCAAIA43AwAgAUUNAgwBCyAAIAo3AxAgACANNwMIIAAgDjcDACAAIAsgDHwiCjcDGCABDQAgCiALWg0BCwwBCyACQaABaiQADwsgAkEANgJwIAJBATYCZCACQZSHwQA2AmAgAkIENwJoIAJB4ABqQaiFwQAQswIAC8YGAQh/AkACQCABIABBA2pBfHEiAiAAayIISQ0AIAEgCGsiBkEESQ0AIAZBA3EhB0EAIQECQCAAIAJGIgkNAAJAIAAgAmsiBEF8SwRAQQAhAgwBC0EAIQIDQCABIAAgAmoiAywAAEG/f0pqIANBAWosAABBv39KaiADQQJqLAAAQb9/SmogA0EDaiwAAEG/f0pqIQEgAkEEaiICDQALCyAJDQAgACACaiEDA0AgASADLAAAQb9/SmohASADQQFqIQMgBEEBaiIEDQALCyAAIAhqIQICQCAHRQ0AIAIgBkF8cWoiACwAAEG/f0ohBSAHQQFGDQAgBSAALAABQb9/SmohBSAHQQJGDQAgBSAALAACQb9/SmohBQsgBkECdiEGIAEgBWohBANAIAIhACAGRQ0CQcABIAYgBkHAAU8bIgVBA3EhByAFQQJ0IQhBACEDIAZBBE8EQCAAIAhB8AdxaiEJIAAhAQNAIAEoAgAiAkF/c0EHdiACQQZ2ckGBgoQIcSADaiABKAIEIgJBf3NBB3YgAkEGdnJBgYKECHFqIAEoAggiAkF/c0EHdiACQQZ2ckGBgoQIcWogASgCDCICQX9zQQd2IAJBBnZyQYGChAhxaiEDIAFBEGoiASAJRw0ACwsgBiAFayEGIAAgCGohAiADQQh2Qf+B/AdxIANB/4H8B3FqQYGABGxBEHYgBGohBCAHRQ0ACwJ/IAAgBUH8AXFBAnRqIgAoAgAiAUF/c0EHdiABQQZ2ckGBgoQIcSIBIAdBAUYNABogASAAKAIEIgFBf3NBB3YgAUEGdnJBgYKECHFqIgEgB0ECRg0AGiAAKAIIIgBBf3NBB3YgAEEGdnJBgYKECHEgAWoLIgFBCHZB/4EccSABQf+B/AdxakGBgARsQRB2IARqDwsgAUUEQEEADwsgAUEDcSECAkAgAUEESQRADAELIAFBfHEhBQNAIAQgACADaiIBLAAAQb9/SmogAUEBaiwAAEG/f0pqIAFBAmosAABBv39KaiABQQNqLAAAQb9/SmohBCAFIANBBGoiA0cNAAsLIAJFDQAgACADaiEBA0AgBCABLAAAQb9/SmohBCABQQFqIQEgAkEBayICDQALCyAEC84GAQ5/IwBBEGsiBiQAQQEhDAJAIAIoAhQiCUEiIAIoAhgiDSgCECIOEQEADQACQCABRQRAQQAhAgwBC0EAIAFrIQ8gACEHIAEhAwJAAn8CQAJAA0AgAyAHaiEQQQAhAgJAA0AgAiAHaiIKLQAAIgVB/wBrQf8BcUGhAUkgBUEiRnIgBUHcAEZyDQEgAyACQQFqIgJHDQALIAMgCGoMBAsgCkEBaiEHAkAgCiwAACILQQBOBEAgC0H/AXEhAwwBCyAHLQAAQT9xIQMgC0EfcSEFIApBAmohByALQV9NBEAgBUEGdCADciEDDAELIActAABBP3EgA0EGdHIhAyAKQQNqIQcgC0FwSQRAIAMgBUEMdHIhAwwBCyAFQRJ0QYCA8ABxIActAABBP3EgA0EGdHJyIQMgCkEEaiEHCyAGQQRqIANBgYAEELMBAkACQCAGLQAEQYABRg0AIAYtAA8gBi0ADmtB/wFxQQFGDQAgBCACIAhqIgVLDQMCQCAERQ0AIAEgBEsEQCAAIARqLAAAQb9/Sg0BDAULIAEgBEcNBAsCQCAFRQ0AIAEgBUsEQCAAIAhqIAJqLAAAQb9/TA0FDAELIAUgD2oNBAsgCSAAIARqIAggBGsgAmogDSgCDCIFEQMADQECQCAGLQAEQYABRgRAIAkgBigCCCAOEQEARQ0BDAMLIAkgBi0ADiIEIAZBBGpqIAYtAA8gBGsgBREDAA0CCwJ/QQEgA0GAAUkNABpBAiADQYAQSQ0AGkEDQQQgA0GAgARJGwsgCGogAmohBAsCf0EBIANBgAFJDQAaQQIgA0GAEEkNABpBA0EEIANBgIAESRsLIAhqIgUgAmohCCAQIAdrIgNFDQMMAQsLDAULIAAgASAEIAVB1MfBABDxAgALIAIgBWoLIgIgBEkNAEEAIQMCQCAERQ0AIAEgBEsEQCAEIgMgAGosAABBv39MDQIMAQsgBCIDIAFHDQELIAJFBEBBACECDAILIAEgAksEQCADIQQgACACaiwAAEG/f0oNAgwBCyADIQQgASACRg0BCyAAIAEgBCACQeTHwQAQ8QIACyAJIAAgA2ogAiADayANKAIMEQMADQAgCUEiIA4RAQAhDAsgBkEQaiQAIAwLsQcCAn8JfiMAQaACayIFJAAgBUE4aiABIAMgBBCwASAFQYgBakGox8AAQQQQtwECQCAFKAKIAUUEQCAFKQOgASEHIAUpA5gBIQogBSkDSCEJIAUpA0AhCwJ+IAUpA5ABIg0gBSkDOCIOWgRAIAogC1StIQwgCiALfQwBCyAKIAtUrSAKIAtRrXwhDCAKIAtCf4V8CyEPIAUpA6gBIQogBSkDUCELIAcgCX0hCAJAIAxQBEAgByAJVK0hCQwBCyAIIAxUrSAHIAlUrXwhCSAIIAx9IQgLIAogC30hBwJAIAlQBEAgCiALWg0BDAMLIAogC1QgByAJVHINAiAHIAl9IQcLIAVBEjoA2AEgBSAHNwPQASAFIAg3A8gBIAUgDzcDwAEgBSANIA59NwO4ASAFQaABaiIDIAFB2AFqKQMANwMAIAVBmAFqIAFB0AFqKQMANwMAIAVBkAFqIAFByAFqKQMANwMAIAVBEjoAqAEgBSABKQPAATcDiAEgBUHgAGogAiAFQbgBaiAFQYgBahB2IAVB0AFqIAFBmARqKQMANwMAIAVByAFqIAFBkARqKQMANwMAIAVBwAFqIAFBiARqKQMANwMAIAVBEjoA2AEgBSABKQOABDcDuAFCASEIQgAhBwJAAkACQCAFLQCAASIBDgICAQALQgohCEIBIQxCACEJA0AgBUEYaiAIQgEgAUEBcSICGyAHQgAgAhsgDCAJEJQCIAVBKGogCCAHIAggBxCUAiABQQNLIAVBMGopAwAhByAFQSBqKQMAIQkgBSkDKCEIIAUpAxghDCABQQF2IQENAAsgBUEIaiAMIAkgCCAHEJQCIAVBEGopAwAhByAFKQMIIQgMAQtCCiEICyAFQegBaiIBIAc3AwAgBSAINwPgASAFQQE2AoQCIAVBxP3AADYCgAIgBUIBNwKMAiAFIAVB4AFqrUKAgICAsAeENwOYAiAFIAVBmAJqNgKIAiAFQfQBaiAFQYACahDPASADQgA3AwAgBUIANwOYASABKQMAIQ0gBSkD4AEhDiAFKAL0ASIBBEAgBSgC+AEgARCMAwsgBUESOgCoASAFIA43A4gBIAUgDTcDkAEgACAFQeAAaiAFQbgBaiAFQYgBahB2IAVBoAJqJAAPCyAFIAUoAowBNgK4AUHMxMAAQSsgBUG4AWpBvMTAAEHMyMAAEJUCAAsgBUEANgKYASAFQQE2AowBIAVBsMTAADYCiAEgBUIENwKQASAFQYgBakGAxMAAELMCAAuxBwICfwl+IwBBoAJrIgUkACAFQThqIAEgAyAEELABIAVBiAFqQajHwABBBBC3AQJAIAUoAogBRQRAIAUpA6ABIQcgBSkDmAEhCiAFKQNIIQkgBSkDQCELAn4gBSkDkAEiDSAFKQM4Ig5aBEAgCiALVK0hDCAKIAt9DAELIAogC1StIAogC1GtfCEMIAogC0J/hXwLIQ8gBSkDqAEhCiAFKQNQIQsgByAJfSEIAkAgDFAEQCAHIAlUrSEJDAELIAggDFStIAcgCVStfCEJIAggDH0hCAsgCiALfSEHAkAgCVAEQCAKIAtaDQEMAwsgCiALVCAHIAlUcg0CIAcgCX0hBwsgBUESOgDYASAFIAc3A9ABIAUgCDcDyAEgBSAPNwPAASAFIA0gDn03A7gBIAVBoAFqIgMgAUHYAWopAwA3AwAgBUGYAWogAUHQAWopAwA3AwAgBUGQAWogAUHIAWopAwA3AwAgBUESOgCoASAFIAEpA8ABNwOIASAFQeAAaiACIAVBuAFqIAVBiAFqEHYgBUHQAWogAUGYBGopAwA3AwAgBUHIAWogAUGQBGopAwA3AwAgBUHAAWogAUGIBGopAwA3AwAgBUESOgDYASAFIAEpA4AENwO4AUIBIQhCACEHAkACQAJAIAUtAIABIgEOAgIBAAtCCiEIQgEhDEIAIQkDQCAFQRhqIAhCASABQQFxIgIbIAdCACACGyAMIAkQlAIgBUEoaiAIIAcgCCAHEJQCIAFBA0sgBUEwaikDACEHIAVBIGopAwAhCSAFKQMoIQggBSkDGCEMIAFBAXYhAQ0ACyAFQQhqIAwgCSAIIAcQlAIgBUEQaikDACEHIAUpAwghCAwBC0IKIQgLIAVB6AFqIgEgBzcDACAFIAg3A+ABIAVBATYChAIgBUHE/cAANgKAAiAFQgE3AowCIAUgBUHgAWqtQoCAgICwB4Q3A5gCIAUgBUGYAmo2AogCIAVB9AFqIAVBgAJqEM8BIANCADcDACAFQgA3A5gBIAEpAwAhDSAFKQPgASEOIAUoAvQBIgEEQCAFKAL4ASABEIwDCyAFQRI6AKgBIAUgDjcDiAEgBSANNwOQASAAIAVB4ABqIAVBuAFqIAVBiAFqEHYgBUGgAmokAA8LIAUgBSgCjAE2ArgBQczEwABBKyAFQbgBakG8xMAAQajewAAQlQIACyAFQQA2ApgBIAVBATYCjAEgBUGwxMAANgKIASAFQgQ3ApABIAVBiAFqQYDEwAAQswIAC6IbAgh/A34jAEGwGWsiBCQAIARBiBBqIgYgARACIAEQAxC+AQJAIAQoAogQRQRAIARBIGogBEGUCGogBEGQEGpB8AcQ2QFB8AcQ2QEaIAQgARAaIgI2AoAZIAYgBEGAGWpBsKPAABCxAQJAIAQoAogQRQRAIARBrAhqIARBqBBqKQMAIgw3AgAgBEGkCGogBEGgEGopAwAiCzcCACAEQZwIaiAEQZgQaikDACIKNwIAIARBiBhqIAo3AwAgBEGQGGogCzcDACAEQZgYaiAMNwMAIAQgBCkDkBAiCjcClAggBCAKNwOAGCAEQRI6AKAYIAJBhAFPBEAgAhAACyAEQgA3A4gQIARBkAhqIQggBEEgaiECIARBgBhqIQYjAEHAEGsiBSQAAkACQCAEQYgQaiIHKAIARQRAIAVBmAhqIAIgBhBtIAUoApgIRQRAIAVBIGogBUHACGopAwA3AwAgBUEYaiAFQbgIaikDADcDACAFQRBqIAVBsAhqKQMANwMAIAVBCGogBUGoCGopAwA3AwAgBSAFKQOgCDcDAAwCCyAFKAKcCCEGIAhBATYCACAIIAY2AgQMAgsgBUGwCGogAkHYAWopAwA3AwAgBUGoCGogAkHQAWopAwA3AwAgBUGgCGogAkHIAWopAwA3AwAgBUESOgC4CCAFIAIpA8ABNwOYCCAFIAdBCGogBUGYCGoQwgELIAVBuBBqIAVBIGopAwA3AwAgBUGwEGogBUEYaikDADcDACAFQagQaiAFQRBqKQMANwMAIAVBoBBqIAVBCGopAwA3AwAgBSAFKQMANwOYECAFQgE3A5AQIAVBmAhqIQkjAEGgEGsiAyQAAkACQCAFQZAQaiIHKAIARQRAIAMgAiAGEG0gAygCAEUEQCADQZgQaiADQSBqKQMANwMAIANBkBBqIANBGGopAwA3AwAgA0GIEGogA0EQaikDADcDACADIAMpAwg3A4AQDAILIAMoAgQhBiAJQQE2AgAgCSAGNgIEDAILIANBmBBqIAdBIGopAwA3AwAgA0GQEGogB0EYaikDADcDACADQYgQaiAHQRBqKQMANwMAIAMgBykDCDcDgBALIANB8ApqIAJB4AZqENICIANBhAtqIAJB9AZqENICIANBmAtqIAJBiAdqENICIANBiAlqIAJB+ARqKQMANwMAIANBgAlqIAJB8ARqKQMANwMAIANB+AhqIAJB6ARqKQMANwMAIANBmAlqIAJBiAVqKQMANwMAIANBoAlqIAJBkAVqKQMANwMAIANBqAlqIAJBmAVqKQMANwMAIANBuAlqIAJBqAVqKQMANwMAIANBwAlqIAJBsAVqKQMANwMAIANByAlqIAJBuAVqKQMANwMAIAMgAikD4AQ3A/AIIAMgAikDgAU3A5AJIAMgAikDoAU3A7AJIANB6AlqIAJB2AVqKQMANwMAIANB4AlqIAJB0AVqKQMANwMAIANB2AlqIAJByAVqKQMANwMAIANBiApqIAJB+AVqKQMANwMAIANBgApqIAJB8AVqKQMANwMAIANB+AlqIAJB6AVqKQMANwMAIANBqApqIAJBmAZqKQMANwMAIANBoApqIAJBkAZqKQMANwMAIANBmApqIAJBiAZqKQMANwMAIAMgAikDwAU3A9AJIAMgAikD4AU3A/AJIAMgAikDgAY3A5AKIANByApqIAJBuAZqKQMANwMAIANBwApqIAJBsAZqKQMANwMAIANBuApqIAJBqAZqKQMANwMAIAMgAikDoAY3A7AKIANB6ApqIAJB2AZqKQMANwMAIANB4ApqIAJB0AZqKQMANwMAIANB2ApqIAJByAZqKQMANwMAIAMgAikDwAY3A9AKIANBrAtqIAJBnAdqENICIANBwAtqIAJBsAdqENICIANB1AtqIAJBxAdqENICIANB6AtqIAJB2AdqENICIANBOGogAkGYBGopAwA3AwAgA0EwaiACQZAEaikDADcDACADQShqIAJBiARqKQMANwMAIANByABqIAJBqARqKQMANwMAIANB0ABqIAJBsARqKQMANwMAIANB2ABqIAJBuARqKQMANwMAIANB6ABqIAJByARqKQMANwMAIANB8ABqIAJB0ARqKQMANwMAIANB+ABqIAJB2ARqKQMANwMAIAMgAikDgAQ3AyAgAyACKQOgBDcDQCADIAIpA8AENwNgIANBGGogAkH4A2opAwA3AwAgA0EQaiACQfADaikDADcDACADQQhqIAJB6ANqKQMANwMAIAMgAikD4AM3AwAgA0HwB2oiByADQYABENkBGiADQbgMaiACQThqKQMANwMAIANBsAxqIAJBMGopAwA3AwAgA0GoDGogAkEoaikDADcDACADQcgMaiACQcgAaikDADcDACADQdAMaiACQdAAaikDADcDACADQdgMaiACQdgAaikDADcDACADQegMaiACQegAaikDADcDACADQfAMaiACQfAAaikDADcDACADQfgMaiACQfgAaikDADcDACADIAIpAyA3A6AMIAMgAikDQDcDwAwgAyACKQNgNwPgDCADQZgNaiACQZgBaikDADcDACADQZANaiACQZABaikDADcDACADQYgNaiACQYgBaikDADcDACADQbgNaiACQbgBaikDADcDACADQbANaiACQbABaikDADcDACADQagNaiACQagBaikDADcDACADQdgNaiACQdgBaikDADcDACADQdANaiACQdABaikDADcDACADQcgNaiACQcgBaikDADcDACADIAIpA4ABNwOADSADIAIpA6ABNwOgDSADIAIpA8ABNwPADSADQfgNaiACQfgBaikDADcDACADQfANaiACQfABaikDADcDACADQegNaiACQegBaikDADcDACADIAIpA+ABNwPgDSADQZgOaiACQZgCaikDADcDACADQZAOaiACQZACaikDADcDACADQYgOaiACQYgCaikDADcDACADIAIpA4ACNwOADiADQbgOaiACQbgCaikDADcDACADQbAOaiACQbACaikDADcDACADQagOaiACQagCaikDADcDACADIAIpA6ACNwOgDiADQdgOaiACQdgCaikDADcDACADQdAOaiACQdACaikDADcDACADQcgOaiACQcgCaikDADcDACADIAIpA8ACNwPADiADQfgOaiACQfgCaikDADcDACADQfAOaiACQfACaikDADcDACADQegOaiACQegCaikDADcDACADIAIpA+ACNwPgDiADQZgPaiACQZgDaikDADcDACADQZAPaiACQZADaikDADcDACADQYgPaiACQYgDaikDADcDACADIAIpA4ADNwOADyADQbgPaiACQbgDaikDADcDACADQbAPaiACQbADaikDADcDACADQagPaiACQagDaikDADcDACADIAIpA6ADNwOgDyADQdgPaiACQdgDaikDADcDACADQdAPaiACQdADaikDADcDACADQcgPaiACQcgDaikDADcDACADIAIpA8ADNwPADyADQZgMaiACQRhqKQMANwMAIANBkAxqIAJBEGopAwA3AwAgA0GIDGogAkEIaikDADcDACADIAIpAwA3A4AMIANB4ANqIAdBkAQQ2QEaIAMgA0GADGpB4AMQ2QEiAkHoD2ogBkEIaikDADcDACACQfAPaiAGQRBqKQMANwMAIAJB+A9qIAZBGGopAwA3AwAgAiAGKQMANwPgDyACQYABaiACQeAPahDuASACIAJBgBBqEOwBIAlBCGogAkHwBxDZARogCUEANgIACyADQaAQaiQAIAUoApgIRQRAIAVBKGoiBiAFQaAIakHwBxDZARogCCAGEJkBDAELIAUoApwIIQYgCEEBNgIAIAggBjYCBAsgBUHAEGokACAEQYAZaiAIQcCjwAAQ0QEgBCgCgBkNASAEQfQYaiAEQagZaikDACIKNwIAIARBsBhqIARBkBlqKQMANwMAIARBuBhqIARBmBlqKQMANwMAIARBwBhqIARBoBlqKQMANwMAIARByBhqIAo3AwAgBCAEKQOIGTcDqBggBCAEQagYakHQo8AAELwBDAMLIARBqAhqIARBpBBqKAIAIgY2AgAgBEGgCGogBEGcEGopAgAiCzcDACAEQZgIaiAEQZQQaikCACIKNwMAIARBCGogCjcDACAEQRBqIAs3AwAgBEEYaiAGNgIAIAQgBCkCjBAiCjcDkAggBCAKNwMAIAJBhAFJDQIgAhAADAILIARB6BhqIARBnBlqKAIAIgY2AgAgBEEIaiAEQYwZaikCADcDACAEQRBqIARBlBlqKQIANwMAIARBGGogBjYCACAEIAQpAoQZNwMADAELIARBqAhqIARBpBBqKAIAIgY2AgAgBEEIaiAEQZQQaikCADcDACAEQRBqIARBnBBqKQIANwMAIARBGGogBjYCACAEIAQpAowQNwMACyABQYMBSwRAIAEQAAsCfyAEKAIAIgJBAkYEQCAEKAIEIQFBAAwBCyAEQaAQaiAEQRhqKAIANgIAIARBmBBqIARBEGopAwA3AwAgBEGQEGogBEEIaikDADcDACAEIAQpAwA3A4gQQQAhASAEQYgQahDhAQshBiAAIAJBAkc2AgggACAGNgIEIAAgATYCACAEQbAZaiQAC9gGAgN/A34jAEGwGWsiAiQAIAJBiBBqIgQgARACIAEQAxC+AQJAIAIoAogQRQRAIAJBIGogAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARAoIgM2AoAZIAQgAkGAGWpBpKzAABCxAQJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgU3AgAgAkGkCGogAkGgEGopAwAiBjcCACACQZwIaiACQZgQaikDACIHNwIAIAJBiBhqIAc3AwAgAkGQGGogBjcDACACQZgYaiAFNwMAIAIgAikDkBAiBTcClAggAiAFNwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACQgA3A4gQIAJBkAhqIgMgAkEgaiACQYAYaiACQYgQahCQASACQYAZaiADQbSswAAQ0QEgAigCgBkNASACQfQYaiACQagZaikDACIFNwIAIAJBsBhqIAJBkBlqKQMANwMAIAJBuBhqIAJBmBlqKQMANwMAIAJBwBhqIAJBoBlqKQMANwMAIAJByBhqIAU3AwAgAiACKQOIGTcDqBggAiACQagYakHErMAAELwBDAMLIAJBqAhqIAJBpBBqKAIAIgQ2AgAgAkGgCGogAkGcEGopAgAiBTcDACACQZgIaiACQZQQaikCACIGNwMAIAJBCGogBjcDACACQRBqIAU3AwAgAkEYaiAENgIAIAIgAikCjBAiBTcDkAggAiAFNwMAIANBhAFJDQIgAxAADAILIAJB6BhqIAJBnBlqKAIAIgM2AgAgAkEIaiACQYwZaikCADcDACACQRBqIAJBlBlqKQIANwMAIAJBGGogAzYCACACIAIpAoQZNwMADAELIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMACyABQYMBSwRAIAEQAAsCfyACKAIAIgRBAkYEQCACKAIEIQNBAAwBCyACQaAQaiACQRhqKAIANgIAIAJBmBBqIAJBEGopAwA3AwAgAkGQEGogAkEIaikDADcDACACIAIpAwA3A4gQQQAhAyACQYgQahDhAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQbAZaiQAC/oMAgZ/BH4jAEGwGWsiAiQAIAJBiBBqIgQgARACIAEQAxC+AQJAIAIoAogQRQRAIAJBIGogAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARAtIgM2AoAZIAQgAkGAGWpB6LHAABCxAQJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgg3AgAgAkGkCGogAkGgEGopAwAiCTcCACACQZwIaiACQZgQaikDACIKNwIAIAJBiBhqIAo3AwAgAkGQGGogCTcDACACQZgYaiAINwMAIAIgAikDkBAiCDcClAggAiAINwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACQgA3A4gQIAJBIGohBSACQYAYaiEGQgAhCUIAIQojAEGAAmsiAyQAIAJBkAhqIgcCfwJ/IAJBiBBqIgQoAgBFBEAgA0HYAGogBSAGEJwBIAMoAlhFBEAgA0HQAGogA0H4AGopAwA3AwAgA0HIAGogA0HwAGopAwA3AwAgA0FAayADQegAaikDADcDACADIAMpA2A3AzggAyADKACBATYCMCADIANBhAFqKAAANgAzIAMtAIABDAILIAcgAygCXDYCBEEBDAILIANB0ABqIARBIGopAwA3AwAgA0HIAGogBEEYaikDADcDACADQUBrIARBEGopAwA3AwAgAyAEKQMINwM4IAMgBCgAKTYCMCADIARBLGooAAA2ADMgBC0AKAshBiADQaABaiAFQbgEaikDADcDACADQZgBaiAFQbAEaikDADcDACADQZABaiAFQagEaikDADcDACADQRI6AKgBIAMgBSkDoAQ3A4gBQgEhCAJAAkACQCAGQf8BcSIEDgICAQALQgohCEIBIQsDQCADQRBqIAhCASAEQQFxIgUbIAlCACAFGyALIAoQlAIgA0EgaiAIIAkgCCAJEJQCIARBA0sgA0EoaikDACEJIANBGGopAwAhCiADKQMgIQggAykDECELIARBAXYhBA0ACyADIAsgCiAIIAkQlAIgA0EIaikDACEJIAMpAwAhCAwBC0IKIQgLIANB4AFqIgQgCTcDACADIAg3A9gBIANBATYCXCADQcT9wAA2AlggA0IBNwJkIAMgA0HYAWqtQoCAgICwB4Q3A/gBIAMgA0H4AWo2AmAgA0HsAWogA0HYAGoQzwEgA0HIAWpCADcDACADQgA3A8ABIAQpAwAhCCADKQPYASEJIAMoAuwBIgQEQCADKALwASAEEIwDCyADQRI6ANABIAMgCTcDsAEgAyAINwO4ASADQfAAaiADQdAAaikDADcDACADQegAaiADQcgAaikDADcDACADQeAAaiADQUBrKQMANwMAIANB/ABqIAMoADM2AAAgAyADKQM4NwNYIAMgBjoAeCADIAMoAjA2AHkgB0EIaiADQdgAaiADQYgBaiADQbABahB8QQALNgIAIANBgAJqJAAgAkGAGWogB0H4scAAENEBIAIoAoAZDQEgAkH0GGogAkGoGWopAwAiCDcCACACQbAYaiACQZAZaikDADcDACACQbgYaiACQZgZaikDADcDACACQcAYaiACQaAZaikDADcDACACQcgYaiAINwMAIAIgAikDiBk3A6gYIAIgAkGoGGpBiLLAABC8AQwDCyACQagIaiACQaQQaigCACIENgIAIAJBoAhqIAJBnBBqKQIAIgg3AwAgAkGYCGogAkGUEGopAgAiCTcDACACQQhqIAk3AwAgAkEQaiAINwMAIAJBGGogBDYCACACIAIpAowQIgg3A5AIIAIgCDcDACADQYQBSQ0CIAMQAAwCCyACQegYaiACQZwZaigCACIDNgIAIAJBCGogAkGMGWopAgA3AwAgAkEQaiACQZQZaikCADcDACACQRhqIAM2AgAgAiACKQKEGTcDAAwBCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAsgAUGDAUsEQCABEAALAn8gAigCACIDQQJGBEAgAigCBCEBQQAMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIEEEAIQEgAkGIEGoQ4QELIQQgACADQQJHNgIIIAAgBDYCBCAAIAE2AgAgAkGwGWokAAvYBgIDfwN+IwBBsBlrIgIkACACQYgQaiIEIAEQAiABEAMQvgECQCACKAKIEEUEQCACQSBqIAJBlAhqIAJBkBBqQfAHENkBQfAHENkBGiACIAEQUyIDNgKAGSAEIAJBgBlqQfjAwAAQsQECQCACKAKIEEUEQCACQawIaiACQagQaikDACIFNwIAIAJBpAhqIAJBoBBqKQMAIgY3AgAgAkGcCGogAkGYEGopAwAiBzcCACACQYgYaiAHNwMAIAJBkBhqIAY3AwAgAkGYGGogBTcDACACIAIpA5AQIgU3ApQIIAIgBTcDgBggAkESOgCgGCADQYQBTwRAIAMQAAsgAkIANwOIECACQZAIaiIDIAJBIGogAkGAGGogAkGIEGoQpQIgAkGAGWogA0GIwcAAENEBIAIoAoAZDQEgAkH0GGogAkGoGWopAwAiBTcCACACQbAYaiACQZAZaikDADcDACACQbgYaiACQZgZaikDADcDACACQcAYaiACQaAZaikDADcDACACQcgYaiAFNwMAIAIgAikDiBk3A6gYIAIgAkGoGGpBmMHAABC8AQwDCyACQagIaiACQaQQaigCACIENgIAIAJBoAhqIAJBnBBqKQIAIgU3AwAgAkGYCGogAkGUEGopAgAiBjcDACACQQhqIAY3AwAgAkEQaiAFNwMAIAJBGGogBDYCACACIAIpAowQIgU3A5AIIAIgBTcDACADQYQBSQ0CIAMQAAwCCyACQegYaiACQZwZaigCACIDNgIAIAJBCGogAkGMGWopAgA3AwAgAkEQaiACQZQZaikCADcDACACQRhqIAM2AgAgAiACKQKEGTcDAAwBCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAsgAUGDAUsEQCABEAALAn8gAigCACIEQQJGBEAgAigCBCEDQQAMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIEEEAIQMgAkGIEGoQ4QELIQEgACAEQQJHNgIIIAAgATYCBCAAIAM2AgAgAkGwGWokAAvKBgIDfwN+IwBBgBlrIgIkACACQYgQaiIEIAEQAiABEAMQvgECQCACKAKIEEUEQCACQSBqIAJBlAhqIAJBkBBqQfAHENkBQfAHENkBGiACIAEQJyIDNgLQGCAEIAJB0BhqQfSrwAAQsQECQCACKAKIEEUEQCACQawIaiACQagQaikDACIFNwIAIAJBpAhqIAJBoBBqKQMAIgY3AgAgAkGcCGogAkGYEGopAwAiBzcCACACQYgYaiAHNwMAIAJBkBhqIAY3AwAgAkGYGGogBTcDACACIAIpA5AQIgU3ApQIIAIgBTcDgBggAkESOgCgGCADQYQBTwRAIAMQAAsgAkGIEGoiAyACQSBqIAJBgBhqEIQBIAJBkAhqIANBhKzAABDRASACKAKQCA0BIAJB9BhqIAJBuAhqKQMAIgU3AgAgAkGwGGogAkGgCGopAwA3AwAgAkG4GGogAkGoCGopAwA3AwAgAkHAGGogAkGwCGopAwA3AwAgAkHIGGogBTcDACACIAIpA5gINwOoGCACIAJBqBhqQZSswAAQvAEMAwsgAkGoCGogAkGkEGooAgAiBDYCACACQaAIaiACQZwQaikCACIFNwMAIAJBmAhqIAJBlBBqKQIAIgY3AwAgAkEIaiAGNwMAIAJBEGogBTcDACACQRhqIAQ2AgAgAiACKQKMECIFNwOQCCACIAU3AwAgA0GEAUkNAiADEAAMAgsgAkHoGGogAkGsCGooAgAiAzYCACACQQhqIAJBnAhqKQIANwMAIAJBEGogAkGkCGopAgA3AwAgAkEYaiADNgIAIAIgAikClAg3AwAMAQsgAkGoCGogAkGkEGooAgAiAzYCACACQQhqIAJBlBBqKQIANwMAIAJBEGogAkGcEGopAgA3AwAgAkEYaiADNgIAIAIgAikCjBA3AwALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAIAIoAgQhA0EADAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBBBACEDIAJBiBBqEOEBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJBgBlqJAALygYCA38DfiMAQYAZayICJAAgAkGIEGoiBCABEAIgARADEL4BAkAgAigCiBBFBEAgAkEgaiACQZQIaiACQZAQakHwBxDZAUHwBxDZARogAiABECwiAzYC0BggBCACQdAYakG4scAAELEBAkAgAigCiBBFBEAgAkGsCGogAkGoEGopAwAiBTcCACACQaQIaiACQaAQaikDACIGNwIAIAJBnAhqIAJBmBBqKQMAIgc3AgAgAkGIGGogBzcDACACQZAYaiAGNwMAIAJBmBhqIAU3AwAgAiACKQOQECIFNwKUCCACIAU3A4AYIAJBEjoAoBggA0GEAU8EQCADEAALIAJBiBBqIgMgAkEgaiACQYAYahCcASACQZAIaiADQcixwAAQ0QEgAigCkAgNASACQfQYaiACQbgIaikDACIFNwIAIAJBsBhqIAJBoAhqKQMANwMAIAJBuBhqIAJBqAhqKQMANwMAIAJBwBhqIAJBsAhqKQMANwMAIAJByBhqIAU3AwAgAiACKQOYCDcDqBggAiACQagYakHYscAAELwBDAMLIAJBqAhqIAJBpBBqKAIAIgQ2AgAgAkGgCGogAkGcEGopAgAiBTcDACACQZgIaiACQZQQaikCACIGNwMAIAJBCGogBjcDACACQRBqIAU3AwAgAkEYaiAENgIAIAIgAikCjBAiBTcDkAggAiAFNwMAIANBhAFJDQIgAxAADAILIAJB6BhqIAJBrAhqKAIAIgM2AgAgAkEIaiACQZwIaikCADcDACACQRBqIAJBpAhqKQIANwMAIAJBGGogAzYCACACIAIpApQINwMADAELIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMACyABQYMBSwRAIAEQAAsCfyACKAIAIgRBAkYEQCACKAIEIQNBAAwBCyACQaAQaiACQRhqKAIANgIAIAJBmBBqIAJBEGopAwA3AwAgAkGQEGogAkEIaikDADcDACACIAIpAwA3A4gQQQAhAyACQYgQahDhAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQYAZaiQAC8kGAgN/A34jAEGAGWsiAiQAIAJBiBBqIgQgARACIAEQAxC+AQJAIAIoAogQRQRAIAJBIGogAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARBSIgM2AtAYIAQgAkHQGGpByMDAABCxAQJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgU3AgAgAkGkCGogAkGgEGopAwAiBjcCACACQZwIaiACQZgQaikDACIHNwIAIAJBiBhqIAc3AwAgAkGQGGogBjcDACACQZgYaiAFNwMAIAIgAikDkBAiBTcClAggAiAFNwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACQYgQaiIDIAJBIGogAkGAGGoQZSACQZAIaiADQdjAwAAQ0QEgAigCkAgNASACQfQYaiACQbgIaikDACIFNwIAIAJBsBhqIAJBoAhqKQMANwMAIAJBuBhqIAJBqAhqKQMANwMAIAJBwBhqIAJBsAhqKQMANwMAIAJByBhqIAU3AwAgAiACKQOYCDcDqBggAiACQagYakHowMAAELwBDAMLIAJBqAhqIAJBpBBqKAIAIgQ2AgAgAkGgCGogAkGcEGopAgAiBTcDACACQZgIaiACQZQQaikCACIGNwMAIAJBCGogBjcDACACQRBqIAU3AwAgAkEYaiAENgIAIAIgAikCjBAiBTcDkAggAiAFNwMAIANBhAFJDQIgAxAADAILIAJB6BhqIAJBrAhqKAIAIgM2AgAgAkEIaiACQZwIaikCADcDACACQRBqIAJBpAhqKQIANwMAIAJBGGogAzYCACACIAIpApQINwMADAELIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMACyABQYMBSwRAIAEQAAsCfyACKAIAIgRBAkYEQCACKAIEIQNBAAwBCyACQaAQaiACQRhqKAIANgIAIAJBmBBqIAJBEGopAwA3AwAgAkGQEGogAkEIaikDADcDACACIAIpAwA3A4gQQQAhAyACQYgQahDhAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQYAZaiQAC+wGAg1/Bn4jAEGwAWsiAiQAIAJBqAFqIgMgAUEYaiIEKQMANwMAIAJBoAFqIgUgAUEQaiIGKQMANwMAIAJBmAFqIgcgAUEIaiIIKQMANwMAIAIgASkDADcDkAEgAkHQAGogAkGQAWoiCRCdASACQRBqIAJB2ABqKQMANwMAIAJBGGogAkHgAGopAwA3AwAgAkEgaiACQegAaikDADcDACACIAIpA1A3AwggAkGIAWoiCiAEKQMANwMAIAJBgAFqIgsgBikDADcDACACQfgAaiIMIAgpAwA3AwAgAiABKQMANwNwIANCADcDACAFQgA3AwAgB0IANwMAIAJCADcDkAEgAkL///////////8AQoCAgICAgICAgH8gAkHwAGoiDSAJEJoCQf8BcUH/AUciDhs3A0AgAkJ/QgAgDhsiDzcDOCACIA83AzAgAiAPNwMoAkACQAJAIAJBCGogAkEoahCaAkH/AXFBAUcEQCAKIAQpAwA3AwAgCyAGKQMANwMAIAwgCCkDADcDACACIAEpAwA3A3AgA0IANwMAIAVCADcDACAHQgA3AwAgAkIANwOQASANIAkQmgIgAikDUCEPQf8BcUH/AUcEQCACKQNoIhJCAFMNAiACKQNgIRAgAikDWCERDAMLQgAgAikDWCIRfSITUEIAIA99Ig9CAFIiBEF/c3EiAyACKQNgQn+FIhAgA618IhQgEFRxrSACKQNoQn+FfCISQgBZDQEgEUJ/hSATIAQbIREgFCAQIAMbIRAMAgsgAkECNgKUASACQbyYwAA2ApABIAJCATcCnAEgAiABrUKAgICAMIQ3A3AgAiACQfAAajYCmAEgAkGQAWpBzJjAABDNASEBIABBATYCACAAIAE2AgQMAgsgAkECNgKUASACQYSZwAA2ApABIAJCATcCnAEgAiABrUKAgICAMIQ3A3AgAiACQfAAajYCmAEgACACQZABakGUmcAAEM0BNgIEIABBATYCAAwBCyACQQI2ApQBIAJBhJnAADYCkAEgAkIBNwKcASACIAGtQoCAgIAwhDcDcCACIAJB8ABqNgKYASACQZABakGUmcAAEM0BIQEgACASNwMgIAAgEDcDGCAAIBE3AxAgACAPNwMIIAIgATYCTCACQcwAahDtAiAAQQA2AgALIAJBsAFqJAAL7wYCDX8GfiMAQbABayICJAAgAkGoAWoiAyABQRhqIgQpAwA3AwAgAkGgAWoiBSABQRBqIgYpAwA3AwAgAkGYAWoiByABQQhqIggpAwA3AwAgAiABKQMANwOQASACQdAAaiACQZABaiIJEJ4BIAJBEGogAkHYAGopAwA3AwAgAkEYaiACQeAAaikDADcDACACQSBqIAJB6ABqKQMANwMAIAIgAikDUDcDCCACQYgBaiIKIAQpAwA3AwAgAkGAAWoiCyAGKQMANwMAIAJB+ABqIgwgCCkDADcDACACIAEpAwA3A3AgA0IANwMAIAVCADcDACAHQgA3AwAgAkIANwOQASACQv///////////wBCgICAgICAgICAfyACQfAAaiINIAkQmgJB/wFxQf8BRyIOGzcDQCACQn9CACAOGyIPNwM4IAIgDzcDMCACIA83AygCQAJAAkAgAkEIaiACQShqEJoCQf8BcUEBRwRAIAogBCkDADcDACALIAYpAwA3AwAgDCAIKQMANwMAIAIgASkDADcDcCADQgA3AwAgBUIANwMAIAdCADcDACACQgA3A5ABIA0gCRCaAiACKQNQIQ9B/wFxQf8BRwRAIAIpA2giEkIAUw0CIAIpA2AhECACKQNYIREMAwtCACACKQNYIhF9IhNQQgAgD30iD0IAUiIEQX9zcSIDIAIpA2BCf4UiECADrXwiFCAQVHGtIAIpA2hCf4V8IhJCAFkNASARQn+FIBMgBBshESAUIBAgAxshEAwCCyACQQI2ApQBIAJB3PzAADYCkAEgAkIBNwKcASACIAGtQoCAgICgB4Q3A3AgAiACQfAAajYCmAEgAkGQAWpB7PzAABDNASEBIABBATYCACAAIAE2AgQMAgsgAkECNgKUASACQaT9wAA2ApABIAJCATcCnAEgAiABrUKAgICAoAeENwNwIAIgAkHwAGo2ApgBIAAgAkGQAWpBtP3AABDNATYCBCAAQQE2AgAMAQsgAkECNgKUASACQaT9wAA2ApABIAJCATcCnAEgAiABrUKAgICAoAeENwNwIAIgAkHwAGo2ApgBIAJBkAFqQbT9wAAQzQEhASAAIBI3AyAgACAQNwMYIAAgETcDECAAIA83AwggAiABNgJMIAJBzABqEO0CIABBADYCAAsgAkGwAWokAAuVBgIMfwR+IwBBoAFrIgMkAAJAAkAgAikDAEIAUg0AIAIpAwhCAFINACACKQMQQgBSDQAgAikDGEIAUg0AIABCADcDCCAAQgE3AwAgAEEYakIANwMAIABBEGpCADcDAAwBCyADQRhqQgA3AwAgA0EQakIANwMAIANBCGpCADcDACADQShqIghCADcDACADQTBqIglCADcDACADQThqIgpCADcDACADQgE3AwAgA0IBNwMgIANB2ABqIAJBGGopAwA3AwAgA0HQAGogAkEQaikDADcDACADQcgAaiACQQhqKQMANwMAIAMgAikDADcDQCADQfgAaiIEIAFBGGopAwA3AwAgA0HwAGoiBSABQRBqKQMANwMAIANB6ABqIgYgAUEIaikDADcDACADIAEpAwA3A2AgA0EgaiELIANB4ABqIQwDQCALIQEgDCECAkADQAJAIAIgA0FAa0YNAEF/IAFBCGsiASkDACIPIAJBCGsiAikDACISUiAPIBJWG0H/AXEOAgECAAsLIAAgA0HgAGogA0EgahCYAQwCCwJAIAMtAEBBAXFFBEAgA0GAAWogA0HgAGoiASABEJgBIAQgA0GYAWopAwA3AwAgBSADQZABaikDADcDACAGIANBiAFqKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhEAwBCyADQYABaiINIANB4ABqIgcgA0EgahCYASAKIANBmAFqIgEpAwA3AwAgCSADQZABaiICKQMANwMAIAggA0GIAWoiDikDADcDACADIAMpA4ABNwMgIA0gByAHEJgBIAQgASkDADcDACAFIAIpAwA3AwAgBiAOKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhECAPQv///////////wCDIQ8LIBFCP4YgAykDQEIBiIQhESADIBI3A1AgAyAQNwNIIAMgETcDQCADIA9CAYg3A1gMAAsACyADQaABaiQAC6oFAQd/AkAgACgCCEEBcUUiBCAAKAIAIglFcUUEQAJAIAQNACABIAJqIQcCQCAAKAIMIgZFBEAgASEEDAELIAEhBANAIAQiAyAHRg0CAn8gA0EBaiADLAAAIghBAE4NABogA0ECaiAIQWBJDQAaIANBA2ogCEFwSQ0AGiADQQRqCyIEIANrIAVqIQUgBkEBayIGDQALCyAEIAdGDQAgBCwAABogBSACAn8CQCAFRQ0AIAIgBUsEQCABIAVqLAAAQb9/Sg0BQQAMAgsgAiAFRg0AQQAMAQsgAQsiAxshAiADIAEgAxshAQsgCUUNASAAKAIEIQcCQCACQRBPBEAgASACEJ8BIQMMAQsgAkUEQEEAIQMMAQsgAkEDcSEGAkAgAkEESQRAQQAhA0EAIQUMAQsgAkEMcSEIQQAhA0EAIQUDQCADIAEgBWoiBCwAAEG/f0pqIARBAWosAABBv39KaiAEQQJqLAAAQb9/SmogBEEDaiwAAEG/f0pqIQMgCCAFQQRqIgVHDQALCyAGRQ0AIAEgBWohBANAIAMgBCwAAEG/f0pqIQMgBEEBaiEEIAZBAWsiBg0ACwsCQCADIAdJBEAgByADayEEQQAhAwJAAkACQCAALQAgQQFrDgIAAQILIAQhA0EAIQQMAQsgBEEBdiEDIARBAWpBAXYhBAsgA0EBaiEDIAAoAhAhBiAAKAIYIQUgACgCFCEAA0AgA0EBayIDRQ0CIAAgBiAFKAIQEQEARQ0AC0EBDwsMAgsgACABIAIgBSgCDBEDAARAQQEPC0EAIQMDQCADIARGBEBBAA8LIANBAWohAyAAIAYgBSgCEBEBAEUNAAsgA0EBayAESQ8LIAAoAhQgASACIAAoAhgoAgwRAwAPCyAAKAIUIAEgAiAAKAIYKAIMEQMAC+sFAQd/An8gAUUEQCAAKAIcIQhBLSEKIAVBAWoMAQtBK0GAgMQAIAAoAhwiCEEBcSIBGyEKIAEgBWoLIQcCQCAIQQRxRQRAQQAhAgwBCwJAIANBEE8EQCACIAMQnwEhAQwBCyADRQRAQQAhAQwBCyADQQNxIQkCQCADQQRJBEBBACEBDAELIANBDHEhDEEAIQEDQCABIAIgBmoiCywAAEG/f0pqIAtBAWosAABBv39KaiALQQJqLAAAQb9/SmogC0EDaiwAAEG/f0pqIQEgDCAGQQRqIgZHDQALCyAJRQ0AIAIgBmohBgNAIAEgBiwAAEG/f0pqIQEgBkEBaiEGIAlBAWsiCQ0ACwsgASAHaiEHCyAAKAIARQRAIAAoAhQiASAAKAIYIgAgCiACIAMQyAIEQEEBDwsgASAEIAUgACgCDBEDAA8LAkACQAJAIAcgACgCBCIGTwRAIAAoAhQiASAAKAIYIgAgCiACIAMQyAJFDQFBAQ8LIAhBCHFFDQEgACgCECELIABBMDYCECAALQAgIQxBASEBIABBAToAICAAKAIUIgggACgCGCIJIAogAiADEMgCDQIgBiAHa0EBaiEBAkADQCABQQFrIgFFDQEgCEEwIAkoAhARAQBFDQALQQEPCyAIIAQgBSAJKAIMEQMABEBBAQ8LIAAgDDoAICAAIAs2AhBBAA8LIAEgBCAFIAAoAgwRAwAhAQwBCyAGIAdrIQcCQAJAAkAgAC0AICIBQQFrDgMAAQACCyAHIQFBACEHDAELIAdBAXYhASAHQQFqQQF2IQcLIAFBAWohASAAKAIQIQggACgCGCEGIAAoAhQhAAJAA0AgAUEBayIBRQ0BIAAgCCAGKAIQEQEARQ0AC0EBDwtBASEBIAAgBiAKIAIgAxDIAg0AIAAgBCAFIAYoAgwRAwANAEEAIQEDQCABIAdGBEBBAA8LIAFBAWohASAAIAggBigCEBEBAEUNAAsgAUEBayAHSQ8LIAELmQYCBX8CfiACKAIAIgRBE0sEQAJAIABCgICE/qbe4RFaBEAgAiAEQRBrIgU2AgAgASAFaiIDIAAgAEKAgIT+pt7hEYAiCUKAgIT+pt7hEX59IghCgIDpg7HeFoCnQQF0QcrFwQBqLwAAOwAAIANBDGogCELkAIAiAELkAIKnQQF0QcrFwQBqLwAAOwAAIANBCmogCEKQzgCAQuQAgqdBAXRBysXBAGovAAA7AAAgA0EIaiAIQsCEPYBC5ACCp0EBdEHKxcEAai8AADsAACADQQZqIAhCgMLXL4CnQeQAcEEBdEHKxcEAai8AADsAACADQQRqIAhCgMivoCWAp0HkAHBBAXRBysXBAGovAAA7AAAgA0EOaiAIIABC5AB+fadBAXRBysXBAGovAAA7AAAgA0ECaiAIQoCglKWNHYCnQf//A3FB5ABwQQF0QcrFwQBqLwAAOwAAIAmnIQMMAQsgAEKAwtcvWgRAIAIgBEEIayIENgIAIAEgBGoiBiAAIABCgMLXL4AiAEKAwtcvfn2nIgVBwIQ9bkEBdEHKxcEAai8AADsAACAGQQRqIAVB5ABuIgNB5ABwQQF0QcrFwQBqLwAAOwAAIAZBBmogBSADQeQAbGtBAXRBysXBAGovAAA7AAAgBkECaiAFQZDOAG5B//8DcUHkAHBBAXRBysXBAGovAAA7AAALIACnIQMgAEKQzgBUBEAgBCEFDAELIAEgBEEEayIFaiADIANBkM4AbiIDQZDOAGxrIgdB//8DcUHkAG4iBkEBdEHKxcEAai8AADsAACABIARqQQJrIAcgBkHkAGxrQf//A3FBAXRBysXBAGovAAA7AAALAkAgA0HkAEkEQCADIQQMAQsgASAFQQJrIgVqIAMgA0H//wNxQeQAbiIEQeQAbGtB//8DcUEBdEHKxcEAai8AADsAAAsgBEH//wNxIgZBCk8EQCABIAVBAmsiA2ogBkEBdEHKxcEAai8AADsAACACIAM2AgAPCyABIAVBAWsiA2ogBEEwcjoAACACIAM2AgAPC0GSx8EAQRxBsMfBABC9AgAL9AUCA38JfiMAQdABayIEJAAgBEEIaiIFIAEgAxDaAQJAAkACQCACIAUQmgJB/wFxQQFHBEAgBEHQAGpBuMTAAEEBELcBIAQoAlANAiAAIAQpA1g3AwAgAEEgaiAEQfgAaikDADcDACAAQRhqIARB8ABqKQMANwMAIABBEGogBEHoAGopAwA3AwAgAEEIaiAEQeAAaikDADcDAAwBCyACKQMQIQkgAikDCCEHIAQpAxghCiAEKQMQIQgCfiACKQMAIg0gBCkDCCIOWgRAIAcgCFStIQsgByAIfQwBCyAHIAhUrSAHIAhRrXwhCyAHIAhCf4V8CyEPIAIpAxghByAEKQMgIQggCSAKfSEMAkAgC1AEQCAJIApUrSEJDAELIAsgDFatIAkgClStfCEJIAwgC30hDAsgByAIfSEKAkAgCVAEQCAHIAhaDQEMBAsgByAIVCAJIApWcg0DIAogCX0hCgsgBEFAayABQZgGaikDADcDACAEQThqIAFBkAZqKQMANwMAIARBMGogAUGIBmopAwA3AwAgBEESOgBIIAQgASkDgAY3AyggBEGwAWoiAUIANwMAIARCgICQu7rWrfANNwOoASAEQQE2AlQgBEHE/cAANgJQIARCATcCXCAEIARBqAFqrUKAgICAsAeENwPIASAEIARByAFqNgJYIARBvAFqIARB0ABqEM8BIARBmAFqQgA3AwAgBEIANwOQASABKQMAIQcgBCkDqAEhCCAEKAK8ASIBBEAgBCgCwAEgARCMAwsgBEESOgCgASAEIAg3A4ABIAQgBzcDiAEgBEESOgBwIAQgCjcDaCAEIAw3A2AgBCAPNwNYIAQgDSAOfTcDUCAAIARB0ABqIARBgAFqIARBKGoQfAsgBEHQAWokAA8LIAQgBCgCVDYCgAFBzMTAAEErIARBgAFqQbzEwABBmPrAABCVAgALIARBADYCYCAEQQE2AlQgBEGwxMAANgJQIARCBDcCWCAEQdAAakGAxMAAELMCAAv3BQIDfwF+IwBBoAFrIgMkACADIAE2AhAgA0EIaiABEL4CIAMoAgwhAQJAAkAgAAJ/AkAgAygCCEUEQCADQRRqIAEQpgIgA0EgaiADKAIYIgQgAygCHBDHASADLQAgDQEgACADKQMoNwMIIABBIGogA0FAaykDADcDACAAQRhqIANBOGopAwA3AwAgAEEQaiADQTBqKQMANwMAQQAMAgsgAyABNgJcIANBAjYCJCADQbCNwQA2AiAgA0ICNwIsIAMgA0HcAGqtQoCAgIDQC4Q3A4ABIAMgA0EQaq1CgICAgOALhDcDeCADIANB+ABqIgE2AiggA0HoAGogA0EgaiIEEM8BIANBADYCgAEgA0KAgICAEDcCeCADQQM6AEAgA0EgNgIwIANBADYCPCADQdSLwQA2AjggA0EANgIoIANBADYCICADIAE2AjQgAiAEEJMCDQMgA0HQAGoiASADQYABaigCADYCACADIAMpAng3A0ggAykCbCEGIAMoAmghAiADKAJcIgRBhAFPBEAgBBAACyAAIAY3AgwgACACNgIIIABCATcDACAAIAMpA0g3AhQgAEEcaiABKAIANgIADAILIAMgAy0AIToAWyADQQI2AnwgA0HUjcEANgJ4IANCAjcChAEgAyADQdsAaq1CgICAgPALhDcDcCADIANBEGqtQoCAgIDgC4Q3A2ggAyADQegAaiIBNgKAASADQdwAaiADQfgAaiIFEM8BIANBADYCcCADQoCAgIAQNwJoIANBAzoAmAEgA0EgNgKIASADQQA2ApQBIANB1IvBADYCkAEgA0EANgKAASADQQA2AnggAyABNgKMASACIAUQkwINAiAAIAMpAmg3AhQgAEEcaiADQfAAaigCADYCACAAQRBqIANB5ABqKAIANgIAIAAgAykCXDcCCCAAQQA2AgRBAQs2AgAgAygCFCIARQ0AIAQgABCMAwsgA0GgAWokAA8LQfyLwQBBNyADQZ8BakHsi8EAQYCNwQAQlQIAC+4IAgZ/Bn4jAEGgAWsiAyQAIAMgATYCECADQQhqIAEQvgIgAygCDCEBAkACQCAAAn8CQCADKAIIRQRAIANBFGogARCmAiADQSBqIQYgAygCGCIIIQQgAygCHCEBIwBBMGsiBSQAAkAgAUUEQEEAIQEMAQsCQAJAAkACQCAELQAAQStrDgMABAEECyABQQFGDQEgBCwAAUG/f0oNASAEIAFBASABQcivwQAQ8QIAC0EBIQcgAUEBRg0BIAQsAAFBv39KDQEgBCABQQEgAUHYr8EAEPECAAsgBEEBaiEEIAFBAWshAQwBCyAEQQFqIQQgAUEBayEBCyAFQQhqIAQgARDHASAGAn8CQCAFLQAIRQRAIAUpAyghCSAFKQMgIQogBSkDGCELIAUpAxAhDAJAIAdFBEAgCUIAWQ0BDAMLQgAgC30iDVBCACAMfSIMQgBSIgRBf3NxIgEgCkJ/hSIKIAGtfCIOIApUca0gCUJ/hXwiCUIAWQ0CIAtCf4UgDSAEGyELIA4gCiABGyEKCyAGIAk3AyAgBiAKNwMYIAYgCzcDECAGIAw3AwhBAAwCCyAGIAUtAAk6AAFBAQwBCyAGQQE6AAFBAQs6AAAgBUEwaiQAIAMtACANASAAIAMpAyg3AwggAEEgaiADQUBrKQMANwMAIABBGGogA0E4aikDADcDACAAQRBqIANBMGopAwA3AwBBAAwCCyADIAE2AlwgA0ECNgIkIANBsI3BADYCICADQgI3AiwgAyADQdwAaq1CgICAgNALhDcDgAEgAyADQRBqrUKAgICA4AuENwN4IAMgA0H4AGoiATYCKCADQegAaiADQSBqIgQQzwEgA0EANgKAASADQoCAgIAQNwJ4IANBAzoAQCADQSA2AjAgA0EANgI8IANB1IvBADYCOCADQQA2AiggA0EANgIgIAMgATYCNCACIAQQkwINAyADQdAAaiIBIANBgAFqKAIANgIAIAMgAykCeDcDSCADKQJsIQkgAygCaCECIAMoAlwiBEGEAU8EQCAEEAALIAAgCTcCDCAAIAI2AgggAEIBNwMAIAAgAykDSDcCFCAAQRxqIAEoAgA2AgAMAgsgAyADLQAhOgBbIANBAjYCfCADQfSNwQA2AnggA0ICNwKEASADIANB2wBqrUKAgICAgAyENwNwIAMgA0EQaq1CgICAgOALhDcDaCADIANB6ABqIgE2AoABIANB3ABqIANB+ABqIgQQzwEgA0EANgJwIANCgICAgBA3AmggA0EDOgCYASADQSA2AogBIANBADYClAEgA0HUi8EANgKQASADQQA2AoABIANBADYCeCADIAE2AowBIAIgBBCTAg0CIAAgAykCaDcCFCAAQRxqIANB8ABqKAIANgIAIABBEGogA0HkAGooAgA2AgAgACADKQJcNwIIIABBADYCBEEBCzYCACADKAIUIgBFDQAgCCAAEIwDCyADQaABaiQADwtB/IvBAEE3IANBnwFqQeyLwQBBgI3BABCVAgALwAsBBX8jAEEgayIEJAACQAJAAkACQAJAAkACQAJAAkACQCABDigFCAgICAgICAgBAwgIAggICAgICAgICAgICAgICAgICAgIBggICAgHAAsgAUHcAEYNAwwHCyAAQYAEOwEKIABCADcBAiAAQdzoATsBAAwHCyAAQYAEOwEKIABCADcBAiAAQdzkATsBAAwGCyAAQYAEOwEKIABCADcBAiAAQdzcATsBAAwFCyAAQYAEOwEKIABCADcBAiAAQdy4ATsBAAwECyAAQYAEOwEKIABCADcBAiAAQdzgADsBAAwDCyACQYCABHFFDQEgAEGABDsBCiAAQgA3AQIgAEHcxAA7AQAMAgsgAkGAAnFFDQAgAEGABDsBCiAAQgA3AQIgAEHczgA7AQAMAQsCQCACQQFxRSABQf8FTXINAAJ/AkAgAUGqnQRLQQR0IgIgAkEIciIDIAFBC3QiAiADQQJ0QbDXwQBqKAIAQQt0SRsiAyADQQRyIgMgA0ECdEGw18EAaigCAEELdCACSxsiAyADQQJyIgMgA0ECdEGw18EAaigCAEELdCACSxsiAyADQQFqIgMgA0ECdEGw18EAaigCAEELdCACSxsiAyADQQFqIgMgA0ECdEGw18EAaigCAEELdCACSxsiA0ECdEGw18EAaigCAEELdCIFIAJGIAIgBUtqIANqIgNBIE0EQCADQQJ0QbDXwQBqIgYoAgBBFXYhAkHXBSEFAn8CQCADQSBGDQAgBigCBEEVdiEFIAMNAEEADAELIANBAnRBrNfBAGooAgBB////AHELIQMCQCAFIAJBf3NqRQ0AIAEgA2shB0HXBSACIAJB1wVNGyEGIAVBAWshA0EAIQUDQCACIAZGDQMgBSACQbTYwQBqLQAAaiIFIAdLDQEgAyACQQFqIgJHDQALIAMhAgsgAkEBcQwCCyADQSFB7NbBABCgAgALIAZB1wVB/NbBABCgAgALRQ0AIARBADoACiAEQQA7AQggBCABQRR2Qa7CwQBqLQAAOgALIAQgAUEEdkEPcUGuwsEAai0AADoADyAEIAFBCHZBD3FBrsLBAGotAAA6AA4gBCABQQx2QQ9xQa7CwQBqLQAAOgANIAQgAUEQdkEPcUGuwsEAai0AADoADCABQQFyZ0ECdiICIARBCGoiA2oiBUH7ADoAACAFQQFrQfUAOgAAIAMgAkECayICakHcADoAACAEQRBqIgMgAUEPcUGuwsEAai0AADoAACAAQQo6AAsgACACOgAKIAAgBCkCCDcCACAEQf0AOgARIABBCGogAy8BADsBAAwBCwJ/QQAgAUEgSQ0AGkEBIAFB/wBJDQAaIAFBgIAETwRAIAFB4P//AHFB4M0KRyABQf7//wBxQZ7wCkdxIAFBwO4Ka0F6SXEgAUGwnQtrQXJJcSABQfDXC2tBcUlxIAFBgPALa0HebElxIAFBgIAMa0GedElxIAFB0KYMa0F7SXEgAUGAgjhrQbDFVElxIAFB8IM4SXEgAUGAgAhPDQEaIAFB0MvBAEEsQajMwQBBxAFB7M3BAEHCAxDSAQwBCyABQa7RwQBBKEH+0cEAQaACQZ7UwQBBrQIQ0gELRQRAIARBADoAFiAEQQA7ARQgBCABQRR2Qa7CwQBqLQAAOgAXIAQgAUEEdkEPcUGuwsEAai0AADoAGyAEIAFBCHZBD3FBrsLBAGotAAA6ABogBCABQQx2QQ9xQa7CwQBqLQAAOgAZIAQgAUEQdkEPcUGuwsEAai0AADoAGCABQQFyZ0ECdiICIARBFGoiA2oiBUH7ADoAACAFQQFrQfUAOgAAIAMgAkECayICakHcADoAACAEQRxqIgMgAUEPcUGuwsEAai0AADoAACAAQQo6AAsgACACOgAKIAAgBCkCFDcCACAEQf0AOgAdIABBCGogAy8BADsBAAwBCyAAIAE2AgQgAEGAAToAAAsgBEEgaiQAC4YGAgV/AX4jAEHwAGsiBCQAIAQgAjYCLCAEIAE2AigCQAJAIAMtABxBBHFFBEBBASEFIARBATYCVCAEQeiswQA2AlAgBEIBNwJcIARCgICAgPAQIgkgBEEoaq2ENwM4IAQgBEE4ajYCWCADKAIUIAMoAhggBEHQAGoQuAENAiAEQSBqIAQoAiggBCgCLCgCGBEAACAEKAIgIgJFDQEgBCgCJCEBIAMoAhRBrK3BAEEMIAMoAhgoAgwRAwANAiAEQRhqIAIgASgCGBEAACAJIARBMGqthCEJIAQoAhgEQANAIARBEGogAiABKAIYEQAAIAQoAhQgBCgCECEIIAQgATYCNCAEIAI2AjAgAygCFEG4rcEAQQEgAygCGCgCDBEDAA0EIARBAToASCAEIAM2AkQgBCAGNgI8IARBATYCOCAEQQE2AlQgBEHorMEANgJQIARCATcCXCAEIAk3A2ggBCAEQegAajYCWCAEQThqQaiqwQAgBEHQAGoQuAENBCAGQQFqIQYhASAIIgINAAsMAgsDQCAEQQhqIAIgASgCGBEAACAEKAIMIAQoAgghCCAEIAE2AjQgBCACNgIwIAMoAhRBuK3BAEEBIAMoAhgoAgwRAwANAyAEQQE6AEggBCADNgJEIARBBDYCQCAEQbmtwQA2AjwgBEEANgI4IARBATYCVCAEQeiswQA2AlAgBEIBNwJcIAQgCTcDaCAEIARB6ABqNgJYIARBOGpBqKrBACAEQdAAahC4AQ0DIQEgCCICDQALDAELIAEgAyACKAIMEQEAIQUMAQsgACgCACIARQRAQQAhBQwBCyAEIAA2AjAgAygCFEG9rcEAQQwgAygCGCgCDBEDAA0AIARBAToASCAEIAM2AkQgBEEENgJAIARBua3BADYCPCAEQQA2AjggBEEBNgJUIARB6KzBADYCUCAEQgE3AlwgBCAEQTBqrUKAgICAgBGENwNoIAQgBEHoAGo2AlggBEE4akGoqsEAIARB0ABqELgBDQBBACEFCyAEQfAAaiQAIAULgQYBBX8gAEEIayIBIABBBGsoAgAiA0F4cSIAaiECAkACQCADQQFxDQAgA0ECcUUNASABKAIAIgMgAGohACABIANrIgFBiOLBACgCAEYEQCACKAIEQQNxQQNHDQFBgOLBACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADENUBCwJAAkACQAJAAkAgAigCBCIDQQJxRQRAIAJBjOLBACgCAEYNAiACQYjiwQAoAgBGDQMgAiADQXhxIgIQ1QEgASAAIAJqIgBBAXI2AgQgACABaiAANgIAIAFBiOLBACgCAEcNAUGA4sEAIAA2AgAPCyACIANBfnE2AgQgASAAQQFyNgIEIAAgAWogADYCAAsgAEGAAkkNAiABIAAQ6QFBACEBQaDiwQBBoOLBACgCAEEBayIANgIAIAANBEHo38EAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQaDiwQBB/x8gASABQf8fTRs2AgAPC0GM4sEAIAE2AgBBhOLBAEGE4sEAKAIAIABqIgA2AgAgASAAQQFyNgIEQYjiwQAoAgAgAUYEQEGA4sEAQQA2AgBBiOLBAEEANgIACyAAQZjiwQAoAgAiA00NA0GM4sEAKAIAIgJFDQNBACEAQYTiwQAoAgAiBEEpSQ0CQeDfwQAhAQNAIAIgASgCACIFTwRAIAIgBSABKAIEakkNBAsgASgCCCEBDAALAAtBiOLBACABNgIAQYDiwQBBgOLBACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAPCyAAQfgBcUHw38EAaiECAn9B+OHBACgCACIDQQEgAEEDdnQiAHFFBEBB+OHBACAAIANyNgIAIAIMAQsgAigCCAshACACIAE2AgggACABNgIMIAEgAjYCDCABIAA2AggPC0Ho38EAKAIAIgEEQANAIABBAWohACABKAIIIgENAAsLQaDiwQBB/x8gACAAQf8fTRs2AgAgAyAETw0AQZjiwQBBfzYCAAsL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjQEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI0BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ0BAkAgA0EIaiAJQSAQrQJFBEAgA0HoAGpBgJjAACkDADcDACADQeAAakH4l8AAKQMANwMAIANB2ABqQfCXwAApAwA3AwAgA0Hol8AAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMgBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJB/JbAABDxAgALIANB8ABqJAAL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjQEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI0BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ4BAkAgA0EIaiAJQSAQrQJFBEAgA0HoAGpBoPzAACkDADcDACADQeAAakGY/MAAKQMANwMAIANB2ABqQZD8wAApAwA3AwAgA0GI/MAAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMkBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJBmPvAABDxAgALIANB8ABqJAAL7gQBCn8jAEEwayIDJAAgA0EDOgAsIANBIDYCHCADQQA2AiggAyABNgIkIAMgADYCICADQQA2AhQgA0EANgIMAn8CQAJAAkAgAigCECIKRQRAIAIoAgwiAEUNASACKAIIIQEgAEEDdCEFIABBAWtB/////wFxQQFqIQcgAigCACEAA0AgAEEEaigCACIEBEAgAygCICAAKAIAIAQgAygCJCgCDBEDAA0ECyABKAIAIANBDGogASgCBBEBAA0DIAFBCGohASAAQQhqIQAgBUEIayIFDQALDAELIAIoAhQiAEUNACAAQQV0IQsgAEEBa0H///8/cUEBaiEHIAIoAgghCCACKAIAIQADQCAAQQRqKAIAIgEEQCADKAIgIAAoAgAgASADKAIkKAIMEQMADQMLIAMgBSAKaiIBQRBqKAIANgIcIAMgAUEcai0AADoALCADIAFBGGooAgA2AiggAUEMaigCACEEQQAhCUEAIQYCQAJAAkAgAUEIaigCAEEBaw4CAAIBCyAEQQN0IAhqIgwoAgQNASAMKAIAIQQLQQEhBgsgAyAENgIQIAMgBjYCDCABQQRqKAIAIQQCQAJAAkAgASgCAEEBaw4CAAIBCyAEQQN0IAhqIgYoAgQNASAGKAIAIQQLQQEhCQsgAyAENgIYIAMgCTYCFCAIIAFBFGooAgBBA3RqIgEoAgAgA0EMaiABKAIEEQEADQIgAEEIaiEAIAsgBUEgaiIFRw0ACwsgByACKAIETw0BIAMoAiAgAigCACAHQQN0aiIAKAIAIAAoAgQgAygCJCgCDBEDAEUNAQtBAQwBC0EACyADQTBqJAAL/QQCBn8BfiMAQbABayICJAAgAkEBNgJ8IAJBxP3AADYCeCACQgE3AoQBIAIgAa1CgICAgIAIhDcDUCACIAJB0ABqNgKAASACQRRqIAJB+ABqEM8BAkAgAAJ/IAEpAxgiCEIAWQRAIABBEjoAKCAAIAg3AyAgACABKQMANwMIIABBGGogAUEQaikDADcDACAAQRBqIAFBCGopAwA3AwAgAigCFCIBBEAgAigCGCABEIwDC0EADAELIAJB8ABqQaj8wAApAwA3AwAgAkHoAGpBoPzAACkDADcDACACQeAAakGY/MAAKQMANwMAIAJB2ABqQZD8wAApAwA3AwAgAkGI/MAAKQMANwNQIAJBmAFqQfD9wAApAwA3AwAgAkGQAWpB6P3AACkDADcDACACQYgBakHg/cAAKQMANwMAIAJBgAFqIgNB2P3AACkDADcDACACQdD9wAApAwA3A3ggAkKAgICAwAciCCACQfgAaq2ENwNIIAIgCCACQdAAaq2ENwNAIAIgAkEUaq1CgICAgPAHhDcDOCACQQA2AjAgAkEENgIkIAJB3P7AADYCICACQQM2AiwgAiACQThqNgIoIAJBpAFqIgEgAkEgahDPASACQQhqIAFB8IXBAEH8/sAAEKcCIAIoAgwhBCACKAIIIQUgAyACQawBaigCADYCAEGR3sEALQAAGiACIAIpAqQBNwN4QRhBBBD4AiIBRQ0BIAEgBTYCBCABQdiGwQA2AgAgASACKQN4NwIMIAEgBDYCCCABQRRqIAMoAgA2AgAgACABNgIEIAIoAhQiAQRAIAIoAhggARCMAwtBAQs2AgAgAkGwAWokAA8LQQRBGBCpAwAL/QQCBn8BfiMAQbABayICJAAgAkEBNgJ8IAJBuJ/BADYCeCACQgE3AoQBIAIgAa1CgICAgIAIhDcDUCACIAJB0ABqNgKAASACQRRqIAJB+ABqEM8BAkAgAAJ/IAEpAxgiCEIAWQRAIABBEjoAKCAAIAg3AyAgACABKQMANwMIIABBGGogAUEQaikDADcDACAAQRBqIAFBCGopAwA3AwAgAigCFCIBBEAgAigCGCABEIwDC0EADAELIAJB8ABqQeihwQApAwA3AwAgAkHoAGpB4KHBACkDADcDACACQeAAakHYocEAKQMANwMAIAJB2ABqQdChwQApAwA3AwAgAkHIocEAKQMANwNQIAJBmAFqQZCiwQApAwA3AwAgAkGQAWpBiKLBACkDADcDACACQYgBakGAosEAKQMANwMAIAJBgAFqIgNB+KHBACkDADcDACACQfChwQApAwA3A3ggAkKAgICAoA4iCCACQfgAaq2ENwNIIAIgCCACQdAAaq2ENwNAIAIgAkEUaq1CgICAgJAOhDcDOCACQQA2AjAgAkEENgIkIAJBpKDBADYCICACQQM2AiwgAiACQThqNgIoIAJBpAFqIgEgAkEgahDPASACQQhqIAFBzKPBAEG0ocEAEKcCIAIoAgwhBCACKAIIIQUgAyACQawBaigCADYCAEGR3sEALQAAGiACIAIpAqQBNwN4QRhBBBD4AiIBRQ0BIAEgBTYCBCABQbSkwQA2AgAgASACKQN4NwIMIAEgBDYCCCABQRRqIAMoAgA2AgAgACABNgIEIAIoAhQiAQRAIAIoAhggARCMAwtBAQs2AgAgAkGwAWokAA8LQQRBGBCpAwALjwQBDX8gAUEBayEPIAAoAgQhCiAAKAIAIQsgACgCCCEMAkADQCAODQECQAJAIAIgBEkNAANAIAEgBGohBQJAAkACQCACIARrIgZBB00EQCACIARHDQEgAiEEDAULAkAgBUEDakF8cSIIIAVrIgMEQEEAIQADQCAAIAVqLQAAQQpGDQUgAyAAQQFqIgBHDQALIAMgBkEIayIATQ0BDAMLIAZBCGshAAsDQEGAgoQIIAgoAgAiCUGKlKjQAHNrIAlyQYCChAggCEEEaigCACIJQYqUqNAAc2sgCXJxQYCBgoR4cUGAgYKEeEcNAiAIQQhqIQggA0EIaiIDIABNDQALDAELQQAhAANAIAAgBWotAABBCkYNAiAGIABBAWoiAEcNAAsgAiEEDAMLIAMgBkYEQCACIQQMAwsDQCADIAVqLQAAQQpGBEAgAyEADAILIAYgA0EBaiIDRw0ACyACIQQMAgsgACAEaiIDQQFqIQQCQCACIANNDQAgACAFai0AAEEKRw0AIAQhBSAEIQAMAwsgAiAETw0ACwtBASEOIAIiACAHIgVGDQILAkAgDC0AAARAIAtBkMXBAEEEIAooAgwRAwANAQtBACEDIAAgB0cEQCAAIA9qLQAAQQpGIQMLIAAgB2shACABIAdqIQYgDCADOgAAIAUhByALIAYgACAKKAIMEQMARQ0BCwtBASENCyANC7MEAQR/IwBBkAFrIgMkACADQYABaiABQRhqKQMANwMAIANB+ABqIAFBEGopAwA3AwAgA0HwAGogAUEIaikDADcDACADQQE2AiQgA0GwlMAANgIgIANCATcCLCADIANB6ABqIgWtQoCAgIDQAIQ3A1ggAyABKQMANwNoIAMgA0HYAGo2AiggA0EUaiADQSBqEM8BIAMgAygCGCADKAIcEAEiBDYCaCADQQhqIAUQxwIgAygCDCEBIAMoAgghBSAEQYQBTwRAIAQQAAsCQAJAIAVFBEAgAEECNgIAIAAgATYCBAwBCyADQQE2AmwgA0HIlMAANgJoIANCATcCdCADIANBFGqtQoCAgIDgAIQ3AyAgAyADQSBqIgQ2AnAgA0HYAGogA0HoAGoiBRDPASADQQA2AiggA0KAgICAEDcCICADQQM6AIgBIANBIDYCeCADQQA2AoQBIANB0JTAADYCgAEgA0EANgJwIANBADYCaCADIAQ2AnwgAiAFEJMCDQEgA0FAayICIANBKGooAgA2AgAgA0HQAGoiBCADQeAAaigCADYCACADIAMpAiA3AzggAyADKQJYNwNIIAFBhAFPBEAgARAACyAAQQA2AgAgACADKQNINwIEIAAgAykDODcCECAAQQxqIAQoAgA2AgAgAEEYaiACKAIANgIACyADKAIUIgAEQCADKAIYIAAQjAMLIANBkAFqJAAPC0H4lMAAQTcgA0HIAGpB6JTAAEH8lcAAEJUCAAuiBAEEfyMAQYABayIDJAAgA0EANgJQIANCgICAgBA3AkggA0EDOgB4IANBIDYCaCADQQA2AnQgA0HUi8EANgJwIANBADYCYCADQQA2AlggAyADQcgAajYCbCABIANB2ABqIgUQ7QFFBEACQCADQRhqIANB0ABqKAIAIgE2AgAgAyADKQJINwMQIAMgAygCFCABEAEiBDYCWCADQQhqIAUQxwIgAygCDCEBIAMoAgghBSAEQYQBTwRAIAQQAAsCQCAFRQRAIABBAjYCACAAIAE2AgQMAQsgA0EBNgJcIANBlI7BADYCWCADQgE3AmQgAyADQRBqrUKAgICAkAyENwNIIAMgA0HIAGoiBDYCYCADQTxqIANB2ABqIgUQzwEgA0EANgJQIANCgICAgBA3AkggA0EDOgB4IANBIDYCaCADQQA2AnQgA0HUi8EANgJwIANBADYCYCADQQA2AlggAyAENgJsIAIgBRCTAg0BIANBKGoiAiADQdAAaigCADYCACADQThqIgQgA0HEAGooAgA2AgAgAyADKQJINwMgIAMgAykCPDcDMCABQYQBTwRAIAEQAAsgAEEANgIAIAAgAykDMDcCBCAAIAMpAyA3AhAgAEEMaiAEKAIANgIAIABBGGogAigCADYCAAsgAygCECIABEAgAygCFCAAEIwDCyADQYABaiQADwsLQfyLwQBBNyADQf8AakHsi8EAQYCNwQAQlQIAC5VhAhx/A34jAEGQFWsiCiQAIAogAjYCBCAKIAE2AgAgCigCACIEEEAhBSAEEEEhAyAEEEIhByAEEEMhCCAEEEQhCSAEEEUhCyAEEEYhDCAEEEchDiAEEEghDyAEEEkhDSAEEEohESAEEEshEiAEEEwhECAEEE0hEyAKQeALaiIGIAQQTjYCOCAGIBM2AjQgBiAQNgIwIAYgEjYCLCAGIBE2AiggBiANNgIkIAYgDzYCICAGIA42AhwgBiAMNgIYIAYgCzYCFCAGIAk2AhAgBiAINgIMIAYgBzYCCCAGIAM2AgQgBiAFNgIAIApB+A9qIQUjAEHgCGsiBCQAIARBuAhqIgMgBkEMaiILQZynwAAQsQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoArgIRQRAIARB/ANqIARB2AhqIgcpAwA3AgAgBEH0A2ogBEHQCGoiCCkDADcCACAEQewDaiAEQcgIaiIJKQMANwIAIAQgBCkDwAg3AuQDIAMgBkEQakGsp8AAELIBIAQoArgIDQEgBEGkBGogBykDADcCACAEQZwEaiAIKQMANwIAIARBlARqIAkpAwA3AgAgBCAEKQPACDcCjAQgAyAGQQhqQbynwAAQsQEgBCgCuAgNAiAEQcwEaiAHKQMANwIAIARBxARqIAgpAwA3AgAgBEG8BGogCSkDADcCACAEIAQpA8AINwK0BCADIAZBzKfAABCxASAEKAK4CA0DIARB9ARqIAcpAwA3AgAgBEHsBGogCCkDADcCACAEQeQEaiAJKQMANwIAIAQgBCkDwAg3AtwEIAMgBkEUakHcp8AAELEBIAQoArgIDQQgBEGcBWogBykDADcCACAEQZQFaiAIKQMANwIAIARBjAVqIAkpAwA3AgAgBCAEKQPACDcChAUgAyAGQRxqQeynwAAQsQEgBCgCuAgNBSAEQcQFaiAHKQMANwIAIARBvAVqIAgpAwA3AgAgBEG0BWogCSkDADcCACAEIAQpA8AINwKsBSADIAZBIGpB/KfAABCxASAEKAK4CA0GIARB7AVqIAcpAwA3AgAgBEHkBWogCCkDADcCACAEQdwFaiAJKQMANwIAIAQgBCkDwAg3AtQFIAMgBkEkakGMqMAAELEBIAQoArgIDQcgBEGUBmogBykDADcCACAEQYwGaiAIKQMANwIAIARBhAZqIAkpAwA3AgAgBCAEKQPACDcC/AUgAyAGQShqQZyowAAQsQEgBCgCuAgNCCAEQbwGaiAHKQMANwIAIARBtAZqIAgpAwA3AgAgBEGsBmogCSkDADcCACAEIAQpA8AINwKkBiADIAZBLGpBrKjAABCxASAEKAK4CA0JIARB5AZqIAcpAwA3AgAgBEHcBmogCCkDADcCACAEQdQGaiAJKQMANwIAIAQgBCkDwAg3AswGIAMgBkEwakG8qMAAELEBIAQoArgIDQogBEGMB2ogBykDADcCACAEQYQHaiAIKQMANwIAIARB/AZqIAkpAwA3AgAgBCAEKQPACDcC9AYgAyAGQQRqQcyowAAQsQEgBCgCuAgNCyAEQbQHaiAHKQMANwIAIARBrAdqIAgpAwA3AgAgBEGkB2ogCSkDADcCACAEIAQpA8AINwKcByADIAZBGGpB3KjAABCxASAEKAK4CA0MIARB3AdqIAcpAwA3AgAgBEHUB2ogCCkDADcCACAEQcwHaiAJKQMANwIAIAQgBCkDwAg3AsQHIAMgBkE0akHsqMAAELEBIAQoArgIDQ0gBEGECGogBykDADcCACAEQfwHaiAIKQMANwIAIARB9AdqIAkpAwA3AgAgBCAEKQPACDcC7AcgAyAGQThqQfyowAAQsQEgBCgCuAhFBEAgBEGsCGogBykDACIfNwIAIARBpAhqIAgpAwAiIDcCACAEQZwIaiAJKQMAIiE3AgAgBEHoAGogITcDACAEQfAAaiAgNwMAIARB+ABqIB83AwAgBCAEKQPACCIfNwKUCCAEQQhqIARB5ANqIgNBCGopAgA3AwAgBEEQaiADQRBqKQIANwMAIARBGGogA0EYaikCADcDACAEIB83A2AgBCADKQIANwMAIARBOGogBEGMBGoiA0EYaikCADcDACAEQTBqIANBEGopAgA3AwAgBEEoaiADQQhqKQIANwMAIAQgAykCADcDICAEQdgAaiAEQewHaiIDQRhqKQIANwMAIARB0ABqIANBEGopAgA3AwAgBEHIAGogA0EIaikCADcDACAEIAMpAgA3A0AgBEGYAWogBEG0BGoiA0EYaikCADcDACAEQZABaiADQRBqKQIANwMAIARBiAFqIANBCGopAgA3AwAgBCADKQIANwOAASAEQbgBaiAEQdwEaiIDQRhqKQIANwMAIARBsAFqIANBEGopAgA3AwAgBEGoAWogA0EIaikCADcDACAEIAMpAgA3A6ABIARB2AFqIARBhAVqIgNBGGopAgA3AwAgBEHQAWogA0EQaikCADcDACAEQcgBaiADQQhqKQIANwMAIAQgAykCADcDwAEgBEH4AWogBEGsBWoiA0EYaikCADcDACAEQfABaiADQRBqKQIANwMAIARB6AFqIANBCGopAgA3AwAgBCADKQIANwPgASAEQZgCaiAEQdQFaiIDQRhqKQIANwMAIARBkAJqIANBEGopAgA3AwAgBEGIAmogA0EIaikCADcDACAEIAMpAgA3A4ACIARBuAJqIARB/AVqIgNBGGopAgA3AwAgBEGwAmogA0EQaikCADcDACAEQagCaiADQQhqKQIANwMAIAQgAykCADcDoAIgBEHYAmogBEGkBmoiA0EYaikCADcDACAEQdACaiADQRBqKQIANwMAIARByAJqIANBCGopAgA3AwAgBCADKQIANwPAAiAEQfgCaiAEQcwGaiIDQRhqKQIANwMAIARB8AJqIANBEGopAgA3AwAgBEHoAmogA0EIaikCADcDACAEIAMpAgA3A+ACIARBmANqIARB9AZqIgNBGGopAgA3AwAgBEGQA2ogA0EQaikCADcDACAEQYgDaiADQQhqKQIANwMAIAQgAykCADcDgAMgBEG4A2ogBEGcB2oiA0EYaikCADcDACAEQbADaiADQRBqKQIANwMAIARBqANqIANBCGopAgA3AwAgBCADKQIANwOgAyAEQdgDaiAEQcQHaiIDQRhqKQIANwMAIARB0ANqIANBEGopAgA3AwAgBEHIA2ogA0EIaikCADcDACAEIAMpAgA3A8ADIAVBCGogBEHgAxDZARogBUEANgIADA8LIARBqAhqIARB1AhqKAIAIgM2AgAgBEGgCGogBEHMCGopAgAiHzcDACAEQZgIaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDkAggBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwOCyAEQfgDaiAEQdQIaigCACIDNgIAIARB8ANqIARBzAhqKQIAIh83AwAgBEHoA2ogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A+ADIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMDQsgBEGgBGogBEHUCGooAgAiAzYCACAEQZgEaiAEQcwIaikCACIfNwMAIARBkARqIARBxAhqKQIAIiA3AwAgBCAEKQK8CCIhNwOIBCAFQRxqIAM2AgAgBUEUaiAfNwIAIAVBDGogIDcCACAFICE3AgQgBUEBNgIADAwLIARByARqIARB1AhqKAIAIgM2AgAgBEHABGogBEHMCGopAgAiHzcDACAEQbgEaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDsAQgBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwLCyAEQfAEaiAEQdQIaigCACIDNgIAIARB6ARqIARBzAhqKQIAIh83AwAgBEHgBGogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A9gEIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMCgsgBEGYBWogBEHUCGooAgAiAzYCACAEQZAFaiAEQcwIaikCACIfNwMAIARBiAVqIARBxAhqKQIAIiA3AwAgBCAEKQK8CCIhNwOABSAFQRxqIAM2AgAgBUEUaiAfNwIAIAVBDGogIDcCACAFICE3AgQgBUEBNgIADAkLIARBwAVqIARB1AhqKAIAIgM2AgAgBEG4BWogBEHMCGopAgAiHzcDACAEQbAFaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDqAUgBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwICyAEQegFaiAEQdQIaigCACIDNgIAIARB4AVqIARBzAhqKQIAIh83AwAgBEHYBWogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A9AFIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMBwsgBEGQBmogBEHUCGooAgAiAzYCACAEQYgGaiAEQcwIaikCACIfNwMAIARBgAZqIARBxAhqKQIAIiA3AwAgBCAEKQK8CCIhNwP4BSAFQRxqIAM2AgAgBUEUaiAfNwIAIAVBDGogIDcCACAFICE3AgQgBUEBNgIADAYLIARBuAZqIARB1AhqKAIAIgM2AgAgBEGwBmogBEHMCGopAgAiHzcDACAEQagGaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDoAYgBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwFCyAEQeAGaiAEQdQIaigCACIDNgIAIARB2AZqIARBzAhqKQIAIh83AwAgBEHQBmogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A8gGIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMBAsgBEGIB2ogBEHUCGooAgAiAzYCACAEQYAHaiAEQcwIaikCACIfNwMAIARB+AZqIARBxAhqKQIAIiA3AwAgBCAEKQK8CCIhNwPwBiAFQRxqIAM2AgAgBUEUaiAfNwIAIAVBDGogIDcCACAFICE3AgQgBUEBNgIADAMLIARBsAdqIARB1AhqKAIAIgM2AgAgBEGoB2ogBEHMCGopAgAiHzcDACAEQaAHaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDmAcgBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwCCyAEQdgHaiAEQdQIaigCACIDNgIAIARB0AdqIARBzAhqKQIAIh83AwAgBEHIB2ogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A8AHIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMAQsgBEGACGogBEHUCGooAgAiAzYCACAEQfgHaiAEQcwIaikCACIfNwMAIARB8AdqIARBxAhqKQIAIiA3AwAgBCAEKQK8CCIhNwPoByAFQRxqIAM2AgAgBUEUaiAfNwIAIAVBDGogIDcCACAFICE3AgQgBUEBNgIACyAGKAIAIgNBhAFPBEAgAxAACyAGKAIEIgNBhAFPBEAgAxAACyAGKAIIIgNBhAFPBEAgAxAACyALKAIAIgNBhAFPBEAgAxAACyAGKAIQIgNBhAFPBEAgAxAACyAGKAIUIgNBhAFPBEAgAxAACyAGKAIYIgNBhAFPBEAgAxAACyAGKAIcIgNBhAFPBEAgAxAACyAGKAIgIgNBhAFPBEAgAxAACyAGKAIkIgNBhAFPBEAgAxAACyAGKAIoIgNBhAFPBEAgAxAACyAGKAIsIgNBhAFPBEAgAxAACyAGKAIwIgNBhAFPBEAgAxAACyAGKAI0IgNBhAFPBEAgAxAACyAGKAI4IgZBhAFPBEAgBhAACyAEQeAIaiQAAkACQAJAIAooAvgPRQRAIApB/AdqIApBgBBqIhFB4AMQ2QEhEiMAQUBqIgEkACAKQQRqKAIAIgIQMCEOIAIQMSEPIAIQMiENIAIQMyEQIAIQNCETIAIQNSEUIAIQNiEVIAIQNyEWIAFBOGogAhA4IAEoAjghFyABKAI8IQYgAUEwaiACEDkgASgCMCEYIAEoAjQhAyABQShqIAIQOiABKAIoIRkgASgCLCEHIAFBIGogAhA7IAEoAiAhGiABKAIkIQggAUEYaiACEDwgASgCGCEbIAEoAhwhCSABQRBqIAIQPSABKAIQIRwgASgCFCELIAFBCGogAhA+IAEoAgghHSABKAIMIQwgASACED8gASgCACEeIAEoAgQhAiAKQZAUaiIEIBY2AnwgBCAVNgJ4IAQgFDYCdCAEIBM2AnAgBCAQNgJsIAQgDTYCaCAEIA82AmQgBCAONgJgIAQgAjYCXCAEIB42AlggBCACNgJUIAQgDDYCUCAEIB02AkwgBCAMNgJIIAQgCzYCRCAEIBw2AkAgBCALNgI8IAQgCTYCOCAEIBs2AjQgBCAJNgIwIAQgCDYCLCAEIBo2AiggBCAINgIkIAQgBzYCICAEIBk2AhwgBCAHNgIYIAQgAzYCFCAEIBg2AhAgBCADNgIMIAQgBjYCCCAEIBc2AgQgBCAGNgIAIAFBQGskACAFIQJBACEMIwBBkAxrIgMkACADQdgFaiIBIARBMGoiEEGMqcAAENABIANBoARqIgcgA0HkBWoiBSkCADcDACADQagEaiIIIANB7AVqIgYoAgA2AgAgAyADKQLcBTcDmAQCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKALYBSIJQQJGBEAgA0G4BGogBykDADcDACADQcAEaiAIKAIANgIAIAMgAykDmAQ3A7AEIAEgBEEYakGcqcAAENABIANB0ARqIgcgBSkCADcDACADQdgEaiIIIAYoAgA2AgAgAyADKQLcBTcDyAQgAygC2AUiCUECRw0CIANB6ARqIAcpAwA3AwAgA0HwBGogCCgCADYCACADIAMpA8gENwPgBCABIARBJGpBrKnAABDQASADQYAFaiIHIAUpAgA3AwAgA0GIBWoiCCAGKAIANgIAIAMgAykC3AU3A/gEIAMoAtgFIglBAkcNAyADQZgFaiAHKQMANwMAIANBoAVqIAgoAgA2AgAgAyADKQP4BDcDkAUgASAEQQxqQbypwAAQ0AEgA0GwBWoiASAFKQIANwMAIANBuAVqIgUgBigCADYCACADIAMpAtwFNwOoBSADKALYBSIGQQJHDQQgA0HIBWogASkDADcDACADQdAFaiAFKAIANgIAIAMgAykDqAU3A8AFIAMgBCgCfBAjNgL8BiADQeALaiIBIANB/AZqQcypwAAQsQEgAygC4AsNBSADQfQGaiADQYAMaiIFKQMANwIAIANB7AZqIANB+AtqIgYpAwA3AgAgA0HkBmogA0HwC2oiBykDADcCACADIAMpA+gLNwLcBiADIAQoAnwQJDYCpAcgASADQaQHakHcqcAAELEBIAMoAuALDQYgA0GcB2ogBSkDADcCACADQZQHaiAGKQMANwIAIANBjAdqIAcpAwA3AgAgAyADKQPoCzcChAcgAyAEKAJ8ECU2AswHIAEgA0HMB2pB7KnAABCxASADKALgCw0HIANBxAdqIAUpAwA3AgAgA0G8B2ogBikDADcCACADQbQHaiAHKQMANwIAIAMgAykD6As3AqwHIAMgBCgCfBAmNgL0ByABIANB9AdqQfypwAAQsQEgAygC4AsNCCADQewHaiAFKQMAIh83AgAgA0HkB2ogBikDACIgNwIAIANB3AdqIAcpAwAiITcCACADQcAGaiAhNwMAIANByAZqICA3AwAgA0HQBmogHzcDACADIAMpA+gLIh83AtQHIANB4AVqIANB3AZqIghBCGopAgA3AwAgA0HoBWogCEEQaikCADcDACADQfAFaiAIQRhqKQIANwMAIAMgHzcDuAYgAyAIKQIANwPYBSADQZAGaiADQYQHaiIIQRhqKQIANwMAIANBiAZqIAhBEGopAgA3AwAgA0GABmogCEEIaikCADcDACADIAgpAgA3A/gFIANBsAZqIANBrAdqIghBGGopAgA3AwAgA0GoBmogCEEQaikCADcDACADQaAGaiAIQQhqKQIANwMAIAMgCCkCADcDmAYgASAEQeAAakGMqsAAELEBIAMoAuALDQkgA0GUCGogBSkDACIfNwIAIANBjAhqIAYpAwAiIDcCACADQYQIaiAHKQMAIiE3AgAgA0GoCGogITcDACADQbAIaiAgNwMAIANBuAhqIB83AwAgAyADKQPoCyIfNwL8ByADIB83A6AIIAEgBEHkAGpBnKrAABCxASADKALgCw0KIANB3AhqIAUpAwAiHzcCACADQdQIaiAGKQMAIiA3AgAgA0HMCGogBykDACIhNwIAIANB8AhqICE3AwAgA0H4CGogIDcDACADQYAJaiAfNwMAIAMgAykD6AsiHzcCxAggAyAfNwPoCCABIARB6ABqQayqwAAQsQEgAygC4AsNCyADQaQJaiAFKQMANwIAIANBnAlqIAYpAwA3AgAgA0GUCWogBykDADcCACADIAMpA+gLNwKMCSABIARB+ABqQbyqwAAQsQEgAygC4AsNDCADQcwJaiAFKQMANwIAIANBxAlqIAYpAwA3AgAgA0G8CWogBykDADcCACADIAMpA+gLNwK0CSABIARB8ABqQcyqwAAQsQEgAygC4AsNDSADQfQJaiAFKQMANwIAIANB7AlqIAYpAwA3AgAgA0HkCWogBykDADcCACADIAMpA+gLNwLcCSABIARB9ABqQdyqwAAQsQEgAygC4AsNASADQZwKaiAFKQMANwIAIANBlApqIAYpAwA3AgAgA0GMCmogBykDADcCACADIAMpA+gLNwKECiABIARB7KrAABDQASADQbAKaiIFIANB7AtqKQIANwMAIANBuApqIgYgA0H0C2ooAgA2AgAgAyADKQLkCzcDqAogAygC4AsiB0ECRw0OIAEgBEHIAGpB/KrAABDQASADQcgKaiADQewLaikCADcDACADQdAKaiADQfQLaigCADYCACADIAMpAuQLNwPACgJAAkAgAygC4AsiAUECRgRAIANBlAtqIQkgBCgCWCEHIAQoAlwhCEEAIQVBACEBIwBBEGsiDiQAQQEhCwJAIAhBAXEEQCAJQoCAgICIgMAINwIADAELAkAgCEECSQ0AAkACQCAHLQAAQTBGBEAgBy0AAUH4AEYNAQsgCEEBdiEFDAELIAhBAmsiCEEBdiEFIAhBAkkNASAHQQJqIQcLQZHewQAtAAAaAkAgBUEBEPgCIgsEQCAHLQAAQbOwwQBqLQAAIg9B/wFGDQEgBy0AAUGzsMEAai0AACINQf8BRg0BQQEhAQNAAkAgCyABIgZqQQFrIA0gD0EEdHI6AAAgASAFRg0AIAcgDGoiDUECai0AAEGzsMEAai0AACIPQf8BRg0AIAxBAmohDCABQQFqIQEgDUEDai0AAEGzsMEAai0AACINQf8BRw0BCwsgBSAGSw0BIAUhAQwCC0EBIAUQ5AIACyAOQQhqIQZBACEBA0AgASAHaiABQQFqIQEtAABBs7DBAGotAABB/wFHDQALIAFBAWshDAJAIAggCCABa0EBak8EQCAGIAw2AgQgBiABIAdqQQFrLQAANgIADAELIAwgCEGUs8EAEKACAAsgCSAOKQMINwIEIAlBgICAgHg2AgAgCyAFEIwDDAELIAkgBTYCCCAJIAs2AgQgCSABNgIACyAOQRBqJAAgAygClAtBgICAgHhGDQEgA0GEC2ogA0GcC2ooAgA2AgAgAyADKQKUCzcC/AogA0ECNgL4CgwCCyADKAL4CyEFIAIgAykDwAo3AgggAiAFNgIcIAIgATYCBCACQQE2AgAgAkEYaiADQdAKaigCADYCACACQRBqIANByApqKQMANwIADBQLIAMgAykCmAs3AogMIANB+ApqIQUjAEHQAGsiASQAIAEgA0GIDGo2AgggAUEBNgIsIAFB5K3AADYCKCABQgE3AjQgASABQQhqrUKAgICAkAKENwMYIAEgAUEYaiIGNgIwIAFBDGogAUEoaiIHEM8BIAFBADYCICABQoCAgIAQNwIYIAFBAzoASCABQSA2AjggAUEANgJEIAFB7K3AADYCQCABQQA2AjAgAUEANgIoIAEgBjYCPAJAQYyrwAAgBxCTAkUEQCAFIAEpAhg3AhAgBUEYaiABQSBqKAIANgIAIAVBDGogAUEUaigCADYCACAFIAEpAgw3AgQgBUEBNgIAIAFB0ABqJAAMAQtBlK7AAEE3IAFBzwBqQYSuwABBmK/AABCVAgALIAMoAvgKIgFBAkcNEAsgAygCgAshBSADKAL8CiEGAkAgAygChAsiAUEgRgRAIANB+QtqIAVBGGopAAA3AAAgA0HxC2ogBUEQaikAADcAACADQekLaiAFQQhqKQAANwAAIAMgBSkAADcA4QtBACEBIAZFDQEgBSAGEIwDDAELIAMgATYC7AsgAyAFNgLoCyADIAY2AuQLQQEhAQsgAyABOgDgCyMAQRBrIgYkACADQbgLaiIBAn8gA0HgC2oiBS0AAEUEQCABIAUpAAE3AAEgAUEZaiAFQRlqKQAANwAAIAFBEWogBUERaikAADcAACABQQlqIAVBCWopAAA3AABBAAwBCyAGQQhqIAVBDGooAgA2AgAgBiAFKQIENwMAIAFBBGohByMAQdAAayIBJAAgASAGNgIIIAFBATYCLCABQcS6wAA2AiggAUIBNwI0IAEgAUEIaq1CgICAgKADhDcDGCABIAFBGGoiCDYCMCABQQxqIAFBKGoiCRDPASABQQA2AiAgAUKAgICAEDcCGCABQQM6AEggAUEgNgI4IAFBADYCRCABQcy6wAA2AkAgAUEANgIwIAFBADYCKCABIAg2AjwCQEGcq8AAIAkQkwJFBEAgByABKQIYNwIQIAdBGGogAUEgaigCADYCACAHQQxqIAFBFGooAgA2AgAgByABKQIMNwIEIAdBATYCACABQdAAaiQADAELQfS6wABBNyABQc8AakHkusAAQfi7wAAQlQIACyAGKAIAIgEEQCAGKAIEIAEQjAMLQQELOgAAIAZBEGokACADLQC4Cw0QIANB8ApqIgcgA0HRC2opAAA3AwAgA0HoCmoiCCADQckLaikAADcDACADQeAKaiIJIANBwQtqKQAANwMAIAMgAykAuQs3A9gKIAUgBEE8akGsq8AAENABIANBqAtqIgEgA0HsC2opAgA3AwAgA0GwC2oiBiADQfQLaigCADYCACADIAMpAuQLNwOgCyADKALgCyILQQJHDREgBSAEQewAakG8q8AAELEBIAMoAuALRQRAIANB1AtqIANBgAxqKQMAIh83AgAgA0HMC2ogA0H4C2opAwAiIDcCACADQcQLaiADQfALaikDACIhNwIAIANBkAJqICE3AwAgA0GYAmogIDcDACADQaACaiAfNwMAIANBkANqIANBuARqKQMANwMAIANBmANqIANBwARqKAIANgIAIAMgAykD6AsiHzcCvAsgAyAfNwOIAiADIAMpA7AENwOIAyADQawDaiAGKAIANgIAIANBpANqIAEpAwA3AgAgAyADKQOgCzcCnAMgA0HAA2ogA0HQCmooAgA2AgAgA0G4A2ogA0HICmopAwA3AwAgAyADKQPACjcDsAMgA0GgAWogBykDADcDACADQZgBaiAIKQMANwMAIANBkAFqIAkpAwA3AwAgAyADKQPYCjcDiAEgA0HAAWogA0G4CGopAwA3AwAgA0G4AWogA0GwCGopAwA3AwAgA0GwAWogA0GoCGopAwA3AwAgAyADKQOgCDcDqAEgA0HgAWogA0GACWopAwA3AwAgA0HYAWogA0H4CGopAwA3AwAgA0HQAWogA0HwCGopAwA3AwAgAyADKQPoCDcDyAEgA0GAAmogA0GMCWoiAUEYaikCADcDACADQfgBaiABQRBqKQIANwMAIANB8AFqIAFBCGopAgA3AwAgAyABKQIANwPoASADQcACaiADQdwJaiIBQRhqKQIANwMAIANBuAJqIAFBEGopAgA3AwAgA0GwAmogAUEIaikCADcDACADIAEpAgA3A6gCIANB4AJqIANBhApqIgFBGGopAgA3AwAgA0HYAmogAUEQaikCADcDACADQdACaiABQQhqKQIANwMAIAMgASkCADcDyAIgA0GAA2ogA0G0CWoiAUEYaikCADcDACADQfgCaiABQRBqKQIANwMAIANB8AJqIAFBCGopAgA3AwAgAyABKQIANwPoAiADQdQDaiADQaAFaigCADYCACADQcwDaiADQZgFaikDADcCACADIAMpA5AFNwLEAyADQegDaiADQdAFaigCADYCACADQeADaiADQcgFaikDADcDACADIAMpA8AFNwPYAyADQfwDaiADQfAEaigCADYCACADQfQDaiADQegEaikDADcCACADIAMpA+AENwLsAyADQZAEaiADQbgKaigCADYCACADQYgEaiADQbAKaikDADcDACADIAMpA6gKNwOABCADQQhqIgEgA0HYBWpBgAEQ2QEaIAJBCGogAUGQBBDZARogAkEANgIAIAMoAvQHIgFBhAFPBEAgARAACyADKALMByIBQYQBTwRAIAEQAAsgAygCpAciAUGEAU8EQCABEAALIAMoAvwGIgFBhAFJDRcgARAADBcLIANB0AtqIANB/AtqKAIAIgE2AgAgA0HIC2ogA0H0C2opAgAiHzcDACADQcALaiADQewLaikCACIgNwMAIAMgAykC5AsiITcDuAsgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwSCyADKALwBSEBIAIgAykDmAQ3AgggAiABNgIcIAIgCTYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwVCyADQZgKaiADQfwLaigCACIBNgIAIANBkApqIANB9AtqKQIAIh83AwAgA0GICmogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A4AKIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMEAsgAygC8AUhASACIAMpA8gENwIIIAIgATYCHCACIAk2AgQgAkEBNgIAIAJBGGogA0HYBGooAgA2AgAgAkEQaiADQdAEaikDADcCAAwTCyADKALwBSEBIAIgAykD+AQ3AgggAiABNgIcIAIgCTYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwSCyADKALwBSEBIAIgAykDqAU3AgggAiABNgIcIAIgBjYCBCACQQE2AgAgAkEYaiADQbgFaigCADYCACACQRBqIANBsAVqKQMANwIADBELIANB8AZqIANB/AtqKAIAIgE2AgAgA0HoBmogA0H0C2opAgAiHzcDACADQeAGaiADQewLaikCACIgNwMAIAMgAykC5AsiITcD2AYgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwPCyADQZgHaiADQfwLaigCACIBNgIAIANBkAdqIANB9AtqKQIAIh83AwAgA0GIB2ogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A4AHIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMDQsgA0HAB2ogA0H8C2ooAgAiATYCACADQbgHaiADQfQLaikCACIfNwMAIANBsAdqIANB7AtqKQIAIiA3AwAgAyADKQLkCyIhNwOoByACQRxqIAE2AgAgAkEUaiAfNwIAIAJBDGogIDcCACACICE3AgQgAkEBNgIADAsLIANB6AdqIANB/AtqKAIAIgE2AgAgA0HgB2ogA0H0C2opAgAiHzcDACADQdgHaiADQewLaikCACIgNwMAIAMgAykC5AsiITcD0AcgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwJCyADQZAIaiADQfwLaigCACIBNgIAIANBiAhqIANB9AtqKQIAIh83AwAgA0GACGogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A/gHIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMCAsgA0HYCGogA0H8C2ooAgAiATYCACADQdAIaiADQfQLaikCACIfNwMAIANByAhqIANB7AtqKQIAIiA3AwAgAyADKQLkCyIhNwPACCACQRxqIAE2AgAgAkEUaiAfNwIAIAJBDGogIDcCACACICE3AgQgAkEBNgIADAcLIANBoAlqIANB/AtqKAIAIgE2AgAgA0GYCWogA0H0C2opAgAiHzcDACADQZAJaiADQewLaikCACIgNwMAIAMgAykC5AsiITcDiAkgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwGCyADQcgJaiADQfwLaigCACIBNgIAIANBwAlqIANB9AtqKQIAIh83AwAgA0G4CWogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A7AJIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMBQsgA0HwCWogA0H8C2ooAgAiATYCACADQegJaiADQfQLaikCACIfNwMAIANB4AlqIANB7AtqKQIAIiA3AwAgAyADKQLkCyIhNwPYCSACQRxqIAE2AgAgAkEUaiAfNwIAIAJBDGogIDcCACACICE3AgQgAkEBNgIADAQLIAMoAvgLIQEgAiADKQOoCjcCCCACIAE2AhwgAiAHNgIEIAJBATYCACACQRhqIAYoAgA2AgAgAkEQaiAFKQMANwIADAMLIAIgAykCiAs3AhQgAkEcaiADQZALaigCADYCACADKQL8CiEfIAIgAygChAs2AhAgAiAfNwMIIAIgATYCBCACQQE2AgAMAgsgA0HzCmogA0HUC2ooAgAiATYAACADQesKaiADQcwLaikCACIfNwAAIANB4wpqIANBxAtqKQIAIiA3AAAgAyADKQK8CyIhNwDbCiACQRxqIAE2AAAgAkEUaiAfNwAAIAJBDGogIDcAACACICE3AAQgAkEBNgIADAELIAMoAvgLIQUgAiADKQOgCzcCCCACIAU2AhwgAiALNgIEIAJBATYCACACQRhqIAYoAgA2AgAgAkEQaiABKQMANwIACyADKAL0ByIBQYQBSQ0AIAEQAAsgAygCzAciAUGEAUkNACABEAALIAMoAqQHIgFBhAFJDQAgARAACyADKAL8BiIBQYQBSQ0AIAEQAAsgBCgCYCIBQYQBTwRAIAEQAAsgBCgCZCIBQYQBTwRAIAEQAAsgBCgCaCIBQYQBTwRAIAEQAAsgBCgCbCIBQYQBTwRAIAEQAAsgBCgCcCIBQYQBTwRAIAEQAAsgBCgCdCIBQYQBTwRAIAEQAAsgBCgCeCIBQYQBTwRAIAEQAAsgBCgCfCIBQYQBTwRAIAEQAAsgBCgCACIBBEAgBCgCBCABEIwDCyAEKAIMIgEEQCAEKAIQIAEQjAMLIAQoAhgiAQRAIAQoAhwgARCMAwsgBCgCJCIBBEAgBCgCKCABEIwDCyAQKAIAIgEEQCAEKAI0IAEQjAMLIAQoAjwiAQRAIAQoAkAgARCMAwsgBCgCSCIBBEAgBCgCTCABEIwDCyAEKAJUIgEEQCAEKAJYIAEQjAMLIANBkAxqJAAgCigC+A8NASAKQegDaiAKQeQLaiARQZAEENkBQZAEENkBGiAKQQhqIgEgEkHgAxDZARogAEEIaiABQfAHENkBGiAAQQA2AgAgCigCBCECIAooAgAiAEGEAU8EQCAAEAALDAMLIApBkAhqIApBlBBqKAIAIgQ2AgAgCkGICGogCkGMEGopAgAiHzcDACAKQYAIaiAKQYQQaikCACIgNwMAIAogCikC/A8iITcD+AcgAEEcaiAENgIAIABBFGogHzcCACAAQQxqICA3AgAgACAhNwIEIABBATYCAAwBCyAKQfgLaiAKQZQQaigCACIBNgIAIApB8AtqIApBjBBqKQIAIh83AwAgCkHoC2ogCkGEEGopAgAiIDcDACAKIAopAvwPIiE3A+ALIABBHGogATYCACAAQRRqIB83AgAgAEEMaiAgNwIAIAAgITcCBCAAQQE2AgAgCigCBCECIAooAgAhAQsgAUGEAU8EQCABEAALCyACQYMBSwRAIAIQAAsgCkGQFWokAAu6CAIMfwF+IwBBMGsiBiQAIABBDGohDCAGQQhqrUKAgICAoBaEIQ8CfwNAAkAgAiAITwRAA0ACQCABIAhqIQoCQAJAAkAgAiAIayIJQQdNBEAgAiAIRgRAIAIhCAwFC0EAIQMDQCADIApqLQAAQQpGDQJBASEHIAkgA0EBaiIDRw0ACyAFIQQgAiEIIAIhAwwHCwJAAkACQAJAIApBA2pBfHEiBCAKRg0AIAQgCmsiBCAJIAQgCUkbIgRFDQBBACEDQQEhBwNAIAMgCmotAABBCkYNBCAEIANBAWoiA0cNAAsgBCAJQQhrIgdLDQIMAQsgCUEIayEHQQAhBAtBipSo0AAhAwNAQYCChAggBCAKaiINKAIAQYqUqNAAcyIOayAOckGAgoQIIA1BBGooAgBBipSo0ABzIg1rIA1ycUGAgYKEeHFBgIGChHhHDQEgBEEIaiIEIAdNDQALCyAEIAlHBEBBCiEDQQEhBwNAIAQgCmotAABBCkYEQCAEIQMMAwsgCSAEQQFqIgRHDQALC0EAIQcLIAYgAzYCBCAGIAc2AgAgBigCACIJQQFHDQEgBigCBCEDCyADIAhqIgNBAWohCCACIANNDQEgASADai0AAEEKRw0BQQAhByAIIQQMBQtBASEHIAUhBCACIQggAiEDIAlBAXFFDQRBACEHDAQLIAIgCE8NAQsLCyAFIQRBASEHIAIhAwsgBiADIAVrIgM2AgwgBiABIAVqNgIIAkACQAJAAkAgC0UEQCAALQAQQQFxDQEMAgsgDCgCAEEKEPACDQIgAEEBOgAQIAYoAgwhAwsgA0UNAiAMIQUjAEHQAGsiAyQAAn8CQAJAAkAgACgCAEEBaw4CAgEACyADIABBBGo2AiggA0EBNgI0IANBsK7BADYCMCADQgE3AjwgAyADQShqrUKAgICAsBeENwMQIAMgA0EQajYCOCAFIANBMGpB4K3BACgCABEBAAwCCyAAKAIEIAsgBUHMrcEAIAAoAggoAhARCAAMAQsgAyAAQQRqNgIMIAsEQCADQQA2AkAgA0EBNgI0IANB1K7BADYCMCADQgQ3AjggBSADQTBqQeCtwQAoAgARAQAMAQsgAyADQQxqrUKAgICAwBeENwMoIANBATYCJCADQQI2AhQgA0G8rsEANgIQIANBATYCHCADQQE6AEwgA0EANgJIIANCIDcCQCADQoCAgIDAADcCOCADQQI2AjAgAyADQTBqNgIgIAMgA0EoajYCGCAFIANBEGpB4K3BACgCABEBAAsgA0HQAGokAA0BIABBADoAEAsgDCgCACEFIAYgDzcDKCAGQQE2AhQgBkHkrcEANgIQIAZCATcCHCAFQRRqKAIAIAVBGGooAgAgBiAGQShqNgIYIAZBEGoQuAFFDQELQQEMAgsgC0EBaiELIAQhBSAHRQ0AC0EACyAGQTBqJAAL2gMCA38EfiMAQcABayIDJAAgAS0AICEEIANB1ABqIAFBJGooAAA2AAAgA0E4aiABQQhqKQMANwMAIANBQGsgAUEQaikDADcDACADQcgAaiABQRhqKQMANwMAIAMgBDoAUCADIAEoACE2AFEgAyABKQMANwMwQgEhBgJAAkACQCAEDgICAQALQgohBkIBIQgDQCADQRBqIAZCASAEQQFxIgEbIAdCACABGyAIIAkQlAIgA0EgaiAGIAcgBiAHEJQCIARBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIARBAXYhBA0ACyADIAggCSAGIAcQlAIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0GwlMAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIAQhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQzwEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQjAMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEHsgA0HAAWokAAvaAwIDfwR+IwBBwAFrIgMkACABLQAgIQQgA0HUAGogAUEkaigAADYAACADQThqIAFBCGopAwA3AwAgA0FAayABQRBqKQMANwMAIANByABqIAFBGGopAwA3AwAgAyAEOgBQIAMgASgAITYAUSADIAEpAwA3AzBCASEGAkACQAJAIAQOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIARBAXEiARsgB0IAIAEbIAggCRCUAiADQSBqIAYgByAGIAcQlAIgBEEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggBEEBdiEEDQALIAMgCCAJIAYgBxCUAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQbCUwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgBCENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDPASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCMAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQeyADQcABaiQAC9sDAgN/BH4jAEHAAWsiAyQAIAEtACAhBCADQdQAaiABQSRqKAAANgAAIANBOGogAUEIaikDADcDACADQUBrIAFBEGopAwA3AwAgA0HIAGogAUEYaikDADcDACADIAQ6AFAgAyABKAAhNgBRIAMgASkDADcDMEIBIQYCQAJAAkAgBA4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgBEEBcSIBGyAHQgAgARsgCCAJEJQCIANBIGogBiAHIAYgBxCUAiAEQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCAEQQF2IQQNAAsgAyAIIAkgBiAHEJQCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANBxP3AADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICAsAeENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDPASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCMAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIANB2ABqIAIQfCADQcABaiQAC9sDAgN/BH4jAEHAAWsiAyQAIAEtACAhBCADQdQAaiABQSRqKAAANgAAIANBOGogAUEIaikDADcDACADQUBrIAFBEGopAwA3AwAgA0HIAGogAUEYaikDADcDACADIAQ6AFAgAyABKAAhNgBRIAMgASkDADcDMEIBIQYCQAJAAkAgBA4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgBEEBcSIBGyAHQgAgARsgCCAJEJQCIANBIGogBiAHIAYgBxCUAiAEQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCAEQQF2IQQNAAsgAyAIIAkgBiAHEJQCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANBxP3AADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICAsAeENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDPASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCMAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQfCADQcABaiQAC8oDAgt/BX4jAEHQAWsiBCQAIAApAxAhDgJAAkAgACkDACIQIAApAwgiD4RQRQRAIAApAxghDQwBC0IAIQ8gDiAAKQMYIg2EQgBSDQAgASgCFEHmtMEAQQEgASgCGCgCDBEDACEADAELIARBAEHQABD8ASIAQc8AaiEFIABB+ABqIQMgAEGwAWohBiAAQegAaiEHAkADQCAHIA03AwAgAEHgAGogDjcDACAAQdgAaiAPNwMAIAAgEDcDUCADQgA3AwAgA0EIaiIIQgA3AwAgA0EQaiIJQgA3AwAgAEIKNwNwIABBkAFqIgogAEHQAGoiCyAAQfAAaiIMEHMgACAGKQMAIhE3A1AgAkHPAGpBzwBLDQEgAiAFaiARp0EwajoAACAAIA03A2ggACAONwNgIAAgDzcDWCAAIBA3A1AgA0IANwMAIAhCADcDACAJQgA3AwAgAEIKNwNwIAogCyAMEHMgACkDqAEhDSAAKQOQASIQIAApA5gBIg+EIAApA6ABIg6EIA2EUEUEQCACQQFrIQIMAQsLIAFBAUEBQQAgACACakHPAGpBASACaxCuASEADAELQX9B0ABBjLXBABCgAgALIARB0AFqJAAgAAv8AwECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQEgACADayIAQYjiwQAoAgBGBEAgAigCBEEDcUEDRw0BQYDiwQAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQ1QELAkACQAJAIAIoAgQiA0ECcUUEQCACQYziwQAoAgBGDQIgAkGI4sEAKAIARg0DIAIgA0F4cSICENUBIAAgASACaiIBQQFyNgIEIAAgAWogATYCACAAQYjiwQAoAgBHDQFBgOLBACABNgIADwsgAiADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFBgAJPBEAgACABEOkBDwsgAUH4AXFB8N/BAGohAgJ/QfjhwQAoAgAiA0EBIAFBA3Z0IgFxRQRAQfjhwQAgASADcjYCACACDAELIAIoAggLIQEgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBjOLBACAANgIAQYTiwQBBhOLBACgCACABaiIBNgIAIAAgAUEBcjYCBCAAQYjiwQAoAgBHDQFBgOLBAEEANgIAQYjiwQBBADYCAA8LQYjiwQAgADYCAEGA4sEAQYDiwQAoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIACwu2AwIBfwl+IwBB0ABrIgMkACADQQhqIAEQ1wECQCADKAIIRQRAIAMpAyAhCSADKQMYIQQgAikDECEGIAIpAwghBQJ+IAMpAxAiCyACKQMAIgxaBEAgBCAFVK0hCCAEIAV9DAELIAQgBVStIAQgBVGtfCEIIAQgBUJ/hXwLIQogAykDKCEEIAIpAxghBSAJIAZ9IQcCQCAIUARAQn9CACAGIAlWGyEGDAELQn9CACAGIAlWGyAHIAhUrX0hBiAHIAh9IQcLAkAgBCAFfSAGfCIEQgBTDQAgAyAENwNIIAMgBzcDQCADIAo3AzggAyALIAx9IgU3AzAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBMGogA0EIaiIBEJoCQf8BcUH/AUYNACADIAQ3AyAgAyAHNwMYIAMgCjcDECADIAU3AwggACABELoBDAILIANBADYCGCADQQE2AgwgA0G0iMEANgIIIANCBDcCECADQQhqQbyIwQAQzQEhASAAQQE2AgAgACABNgIEDAELIAMoAgwhASAAQQE2AgAgACABNgIECyADQdAAaiQAC+oCAgN/Bn4jAEFAaiIDJAAgAAJ/AkAgAkUEQAwBCwJAA0AgAS0AAEEwayIEQf8BcUEJSw0BIANBMGogCUIAQgpCABCUAiADQSBqIAhCAEIKQgAQlAIgA0EQaiAGQgBCCkIAEJQCIAMgB0IAQgpCABCUAgJAIANBCGopAwAgA0EYaikDACADQShqKQMAIAMpAyAiByADQThqKQMAfCIKIAdUrXwiByADKQMQfCIIIAdUrXwiBiADKQMAfCIHIAZUrXxQRQ0AIAggAykDMCIGIAStQv8Bg3wiCSAGVCIFIApCAXwiC1BxIgStfCEGIARFIAYgCFpyRQRAIAdCAXwiB1ANAQsgAUEBaiEBIAYgCCAEGyEGIAsgCiAFGyEIIAJBAWsiAkUNAwwBCwsgAEEBOgABQQEMAgsgAEEAOgABQQEMAQsgACAHNwMgIAAgBjcDGCAAIAg3AxAgACAJNwMIQQALOgAAIANBQGskAAuRAwIBfwZ+IwBBQGoiAiQAIAJBGGpCADcDACACQRBqQgA3AwAgAkEIakIANwMAIAJCADcDACACQThqQgA3AwAgAkEwakIANwMAIAJBKGpCADcDACACQgA3AyAgAiACQSBqEJoCQf8BcUH/AUYEQCABKQMIIQMgASkDGCEGQgAgASkDECIEfSEFAkACfiABKQMAIghQBEBCACADfSEHIANCAFKtDAELIANCf4UhByADQgBSrSADUK18CyIDUARAIARCAFKtIQQMAQsgAyAFVq0gBEIAUq18IQQgBSADfSEFCyAAIAU3AxAgACAHNwMIIABCACAIfTcDAEIAIAZ9IQMCQCAEUARAIAAgAzcDGCAGUEUNASACQUBrJAAPCyAAIAMgBH03AxgLIAJBADYCMCACQQE2AiQgAkGsvMAANgIgIAJCBDcCKCACQSBqQbS6wAAQswIACyACQQE2AiQgAkG0ucAANgIgIAJCATcCLCACIAGtQoCAgIDQAIQ3AwAgAiACNgIoIAJBIGpBvLnAABCzAgALkQMCAX8GfiMAQUBqIgIkACACQRhqQgA3AwAgAkEQakIANwMAIAJBCGpCADcDACACQgA3AwAgAkE4akIANwMAIAJBMGpCADcDACACQShqQgA3AwAgAkIANwMgIAIgAkEgahCaAkH/AXFB/wFGBEAgASkDCCEDIAEpAxghBkIAIAEpAxAiBH0hBQJAAn4gASkDACIIUARAQgAgA30hByADQgBSrQwBCyADQn+FIQcgA0IAUq0gA1CtfAsiA1AEQCAEQgBSrSEEDAELIAMgBVatIARCAFKtfCEEIAUgA30hBQsgACAFNwMQIAAgBzcDCCAAQgAgCH03AwBCACAGfSEDAkAgBFAEQCAAIAM3AxggBlBFDQEgAkFAayQADwsgACADIAR9NwMYCyACQQA2AjAgAkEBNgIkIAJBlIfBADYCICACQgQ3AiggAkEgakGohcEAELMCAAsgAkEBNgIkIAJBqITBADYCICACQgE3AiwgAiABrUKAgICA0ACENwMAIAIgAjYCKCACQSBqQbCEwQAQswIAC5EDAgF/Bn4jAEFAaiICJAAgAkEYakIANwMAIAJBEGpCADcDACACQQhqQgA3AwAgAkIANwMAIAJBOGpCADcDACACQTBqQgA3AwAgAkEoakIANwMAIAJCADcDICACIAJBIGoQmgJB/wFxQf8BRgRAIAEpAwghAyABKQMYIQZCACABKQMQIgR9IQUCQAJ+IAEpAwAiCFAEQEIAIAN9IQcgA0IAUq0MAQsgA0J/hSEHIANCAFKtIANQrXwLIgNQBEAgBEIAUq0hBAwBCyADIAVWrSAEQgBSrXwhBCAFIAN9IQULIAAgBTcDECAAIAc3AwggAEIAIAh9NwMAQgAgBn0hAwJAIARQBEAgACADNwMYIAZQRQ0BIAJBQGskAA8LIAAgAyAEfTcDGAsgAkEANgIwIAJBATYCJCACQZimwQA2AiAgAkIENwIoIAJBIGpBuKXBABCzAgALIAJBATYCJCACQeSmwQA2AiAgAkIBNwIsIAIgAa1CgICAgNAAhDcDACACIAI2AiggAkEgakHUp8EAELMCAAuoAwICfwl+IwBBgAFrIgMkACADQdAAaiIEQYDnhA8QngIgA0ESOgBwIAMgAiAEEMIBIARBnIfBAEEEELcBAkAgAygCUEUEQCADKQNoIQcgAykDYCEFIAEpAxAhCCABKQMIIQYCfiADKQNYIgsgASkDACIMWgRAIAUgBlStIQkgBSAGfQwBCyAFIAZUrSAFIAZRrXwhCSAFIAZCf4V8CyENIAMpA3AhBSABKQMYIQYgByAIfSEKAkAgCVAEQCAHIAhUrSEHDAELIAkgClatIAcgCFStfCEHIAogCX0hCgsgBSAGfSEIAkAgB1AEQCAFIAZaDQEMAwsgBSAGVCAHIAhWcg0CIAggB30hCAsgA0ESOgBIIAMgCDcDQCADIAo3AzggAyANNwMwIAMgCyAMfTcDKCADQdAAaiICIAEgAxDDASAAIANBKGogAhDCASADQYABaiQADwsgAyADKAJUNgIoQaCCwQBBKyADQShqQZCCwQBBzIjBABCVAgALIANBADYCYCADQQE2AlQgA0GUh8EANgJQIANCBDcCWCADQdAAakGohcEAELMCAAvpAgEFfwJAQc3/e0EQIAAgAEEQTRsiAGsgAU0NACAAQRAgAUELakF4cSABQQtJGyIEakEMahBvIgJFDQAgAkEIayEBAkAgAEEBayIDIAJxRQRAIAEhAAwBCyACQQRrIgUoAgAiBkF4cSACIANqQQAgAGtxQQhrIgIgAEEAIAIgAWtBEE0baiIAIAFrIgJrIQMgBkEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCAFIAIgBSgCAEEBcXJBAnI2AgAgASACaiIDIAMoAgRBAXI2AgQgASACEMUBDAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAQgAUEBcXJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQxQELIABBCGohAwsgAwvJAwEEfyMAQTBrIgIkACAAKAIMIQMCQAJAAkACQAJAAkAgACgCBA4CAAECCyADDQFBASEAQQAhAwwCCyADDQAgACgCACIAKAIEIQMgACgCACEADAELIAJBFGogABDPAUGc3sEAKAIAQQJHBEAQrAILIAJBlN7BACgCACACQRRqQairwQBBmN7BACgCACgCFBEGACACKAIAIgMgASACKAIEIgEoAiARAAAgAkEoaiIEIAJBHGooAgA2AgBBkd7BAC0AABogAiACKQIUNwMgQRhBBBD4AiIABEAgACABNgIIIAAgAzYCBCAAQdSrwQA2AgAgACACKQMgNwIMIABBFGogBCgCADYCAAwCC0EEQRgQqQMACyACIAM2AiQgAiAANgIgQZzewQAoAgBBAkcEQBCsAgsgAkEIakGU3sEAKAIAIAJBIGpB0KrBAEGY3sEAKAIAKAIUEQYAIAIoAggiAyABIAIoAgwiASgCIBEAAEGR3sEALQAAGiACKAIkIQQgAigCICEFQRRBBBD4AiIARQ0BIAAgBDYCECAAIAU2AgwgACABNgIIIAAgAzYCBCAAQfyqwQA2AgALIAJBMGokACAADwtBBEEUEKkDAAuZAwIFfwF+IwBBQGoiBCQAIAQgAjYCFCAEIAE2AhBBASECIARBATYCJCAEQeiswQA2AiAgBEIBNwIsIARCgICAgPAQIgkgBEEQaq2ENwM4IAQgBEE4ajYCKAJAIAMoAhQiBiADKAIYIgcgBEEgahC4AQ0AIAMtABxBBHFFBEBBACECDAELIAkgBEEYaq2EIQlBACECIAQoAhQhBSAEKAIQIQBBASEDA0ACQCACQQFxBEAgBSEBIAAiAg0BQQAhAgwDCyAARQRAQQAhAgwDCyADQQFrIQhBACEDIAAhAiAFIQECQANAIARBCGogAiABKAIYEQAAIAQoAgwhASAEKAIIIQIgAyAIRg0BIANBAWohAyACDQALQQAhAgwDCyACDQBBACECDAILIAQgAiABKAIYEQAAIAQoAgQhBSAEKAIAIQAgBCABNgIcIAQgAjYCGEEBIQIgBEEBNgIkIARB9KzBADYCICAEQgE3AiwgBCAJNwM4IAQgBEE4ajYCKEEAIQMgBiAHIARBIGoQuAFFDQALCyAEQUBrJAAgAgv/AgEHfyMAQRBrIgQkAAJAAkACQAJAAkAgASgCBCICRQ0AIAEoAgAhByACQQNxIQUCQCACQQRJBEBBACECDAELIAdBHGohAyACQXxxIQhBACECA0AgAygCACADQQhrKAIAIANBEGsoAgAgA0EYaygCACACampqaiECIANBIGohAyAIIAZBBGoiBkcNAAsLIAUEQCAGQQN0IAdqQQRqIQMDQCADKAIAIAJqIQIgA0EIaiEDIAVBAWsiBQ0ACwsgASgCDARAIAJBAEgNASAHKAIERSACQRBJcQ0BIAJBAXQhAgsgAg0BC0EBIQNBACECDAELQQAhBSACQQBIDQFBkd7BAC0AABpBASEFIAJBARD4AiIDRQ0BCyAEQQA2AgggBCADNgIEIAQgAjYCACAEQfC/wQAgARC4AUUNAUHYwMEAQdYAIARBD2pByMDBAEHAwcEAEJUCAAsgBSACEOQCAAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACAEQRBqJAALlg4BGH8jAEGAAWsiBSQAIAUgATYCDCAFQShqIQcgASgCBCEKAkAgASgCCCIBRQRAQQEhCQwBCyABQQBOBEBBkd7BAC0AABpBASEIIAFBARD4AiIJDQELIAggARDkAgALIAkgCiABENkBIQggByABNgIIIAcgCDYCBCAHIAE2AgAgBUEQaiEGIAUoAiwiGiEBIAUoAjAhBCMAQSBrIgMkACAEQQJJBH9BAAUgBCAEQQJrQeS0wQAgAUECEK0CIgcbIQQgB0VBAXQLIQcgA0EANgIQIANBADoAFCADIAEgB2oiATYCCCADIAE2AgAgAyAENgIEIAMgASAEajYCDCADQRhqIgcgAxCbAQJAAn8CQAJAAkAgAygCGCIEQYKAxABGDQAgAygCHCEBIARBgYDEAEcNAiAHIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEHIARBgYDEAEcEQCAHIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhCCAEQYGAxABHBEAgCCEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIQkgBEGBgMQARwRAIAkhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEKIARBgYDEAEcEQCAKIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhCyAEQYGAxABHBEAgCyEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIQwgBEGBgMQARwRAIAwhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCENIARBgYDEAEcEQCANIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhDiAEQYGAxABHBEAgDiEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIQ8gBEGBgMQARwRAIA8hAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEQIARBgYDEAEcEQCAQIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhESAEQYGAxABHBEAgESEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIRIgBEGBgMQARwRAIBIhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCETIARBgYDEAEcEQCATIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhFCAEQYGAxABHBEAgFCEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIRUgBEGBgMQARwRAIBUhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEWIARBgYDEAEcEQCAWIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhFyAEQYGAxABHBEAgFyEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIRggBEGBgMQARwRAIBghAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEZIARBgYDEAEcEQCAZIQEMAwsgA0EYaiADEJsBIAMoAhhBgoDEAEYNAQtBgIDEACEBQQQMAgsgBiAZOgAUIAYgGDoAEyAGIBc6ABIgBiAWOgARIAYgFToAECAGIBQ6AA8gBiATOgAOIAYgEjoADSAGIBE6AAwgBiAQOgALIAYgDzoACiAGIA46AAkgBiANOgAIIAYgDDoAByAGIAs6AAYgBiAKOgAFIAYgCToABCAGIAg6AAMgBiAHOgACIAYgAToAASAGQQA6AAAMAgsgBiAENgIEQQgLIAZqIAE2AgAgBkEBOgAACyADQSBqJAACQAJAIAUtABBFBEAgACAFKQARNwAEIABBFGogBUEhaigAADYAACAAQQxqIAVBGWopAAA3AABBAiEBDAELIAUgBSkCFDcCNCAFQQI2AlwgBUH4isEANgJYIAVCAjcCZCAFIAVBNGqtQoCAgIDgCoQ3A1AgBSAFQQxqrUKAgICA8AqENwNIIAUgBUHIAGoiBzYCYCAFQTxqIAVB2ABqIggQzwFBACEBIAVBADYCUCAFQoCAgIAQNwJIIAVBAzoAeCAFQSA2AmggBUEANgJ0IAVBpInBADYCcCAFQQA2AmAgBUEANgJYIAUgBzYCbCACIAgQkwINASAAIAUpAkg3AhAgAEEYaiAFQdAAaigCADYCACAAQQxqIAVBxABqKAIANgIAIAAgBSkCPDcCBAsgACABNgIAIAUoAigiAARAIBogABCMAwsgBUGAAWokAA8LQcyJwQBBNyAFQf8AakG8icEAQdCKwQAQlQIAC4cDAQR/IwBB0ABrIgMkAAJAAkAgASgCAEUEQCAAIAEpAwg3AwggAEEoaiABQShqKQMANwMAIABBIGogAUEgaikDADcDACAAQRhqIAFBGGopAwA3AwAgAEEQaiABQRBqKQMANwMAQQAhAQwBCyADIAEoAgQ2AgQgAyADQQRqIgQ2AghBASEBIANBATYCLCADQbS8wAA2AiggA0IBNwI0IAMgA0EIaq1CgICAgPADhDcDGCADIANBGGoiBTYCMCADQQxqIANBKGoiBhDPASADQQA2AiAgA0KAgICAEDcCGCADQQM6AEggA0EgNgI4IANBADYCRCADQby8wAA2AkAgA0EANgIwIANBADYCKCADIAU2AjwgAiAGEJMCDQEgACADKQIYNwIUIABBHGogA0EgaigCADYCACAAQRBqIANBFGooAgA2AgAgACADKQIMNwIIIAQQ7QIgAEEBNgIECyAAIAE2AgAgA0HQAGokAA8LQeS8wABBNyADQc8AakHUvMAAQei9wAAQlQIAC68DAQd/QQEhCQJAAkAgAkUNACABIAJBAXRqIQogAEGA/gNxQQh2IQsgAEH/AXEhDQNAIAFBAmohDCAHIAEtAAEiAmohCCALIAEtAAAiAUcEQCABIAtLDQIgCCEHIAwiASAKRg0CDAELAkACQCAHIAhNBEAgBCAISQ0BIAMgB2ohAQNAIAJFDQMgAkEBayECIAEtAAAgAUEBaiEBIA1HDQALQQAhCQwFCyAHIAhBwMvBABChAgALIwBBMGsiACQAIAAgCDYCACAAIAQ2AgQgAEECNgIMIABByMjBADYCCCAAQgI3AhQgACAAQQRqrUKAgICA0A2ENwMoIAAgAK1CgICAgNANhDcDICAAIABBIGo2AhAgAEEIakHAy8EAELMCAAsgCCEHIAwiASAKRw0ACwsgBkUNACAFIAZqIQMgAEH//wNxIQEDQCAFQQFqIQACQCAFLAAAIgJBAE4EQCAAIQUMAQsgACADRwRAIAUtAAEgAkH/AHFBCHRyIQIgBUECaiEFDAELQbDLwQAQjwMACyABIAJrIgFBAEgNASAJQQFzIQkgAyAFRw0ACwsgCUEBcQveAgIDfwR+IwBB8ABrIgIkAEIBIQUCQAJAAkAgAS0AICIBDgICAQALQgohBUIBIQcDQCACQRBqIAVCASABQQFxIgMbIAZCACADGyAHIAgQlAIgAkEgaiAFIAYgBSAGEJQCIAFBA0sgAkEoaikDACEGIAJBGGopAwAhCCACKQMgIQUgAikDECEHIAFBAXYhAQ0ACyACIAcgCCAFIAYQlAIgAkEIaikDACEGIAIpAwAhBQwBC0IKIQULIAJBOGoiASAGNwMAIAIgBTcDMCACQQE2AlQgAkGwlMAANgJQIAJCATcCXCACIAJBMGqtQoCAgIAQhDcDaCACIAJB6ABqNgJYIAJBxABqIAJB0ABqEM8BIABCADcDECAAQRhqQgA3AwAgASkDACEFIAIpAzAhBiACKAJEIgEEQCACKAJIIAEQjAMLIABBEjoAICAAIAU3AwggACAGNwMAIAJB8ABqJAAL3wICA38EfiMAQfAAayICJABCASEFAkACQAJAIAEtACAiAQ4CAgEAC0IKIQVCASEHA0AgAkEQaiAFQgEgAUEBcSIDGyAGQgAgAxsgByAIEJQCIAJBIGogBSAGIAUgBhCUAiABQQNLIAJBKGopAwAhBiACQRhqKQMAIQggAikDICEFIAIpAxAhByABQQF2IQENAAsgAiAHIAggBSAGEJQCIAJBCGopAwAhBiACKQMAIQUMAQtCCiEFCyACQThqIgEgBjcDACACIAU3AzAgAkEBNgJUIAJBxP3AADYCUCACQgE3AlwgAiACQTBqrUKAgICAsAeENwNoIAIgAkHoAGo2AlggAkHEAGogAkHQAGoQzwEgAEIANwMQIABBGGpCADcDACABKQMAIQUgAikDMCEGIAIoAkQiAQRAIAIoAkggARCMAwsgAEESOgAgIAAgBTcDCCAAIAY3AwAgAkHwAGokAAvxAgEEfyAAKAIMIQICQAJAIAFBgAJPBEAgACgCGCEDAkACQCAAIAJGBEAgAEEUQRAgACgCFCICG2ooAgAiAQ0BQQAhAgwCCyAAKAIIIgEgAjYCDCACIAE2AggMAQsgAEEUaiAAQRBqIAIbIQQDQCAEIQUgASICQRRqIAJBEGogAigCFCIBGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAiAAIAAoAhxBAnRB4N7BAGoiASgCAEcEQCADQRBBFCADKAIQIABGG2ogAjYCACACRQ0DDAILIAEgAjYCACACDQFB/OHBAEH84cEAKAIAQX4gACgCHHdxNgIADAILIAAoAggiACACRwRAIAAgAjYCDCACIAA2AggPC0H44cEAQfjhwQAoAgBBfiABQQN2d3E2AgAPCyACIAM2AhggACgCECIBBEAgAiABNgIQIAEgAjYCGAsgACgCFCIARQ0AIAIgADYCFCAAIAI2AhgLC/cCAQR/IwBB0ABrIgMkAAJAAkAgASgCAEUEQCAAIAEpAwg3AwggAEEgaiABQSBqKQMANwMAIABBGGogAUEYaikDADcDACAAQRBqIAFBEGopAwA3AwBBACEBDAELIAMgASgCBDYCBCADIANBBGoiBDYCCEEBIQEgA0EBNgIsIANBtLzAADYCKCADQgE3AjQgAyADQQhqrUKAgICA8AOENwMYIAMgA0EYaiIFNgIwIANBDGogA0EoaiIGEM8BIANBADYCICADQoCAgIAQNwIYIANBAzoASCADQSA2AjggA0EANgJEIANBvLzAADYCQCADQQA2AjAgA0EANgIoIAMgBTYCPCACIAYQkwINASAAIAMpAhg3AhQgAEEcaiADQSBqKAIANgIAIABBEGogA0EUaigCADYCACAAIAMpAgw3AgggBBDtAiAAQQE2AgQLIAAgATYCACADQdAAaiQADwtB5LzAAEE3IANBzwBqQdS8wABB6L3AABCVAgAL7wICBX8BfiMAQeAAayICJAACQAJAIAEpAxgiB0IAWQRAIAAgBzcDICAAIAEpAwA3AwggAEEYaiABQRBqKQMANwMAIABBEGogAUEIaikDADcDAAwBCyACQUBrIAFBEGopAwA3AwAgAkE4aiIEIAFBCGopAwA3AwBBASEDIAJBATYCFCACQeipwQA2AhAgAkIBNwIcIAIgBzcDSCACIAEpAwA3AzAgAiACQTBqrUKAgICA0ACENwMoIAIgAkEoajYCGCACQdQAaiIBIAJBEGoQzwEgAkEIaiABQcyjwQBB8KnBABCnAiACKAIMIQUgAigCCCEGIAQgAkHcAGooAgA2AgBBkd7BAC0AABogAiACKQJUNwMwQRhBBBD4AiIBRQ0BIAEgBjYCBCABQbSkwQA2AgAgASACKQMwNwIMIAEgBTYCCCABQRRqIAQoAgA2AgAgACABNgIECyAAIAM2AgAgAkHgAGokAA8LQQRBGBCpAwALiAMCBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRBl8XBAEGUxcEAIAlBAXEiCRtBAkEDIAkbIAYoAhgoAgwRAwANASAGKAIUIAEgAiAGKAIYKAIMEQMADQEgBigCFEHkxMEAQQIgBigCGCgCDBEDAA0BIAMgBiAEKAIMEQEAIQcMAQsgCUEBcUUEQCAGKAIUQZnFwQBBAyAGKAIYKAIMEQMADQEgBigCHCEICyAFQQE6ABsgBSAGKQIUNwIMIAVB+MTBADYCNCAFIAVBG2o2AhQgBSAGKQIINwIkIAYpAgAhCiAFIAg2AjggBSAGKAIQNgIsIAUgBi0AIDoAPCAFIAo3AhwgBSAFQQxqIgg2AjAgCCABIAIQuwENACAIQeTEwQBBAhC7AQ0AIAMgBUEcaiAEKAIMEQEADQAgBSgCMEGcxcEAQQIgBSgCNCgCDBEDACEHCyAAQQE6AAUgACAHOgAEIAVBQGskACAAC7YCAQd/AkAgAkEQSQRAIAAhAwwBCyAAQQAgAGtBA3EiBGohBSAEBEAgACEDIAEhBgNAIAMgBi0AADoAACAGQQFqIQYgA0EBaiIDIAVJDQALCyAFIAIgBGsiCEF8cSIHaiEDAkAgASAEaiIEQQNxBEAgB0EATA0BIARBA3QiAkEYcSEJIARBfHEiBkEEaiEBQQAgAmtBGHEhAiAGKAIAIQYDQCAFIAYgCXYgASgCACIGIAJ0cjYCACABQQRqIQEgBUEEaiIFIANJDQALDAELIAdBAEwNACAEIQEDQCAFIAEoAgA2AgAgAUEEaiEBIAVBBGoiBSADSQ0ACwsgCEEDcSECIAQgB2ohAQsgAgRAIAIgA2ohAgNAIAMgAS0AADoAACABQQFqIQEgA0EBaiIDIAJJDQALCyAAC8oCAgh+AX8jAEFAaiILJAAgCyACIAFBoAZqEHMgCykDMCEGIAspAyghBCACKQMIIQMCfiACKQMAIgkgCykDICIKWgRAIAMgBH0hByADIARUrQwBCyADIARCf4V8IQcgAyAEVK0gAyAEUa18CyEFIAspAzghCCACKQMQIgMgBn0hBAJAIAVQBEAgAyAGVK0hAwwBCyAEIAVUrSADIAZUrXwhAyAEIAV9IQQLIAIpAxgiBiAIfSEFAkACQCADUARAIAAgBTcDGCAAIAQ3AxAgACAHNwMIIAAgCSAKfTcDACAGIAhUDQEMAgsgACAENwMQIAAgBzcDCCAAIAUgA303AxggACAJIAp9NwMAIAYgCFQNACADIAVYDQELIAtBADYCECALQQE2AgQgC0GwxMAANgIAIAtCBDcCCCALQYDEwAAQswIACyALQUBrJAALwQIBA38jAEGAAWsiBCQAAn8CQAJAIAEoAhwiAkEQcUUEQCACQSBxDQEgADUCACABENwBDAMLIAAoAgAhAEEAIQIDQCACIARqQf8AaiAAQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACwwBCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTByIANBN2ogA0EKSRs6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYEBTwRAIABBgAFBuMXBABCfAgALIAFBAUHIxcEAQQIgAiAEakGAAWpBACACaxCuAQwBCyACQYABaiIAQYEBTwRAIABBgAFBuMXBABCfAgALIAFBAUHIxcEAQQIgAiAEakGAAWpBACACaxCuAQsgBEGAAWokAAvFAgIFfwF+IwBBMGsiBCQAQSchAgJAIABCkM4AVARAIAAhBwwBCwNAIARBCWogAmoiA0EEayAAIABCkM4AgCIHQpDOAH59pyIFQf//A3FB5ABuIgZBAXRBysXBAGovAAA7AAAgA0ECayAFIAZB5ABsa0H//wNxQQF0QcrFwQBqLwAAOwAAIAJBBGshAiAAQv/B1y9WIAchAA0ACwsCQCAHQuMAWARAIAenIQMMAQsgAkECayICIARBCWpqIAenIgMgA0H//wNxQeQAbiIDQeQAbGtB//8DcUEBdEHKxcEAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBysXBAGovAAA7AAAMAQsgAkEBayICIARBCWpqIANBMHI6AAALIAFBAUEBQQAgBEEJaiACakEnIAJrEK4BIARBMGokAAvBAgIIfgF/IwBBIGsiCyQAIAEpAwghBCACKQMQIQYgAikDCCEDAn4gASkDACIJIAIpAwAiCloEQCAEIAN9IQcgAyAEVq0MAQsgBCADQn+FfCEHIAMgBFatIAMgBFGtfAshBSACKQMYIQggASkDECIDIAZ9IQQCQCAFUARAIAMgBlStIQMMAQsgBCAFVK0gAyAGVK18IQMgBCAFfSEECyABKQMYIgYgCH0hBQJAAkAgA1AEQCAAIAU3AxggACAENwMQIAAgBzcDCCAAIAkgCn03AwAgBiAIWg0BDAILIAAgBDcDECAAIAc3AwggACAFIAN9NwMYIAAgCSAKfTcDACAGIAhUIAMgBVZyDQELIAtBIGokAA8LIAtBADYCGCALQQE2AgwgC0GolMAANgIIIAtCBDcCECALQQhqQfiTwAAQswIAC8ECAgh+AX8jAEEgayILJAAgASkDCCEEIAIpAxAhBiACKQMIIQMCfiABKQMAIgkgAikDACIKWgRAIAQgA30hByADIARWrQwBCyAEIANCf4V8IQcgAyAEVq0gAyAEUa18CyEFIAIpAxghCCABKQMQIgMgBn0hBAJAIAVQBEAgAyAGVK0hAwwBCyAEIAVUrSADIAZUrXwhAyAEIAV9IQQLIAEpAxgiBiAIfSEFAkACQCADUARAIAAgBTcDGCAAIAQ3AxAgACAHNwMIIAAgCSAKfTcDACAGIAhaDQEMAgsgACAENwMQIAAgBzcDCCAAIAUgA303AxggACAJIAp9NwMAIAYgCFQgAyAFVnINAQsgC0EgaiQADwsgC0EANgIYIAtBATYCDCALQcC0wAA2AgggC0IENwIQIAtBCGpBkLTAABCzAgALwQICCH4BfyMAQSBrIgskACABKQMIIQQgAikDECEGIAIpAwghAwJ+IAEpAwAiCSACKQMAIgpaBEAgBCADfSEHIAMgBFatDAELIAQgA0J/hXwhByADIARWrSADIARRrXwLIQUgAikDGCEIIAEpAxAiAyAGfSEEAkAgBVAEQCADIAZUrSEDDAELIAQgBVStIAMgBlStfCEDIAQgBX0hBAsgASkDGCIGIAh9IQUCQAJAIANQBEAgACAFNwMYIAAgBDcDECAAIAc3AwggACAJIAp9NwMAIAYgCFoNAQwCCyAAIAQ3AxAgACAHNwMIIAAgBSADfTcDGCAAIAkgCn03AwAgBiAIVCADIAVWcg0BCyALQSBqJAAPCyALQQA2AhggC0EBNgIMIAtBsMTAADYCCCALQgQ3AhAgC0EIakGAxMAAELMCAAvWDQIHfxF+IwBBsBhrIgMkACADQbgQaiABEAIgARADEL4BAkACQCADKAK4EEUEQCADQdAAaiIEIANBxAhqIANBwBBqQfAHENkBQfAHENkBGiADQShqIQYjAEHQAWsiAiQAIAJByABqIARB2AFqKQMANwMAIAJBQGsgBEHQAWopAwA3AwAgAkE4aiAEQcgBaikDADcDACACQRI6AFAgAiAEKQPAATcDMCACQRBqIgVCADcDACACQoCAkLu61q3wDTcDCCACQQE2AlwgAkHE/cAANgJYIAJCATcCZCACIAJBCGqtQoCAgICwB4Q3A7ABIAIgAkGwAWo2AmAgAkG4AWogAkHYAGoQzwEgAkGgAWpCADcDACACQgA3A5gBIAUpAwAhCSACKQMIIQogAigCuAEiBQRAIAIoArwBIAUQjAMLIAJBEjoAqAEgAiAKNwOIASACIAk3A5ABIAJB8ABqIgcgBEHAA2oiBUEYaikDADcDACACQegAaiIIIAVBEGopAwA3AwAgAkHgAGogBUEIaikDADcDACACQRI6AHggAiAFKQMANwNYIAJBCGogAkHYAGoiBSACQYgBaiACQTBqEHYgBUG4xMAAQQEQtwECQAJAAkAgAigCWEUEQCACQdAAaiACQYABaikDADcDACACQcgAaiACQfgAaikDADcDACACQUBrIAcpAwA3AwAgAkE4aiAIKQMANwMAIAIgAikDYDcDMCACQRI6AKgBIAIgBCkDGCIRNwOgASACIAQpAxAiEjcDmAEgAiAEKQMIIgw3A5ABIAIgBCkDACIXNwOIASACKQMQIgsgBCkDqAUiDXwiCiALVCEFIAIpAxgiDyAPIAQpA7AFIhN8IglWIQcgAikDICIQIBAgBCkDuAUiFHwiDlYhCAJAIAIpAwgiFSAEKQOgBSIYfCIZIBVaBH4gBa0FIApCAXwiClCtIAWtfAsiFlAEfiAHrQUgCSAJIBZ8IglWrSAHrXwLIhZQBEAgAiAONwNwIAIgCTcDaCACIAo3A2AgAiAZNwNYIAhFDQEMAwsgAiAJNwNoIAIgCjcDYCACIBk3A1ggAiAOIBZ8Igk3A3AgCCAJIA5Ucg0CCyACQRI6AHggAkGIAWogAkHYAGoQmgJB/wFxQQFGBEACfiAVIBdYBEAgCyAMVq0hDiAMIAt9DAELIAsgDFatIAsgDFGtfCEOIAwgC0J/hXwLIQogEiAPfSEJAkAgDlAEQCAPIBJWrSELDAELIAkgDlStIA8gElatfCELIAkgDn0hCQsgESAQfSEMAkAgC1AEQCAQIBFYDQEMBQsgECARViALIAxWcg0EIAwgC30hDAsCfiAYIBcgFX0iD1gEQCAKIA1UrSELIAogDX0MAQsgCiANVK0gCiANUa18IQsgCiANQn+FfAshECAJIBN9IQ0CQCALUARAIAkgE1StIQoMAQsgCyANVq0gCSATVK18IQogDSALfSENCyAMIBR9IQkCQCAKUARAIAwgFFoNAQwFCyAMIBRUIAkgClRyDQQgCSAKfSEJCyACQRI6AKgBIAIgCTcDoAEgAiANNwOYASACIBA3A5ABIAIgDyAYfTcDiAEgAkHwAGogBEHAAWoiBEEYaikDADcDACACQegAaiAEQRBqKQMANwMAIAJB4ABqIARBCGopAwA3AwAgAkESOgB4IAIgBCkDADcDWCACQTBqIAJBiAFqIAJB2ABqEMMBCyAGIAIpAzA3AwAgBkEgaiACQdAAaikDADcDACAGQRhqIAJByABqKQMANwMAIAZBEGogAkFAaykDADcDACAGQQhqIAJBOGopAwA3AwAgAkHQAWokAAwDCyACIAIoAlw2AogBQczEwABBKyACQYgBakG8xMAAQeTGwAAQlQIACyACQQA2AsgBIAJBATYCvAEgAkGUh8EANgK4ASACQgQ3AsABIAJBuAFqQaiFwQAQswIACyACQQA2AmggAkEBNgJcIAJBsMTAADYCWCACQgQ3AmAgAkHYAGpBgMTAABCzAgALIANBCGogBkG4nsAAELwBIAFBgwFLDQEMAgsgA0EQaiADQcQQaikCADcDACADQRhqIANBzBBqKQIANwMAIANBIGogA0HUEGooAgA2AgAgAyADKQK8EDcDCCABQYQBSQ0BCyABEAALAn8gAygCCCIEQQJGBEAgAygCDCEBQQAMAQsgA0HQEGogA0EgaigCADYCACADQcgQaiADQRhqKQMANwMAIANBwBBqIANBEGopAwA3AwAgAyADKQMINwO4EEEAIQEgA0G4EGoQ4QELIQIgACAEQQJHNgIIIAAgAjYCBCAAIAE2AgAgA0GwGGokAAvgAgEEfyMAQUBqIgEkAAJAAkAgACgCAEUEQCABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQdSLwQA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEPEBDQIgASgCDCECIAEoAhAiAyABKAIUEF8hBCACRQ0BIAMgAhCMAwwBCyABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQdSLwQA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEPEBRQRAIAEoAgwhAiABKAIQIgMgASgCFBBeIQQgAkUNASADIAIQjAMMAQsMAQsgACgCBCICBEAgACgCCCACEIwDCyAAKAIQIgIEQCAAKAIUIAIQjAMLIAFBQGskACAEDwtB/IvBAEE3IAFBP2pB7IvBAEGAjcEAEJUCAAu5AgICfwN+IwBB4ABrIgIkACACQQhqIAEpAwBCAEIKQgAQlAIgASACKQMIIgU3AwAgAkEYaiABQQhqIgMpAwBCAEIKQgAQlAIgAyACKQMYIgYgAkEQaikDAHwiBDcDACACQShqIAFBEGoiAykDAEIAQgpCABCUAiACQThqIAFBGGoiASkDAEIAQgpCABCUAiAAIAU3AwAgAEEIaiAENwMAIAMgAikDKCIFIAJBIGopAwAgBCAGVK18fCIENwMAIABBEGogBDcDACABIAIpAzgiBiACQTBqKQMAIAQgBVStfHwiBDcDACAAQRhqIAQ3AwAgAkFAaykDACAEIAZUrXxQBEAgAkHgAGokAA8LIAJBADYCWCACQQE2AkwgAkGEtcEANgJIIAJCBDcCUCACQcgAakGMtcEAELMCAAvCAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBEnZB8AFyOgAMIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADUEEDAILIAAoAggiAyAAKAIARgRAIAAQ+AELIAAoAgQgA2ogAToAACAAIANBAWo2AggMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQ9wEgACgCCCEDCyAAKAIEIANqIAJBDGogARDZARogACABIANqNgIICyACQRBqJABBAAvpAwEGfyMAQRBrIgMkAAJAAn8CQCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFyOgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBEnZB8AFyOgAMIAMgAUEGdkE/cUGAAXI6AA4gAyABQQx2QT9xQYABcjoADUEEDAILIAAoAggiByAAKAIARgRAIwBBIGsiAiQAIAAoAgAiBEF/RgRAQQBBABDkAgALQQggBEEBdCIFIARBAWoiBiAFIAZLGyIFIAVBCE0bIgVBf3NBH3YhBiACIAQEfyACIAQ2AhwgAiAAKAIENgIUQQEFQQALNgIYIAJBCGogBiAFIAJBFGoQigIgAigCCEEBRgRAIAIoAgwgAigCEBDkAgALIAIoAgwhBCAAIAU2AgAgACAENgIEIAJBIGokAAsgACAHQQFqNgIIIAAoAgQgB2ogAToAAAwCCyADIAFBP3FBgAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCICa0sEQCAAIAIgARD5ASAAKAIIIQILIAAoAgQgAmogA0EMaiABENkBGiAAIAEgAmo2AggLIANBEGokAEEAC8ICAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABD6AQsgACADQQFqNgIIIAAoAgQgA2ogAToAAAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD7ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABENkBGiAAIAEgA2o2AggLIAJBEGokAEEAC8ICAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABD6AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD7ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABENkBGiAAIAEgA2o2AggLIAJBEGokAEEAC8ICAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABD4AQsgACADQQFqNgIIIAAoAgQgA2ogAToAAAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD3ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABENkBGiAAIAEgA2o2AggLIAJBEGokAEEAC8ACAQJ/IwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARJBEAgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgACgCCCIDIAAoAgBGBEAgABD4AQsgACgCBCADaiABOgAAIAAgA0EBajYCCAwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCIDa0sEQCAAIAMgARD3ASAAKAIIIQMLIAAoAgQgA2ogAkEMaiABENkBGiAAIAEgA2o2AggLIAJBEGokAAvEAgEEfyAAQgA3AhAgAAJ/QQAgAUGAAkkNABpBHyABQf///wdLDQAaIAFBBiABQQh2ZyIDa3ZBAXEgA0EBdGtBPmoLIgI2AhwgAkECdEHg3sEAaiEEQQEgAnQiA0H84cEAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghB/OHBAEH84cEAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWpBEGoiBCgCACICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBCAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC6MCAgZ+An8jAEEgayIJJAAgASkDCCIDIAIpAwh8IgYgA1QhCiACKQMQIQMgASkDACIEIAIpAwB8IgggBFoEfiAKrQUgBkIBfCIGUK0gCq18CyEEIAIpAxghBSABKQMQIgcgA3wiAyAHVCECIAEpAxgiByAFfCIFIAdUIQECQAJAIARQBH4gAq0FIAMgAyAEfCIDVq0gAq18CyIEUARAIAAgBTcDGCAAIAM3AxAgACAGNwMIIAAgCDcDACABRQ0BDAILIAAgAzcDECAAIAY3AwggACAINwMAIAAgBCAFfCIDNwMYIAEgAyAFVHINAQsgCUEgaiQADwsgCUEANgIYIAlBATYCDCAJQay8wAA2AgggCUIENwIQIAlBCGpBtLrAABCzAgALowICBn4CfyMAQSBrIgkkACABKQMIIgMgAikDCHwiBiADVCEKIAIpAxAhAyABKQMAIgQgAikDAHwiCCAEWgR+IAqtBSAGQgF8IgZQrSAKrXwLIQQgAikDGCEFIAEpAxAiByADfCIDIAdUIQIgASkDGCIHIAV8IgUgB1QhAQJAAkAgBFAEfiACrQUgAyADIAR8IgNWrSACrXwLIgRQBEAgACAFNwMYIAAgAzcDECAAIAY3AwggACAINwMAIAFFDQEMAgsgACADNwMQIAAgBjcDCCAAIAg3AwAgACAEIAV8IgM3AxggASADIAVUcg0BCyAJQSBqJAAPCyAJQQA2AhggCUEBNgIMIAlBlIfBADYCCCAJQgQ3AhAgCUEIakGohcEAELMCAAumAgIIfgF/IwBBIGsiCiQAIAEpAwghAyAAKQMQIQUgACkDCCECAn4gACkDACIIIAEpAwAiCVoEQCACIAN9IQcgAiADVK0MAQsgAiADQn+FfCEHIAIgA1StIAIgA1GtfAshBCAAKQMYIQYgBSABKQMQIgJ9IQMCQCAEUARAIAIgBVatIQIMAQsgAyAEVK0gAiAFVq18IQIgAyAEfSEDCyAGIAEpAxgiBX0hBAJAAkAgAlAEQCAFIAZYDQEMAgsgBSAGViACIARWcg0BIAQgAn0hBAsgACAENwMYIAAgAzcDECAAIAc3AwggACAIIAl9NwMAIApBIGokAA8LIApBADYCGCAKQQE2AgwgCkGEtcEANgIIIApCBDcCECAKQQhqQYy1wQAQswIAC60CAgF/BH4jAEFAaiICJAAgACkDACEEAn8CQAJAAkAgACkDGCIGQgBTBEAgACkDCCEDIAApAxAhBSACQgAgBH0iBDcDACACIANCf4VCACADfSIDIARCAFIiABs3AwggAiAFQn+FIgQgA1AgAEF/c3EiAK18IgMgBCAAGzcDECACIAAgAyAEVHGtIAZCf4V8NwMYQS0hAAwBCyAAKQMIIQMgACkDECEFIAIgBjcDGCACIAU3AxAgAiADNwMIIAIgBDcDAEErIQAgAS0AHEEBcUUNAQsgASAAEPACDQELIAJBATYCJCACQeivwQA2AiAgAkIBNwIsIAIgAq1CgICAgMANhDcDOCACIAJBOGo2AiggASgCFCABKAIYIAJBIGoQuAEMAQtBAQsgAkFAayQAC4ICAgV+An8jAEEgayIHJAAgACkDCCICIAEpAwh8IgUgAlQhCCAAKQMQIQIgACkDACIDIAEpAwB8IgYgA1oEfiAIrQUgBUIBfCIFUK0gCK18CyEEIAIgAiABKQMQfCICViEIIAApAxgiAyADIAEpAxh8IgNWIQECQAJAIARQBH4gCK0FIAIgAiAEfCICVq0gCK18CyIEUARAIAFFDQEMAgsgAQ0BIAMgAyAEfCIDVg0BCyAAIAM3AxggACACNwMQIAAgBTcDCCAAIAY3AwAgB0EgaiQADwsgB0EANgIYIAdBATYCDCAHQYS1wQA2AgggB0IENwIQIAdBCGpBjLXBABCzAgALmwIBAX8jAEEQayICJAACfwJAIAEoAgBFBEAgASgCCEEBRw0BCyAAKAIAIQAgAkEANgIMIAEgAkEMagJ/AkACQCAAQYABTwRAIABBgBBJDQEgAEGAgARPDQIgAiAAQT9xQYABcjoADiACIABBDHZB4AFyOgAMIAIgAEEGdkE/cUGAAXI6AA1BAwwDCyACIAA6AAxBAQwCCyACIABBP3FBgAFyOgANIAIgAEEGdkHAAXI6AAxBAgwBCyACIABBP3FBgAFyOgAPIAIgAEESdkHwAXI6AAwgAiAAQQZ2QT9xQYABcjoADiACIABBDHZBP3FBgAFyOgANQQQLEK0BDAELIAEoAhQgACgCACABKAIYKAIQEQEACyACQRBqJAALpgICA38BfiMAQUBqIgIkACABKAIAQYCAgIB4RgRAIAEoAgwhAyACQSRqIgRBADYCACACQoCAgIAQNwIcIAJBOGogA0EQaikCADcDACACQTBqIANBCGopAgA3AwAgAiADKQIANwMoIAJBHGpBtLrBACACQShqELgBGiACQRhqIAQoAgAiAzYCACACIAIpAhwiBTcDECABQQhqIAM2AgAgASAFNwIACyABKQIAIQUgAUKAgICAEDcCACACQQhqIgMgAUEIaiIBKAIANgIAIAFBADYCAEGR3sEALQAAGiACIAU3AwBBDEEEEPgCIgEEQCABIAIpAwA3AgAgAUEIaiADKAIANgIAIABBiL/BADYCBCAAIAE2AgAgAkFAayQADwtBBEEMEKkDAAubAQIDfwJ+IwBBQGoiAiQAIABBEGohAyAAQQRqIQRCgICAgJANIQVCgICAgPAKIQYgACgCAEUaIAIgAzYCDCACQQI2AhQgAkGsjsEANgIQIAJCAjcCHCACIAUgAkEMaq2ENwMwIAIgBiACQTxqrYQ3AyggAiAENgI8IAIgAkEoajYCGCABKAIUIAEoAhggAkEQahC4ASACQUBrJAAL5AEBAX8jAEEQayICJAAgAkEANgIMIAAgAkEMagJ/AkACQCABQYABTwRAIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAE6AAxBAQwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgwBCyACIAFBP3FBgAFyOgAPIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQLEL8BIAJBEGokAAvEAgIEfwN+IwBBIGsiASQAIwBBEGsiACQAIAFBCDYCACABQSA2AgQgAEEQaiQAIAEoAgAhAgJAAkAgASgCBCIDBH9Bkd7BAC0AABogAyACEPgCBSACCyIABEAgAEECNgIQIABCgYCAgBA3AwBB2N7BACkDACEEA0AgBEJ/UQ0CQdjewQAgBEIBfCIFQdjewQApAwAiBiAEIAZRIgIbNwMAIAYhBCACRQ0AC0Gw4sEAIAU3AwAgACAFNwMIQbjiwQAoAgBFDQIgAUEANgIYIAFBATYCDCABQcy5wQA2AgggAUIENwIQIAFBCGpBpLrBABCzAgALIAIgAxCpAwALIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGwvcEANgIIIABCBDcCECAAQQhqQbi9wQAQswIAC0G44sEAIAA2AgAgAUEgaiQAC8kBAQR/IwBBIGsiAyQAIAEgASACaiICSwRAQQBBABDkAgALQQQhAUEEIAAoAgAiBUEBdCIEIAIgAiAESRsiAiACQQRNGyIEQQJ0IQYgAkGAgICAAklBAnQhAgJAIAVFBEBBACEBDAELIAMgBUECdDYCHCADIAAoAgQ2AhQLIAMgATYCGCADQQhqIAIgBiADQRRqEIcCIAMoAghBAUYEQCADKAIMIAMoAhAQ5AIACyADKAIMIQEgACAENgIAIAAgATYCBCADQSBqJAALyQEBBn8jAEEgayIBJAAgACgCACICQX9GBEBBAEEAEOQCAAtBBCEFQQQgAkEBdCIDIAJBAWoiBCADIARLGyIDIANBBE0bIgRBAnQhBiADQYCAgIACSUECdCEDAkAgAkUEQEEAIQUMAQsgASACQQJ0NgIcIAEgACgCBDYCFAsgASAFNgIYIAFBCGogAyAGIAFBFGoQhwIgASgCCEEBRgRAIAEoAgwgASgCEBDkAgALIAEoAgwhAiAAIAQ2AgAgACACNgIEIAFBIGokAAv6AQECfyMAQSBrIgUkAEHQ3sEAQdDewQAoAgAiBkEBajYCAAJAAkAgBkEASA0AQajiwQAtAAANAUGo4sEAQQE6AABBpOLBAEGk4sEAKAIAQQFqNgIAQcTewQAoAgAiBkEASA0AQcTewQAgBkEBajYCAEHE3sEAQcjewQAoAgAEfyAFQQhqIAAgASgCFBEAACAFIAQ6AB0gBSADOgAcIAUgAjYCGCAFIAUpAwg3AhBByN7BACgCACAFQRBqQczewQAoAgAoAhQRAABBxN7BACgCAEEBawUgBgs2AgBBqOLBAEEAOgAAIANFDQAACwALIAUgACABKAIYEQAAAAuwAQECfyMAQSBrIgMkACABIAEgAmoiAksEQEEAQQAQ5AIAC0EIIAAoAgAiAUEBdCIEIAIgAiAESRsiAiACQQhNGyICQX9zQR92IQQgAyABBH8gAyABNgIcIAMgACgCBDYCFEEBBUEACzYCGCADQQhqIAQgAiADQRRqEIcCIAMoAghBAUYEQCADKAIMIAMoAhAQ5AIACyADKAIMIQEgACACNgIAIAAgATYCBCADQSBqJAALsAEBBH8jAEEgayIBJAAgACgCACICQX9GBEBBAEEAEOQCAAtBCCACQQF0IgMgAkEBaiIEIAMgBEsbIgMgA0EITRsiA0F/c0EfdiEEIAEgAgR/IAEgAjYCHCABIAAoAgQ2AhRBAQVBAAs2AhggAUEIaiAEIAMgAUEUahCHAiABKAIIQQFGBEAgASgCDCABKAIQEOQCAAsgASgCDCECIAAgAzYCACAAIAI2AgQgAUEgaiQAC7ABAQJ/IwBBIGsiAyQAIAEgASACaiICSwRAQQBBABDkAgALQQggACgCACIBQQF0IgQgAiACIARJGyICIAJBCE0bIgJBf3NBH3YhBCADIAEEfyADIAE2AhwgAyAAKAIENgIUQQEFQQALNgIYIANBCGogBCACIANBFGoQigIgAygCCEEBRgRAIAMoAgwgAygCEBDkAgALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAuwAQEEfyMAQSBrIgEkACAAKAIAIgJBf0YEQEEAQQAQ5AIAC0EIIAJBAXQiAyACQQFqIgQgAyAESxsiAyADQQhNGyIDQX9zQR92IQQgASACBH8gASACNgIcIAEgACgCBDYCFEEBBUEACzYCGCABQQhqIAQgAyABQRRqEP0BIAEoAghBAUYEQCABKAIMIAEoAhAQ5AIACyABKAIMIQIgACADNgIAIAAgAjYCBCABQSBqJAALsAEBAn8jAEEgayIDJAAgASABIAJqIgJLBEBBAEEAEOQCAAtBCCAAKAIAIgFBAXQiBCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEIAMgAQR/IAMgATYCHCADIAAoAgQ2AhRBAQVBAAs2AhggA0EIaiAEIAIgA0EUahD9ASADKAIIQQFGBEAgAygCDCADKAIQEOQCAAsgAygCDCEBIAAgAjYCACAAIAE2AgQgA0EgaiQAC6sBAQN/AkAgAkEQSQRAIAAhAwwBCyAAQQAgAGtBA3EiBGohBSAEBEAgACEDA0AgAyABOgAAIANBAWoiAyAFSQ0ACwsgBSACIARrIgJBfHEiBGohAyAEQQBKBEAgAUH/AXFBgYKECGwhBANAIAUgBDYCACAFQQRqIgUgA0kNAAsLIAJBA3EhAgsgAgRAIAIgA2ohAgNAIAMgAToAACADQQFqIgMgAkkNAAsLIAALrgEBA39BASEEQQQhBiABRSACQQBIckUEQAJ/AkACQAJ/IAMoAgQEQCADKAIIIgFFBEAgAkUEQAwEC0GR3sEALQAAGiACQQEQ+AIMAgsgAygCACABQQEgAhDmAgwBCyACRQRADAILQZHewQAtAAAaIAJBARD4AgsiBEUNAQsgACAENgIEQQAMAQsgAEEBNgIEQQELIQRBCCEGIAIhBQsgACAGaiAFNgIAIAAgBDYCAAu9AQIDfwF+IwBBMGsiAiQAIAEoAgBBgICAgHhGBEAgASgCDCEDIAJBFGoiBEEANgIAIAJCgICAgBA3AgwgAkEoaiADQRBqKQIANwMAIAJBIGogA0EIaikCADcDACACIAMpAgA3AxggAkEMakG0usEAIAJBGGoQuAEaIAJBCGogBCgCACIDNgIAIAIgAikCDCIFNwMAIAFBCGogAzYCACABIAU3AgALIABBiL/BADYCBCAAIAE2AgAgAkEwaiQAC+4EAgZ/BH4jAEFAaiIDJAAgA0EEaiEEIwBBoBlrIgIkACACQagRaiABEAIgARADEL4BAkACQAJAIAIoAqgRRQRAIAJBwAFqIgUgAkG0CWogAkGwEWpB8AcQ2QFB8AcQ2QEaIAJBkAFqIgYgBRCZASACQeAAaiAGQZidwAAQ0QEgAigCYA0BIAJB1ABqIAJBiAFqKQMAIgg3AgAgAkHMAGogAkGAAWopAwAiCTcCACACQcQAaiACQfgAaikDACIKNwIAIAJBPGogAkHwAGopAwAiCzcCACACQRBqIAs3AwAgAkEYaiAKNwMAIAJBIGogCTcDACACQShqIAg3AwAgAiACKQNoIgg3AjQgAiAINwMIIAQgAkEIakGoncAAELwBDAMLIAJByAlqIAJBxBFqKAIAIgU2AgAgAkHACWogAkG8EWopAgAiCDcDACACQbgJaiACQbQRaikCACIJNwMAIAIgAikCrBEiCjcDsAkMAQsgAkHIAGogAkH8AGooAgAiBTYCACACQUBrIAJB9ABqKQIAIgg3AwAgAkE4aiACQewAaikCACIJNwMAIAIgAikCZCIKNwMwCyAEQRhqIAU2AgAgBEEQaiAINwIAIARBCGogCTcCACAEIAo3AgALIAFBgwFLBEAgARAACyACQaAZaiQAAn8gAygCBCIBQQJGBEAgAygCCCEHQQAMAQsgA0E4aiADQRxqKAIANgIAIANBMGogA0EUaikCADcDACADQShqIANBDGopAgA3AwAgAyADKQIENwMgIANBIGoQ4QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAc2AgAgA0FAayQAC8QLAgl/B34jAEFAaiIFJAAgBUEEaiEGIwBB4AJrIgIkACACIAEQBCIDNgK8ASACQbACaiIEIAJBvAFqQbidwAAQsgECQAJAAkACQCACKAKwAkUEQCACQbQBaiACQdACaiIHKQMAIgs3AgAgAkGsAWogAkHIAmoiCCkDACIMNwIAIAJBpAFqIAJBwAJqIgkpAwAiDTcCACACQcgBaiANNwMAIAJB0AFqIAw3AwAgAkHYAWogCzcDACACIAIpA7gCIgs3ApwBIAIgCzcDwAEgAiABEAUiAzYC3AIgBCACQdwCakHIncAAELEBIAIoArACRQRAIAJBpAJqIAcpAwAiCzcCACACQZwCaiAIKQMAIgw3AgAgAkGUAmogCSkDACINNwIAIAJB6AFqIA03AwAgAkHwAWogDDcDACACQfgBaiALNwMAIAIgAikDuAIiCzcCjAIgAiALNwPgASACQRI6AIACIwBBgAFrIgMkACADQdgAaiIEQYDnhA8QngIgA0ESOgB4IANBCGogAkHgAWogBBDCASACQcABaiIEKQMAIQsCfiAEKQMYIg9CAFkEQCAEKQMQIQwgBCkDCCENIA8MAQsgBCkDCCIMQn+FQgAgDH0iDEIAIAt9IgtCAFIiBxshDSAEKQMQQn+FIg4gDFAgB0F/c3EiBK18IhAgDiAEGyEMIAQgDiAQVnGtIA9Cf4V8CyEOIANBEjoAeCADIA43A3AgAyAMNwNoIAMgDTcDYCADIAs3A1ggA0EwaiADQdgAaiADQQhqEMMBIAMpA0ghCyADKQNAIQ0gAykDOCEMIAMpAzAhDiAPQgBTBEAgDEJ/hUIAIAx9IhFCACAOfSIOQgBSIgQbIQwgDUJ/hSIQIBFQIARBf3NxIgStfCIRIBAgBBshDSAEIBAgEVZxrSALQn+FfCELCyACQfAAaiEEAkAgCyAPhUIAWQRAIAQgCzcDICAEIA03AxggBCAMNwMQIAQgDjcDCCAEQQA2AgAgA0GAAWokAAwBC0HciMEAEI8DAAsgAkHIAGogBEHYncAAENYBIAIoAkgNAiACQTxqIAJB6ABqKQMAIgs3AgAgAkE0aiACQeAAaikDACIMNwIAIAJBLGogAkHYAGopAwAiDTcCACACQQhqIA03AwAgAkEQaiAMNwMAIAJBGGogCzcDACACIAIpA1AiCzcCJCACIAs3AwAgBiACQeidwAAQvQEgAigC3AIiA0GEAU8EQCADEAALIAIoArwBIgNBhAFPBEAgAxAACwwFCyACQaACaiACQcwCaigCACIENgIAIAJBmAJqIAJBxAJqKQIAIgs3AwAgAkGQAmogAkG8AmopAgAiDDcDACACIAIpArQCIg03A4gCIAZBGGogBDYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQbABaiACQcwCaigCACIENgIAIAJBqAFqIAJBxAJqKQIAIgs3AwAgAkGgAWogAkG8AmopAgAiDDcDACACIAIpArQCIg03A5gBIAZBGGogBDYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQThqIAJB5ABqKAIAIgM2AgAgAkEwaiACQdwAaikCACILNwMAIAJBKGogAkHUAGopAgAiDDcDACACIAIpAkwiDTcDICAGQRhqIAM2AgAgBkEQaiALNwIAIAZBCGogDDcCACAGIA03AgAgAigC3AIhAwsgA0GEAU8EQCADEAALIAIoArwBIQMLIANBhAFPBEAgAxAACwsgAUGDAUsEQCABEAALIAJB4AJqJAACfyAFKAIEIgFBAkYEQCAFKAIIIQpBAAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahDhAQshAiAAIAFBAkc2AgggACACNgIEIAAgCjYCACAFQUBrJAALww8CCX8LfiMAQUBqIgUkACAFQQRqIQYjAEHgAmsiAiQAIAIgARAGIgM2ArwBIAJBsAJqIgcgAkG8AWpB+J3AABCyAQJAAkACQAJAIAIoArACRQRAIAJBtAFqIAJB0AJqIgQpAwAiCzcCACACQawBaiACQcgCaiIIKQMAIgw3AgAgAkGkAWogAkHAAmoiCSkDACINNwIAIAJByAFqIA03AwAgAkHQAWogDDcDACACQdgBaiALNwMAIAIgAikDuAIiCzcCnAEgAiALNwPAASACIAEQByIDNgLcAiAHIAJB3AJqQYiewAAQsQEgAigCsAJFBEAgAkGkAmogBCkDACILNwIAIAJBnAJqIAgpAwAiDDcCACACQZQCaiAJKQMAIg03AgAgAkHoAWogDTcDACACQfABaiAMNwMAIAJB+AFqIAs3AwAgAiACKQO4AiILNwKMAiACIAs3A+ABIAJBEjoAgAIgAkHwAGohByMAQZABayIDJAAgA0HYAGoiBEGA54QPEJ4CIANBEjoAeCADIAJB4AFqIAQQwgEgAkHAAWoiBCkDACELAn4gBCkDGCISQgBZBEAgBCkDECEPIAQpAwghDCASDAELIAQpAwgiDEJ/hUIAIAx9Ig9CACALfSILQgBSIggbIQwgBCkDEEJ/hSINIA9QIAhBf3NxIgStfCIOIA0gBBshDyAEIA0gDlZxrSASQn+FfAshECADQdgAakGch8EAQQQQtwECQAJAAkAgAygCWEUEQCAMIAMpA2giDnwiDSAOVCEEIAMpA3AhDCALIAMpA2AiDnwiESAOWgR+IAStBSANQgF8Ig1QrSAErXwLIQ4gDCAPfCILIAxUIQQgAykDeCIMIAwgEHwiDFYhCAJAIA5QBH4gBK0FIAsgCyAOfCILVq0gBK18CyIPUARAIAhFDQEMBAsgCA0DIAwgDCAPfCIMVg0DCyADQRI6AHggAyAMNwNwIAMgCzcDaCADIA03A2AgAyARNwNYIANBKGogA0HYAGoiBCADEHIgBwJ/IAMoAihFBEAgAykDSCEOIAMpA0AhECADKQM4IQsgAykDMCETIARBnIfBAEEEELcBIAMoAlgNAyADKQNoIQ0gAykDeCERIBAgAykDcCIUfSEMAkACfiADKQNgIhUgE1gEQCALIA19IQ8gCyANVK0MAQsgCyANQn+FfCEPIAsgDVStIAsgDVGtfAsiC1AEQCAQIBRUrSENDAELIAsgDFatIBAgFFStfCENIAwgC30hDAsgDiARfSELAkAgDVAEQCAOIBFaDQEMBgsgCyANVCAOIBFUcg0FIAsgDX0hCwsgEyAVfSENIBJCAFMEQCAPQn+FQgAgD30iEEIAIA19Ig1CAFIiBBshDyAMQn+FIg4gEFAgBEF/c3EiBK18IhAgDiAEGyEMIAQgDiAQVnGtIAtCf4V8IQsLIAsgEoVCAFkEQCAHIAs3AyAgByAMNwMYIAcgDzcDECAHIA03AwhBAAwCC0HsiMEAEI8DAAsgByADKAIsNgIEQQELNgIAIANBkAFqJAAMAwsgAyADKAJcNgKMAUGggsEAQSsgA0GMAWpBkILBAEGMicEAEJUCAAsgAyADKAJcNgIoQaCCwQBBKyADQShqQZCCwQBB/IjBABCVAgALIANBADYCaCADQQE2AlwgA0GUh8EANgJYIANCBDcCYCADQdgAakGohcEAELMCAAsgAkHIAGogB0GYnsAAENYBIAIoAkgNAiACQTxqIAJB6ABqKQMAIgs3AgAgAkE0aiACQeAAaikDACIMNwIAIAJBLGogAkHYAGopAwAiDTcCACACQQhqIA03AwAgAkEQaiAMNwMAIAJBGGogCzcDACACIAIpA1AiCzcCJCACIAs3AwAgBiACQaiewAAQvQEgAigC3AIiA0GEAU8EQCADEAALIAIoArwBIgNBhAFPBEAgAxAACwwFCyACQaACaiACQcwCaigCACIHNgIAIAJBmAJqIAJBxAJqKQIAIgs3AwAgAkGQAmogAkG8AmopAgAiDDcDACACIAIpArQCIg03A4gCIAZBGGogBzYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQbABaiACQcwCaigCACIHNgIAIAJBqAFqIAJBxAJqKQIAIgs3AwAgAkGgAWogAkG8AmopAgAiDDcDACACIAIpArQCIg03A5gBIAZBGGogBzYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQThqIAJB5ABqKAIAIgM2AgAgAkEwaiACQdwAaikCACILNwMAIAJBKGogAkHUAGopAgAiDDcDACACIAIpAkwiDTcDICAGQRhqIAM2AgAgBkEQaiALNwIAIAZBCGogDDcCACAGIA03AgAgAigC3AIhAwsgA0GEAU8EQCADEAALIAIoArwBIQMLIANBhAFPBEAgAxAACwsgAUGDAUsEQCABEAALIAJB4AJqJAACfyAFKAIEIgFBAkYEQCAFKAIIIQpBAAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahDhAQshAiAAIAFBAkc2AgggACACNgIEIAAgCjYCACAFQUBrJAALwAcCBn8EfiMAQUBqIgMkACADQQRqIQQjAEHAGWsiAiQAIAIgARAIIgU2AuABIAJByBFqIAJB4AFqQciewAAQsQECQAJAAkAgAigCyBFFBEAgAkHsCWogAkHoEWopAwAiCDcCACACQeQJaiACQeARaikDACIJNwIAIAJB3AlqIAJB2BFqKQMAIgo3AgAgAkEQaiAKNwMAIAJBGGogCTcDACACQSBqIAg3AwAgAiACKQPQESIINwLUCSACIAg3AwggBUGEAU8EQCAFEAALIAJByBFqIAEQAiABEAMQvgEgAigCyBENAiACQeABaiIFIAJB1AlqIAJB0BFqQfAHENkBQfAHENkBGiACQbABaiIGIAUgAkEIahCFASACQYABaiAGQdiewAAQ0QEgAigCgAENASACQfQAaiACQagBaikDACIINwIAIAJB7ABqIAJBoAFqKQMAIgk3AgAgAkHkAGogAkGYAWopAwAiCjcCACACQdwAaiACQZABaikDACILNwIAIAJBMGogCzcDACACQThqIAo3AwAgAkFAayAJNwMAIAJByABqIAg3AwAgAiACKQOIASIINwJUIAIgCDcDKCAEIAJBKGpB6J7AABC8AQwDCyACQegJaiACQeQRaigCACIGNgIAIAJB4AlqIAJB3BFqKQIAIgg3AwAgAkHYCWogAkHUEWopAgAiCTcDACACIAIpAswRIgo3A9AJIARBGGogBjYCACAEQRBqIAg3AgAgBEEIaiAJNwIAIAQgCjcCACAFQYQBSQ0CIAUQAAwCCyACQegAaiACQZwBaigCACIFNgIAIAJB4ABqIAJBlAFqKQIAIgg3AwAgAkHYAGogAkGMAWopAgAiCTcDACACIAIpAoQBIgo3A1AgBEEYaiAFNgIAIARBEGogCDcCACAEQQhqIAk3AgAgBCAKNwIADAELIAJB6AlqIAJB5BFqKAIAIgU2AgAgAkHgCWogAkHcEWopAgAiCDcDACACQdgJaiACQdQRaikCACIJNwMAIAIgAikCzBEiCjcD0AkgBEEYaiAFNgIAIARBEGogCDcCACAEQQhqIAk3AgAgBCAKNwIACyABQYMBSwRAIAEQAAsgAkHAGWokAAJ/IAMoAgQiAUECRgRAIAMoAgghB0EADAELIANBOGogA0EcaigCADYCACADQTBqIANBFGopAgA3AwAgA0EoaiADQQxqKQIANwMAIAMgAykCBDcDICADQSBqEOEBCyECIAAgAUECRzYCCCAAIAI2AgQgACAHNgIAIANBQGskAAvFBgIKfwR+IwBBQGoiBCQAIARBBGohBSMAQaAZayICJAAgAkGoEWogARACIAEQAxC+AQJAAkACQCACKAKoEUUEQCACQcABaiIGIAJBtAlqIAJBsBFqQfAHENkBQfAHENkBGiMAQeAAayIDJAAgA0EIaiIIIAYQmQEgAkGQAWoiBwJ/IAMoAghFBEAgA0HYAGogA0EwaikDADcDACADQdAAaiADQShqKQMANwMAIANByABqIANBIGoiCSkDADcDACADQUBrIANBGGoiCikDADcDACADIAMpAxA3AzggCSAGQZgGaikDADcDACAKIAZBkAZqKQMANwMAIANBEGogBkGIBmopAwA3AwAgA0ESOgAoIAMgBikDgAY3AwggB0EIaiADQThqIAgQywFBAAwBCyAHIAMoAgw2AgRBAQs2AgAgA0HgAGokACACQeAAaiAHQfiewAAQ0QEgAigCYA0BIAJB1ABqIAJBiAFqKQMAIgw3AgAgAkHMAGogAkGAAWopAwAiDTcCACACQcQAaiACQfgAaikDACIONwIAIAJBPGogAkHwAGopAwAiDzcCACACQRBqIA83AwAgAkEYaiAONwMAIAJBIGogDTcDACACQShqIAw3AwAgAiACKQNoIgw3AjQgAiAMNwMIIAUgAkEIakGIn8AAELwBDAMLIAJByAlqIAJBxBFqKAIAIgM2AgAgAkHACWogAkG8EWopAgAiDDcDACACQbgJaiACQbQRaikCACINNwMAIAIgAikCrBEiDjcDsAkMAQsgAkHIAGogAkH8AGooAgAiAzYCACACQUBrIAJB9ABqKQIAIgw3AwAgAkE4aiACQewAaikCACINNwMAIAIgAikCZCIONwMwCyAFQRhqIAM2AgAgBUEQaiAMNwIAIAVBCGogDTcCACAFIA43AgALIAFBgwFLBEAgARAACyACQaAZaiQAAn8gBCgCBCIBQQJGBEAgBCgCCCELQQAMAQsgBEE4aiAEQRxqKAIANgIAIARBMGogBEEUaikCADcDACAEQShqIARBDGopAgA3AwAgBCAEKQIENwMgIARBIGoQ4QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAs2AgAgBEFAayQAC70GAgl/A34jAEFAaiIDJAAgA0EEaiEEIwBBgAJrIgIkACACIAEQCSIFNgJ8IAJB0AFqIgYgAkH8AGpBmJ/AABCxAQJAAkAgAigC0AFFBEAgAkH0AGogAkHwAWoiBykDACILNwIAIAJB7ABqIAJB6AFqIggpAwAiDDcCACACQeQAaiACQeABaiIJKQMAIg03AgAgAkE4aiANNwMAIAJBQGsgDDcDACACQcgAaiALNwMAIAIgAikD2AEiCzcCXCACIAs3AzAgAkESOgBQIAIgARAKIgU2AvwBIAYgAkH8AWpBqJ/AABCxASACKALQAUUEQCACQcQBaiAHKQMAIgs3AgAgAkG8AWogCCkDACIMNwIAIAJBtAFqIAkpAwAiDTcCACACQYgBaiANNwMAIAJBkAFqIAw3AwAgAkGYAWogCzcDACACIAIpA9gBIgs3AqwBIAIgCzcDgAEgAkESOgCgASACQQhqIgUgAkEwaiACQYABahDLASAEIAVBuJ/AABC8ASACKAL8ASIEQYQBTwRAIAQQAAsgAigCfCIEQYQBTwRAIAQQAAsMAwsgAkHAAWogAkHsAWooAgAiBjYCACACQbgBaiACQeQBaikCACILNwMAIAJBsAFqIAJB3AFqKQIAIgw3AwAgAiACKQLUASINNwOoASAEQRhqIAY2AgAgBEEQaiALNwIAIARBCGogDDcCACAEIA03AgAgBUGEAU8EQCAFEAALIAIoAnwhBQwBCyACQfAAaiACQewBaigCACIGNgIAIAJB6ABqIAJB5AFqKQIAIgs3AwAgAkHgAGogAkHcAWopAgAiDDcDACACIAIpAtQBIg03A1ggBEEYaiAGNgIAIARBEGogCzcCACAEQQhqIAw3AgAgBCANNwIACyAFQYQBTwRAIAUQAAsLIAFBgwFLBEAgARAACyACQYACaiQAAn8gAygCBCIBQQJGBEAgAygCCCEKQQAMAQsgA0E4aiADQRxqKAIANgIAIANBMGogA0EUaikCADcDACADQShqIANBDGopAgA3AwAgAyADKQIENwMgIANBIGoQ4QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAo2AgAgA0FAayQAC7oBAQN/IwBBMGsiAiQAIAJBGGoiAyAAQQhqKAIANgIAIAIgACkCADcDECACQQhqIAJBEGpBsL7AACABEKcCIAIoAgwhBCACKAIIIQEgAkEoaiIAIAMoAgA2AgBBkd7BAC0AABogAiACKQMQNwMgQRhBBBD4AiIDRQRAQQRBGBCpAwALIAMgATYCBCADQZi/wAA2AgAgAyACKQMgNwIMIAMgBDYCCCADQRRqIAAoAgA2AgAgAkEwaiQAIAMLugEBA38jAEEwayICJAAgAkEYaiIDIABBCGooAgA2AgAgAiAAKQIANwMQIAJBCGogAkEQakHwhcEAIAEQpwIgAigCDCEEIAIoAgghASACQShqIgAgAygCADYCAEGR3sEALQAAGiACIAIpAxA3AyBBGEEEEPgCIgNFBEBBBEEYEKkDAAsgAyABNgIEIANB2IbBADYCACADIAIpAyA3AgwgAyAENgIIIANBFGogACgCADYCACACQTBqJAAgAwubAQEBfwJAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQAJAIAMoAggiBEUEQAwBCyADKAIAIAQgASACEOYCDAILCyABIAJFDQAaQZHewQAtAAAaIAIgARD4AgsiAwRAIAAgAjYCCCAAIAM2AgQgAEEANgIADwsgACACNgIIIAAgATYCBAwCCyAAQQA2AgQMAQsgAEEANgIECyAAQQE2AgALvwEBAX8jAEEQayIFJAAgACgCFCABIAIgACgCGCgCDBEDACEBIAVBADoADSAFIAE6AAwgBSAANgIIIAVBCGpBnYvBAEEDIAMgBBDYASEBIAUtAA0iAiAFLQAMIgNyIQACQCADQQFxIAJBAUdyDQAgASgCACIALQAcQQRxRQRAIAAoAhRBn8XBAEECIAAoAhgoAgwRAwAhAAwBCyAAKAIUQZ7FwQBBASAAKAIYKAIMEQMAIQALIAVBEGokACAAQQFxC6cBAQF/IwBBEGsiBiQAAkAgAQRAIAZBBGogASADIAQgBSACKAIQEQcAAkAgBigCBCICIAYoAgwiAU0EQCAGKAIIIQUMAQsgAkECdCECIAYoAgghAyABRQRAQQQhBSADIAIQjAMMAQsgAyACQQQgAUECdCICEOYCIgVFDQILIAAgATYCBCAAIAU2AgAgBkEQaiQADwtBrLXBAEEyEKMDAAtBBCACEOQCAAunAQACQCABBEAgAkEASA0BAn8gAygCBARAIAMoAggiAUUEQEGR3sEALQAAGiACQQEQ+AIMAgsgAygCACABQQEgAhDmAgwBC0GR3sEALQAAGiACQQEQ+AILIgEEQCAAIAI2AgggACABNgIEIABBADYCAA8LIAAgAjYCCCAAQQE2AgQgAEEBNgIADwsgAEEANgIEIABBATYCAA8LIABBADYCBCAAQQE2AgALsAEBA38gASgCDCECAkACQAJAAkACQAJAIAEoAgQOAgABAgsgAg0BQQEhA0EAIQFBASECDAMLIAJFDQELIAAgARDPAQ8LIAEoAgAiASgCACEDIAEoAgQiAUUEQEEBIQJBACEBDAELIAFBAEgNAUGR3sEALQAAGkEBIQQgAUEBEPgCIgJFDQELIAIgAyABENkBIQIgACABNgIIIAAgAjYCBCAAIAE2AgAPCyAEIAEQ5AIAC6gBAQJ/IwBBMGsiAiQAAn8gACgCACIDQYCAxABHBEAgAiADNgIAIAIgACgCBDYCBCACQQI2AgwgAkGUtsEANgIIIAJCAjcCFCACIAJBBGqtQoCAgIDQDYQ3AyggAiACrUKAgICAoA2ENwMgIAIgAkEgajYCECABKAIUIAEoAhggAkEIahC4AQwBCyABKAIUQaS2wQBBFCABKAIYKAIMEQMACyACQTBqJAALkQEBA38jAEGAAWsiBCQAIAAoAgAhAANAIAIgBGpB/wBqIABBD3EiA0EwciADQdcAaiADQQpJGzoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgQFPBEAgAEGAAUG4xcEAEJ8CAAsgAUEBQcjFwQBBAiACIARqQYABakEAIAJrEK4BIARBgAFqJAALkAEBA38jAEGAAWsiBCQAIAAoAgAhAANAIAIgBGpB/wBqIABBD3EiA0EwciADQTdqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsgAkGAAWoiAEGBAU8EQCAAQYABQbjFwQAQnwIACyABQQFByMXBAEECIAIgBGpBgAFqQQAgAmsQrgEgBEGAAWokAAvNAQEGfyMAQRBrIgIkACAAKAIAIQMgAkQAAAAAAAAAABBXIgA2AgQgAkEEaigCABBaIQQgAEGEAU8EQCAAEAALIAMoAgAgBBBYIQUjAEEQayIAJAAgAEEIaiADKAIAQQoQXSAAKAIIIQYgAkEEaiIDIAAoAgwiBzYCCCADIAY2AgQgAyAHNgIAIABBEGokACABIAVBAUZBAUEAIAIoAggiACACKAIMEK4BIAIoAgQiAwRAIAAgAxCMAwsgBEGEAU8EQCAEEAALIAJBEGokAAuTAQEEfyMAQRBrIgIkAEEBIQQCQCABKAIUIgNBJyABKAIYIgUoAhAiAREBAA0AIAJBBGogACgCAEGBAhCzAQJAIAItAARBgAFGBEAgAyACKAIIIAERAQBFDQEMAgsgAyACLQAOIgAgAkEEamogAi0ADyAAayAFKAIMEQMADQELIANBJyABEQEAIQQLIAJBEGokACAEC8YCAQR/IwBBEGsiAyQAAn8CQAJAAkAgACgCACICKAIAIgBB///DAGtBACAAQf7//wBxQYCAxABGG0EBaw4CAQIACyADIAJBBGo2AgwjAEEQayIAJAAgASgCFEHgr8AAQRMgASgCGCgCDBEDACEEIABBADoADSAAIAQ6AAwgACABNgIIIABBCGpB86/AAEEBIAJBwK/AABDYAUH0r8AAQQUgA0EMakHQr8AAENgBIQIgAC0ADSIEIAAtAAwiBXIhAQJAIAVBAXEgBEEBR3INACACKAIAIgEtABxBBHFFBEAgASgCFEGfxcEAQQIgASgCGCgCDBEDACEBDAELIAEoAhRBnsXBAEEBIAEoAhgoAgwRAwAhAQsgAEEQaiQAIAFBAXEMAgsgAUH5r8AAQQkQ7AIMAQsgAUGCsMAAQRMQ7AILIANBEGokAAt4AQF/IwBBIGsiAiQAAn8gACgCAEGAgICAeEcEQCABIAAoAgQgACgCCBDsAgwBCyACQRhqIAAoAgwiAEEQaikCADcDACACQRBqIABBCGopAgA3AwAgAiAAKQIANwMIIAEoAhQgASgCGCACQQhqELgBCyACQSBqJAALegIBfwF+IwBBMGsiAiQAIAJBAzYCBCACQfjCwQA2AgAgAkIDNwIMIAJCgICAgNANIgMgAEEMaq2ENwMoIAIgAyAAQQhqrYQ3AyAgAiAArUKAgICAsByENwMYIAIgAkEYajYCCCABKAIUIAEoAhggAhC4ASACQTBqJAALbgEGfiAAIANC/////w+DIgUgAUL/////D4MiBn4iByAGIANCIIgiBn4iCCAFIAFCIIgiCX58IgVCIIZ8Igo3AwAgACAHIApWrSAGIAl+IAUgCFStQiCGIAVCIIiEfHwgASAEfiACIAN+fHw3AwgLfAEBfyMAQUBqIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUECNgIcIAVB6MTBADYCGCAFQgI3AiQgBSAFQRBqrUKAgICAoByENwM4IAUgBUEIaq1CgICAgLAchDcDMCAFIAVBMGo2AiAgBUEYaiAEELMCAAv+AwIIfwF+IwBBEGsiAyQAIAAoAgAiAEEIaigCACEFIABBBGooAgAhACABKAIUQcnCwQBBASABKAIYKAIMEQMAIQQgA0EEaiICQQA6AAUgAiAEOgAEIAIgATYCACAFBEADQCADIAA2AgwgA0EMaiEIIwBBQGoiASQAQQEhBgJAIANBBGoiBC0ABA0AIAQtAAUhCQJAIAQoAgAiAigCHCIHQQRxRQRAIAlBAXFFDQEgAigCFEGXxcEAQQIgAigCGCgCDBEDAEUNAQwCCyAJQQFxRQRAIAIoAhRBocXBAEEBIAIoAhgoAgwRAwANAiACKAIcIQcLIAFBAToAGyABIAIpAhQ3AgwgAUH4xMEANgI0IAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEKIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCjcCHCABIAFBDGo2AjAgCCABQRxqQbSvwAAoAgARAQANASABKAIwQZzFwQBBAiABKAI0KAIMEQMAIQYMAQsgCCACQbSvwAAoAgARAQAhBgsgBEEBOgAFIAQgBjoABCABQUBrJAAgAEEBaiEAIAVBAWsiBQ0ACwtBASEAIANBBGoiAS0ABEUEQCABKAIAIgAoAhRBosXBAEEBIAAoAhgoAgwRAwAhAAsgASAAOgAEIANBEGokACAAC3UBA38jAEEwayICJAAgAkEkaiIDIAAQjAEgAkEBNgIEIAJBxP3AADYCACACIAOtQoCAgIDwB4Q3AxggAkIBNwIMIAIgAkEYajYCCCABKAIUIAEoAhggAhC4ASACKAIkIgEEQCACKAIoIAEQjAMLIAJBMGokAAt1AQN/IwBBMGsiAiQAIAJBJGoiAyAAEIwBIAJBAjYCBCACQeCBwQA2AgAgAiADrUKAgICA8AeENwMYIAJCATcCDCACIAJBGGo2AgggASgCFCABKAIYIAIQuAEgAigCJCIBBEAgAigCKCABEIwDCyACQTBqJAALfgEBfyMAQTBrIgIkACACQQE2AgwgAkHUuMEANgIIIAJCATcCFCACIAJBKGqtQoCAgICgGYQ3AyAgAkEkQSMgAC0AACIAGzYCLCACQf+4wQBB3LjBACAAGzYCKCACIAJBIGo2AhAgASgCFCABKAIYIAJBCGoQuAEgAkEwaiQAC3UCAn4BfwJAQX8gASkDGCICIAApAxgiA1IgAiADVhsiBA0AQX8gASkDECICIAApAxAiA1IgAiADVhsiBA0AQX8gASkDCCICIAApAwgiA1IgAiADVhsiBA0AQX8gASkDACICIAApAwAiA1IgAiADVhshBAsgBAt5AQN/IwBBEGsiAiQAAn8gACgCACIAKAIEIgNFBEAgAiAAIAAoAgAoAgQRAAAgAigCACABIAIoAgQoAgwRAQAMAQsgACgCCCEEIAJBCGogACAAKAIAKAIEEQAAIAMgAigCCCACKAIMIAEgBCgCGBEIAAsgAkEQaiQAC3QBA38jAEEQayICJAACfyAAKAIEIgNFBEAgAiAAIAAoAgAoAgQRAAAgAigCACABIAIoAgQoAgwRAQAMAQsgACgCCCEEIAJBCGogACAAKAIAKAIEEQAAIAMgAigCCCACKAIMIAEgBCgCGBEIAAsgAkEQaiQAC3MBBH8gAEEEaigCACEDIAAoAgBBADoAAAJAIAMoAgAiASgCACIARQ0AIAFBBGooAgAiASgCACICBEAgACACEQUACyABKAIEIgJFDQAgASgCCCEEIAAgAhCMAwsgAygCACIAQZiuwQA2AgQgAEEBNgIAQQELbAEBfyMAQSBrIgIkACABQQBIBEAgAkEANgIYIAJBATYCDCACQdyzwQA2AgggAkIENwIQIAJBCGpBjLXBABCzAgALIABCADcDCCAAQRhqQgA3AwAgAEEQakIANwMAIAAgAa03AwAgAkEgaiQAC2oCAX8BfiMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBAjYCDCADQajIwQA2AgggA0ICNwIUIANCgICAgNANIgQgA0EEaq2ENwMoIAMgBCADrYQ3AyAgAyADQSBqNgIQIANBCGogAhCzAgALagIBfwF+IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBxMPBADYCCCADQgI3AhQgA0KAgICA0A0iBCADrYQ3AyggAyAEIANBBGqthDcDICADIANBIGo2AhAgA0EIaiACELMCAAtqAgF/AX4jAEEwayIDJAAgAyAANgIAIAMgATYCBCADQQI2AgwgA0H8yMEANgIIIANCAjcCFCADQoCAgIDQDSIEIANBBGqthDcDKCADIAQgA62ENwMgIAMgA0EgajYCECADQQhqIAIQswIAC2cAIwBBMGsiACQAQZDewQAtAAAEQCAAQQI2AgwgAEH4vcEANgIIIABCATcCFCAAIAE2AiwgACAAQSxqrUKAgICA0A2ENwMgIAAgAEEgajYCECAAQQhqQZi+wQAQswIACyAAQTBqJAALbgEEfyAAKAIAQQA6AAACQCAAKAIEIgMoAgAiASgCACIARQ0AIAFBBGooAgAiASgCACICBEAgACACEQUACyABKAIEIgJFDQAgASgCCCEEIAAgAhCMAwsgAygCACIAQZiuwQA2AgQgAEEBNgIAQQELVgECfgJAIAJBwABxRQRAIAJFDQFCACACQT9xrSIEhiABQQAgAmtBP3GtiIQhAyABIASGIQEMAQsgASACQT9xrYYhA0IAIQELIAAgATcDACAAIAM3AwgLZAEBfyMAQfAPayIEJAAgBEH4B2ogASACIAMQfQJAIAQoAvgHRQRAIARBCGoiASAEQYAIakHwBxDZARogACABEJkBDAELIAQoAvwHIQEgAEEBNgIAIAAgATYCBAsgBEHwD2okAAtcAQN/IwBBEGsiAiQAIAJBCGogARBZIAIoAggiBARAIAIoAgwhAyAAIAQ2AgQgACADNgIIIAAgAzYCACABQYQBTwRAIAEQAAsgAkEQaiQADwtB3rXBAEEVEKMDAAtoAQF/IwBBEGsiBCQAQZzewQAoAgBBAkcEQBCsAgsgBEEIakGU3sEAKAIAIAEgAkGY3sEAKAIAKAIUEQYAIAQoAggiASADIAQoAgwiAigCIBEAACAAIAI2AgQgACABNgIAIARBEGokAAtaAQV/AkAgACgCBCIBRQ0AIAAoAggiAygCACICBEAgASACEQUACyADKAIEIgJFDQAgAygCCCEEIAEgAhCMAwsgACgCDCIBBEAgACgCECABEIwDCyAAQRgQjAMLYgEBfyMAQTBrIgAkACAAQd4ANgIMIABB9LvBADYCCCAAQQE2AhQgAEHAwsEANgIQIABCATcCHCAAIABBCGqtQoCAgICwHIQ3AyggACAAQShqNgIYIABBEGpB6LzBABCzAgALVQECfwJAIAAoAhBBAUcNACAAKAIUIgFBADoAACAAKAIYIgJFDQAgASACEIwDCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgEIwDCwtTAQV/AkAgACgCBCIBRQ0AIAAoAggiAygCACICBEAgASACEQUACyADKAIEIgJFDQAgAygCCCEEIAEgAhCMAwsgACgCDCIBBEAgACgCECABEIwDCwu7CQEKfyMAQSBrIgQkACAEQQE6AAsgBEGU3sEANgIMIAQgBEEfajYCGCAEIARBDGo2AhQgBCAEQQtqNgIQIARBEGohByMAQSBrIgIkAEGc3sEAKAIAIQECQAJAAkACQANAAkACQAJAAkAgAUEDcSIDQQFrDgMBBQIACyAHDQILELECIQVBnN7BACACQQhqIANyIghBnN7BACgCACIAIAAgAUYiBhs2AgAgAiAFNgIIIAIgASADazYCDCACQQA6ABACQAJAIAZFBEBBACADayEFA0AgACIBQQNxIANHDQICQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQqgILELECIQZBnN7BACAIQZzewQAoAgAiACAAIAFGIgkbNgIAIAJBADoAECACIAY2AgggAiABIAVqNgIMIAlFDQALCyACLQAQRQRAA0AjAEEQayIBJABBuOLBACgCACIARQRAEPMBQbjiwQAoAgAhAAsgACAAKAIAIgNBAWo2AgACQAJAIANBAE4EQCAARQ0BIAAgACgCACIDQQFrNgIAIAEgADYCDCADQQFGBEACQCABQQxqKAIAIgAoAhBBAUcNACAAKAIUIgNBADoAACAAKAIYIgVFDQAgAyAFEIwDCwJAIABBf0YNACAAIAAoAgQiA0EBazYCBCADQQFHDQAgAEEgEIwDCwsgAUEQaiQADAILAAsQqQIACyACLQAQRQ0ACwsgAigCCCIARQ0BIAAgACgCACIAQQFrNgIAIABBAUcNASACKAIIEKoCDAELIAIoAggiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgAigCCBCqAgtBnN7BACgCACEBDAILA0AMAAsAC0Gc3sEAIAFBAWpBnN7BACgCACIAIAAgAUYbNgIAIAAgAUcgACEBDQALIAdBlK7BACgCABECACEBQZzewQAoAgAhAEGc3sEAQQJBACABGzYCACACIABBA3EiATYCBCABQQFHDQEgAEEBayIARQ0AA0AgACgCACEDIABBADYCACADRQ0DIAAoAgQgAEEBOgAIIAMgAygCACIAQQFrNgIAIABBAUYEQCADEKoCCyIADQALCyACQSBqJAAMAgsgAkEANgIIIwBBEGsiASQAIAFByLfBADYCDCABIAJBBGo2AggjAEHwAGsiACQAIABBuLfBADYCDCAAIAFBCGo2AgggAEG4t8EANgIUIAAgAUEMajYCECAAQdTDwQA2AhggAEECNgIcAkAgAkEIaiIBKAIARQRAIABBAzYCXCAAQZDEwQA2AlggAEIDNwJkIAAgAEEQaq1CgICAgKAchDcDSCAAIABBCGqtQoCAgICgHIQ3A0AMAQsgAEEwaiABQRBqKQIANwMAIABBKGogAUEIaikCADcDACAAIAEpAgA3AyAgAEEENgJcIABBxMTBADYCWCAAQgQ3AmQgACAAQRBqrUKAgICAoByENwNQIAAgAEEIaq1CgICAgKAchDcDSCAAIABBIGqtQoCAgIDAHIQ3A0ALIAAgAEEYaq1CgICAgLAchDcDOCAAIABBOGo2AmAgAEHYAGpBxLjBABCzAgALQbS4wQAQjwMACyAEQSBqJAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIABBAWohACABQQFqIQEgAkEBayICDQEMAgsLIAQgBWshAwsgAwtMAQR/AkAgAEEEaigCACIERQ0AIABBCGooAgAiBSgCACIDBEAgBCADEQUACyAFKAIEIgNFDQAgBSgCCCEGIAQgAxCMAwsgAEEYEIwDC0wBBH8CQCAAQQRqKAIAIgJFDQAgAEEIaigCACIDKAIAIgEEQCACIAERBQALIAMoAgQiAUUNACADKAIIIQQgAiABEIwDCyAAQRQQjAMLTAEEfwJAIABBBGooAgAiBEUNACAAQQhqKAIAIgUoAgAiAwRAIAQgAxEFAAsgBSgCBCIDRQ0AIAUoAgghBiAEIAMQjAMLIABBFBCMAwtGAQJ/QbjiwQAoAgAiAEUEQBDzAUG44sEAKAIAIQALIAAgACgCACIBQQFqNgIAAkAgAUEATgRAIABFDQEgAA8LAAsQqQIAC1ABAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAAAgAiACKAIIIAIoAgwoAhgRAAAgAigCBCEBIAAgAigCADYCACAAIAE2AgQgAkEQaiQAC7YCAQN/IwBBIGsiAiQAIAJBEGoiAyAAQRBqKQIANwMAIAJBCGoiBCAAQQhqKQIANwMAIAJBATsBHCACIAE2AhggAiAAKQIANwMAIwBBIGsiACQAIAIoAhghASAAQRBqIAMpAgA3AwAgAEEIaiAEKQIANwMAIAAgAjYCHCAAIAE2AhggACACKQIANwMAQQAhAiMAQRBrIgEkACAAKAIMIQMCQAJAAkACQCAAKAIEDgIAAQILIAMNAUEBIQMMAgsgAw0AIAAoAgAiAygCBCECIAMoAgAhAwwBCyABQYCAgIB4NgIAIAEgADYCDCABQcS/wQAgACgCGCAAKAIcIgAtABwgAC0AHRD2AQALIAEgAjYCBCABIAM2AgAgAUGov8EAIAAoAhggACgCHCIALQAcIAAtAB0Q9gEAC08BAn9Bkd7BAC0AABogASgCBCECIAEoAgAhA0EIQQQQ+AIiAQRAIAEgAjYCBCABIAM2AgAgAEGYv8EANgIEIAAgATYCAA8LQQRBCBCpAwALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAARQ0AIANBkMXBAEEEIAIoAgwRAwBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEBAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEPcBIAAoAgghAwsgACgCBCADaiABIAIQ2QEaIAAgAiADajYCCEEAC0gBAX8jAEEQayICJAAgAkEIaiABEL8CIAIgAigCCCACKAIMKAIYEQAAIAIoAgQhASAAIAIoAgA2AgAgACABNgIEIAJBEGokAAtDAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEPkBIAAoAgghAwsgACgCBCADaiABIAIQ2QEaIAAgAiADajYCCEEAC0MBAX8gAiAAKAIAIAAoAggiA2tLBEAgACADIAIQ+wEgACgCCCEDCyAAKAIEIANqIAEgAhDZARogACACIANqNgIIQQALswMBBn8jAEEQayICJABBkt7BAC0AAEEDRwRAIAJBAToACyACIAJBC2o2AgwgAkEMaiEAIwBBIGsiASQAAkACQAJAAkACQAJAAkBBkt7BAC0AAEEBaw4DAgQBAAtBkt7BAEECOgAAIAAoAgAiAC0AACAAQQA6AABFDQIjAEEgayIAJAACQAJAAkBB0N7BACgCAEH/////B3EEQEGk4sEAKAIADQELQcTewQAoAgANAUHM3sEAKAIAIQNBzN7BAEGQpcAANgIAQcjewQAoAgAhBEHI3sEAQQE2AgACQCAERQ0AIAMoAgAiBQRAIAQgBREFAAsgAygCBCIFRQ0AIAMoAggaIAQgBRCMAwsgAEEgaiQADAILIABBADYCGCAAQQE2AgwgAEHcvsEANgIIIABCBDcCECAAQQhqQfi+wQAQswILAAtBkt7BAEEDOgAACyABQSBqJAAMBAsgAUEANgIYIAFBATYCDCABQdSlwAA2AggMAgtB6KbAABCPAwALIAFBADYCGCABQQE2AgwgAUGUpsAANgIICyABQgQ3AhAgAUEIakHgnMAAELMCAAsLIAJBEGokAAtNAQF/QZHewQAtAAAaQQZBARD4AiIBRQRAQQFBBhDkAgALIAFBBGpB9JzAAC8AADsAACABQfCcwAAoAAA2AAAgACABNgIAIABBBjYCBAs4AAJAIAFpQQFHQYCAgIB4IAFrIABJcg0AIAAEQEGR3sEALQAAGiAAIAEQ+AIiAUUNAQsgAQ8LAAtCAQF/IwBBIGsiAyQAIANBADYCECADQQE2AgQgA0IENwIIIAMgATYCHCADIAA2AhggAyADQRhqNgIAIAMgAhCzAgALRQECfyABKAIAQQoQXCEBQaTewQAoAgAhAkGg3sEAKAIAIQNBoN7BAEIANwIAIAAgAiABIANBAUYiARs2AgQgACABNgIACz4BAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAAAgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACz8BA38CQCAAKAIEIgJFDQAgACgCCCIAKAIAIgEEQCACIAERBQALIAAoAgQiAUUNACAAKAIIIQMgAiABEIwDCwvxBQIGfgN/IwBBIGsiCiQAIAEhBEIAIQEjAEEgayILJAACQAJAAkAgA1AEQCACUCACUCADIARWcXINASALQRBqIANBwAAgAnmnayIMQf8AcRCkAkIBIAxBP3GthiEIIAtBGGopAwAhBiALKQMQIQcDQCACIAZ9IAQgB1StfSIBQgBZBEAgBSAIhCEFIAFQIAQgB30iBCADVHENBCABIQILIAZCP4YgB0IBiIQhByAIQgGIIQggBkIBiCEGDAALAAsCQCACUEUEQCACIANaBEAgAiADUgRAIAIgAiADgCIIIAN+fSEBIANC/////w9YBEAgBEIgiCICIAFCIIaEIAOAIgFCIIYgBEL/////D4MgAiABIAN+fUIghoQiAiADgCIEhCEFIAIgAyAEfn0hBCABQiCIIAiEIQhCACEBDAcLIAFQIAMgBFZxDQMgA0IBiCEGIANCP4YhB0KAgICAgICAgIB/IQIDQAJAIAEgBn0gBCAHVK19IgVCAFkEQCAEIAd9IQQgAiAJhCEJIAVQDQEgBSEBCyAGQj+GIAdCAYiEIQcgAkIBiCECIAZCAYghBgwBCwsgBCADgCIBIAmEIQUgBCABIAN+fSEEQgAhAQwGCyAEIAQgAoAiBSACfn0hBEIBIQgMBQsgCyADQT8gA3kiAacgAnkiBadrQUBrIAEgBVEbIgwQpAJCASAMQT9xrYYhASALQQhqKQMAIQYgCykDACEHA0ACQCACIAZ9IAQgB1StfSIFQgBZBEAgBCAHfSEEIAEgCYQhCSAFUA0BIAUhAgsgBkI/hiAHQgGIhCEHIAFCAYghASAGQgGIIQYMAQsLIAQgA4AiASAJhCEFIAQgASADfn0hBEIAIQEMAwsgBCAEIAOAIgUgA359IQQMAgsMAgsgAiEBC0IAIQgLIAogBDcDECAKIAU3AwAgCiABNwMYIAogCDcDCCALQSBqJAAgCikDACEBIAAgCkEIaikDADcDCCAAIAE3AwAgCkEgaiQAC8kCAQN/IAAoAgAhACABKAIcIgNBEHFFBEAgA0EgcUUEQCAAMQAAIAEQ3AEPCyMAQYABayIEJAAgAC0AACEAA0AgAiAEakH/AGogAEEPcSIDQTByIANBN2ogA0EKSRs6AAAgAkEBayECIAAiA0EEdiEAIANBEE8NAAsgAkGAAWoiAEGBAU8EQCAAQYABQbjFwQAQnwIACyABQQFByMXBAEECIAIgBGpBgAFqQQAgAmsQrgEgBEGAAWokAA8LIwBBgAFrIgQkACAALQAAIQADQCACIARqQf8AaiAAQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAkEBayECIAAiA0EEdiEAIANBEE8NAAsgAkGAAWoiAEGBAU8EQCAAQYABQbjFwQAQnwIACyABQQFByMXBAEECIAIgBGpBgAFqQQAgAmsQrgEgBEGAAWokAAs5AQF/IAAoAgAhACABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQjgMPCyAAIAEQjgIPCyAAIAEQjQILOAEBfyMAQRBrIgIkACACQQhqIAAgACgCACgCBBEAACACKAIIIAEgAigCDCgCEBEBACACQRBqJAALNAEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUGwi8EAQQYgAkEMakGgi8EAEIgCIAJBEGokAAs0AQF/IwBBEGsiAiQAIAIgACgCADYCDCABQZiLwQBBBSACQQxqQYiLwQAQiAIgAkEQaiQAC0MBAn8gASgCABBbIQFBpN7BACgCACECQaDewQAoAgAhA0Gg3sEAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALOAACQCACQYCAxABGDQAgACACIAEoAhARAQBFDQBBAQ8LIANFBEBBAA8LIAAgAyAEIAEoAgwRAwALMQEBfyMAQRBrIgIkACACIAA2AgwgAUHIi8EAQQogAkEMakG4i8EAEIgCIAJBEGokAAsuAAJAIANpQQFHQYCAgIB4IANrIAFJcg0AIAAgASADIAIQ5gIiAEUNACAADwsAC7IIAgR+BX8gASgCHCIHQRBxRQRAIAdBIHFFBEAgACkDACEDIABBCGopAwAhAiMAQZABayIAJAAgAEEnNgKMASAAQRBqAn4gAkKAgCBaBEAgAEEwaiADQgBC87LYwZ6evcyVf0IAEJQCIABBIGogA0IAQtLhqtrtp8mH9gBCABCUAiAAQdAAaiACQgBC87LYwZ6evcyVf0IAEJQCIABBQGsgAkIAQtLhqtrtp8mH9gBCABCUAiAAQcgAaikDACAAQShqKQMAIABBOGopAwAiBCAAKQMgfCICIARUrXwiBSAAKQNAfCIEIAVUrXwgBCAAQdgAaikDACACIAApA1B8IAJUrXx8IgIgBFStfCIFQj6IIQQgBUIChiACQj6IhAwBCyACQi2GIANCE4iEQr2igqOOqwSACyICIARCgIDgsLeft5z1AEIAEJQCIAApAxAgA3wgAEHlAGoiByAAQYwBaiIIEK8BIAFBAUEBQQACfyAAKAKMASIBIAIgBIRQDQAaIABB+QBqQTAgAUEUaxD8ARogAEEUNgKMASAAIARCLYYgAkITiIQiA0K9ooKjjqsEgCIEIAJCgIDgsLeft5z1AEIAEJQCIAApAwAgAnwgByAIEK8BIAAoAowBIgEgA0K9ooKjjqsEVA0AGiAAQeYAakEwIAFBAWsQ/AEaIAAgBKdBMHI6AGVBAAsiASAAQeUAampBJyABaxCuASAAQZABaiQADwsCf0EAIQcjAEGAAWsiCSQAIABBCGopAwAhAiAAKQMAIQNBgAEhACAJQYABaiEIAkACQANAIABFDQEgCEEBayADp0EPcSIGQTByIAZBN2ogBkEKSRs6AAACQCACUCIKIANCEFRxBEAgAEEBayEADAELIAhBAmsiCCACQjyGIANCBIiEp0EPcSIGQTByIAZBN2ogBkEKSRs6AAAgAkI4hiADQoACVCEGIABBAmshACACQgiIIQIgA0IIiIQhAyAGIApxRQ0BCwsgAEGBAU8NASAAIQcLIAFBAUHIxcEAQQIgByAJakGAASAHaxCuASAJQYABaiQADAELIABBgAFBuMXBABCfAgALDwsCf0EAIQcjAEGAAWsiCSQAIABBCGopAwAhAiAAKQMAIQNBgAEhACAJQYABaiEIAkACQANAIABFDQEgCEEBayADp0EPcSIGQTByIAZB1wBqIAZBCkkbOgAAAkAgAlAiCiADQhBUcQRAIABBAWshAAwBCyAIQQJrIgggAkI8hiADQgSIhKdBD3EiBkEwciAGQdcAaiAGQQpJGzoAACACQjiGIANCgAJUIQYgAEECayEAIAJCCIghAiADQgiIhCEDIAYgCnFFDQELCyAAQYEBTw0BIAAhBwsgAUEBQcjFwQBBAiAHIAlqQYABIAdrEK4BIAlBgAFqJAAMAQsgAEGAAUG4xcEAEJ8CAAsLMAEBfyMAQRBrIgIkACACQQhqIAAQvwIgAigCCCABIAIoAgwoAhARAQAgAkEQaiQACzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABEI4DDwsgACABEI4CDwsgACABEI0CCzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQajXwQA2AgggAUIENwIQIAFBCGogABCzAgALOwEBf0EBIQICQCAAIAEQ2wENACABKAIUQazCwQBBAiABKAIYKAIMEQMADQAgAEEEaiABENsBIQILIAILOAEBfyABKAIUIQIgASgCGCgCDCEBIAAtAABFBEAgAkGQo8EAQQEgAREDAA8LIAJBAUEAIAERAwALOABBkd7BAC0AABpBBEEEEPgCIgFFBEBBBEEEEKkDAAsgAUEANgIAIABBiK3BADYCBCAAIAE2AgALLAAgACABKQAANwAAIABBEGogAUEQaigAADYAACAAQQhqIAFBCGopAAA3AAALJQAgAEUEQEGstcEAQTIQowMACyAAIAIgAyAEIAUgASgCEBEJAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEGAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEYAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEaAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEIAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEcAAsmAQJ/IAAoAgAiAUGAgICAeHJBgICAgHhHBEAgACgCBCABEIwDCwsoACAAQQxqQQAgAkK6s8/l7Jf/rmdRG0EAIAFC0eKhhL2S5oTqAFEbCykAIABBDGpBACACQu26rbbNhdT14wBRG0EAIAFC+IKZvZXuxsW5f1EbCyQAIAAtAABFBEAgAUHwr8EAQR0Q7AIPCyABQY2wwQBBJhDsAgshACAARQRAQay1wQBBMhCjAwALIAAgAiADIAEoAhARBAALHAAgACgCACIAQQRqKAIAIABBCGooAgAgARCgAQscACAAKAIAIgBBBGooAgAgAEEIaigCACABEKsDCxwAIAAoAgAiAEEUaigCACAAQRhqKAIAIAEQuAELHwAgAEUEQEGstcEAQTIQowMACyAAIAIgASgCEBEBAAsYAQJ/IAAoAgAiAQRAIAAoAgQgARCMAwsLGQAgACgCACIAKAIAIABBBGooAgAgARCrAwtGACAARQRAIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGcwMEANgIIIABCBDcCECAAQQhqQbjAwQAQswIACyAAIAEQqQMACxYAIABBsL7AADYCBCAAIAFBDGo2AgAL4gYBBn8CfwJAAkACQAJAAkAgAEEEayIFKAIAIgZBeHEiBEEEQQggBkEDcSIHGyABak8EQCAHQQAgAUEnaiIJIARJGw0BAkACQCACQQlPBEAgAiADEMwBIggNAUEADAkLIANBzP97Sw0BQRAgA0ELakF4cSADQQtJGyEBAkAgB0UEQCABQYACSSAEIAFBBHJJciAEIAFrQYGACE9yDQEMCQsgAEEIayICIARqIQcCQAJAAkACQCABIARLBEAgB0GM4sEAKAIARg0EIAdBiOLBACgCAEYNAiAHKAIEIgZBAnENBSAGQXhxIgYgBGoiBCABSQ0FIAcgBhDVASAEIAFrIgNBEEkNASAFIAEgBSgCAEEBcXJBAnI2AgAgASACaiIBIANBA3I2AgQgAiAEaiICIAIoAgRBAXI2AgQgASADEMUBDA0LIAQgAWsiA0EPSw0CDAwLIAUgBCAFKAIAQQFxckECcjYCACACIARqIgEgASgCBEEBcjYCBAwLC0GA4sEAKAIAIARqIgQgAUkNAgJAIAQgAWsiA0EPTQRAIAUgBkEBcSAEckECcjYCACACIARqIgEgASgCBEEBcjYCBEEAIQNBACEBDAELIAUgASAGQQFxckECcjYCACABIAJqIgEgA0EBcjYCBCACIARqIgIgAzYCACACIAIoAgRBfnE2AgQLQYjiwQAgATYCAEGA4sEAIAM2AgAMCgsgBSABIAZBAXFyQQJyNgIAIAEgAmoiASADQQNyNgIEIAcgBygCBEEBcjYCBCABIAMQxQEMCQtBhOLBACgCACAEaiIEIAFLDQcLIAMQbyIBRQ0BIAEgAEF8QXggBSgCACIBQQNxGyABQXhxaiIBIAMgASADSRsQ2QEgABC1AQwICyAIIAAgASADIAEgA0kbENkBGiAFKAIAIgJBeHEiAyABQQRBCCACQQNxIgIbakkNAyACQQAgAyAJSxsNBCAAELUBCyAIDAYLQfW6wQBBLkGku8EAEL0CAAtBtLvBAEEuQeS7wQAQvQIAC0H1usEAQS5BpLvBABC9AgALQbS7wQBBLkHku8EAEL0CAAsgBSABIAZBAXFyQQJyNgIAIAEgAmoiAiAEIAFrIgFBAXI2AgRBhOLBACABNgIAQYziwQAgAjYCACAADAELIAALCxYAIABB8IXBADYCBCAAIAFBDGo2AgALFgAgAEHMo8EANgIEIAAgAUEMajYCAAsWACAAQairwQA2AgQgACABQQxqNgIACxYAIABB0KrBADYCBCAAIAFBDGo2AgALDgAgAQRAIAAgARCMAwsLFgAgACgCFCABIAIgACgCGCgCDBEDAAsUACAAKAIAIgAgACgCACgCABEFAAsUACAAKAIAIAEgACgCBCgCEBEBAAsUACAAKAIAIAEgACgCBCgCDBEBAAsUACAAKAIUIAEgACgCGCgCEBEBAAvPCAEFfyMAQfAAayIFJAAgBSADNgIMIAUgAjYCCAJAAkACQAJAAkACQAJ/IAACfwJAIAFBgQJPBEBBAyAALACAAkG/f0oNAhogACwA/wFBv39MDQFBAgwCCyAFIAE2AhQgBSAANgIQQQEMAgsgACwA/gFBv39KC0H9AWoiBmosAABBv39MDQEgBSAGNgIUIAUgADYCEEEFIQdBjMnBAAshBiAFIAc2AhwgBSAGNgIYIAEgAkkiByABIANJckUEQCACIANLDQIgAkUgASACTXJFBEAgBUEMaiAFQQhqIAAgAmosAABBv39KGygCACEDCyAFIAM2AiAgAyABIgJJBEAgA0EBaiIIIANBA2siAkEAIAIgA00bIgJJDQQCQCACIAhGDQAgCCACayEHIAAgA2osAABBv39KBEAgB0EBayEGDAELIAIgA0YNACAAIAhqIgNBAmsiCSwAAEG/f0oEQCAHQQJrIQYMAQsgCSAAIAJqIghGDQAgA0EDayIJLAAAQb9/SgRAIAdBA2shBgwBCyAIIAlGDQAgA0EEayIDLAAAQb9/SgRAIAdBBGshBgwBCyADIAhGDQAgB0EFayEGCyACIAZqIQILAkAgAkUNACABIAJLBEAgACACaiwAAEG/f0oNAQwHCyABIAJHDQYLIAEgAkYNBAJ/AkACQCAAIAJqIgEsAAAiAEEASARAIAEtAAFBP3EhBiAAQR9xIQMgAEFfSw0BIANBBnQgBnIhAAwCCyAFIABB/wFxNgIkQQEMAgsgAS0AAkE/cSAGQQZ0ciEGIABBcEkEQCAGIANBDHRyIQAMAQsgA0ESdEGAgPAAcSABLQADQT9xIAZBBnRyciIAQYCAxABGDQYLIAUgADYCJEEBIABBgAFJDQAaQQIgAEGAEEkNABpBA0EEIABBgIAESRsLIQAgBSACNgIoIAUgACACajYCLCAFQQU2AjQgBUGUysEANgIwIAVCBTcCPCAFIAVBGGqtQoCAgICwHIQ3A2ggBSAFQRBqrUKAgICAsByENwNgIAUgBUEoaq1CgICAgNAchDcDWCAFIAVBJGqtQoCAgIDwAoQ3A1AgBSAFQSBqrUKAgICA0A2ENwNIDAYLIAUgAiADIAcbNgIoIAVBAzYCNCAFQdTKwQA2AjAgBUIDNwI8IAUgBUEYaq1CgICAgLAchDcDWCAFIAVBEGqtQoCAgICwHIQ3A1AgBSAFQShqrUKAgICA0A2ENwNIDAULIAAgAUEAIAYgBBDxAgALIAVBBDYCNCAFQbTJwQA2AjAgBUIENwI8IAUgBUEYaq1CgICAgLAchDcDYCAFIAVBEGqtQoCAgICwHIQ3A1ggBSAFQQxqrUKAgICA0A2ENwNQIAUgBUEIaq1CgICAgNANhDcDSAwDCyACIAhBgMvBABChAgALIAQQjwMACyAAIAEgAiABIAQQ8QIACyAFIAVByABqNgI4IAVBMGogBBCzAgALEQAgACgCBCAAKAIIIAEQqwMLIQAgAELvm7LL36Tfkbh/NwMIIABCsqG01rWPnoY5NwMACxMAIABBKDYCBCAAQfi9wAA2AgALIgAgAELGheneoMX7w9gANwMIIABChorribKOpvKyfzcDAAsTACAAQey+wAA2AgQgACABNgIACxEAIAAoAgQgACgCCCABEKABCxoAAn8gAUEJTwRAIAEgABDMAQwBCyAAEG8LCxMAIABBKDYCBCAAQbiFwQA2AgALEwAgAEGshsEANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARCrAwsTACAAQSg2AgQgAEGRo8EANgIACxMAIABBiKTBADYCBCAAIAE2AgALIQAgAEKB/vrzppbz5ZV/NwMIIABCkIeJlbrGt5kWNwMACyEAIABC7dPiucCthPFzNwMIIABCxKW7/qfW8fy/fzcDAAsTACAAQSg2AgQgAEGAqsEANgIACxMAIABBgKzBADYCBCAAIAE2AgALEwAgAEG8rMEANgIEIAAgATYCAAsiACAAQsnFvaqcp+Ppmn83AwggAEKdgqr344T2o6V/NwMACxEAIAAoAgAgACgCBCABEKABCxYAQaTewQAgADYCAEGg3sEAQQE2AgALIQAgAEK6s8/l7Jf/rmc3AwggAELR4qGEvZLmhOoANwMACyIAIABC7bqtts2F1PXjADcDCCAAQviCmb2V7sbFuX83AwALEwAgAEGYv8EANgIEIAAgATYCAAsRACABIAAoAgAgACgCBBDsAgsRACABIAAoAgAgACgCBBCtAQsRACABKAIUIAEoAhggABC4AQtiAQJ/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAELUBDAILQfW6wQBBLkGku8EAEL0CAAtBtLvBAEEuQeS7wQAQvQIACwsOACAAKAIAIAEgAhDsAgsMACAANQIAIAEQ3AELDwBBysLBAEErIAAQvQIACwsAIAAjAGokACMACw4AIAFB7JvAAEEFEOwCCw4AIAFBuK/AAEEFEOwCCw4AIAFBiLzAAEEFEOwCCwwAIAAoAgAgARCbAgsOACAAQby8wAAgARC4AQsOACABQbS/wABBBRDsAgsLACAAIAEQ6AFBAAsOACAAQbDBwAAgARC4AQsOACABQajBwABBBRDsAgsOACAAQaSJwQAgARC4AQsOACABQZyJwQBBBRDsAgumAQEBfyAAKAIAIwBBQGoiACQAKAIAIQIgAEIANwM4IABBOGogAhBgIAAgACgCPCICNgI0IAAgACgCODYCMCAAIAI2AiwgACAAQSxqrUKAgICAsBmENwMgIABBAjYCDCAAQay5wQA2AgggAEIBNwIUIAAgAEEgajYCECABKAIUIAEoAhggAEEIahC4ASAAKAIsIgIEQCAAKAIwIAIQjAMLIABBQGskAAsOACABQZiLwQBBBRDsAgsOACABQaCQwQBBEhDsAgsMACAAKAIAIAEQkwILDgAgAEHsrcEAIAEQuAELDAAgACgCACABEPACCwwAIAAoAgAgARCOAwsJACAAIAEQYQALDgAgAEG0usEAIAEQuAELDAAgACABKQIANwMACw4AIABB8L/BACABELgBCw4AIAFB4L/BAEEFEOwCCw4AIAFB5b/BAEELEOwCCxoAIAAgAUHA3sEAKAIAIgBBzAEgABsRAAAACw4AIABB+MTBACABELgBCwsAIAIgACABEK0BCwkAIAAgARCcAgsJACAAQQA2AgALCQAgACABNgIACwkAIAAgARDtAQsJACAAIAEQxAELBwAgABDtAgvuBQIGfwF+AkAjAEHQAGsiAiQAIAJBADYCKCACQoCAgIAQNwIgIAJBAzoATCACQSA2AjwgAkEANgJIIAJBsMHAADYCRCACQQA2AjQgAkEANgIsIAIgAkEgajYCQCMAQSBrIgMkAEEBIQACQCACQSxqIgVByL3BAEEMEOwCDQAgASgCCCAFEJMCDQAgA0EQaiABKAIAIgQgASgCBEEMaiIBKAIAEQAAAn8gAykDEEL4gpm9le7Gxbl/UQRAQQQhACAEIAMpAxhC7bqtts2F1PXjAFENARoLIAMgBCABKAIAEQAAQQAhACADKQMAQtHioYS9kuaE6gBSDQEgAykDCEK6s8/l7Jf/rmdSDQFBCCEAIARBBGoLIAAgBGooAgAhBCgCACEBIAVB1L3BAEECEOwCRQRAQQAhACAFIAEgBBDsAkUNAQtBASEACyADQSBqJAAgAEUEQCACQRhqIAJBKGooAgAiAzYCACACIAIpAiAiCDcDECAIpyIBIANrQQlNBEAgAkEQaiADQQoQ+QEgAigCGCEDIAIoAhAhAQsgAigCFCIAIANqIgRByMHAACkAADcAACAEQQhqQdDBwAAvAAA7AAAgAiADQQpqIgM2AhggAkEIahBUIgUQVSACKAIIIQYgAigCDCIEIAEgA2tLBEAgAkEQaiADIAQQ+QEgAigCECEBIAIoAhghAyACKAIUIQALIAAgA2ogBiAEENkBGiACIAMgBGoiAzYCGCABIANrQQFNBEAgAkEQaiADQQIQ+QEgAigCGCEDIAIoAhQhAAsgACADakGKFDsAACACIANBAmoiAzYCGAJAAkAgAyACKAIQIgdPBEAgACEBDAELIANFBEBBASEBIAAgBxCMAwwBCyAAIAdBASADEOYCIgFFDQELIAEgAxBWIAQEQCAGIAQQjAMLIAVBhAFPBEAgBRAACyACQdAAaiQADAILQQEgAxDkAgALQeTBwABBNyACQRBqQdTBwABB6MLAABCVAgALCwIACwv+2wEYAEGAgMAAC+UUY2FsY3VsYXRlX3NoYXJlc19pbl9naXZlbl9ib25kc19vdXRfdXA6IHkgPSAgPCAgPSBkeQAAEAAsAAAALAAQAAMAAAAvABAABQAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy95aWVsZF9zcGFjZS5ycwBMABAAbwAAAF0AAAAYAAAAMWUxOGNhbGN1bGF0ZV9zaGFyZXNfaW5fZ2l2ZW5fYm9uZHNfb3V0X3VwOiBrID0gID0gedAAEAAsAAAALAAQAAMAAAD8ABAABAAAAEwAEABvAAAAaQAAABgAAAAEAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBMABAAbwAAAHIAAAAtAAAATAAQAG8AAAByAAAAGQAAAGNhbGN1bGF0ZV9zaGFyZXNfaW5fZ2l2ZW5fYm9uZHNfb3V0X3VwOiBfeiA9ICA9IHplAACEARAALQAAACwAEAADAAAAsQEQAAUAAABMABAAbwAAAHwAAAAYAAAATAAQAG8AAAB1AAAAKQAAAEwAEABvAAAAdQAAABkAAABMABAAbwAAAHAAAAASAAAATAAQAG8AAABjAAAAJQAAAGV4cGVjdGVkIGs9ID49IHplPQAAIAIQAAsAAAArAhAABwAAAEwAEABvAAAAPgAAABgAAABMABAAbwAAAEMAAAArAAAATAAQAG8AAABDAAAAFwAAAGV4cGVjdGVkIHk9ID49IGRlbHRhX3k9AHQCEAALAAAAfwIQAAwAAABMABAAbwAAAEsAAAAYAAAATAAQAG8AAABGAAAAJwAAAEwAEABvAAAARgAAABcAAABMABAAbwAAAEEAAAARAAAATAAQAG8AAAA2AAAAOgAAAGNhbGN1bGF0ZV9zaGFyZXNfb3V0X2dpdmVuX2JvbmRzX2luX2Rvd246IGsgPSAAAOwCEAAuAAAALAAQAAMAAAD8ABAABAAAAEwAEABvAAAAtwAAABgAAABMABAAbwAAAMQAAAAtAAAATAAQAG8AAADEAAAAGQAAADAAAABMABAAbwAAANAAAAAQAAAATAAQAG8AAADHAAAAKQAAAEwAEABvAAAAxwAAABkAAABMABAAbwAAAMIAAAASAAAATAAQAG8AAACzAAAAJQAAAEwAEABvAAAAUAEAABoAAABMABAAbwAAAE4BAAAwAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvbWF4LnJz2AMQAGwAAAAuAAAAFwAAAFJlYWNoZWQgYWJzb2x1dGUgbWF4IGJvbmQgYW1vdW50IGluIGBjYWxjdWxhdGVfbWF4X2xvbmdgLgAAAFQEEAA5AAAA2AMQAGwAAABrAAAAHAAAANgDEABsAAAAmgAAABcAAADYAxAAbAAAAKAAAAAYAAAASW5pdGlhbCBndWVzcyBpbiBgY2FsY3VsYXRlX21heF9sb25nYCBpcyBpbnNvbHZlbnQgd2l0aCBlcnJvcjoKAMgEEAA/AAAA2AMQAGwAAABgAAAAHAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL29wZW4ucnNNaW5pbXVtVHJhbnNhY3Rpb25BbW91bnQ6IElucHV0IGFtb3VudCB0b28gbG93AI0FEAAuAAAAIAUQAG0AAAAiAAAAGAAAAEluc3VmZmljaWVudExpcXVpZGl0eTogTmVnYXRpdmUgSW50ZXJlc3TUBRAAKAAAACAFEABtAAAALQAAABgAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbG9uZy9jbG9zZS5ycwAAFAYQAG4AAAASAAAAGAAAAENsb3NpbmcgdGhlIGxvbmcgcmVzdWx0cyBpbiBmZWVzIGV4Y2VlZGluZyB0aGUgbG9uZyBwcm9jZWVkcy4AAACUBhAAPQAAABQGEABuAAAAHQAAABgAAAAUBhAAbgAAADwAAAANAAAAFAYQAG4AAAA4AAAANAAAABQGEABuAAAAMwAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvbWF4LnJzZXhwZWN0ZWQgYnVkZ2V0PSA+PSBtaW5fdHJhbnNhY3Rpb25fYW1vdW50PYkHEAAQAAAAmQcQABsAAAAcBxAAbQAAANMAAAAYAAAATm8gc29sdmVudCBzaG9ydCBpcyBwb3NzaWJsZS4AAADUBxAAHQAAABwHEABtAAAA+AAAABgAAABtYXggc2hvcnQgZXhjZWVkZWQgYnVkZ2V0AAAADAgQABkAAAAcBxAAbQAAAFgBAAAYAAAAbWF4IHNob3J0IGJvbmQgYW1vdW50IGV4Y2VlZGVkIGFic29sdXRlIG1heCBib25kIGFtb3VudABACBAANwAAABwHEABtAAAAXQEAABgAAAAcBxAAbQAAAOYAAABDAAAAHAcQAG0AAADKAAAAGAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9jbG9zZS5ycwCwCBAAbwAAANYAAAAYAAAAsAgQAG8AAADnAAAAGAAAALAIEABvAAAA+gAAABgAAACwCBAAbwAAAPkAAAA1AAAAsAgQAG8AAAATAAAADQAAALAIEABvAAAAKAAAABAAAACwCBAAbwAAACEAAAAoAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwCQCRAAZwAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAIChAAHQAAAAEAAAAAAAAASW52YWxpZCBCaWdJbnQ6IDgKEAAQAAAACAAAAAwAAAAEAAAACQAAAAoAAAALAEHwlMAAC/ECAQAAAAwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAACvChAASwAAAAYKAAAOAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvZml4ZWRfcG9pbnQucnMAAAwLEABuAAAASwAAAE8AAAANAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAMCxAAbgAAAM0AAABGAAAAAQAAAAAAAAABAEGImMAAC4UNEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LhAMEAALAAAAGwwQACEAAAAMCxAAbgAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAFwMEAAdAAAAeQwQAAkAAAAMCxAAbgAAAKwAAAAUAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwCkDBAAZwAAAEAAAAAOAAAAQ2Fubm90IGRpdmlkZSBieSB6ZXJvLgAAHA0QABYAAACkDBAAZwAAADYAAAANAAAARml4ZWRQb2ludCBvcGVyYXRpb24gb3ZlcmZsb3dlZDogICogIC8gAEwNEAAhAAAAbQ0QAAMAAABwDRAAAwAAAKQMEABnAAAAPwAAABoAAACkDBAAZwAAADAAAAAKAAAApAwQAGcAAAAmAAAADQAAAKQMEABnAAAALwAAABYAAACkDBAAZwAAAHUAAAAVAAAApAwQAGcAAABdAAAAEQAAAEVycm9yL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2NvbnNvbGVfZXJyb3JfcGFuaWNfaG9vay0wLjEuNy9zcmMvbGliLnJz8Q0QAG8AAACVAAAADgAAADAuMTYuMWNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL2xpYi5ycwB2DhAAIQAAAC0AAAAKAAAAdg4QACEAAAAuAAAACgAAAHYOEAAhAAAAPgAAABYAAAB2DhAAIQAAAD8AAAAkAAAAdg4QACEAAABBAAAABgAAAHYOEAAhAAAAQgAAAAYAAAB2DhAAIQAAAFIAAAAWAAAAdg4QACEAAABTAAAAJAAAAHYOEAAhAAAAVQAAAAYAAAB2DhAAIQAAAFYAAAAGAAAAdg4QACEAAABfAAAACgAAAHYOEAAhAAAAawAAAC4AAAB2DhAAIQAAAG8AAAAKAAAAdg4QACEAAABwAAAACgAAAHYOEAAhAAAAegAAAAoAAAB2DhAAIQAAAHsAAAAKAAAAdg4QACEAAACKAAAAGAAAAHYOEAAhAAAAiwAAACQAAAB2DhAAIQAAAI0AAAAGAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbHAucnPIDxAAIAAAACkAAAA6AAAAyA8QACAAAAAqAAAAJAAAAP//////////////////////////////////////////EgAAAAAAAADIDxAAIAAAAC0AAAAiAAAAyA8QACAAAAAzAAAAIwAAAMgPEAAgAAAANAAAACMAAADIDxAAIAAAADoAAAAKAAAAyA8QACAAAAA8AAAADwAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL3Nob3J0L21heC5ycwCAEBAAJwAAACUAAAAdAAAAgBAQACcAAAAmAAAALQAAAIAQEAAnAAAAJwAAACoAAACAEBAAJwAAACkAAAArAAAAgBAQACcAAAAuAAAACgAAAIAQEAAnAAAAMAAAAA8AAACAEBAAJwAAAEMAAAAqAAAAgBAQACcAAABEAAAAKgAAAIAQEAAnAAAARwAAAAoAAACAEBAAJwAAAEkAAAAPAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvc2hvcnQvb3Blbi5yc0gREAAoAAAAGQAAACwAAABIERAAKAAAABoAAABCAAAASBEQACgAAAAeAAAACgAAAEgREAAoAAAAIAAAAA8AAABIERAAKAAAAC4AAAAsAAAASBEQACgAAAAyAAAACgAAAEgREAAoAAAANAAAAA8AAABIERAAKAAAAEkAAAAiAAAASBEQACgAAABKAAAALQAAAEgREAAoAAAASwAAACMAAABIERAAKAAAAE0AAAAKAAAASBEQACgAAABPAAAADwAAAEgREAAoAAAAawAAACkAAABIERAAKAAAAGwAAAAtAAAASBEQACgAAABtAAAALwAAAEgREAAoAAAAbwAAADMAAABIERAAKAAAAHcAAAAKAAAASBEQACgAAAB4AAAACgBBmKXAAAvpCAEAAAAOAAAADwAAABAAAABPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAKgSEAAqAAAAb25lLXRpbWUgaW5pdGlhbGl6YXRpb24gbWF5IG5vdCBiZSBwZXJmb3JtZWQgcmVjdXJzaXZlbHncEhAAOAAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMcExAATAAAAJ4AAAAyAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvdHlwZXMucnMAeBMQACMAAABlAAAAMwAAAHgTEAAjAAAAZgAAADcAAAB4ExAAIwAAAGcAAAAxAAAAeBMQACMAAABoAAAANQAAAHgTEAAjAAAAaQAAADkAAAB4ExAAIwAAAGoAAAA5AAAAeBMQACMAAABrAAAASwAAAHgTEAAjAAAAbAAAADsAAAB4ExAAIwAAAG0AAABNAAAAeBMQACMAAABwAAAAEgAAAHgTEAAjAAAAcQAAAEsAAAB4ExAAIwAAAHIAAAAzAAAAeBMQACMAAABzAAAAMQAAAHgTEAAjAAAAdAAAAD8AAAB4ExAAIwAAAHUAAABBAAAAeBMQACMAAAB/AAAAKwAAAHgTEAAjAAAAgAAAADUAAAB4ExAAIwAAAIEAAAArAAAAeBMQACMAAACCAAAAMQAAAHgTEAAjAAAAhAAAACwAAAB4ExAAIwAAAIUAAAAqAAAAeBMQACMAAACGAAAAPAAAAHgTEAAjAAAAhwAAAEQAAAB4ExAAIwAAAIkAAABJAAAAeBMQACMAAACKAAAAQwAAAHgTEAAjAAAAiwAAAEsAAAB4ExAAIwAAAIwAAAAvAAAAeBMQACMAAACNAAAAOQAAAHgTEAAjAAAAjgAAAD0AAAB4ExAAIwAAAI8AAAA9AAAAeBMQACMAAACQAAAAMwAAAHgTEAAjAAAAkgAAABIAAAB4ExAAIwAAAJQAAAASAAAAeBMQACMAAACVAAAAOwAAAHgTEAAjAAAAlgAAAEEAAABjcmF0ZXMvaHlwZXJkcml2ZS13YXNtL3NyYy9sb25nL2ZlZXMucnMAzBUQACcAAAAWAAAALAAAAMwVEAAnAAAAFwAAADwAAADMFRAAJwAAABkAAAAPAAAAzBUQACcAAAAnAAAALAAAAMwVEAAnAAAAKwAAAAoAAADMFRAAJwAAAC0AAAAPAAAAzBUQACcAAAA4AAAAIgAAAMwVEAAnAAAAOQAAACQAAADMFRAAJwAAADoAAAAjAAAAzBUQACcAAAA8AAAACgAAAMwVEAAnAAAAPgAAAA8AAADMFRAAJwAAAEgAAAAeAAAAzBUQACcAAABJAAAAIAAAAMwVEAAnAAAASgAAAB8AAADMFRAAJwAAAE0AAAAPAAAAAQAAAAAAAAASAAAADAAAAAQAAAATAAAAFAAAAAsAQYyuwAALqQkBAAAAFQAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAEsXEABLAAAABgoAAA4AAAAAAAAABAAAAAQAAAAWAAAARXJyb3IAAAAAAAAABAAAAAQAAAAXAAAAAAAAAAQAAAAEAAAAGAAAAEludmFsaWRIZXhDaGFyYWN0ZXJjaW5kZXhPZGRMZW5ndGhJbnZhbGlkU3RyaW5nTGVuZ3RoY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbG9uZy9jbG9zZS5ycwAAABUYEAAoAAAAEAAAACIAAAAVGBAAKAAAABEAAAAkAAAAFRgQACgAAAASAAAAIwAAABUYEAAoAAAAFAAAAAoAAAAVGBAAKAAAABYAAAAPAAAAY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvc2hvcnQvZmVlcy5yc5AYEAAoAAAAFgAAACwAAACQGBAAKAAAABgAAAA9AAAAkBgQACgAAAAaAAAADwAAAJAYEAAoAAAAJwAAACwAAACQGBAAKAAAACsAAAAKAAAAkBgQACgAAAAtAAAADwAAAJAYEAAoAAAANwAAACIAAACQGBAAKAAAADgAAAAkAAAAkBgQACgAAAA5AAAAIwAAAJAYEAAoAAAAOwAAAAoAAACQGBAAKAAAAD0AAAAPAAAAkBgQACgAAABGAAAAHgAAAJAYEAAoAAAARwAAACAAAACQGBAAKAAAAEgAAAAfAAAAkBgQACgAAABLAAAADwAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAqBkQAGcAAAAmAAAAAQAAAGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AAAAIBoQAB0AAABjcmF0ZXMvaHlwZXJkcml2ZS13YXNtL3NyYy9zaG9ydC9jbG9zZS5ycwAAAEgaEAApAAAAGgAAACwAAABIGhAAKQAAABsAAABCAAAASBoQACkAAAAcAAAARAAAAEgaEAApAAAAHQAAADAAAABIGhAAKQAAAB4AAAAuAAAASBoQACkAAAAoAAAACgAAAEgaEAApAAAAKgAAAA8AAABIGhAAKQAAADwAAAAsAAAASBoQACkAAAA/AAAARAAAAEgaEAApAAAAQgAAAEIAAABIGhAAKQAAAEQAAAAwAAAASBoQACkAAABFAAAALgAAAEgaEAApAAAASAAAADMAAAAwMWUxOAAAAEgaEAApAAAAYwAAAAwAAAAZAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBIGhAAKQAAAFkAAAArAAAASBoQACkAAABRAAAACQBB2LfAAAuJAy9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzRmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gdTEyODogAABAHBAANgAAANgbEABoAAAAkAAAAAUAAABDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IACQHBAAIwAAANgbEABoAAAAaQAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAMwcEABnAAAAJgAAAAEAAAABAAAAAAAAABsAAAAMAAAABAAAABwAAAAdAAAACwBB7LrAAAvlAQEAAAAeAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAqx0QAEsAAAAGCgAADgAAAEVycm9yYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAA0eEAAdAAAAAQAAAAAAAAAgAAAADAAAAAQAAAAhAAAAIgAAAAsAQdy8wAAL9gQBAAAAIwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAJseEABLAAAABgoAAA4AAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5IAAAAAwAAAAEAAAAJAAAACAAAAAMAAAABAAAACUAAAAkAAAAIB8QACYAAAAnAAAAKAAAACYAAAApAAAAKgAAABgAAAAEAAAAKwAAACoAAAAYAAAABAAAACwAAAArAAAAXB8QAC0AAAAuAAAAKAAAAC8AAAApAAAAMAAAADEAAAAxAAAAMgAAADMAAAAzAAAANAAAAEVycm9yY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbG9uZy9tYXgucnMAuR8QACYAAAAdAAAAHQAAALkfEAAmAAAAHgAAACoAAAC5HxAAJgAAACEAAAAKAAAAuR8QACYAAAAjAAAADwAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL2xvbmcvb3Blbi5ycwAgIBAAJwAAABYAAAAsAAAAICAQACcAAAAYAAAAPAAAACAgEAAnAAAAGgAAAA8AAAAgIBAAJwAAACcAAAAsAAAAICAQACcAAAArAAAACgAAACAgEAAnAAAALQAAAA8AAABFcnJvcgAAADUAAAAMAAAABAAAADYAAAA3AAAAOAAAAAoKU3RhY2s6CgoAQdzBwAALmQEBAAAAOQAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAABshEABLAAAABgoAAA4AQZfDwAAL5jiAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwCYIRAAZwAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAQIhAAHQAAADAAAAA+AAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9iYXNlLnJzU3RhdGUgaXMgaW5zb2x2ZW50LiBFeHBlY3RlZCBzaGFyZV9yZXNlcnZlcz0gPiBsb25nX2V4cG9zdXJlX3NoYXJlcz0gKyBtaW5fc2hhcmVfcmVzZXJ2ZXM9AAAA3yIQACwAAAALIxAAGAAAACMjEAAWAAAAdyIQAGgAAAAeAAAAGAAAAHciEABoAAAALAAAACcAAAAxZTM2dyIQAGgAAABEAAAADQAAAHciEABoAAAAPwAAAEMAAAB3IhAAaAAAAD4AAABCAAAAMWUxOC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL2ZlZXMucnMAAACsIxAAbQAAABUAAABJAAAArCMQAG0AAAAVAAAAFQAAAKwjEABtAAAASAAAABUAAACsIxAAbQAAAGIAAAARAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvbWF4LnJzXCQQAGwAAAAYAAAAFQAAAFwkEABsAAAAFwAAAFEAAABcJBAAbAAAABcAAAAdAAAAXCQQAGwAAAAUAAAAEAAAAFwkEABsAAAAEwAAAA0AAAB0YXJnZXQgc2hhcmUgcmVzZXJ2ZXMgbGVzcyB0aGFuIGVmZmVjdGl2ZSBzaGFyZSByZXNlcnZlcxglEAA4AAAAXCQQAGwAAADvAAAAGAAAAFwkEABsAAAA6QAAAA4AAABcJBAAbAAAAOgAAAAQAAAAXCQQAGwAAADnAAAAJgAAAFwkEABsAAAA5gAAABAAAABcJBAAbAAAAOUAAAA+AAAAXCQQAGwAAADlAAAAEAAAAFwkEABsAAAA2QAAACgAAABcJBAAbAAAANkAAAASAAAAXCQQAGwAAADXAAAAGwAAAFwkEABsAAAA1gAAAB0AAABcJBAAbAAAANUAAAAlAAAAXCQQAGwAAADTAAAAVQAAAFwkEABsAAAA0wAAACEAAABcJBAAbAAAAM8AAAAZAAAAMC44ZTE4AABcJBAAbAAAABgBAABAAAAAXCQQAGwAAAAYAQAALAAAAFwkEABsAAAAFwEAAA8AAABcJBAAbAAAABYBAAAmAAAAXCQQAGwAAAAWAQAAEgAAADJlMThcJBAAbAAAAFEBAAA/AAAAXCQQAGwAAABRAQAAIwAAAFwkEABsAAAAUAEAAA8AAABcJBAAbAAAAE8BAAA+AAAAXCQQAGwAAABOAQAAFQAAAFwkEABsAAAATQEAAEQAAABcJBAAbAAAAEoBAABRAAAAZXhwZWN0ZWQgbmV3X3NoYXJlX2Ftb3VudD0gPj0gZ292ZXJuYW5jZV9mZWVfc2hhcmVzPRQnEAAaAAAALicQABoAAABcJBAAbAAAAIIBAAAYAAAATG9uZyB3b3VsZCByZXN1bHQgaW4gYW4gaW5zb2x2ZW50IHBvb2wuAGgnEAAnAAAAXCQQAGwAAACUAQAAEQAAAFwkEABsAAAAigEAAFEAAABcJBAAbAAAALEBAAATAAAAXCQQAGwAAACwAQAAQgAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL29wZW4ucnNNaW5pbXVtVHJhbnNhY3Rpb25BbW91bnQ6IElucHV0IGFtb3VudCB0b28gbG93AEUoEAAuAAAA2CcQAG0AAAAiAAAAGAAAAEluc3VmZmljaWVudExpcXVpZGl0eTogTmVnYXRpdmUgSW50ZXJlc3SMKBAAKAAAANgnEABtAAAALQAAABgAAABPcGVuIGxvbmcgZGVyaXZhdGl2ZSBpcyB1bmRlZmluZWQuAADMKBAAIgAAANgnEABtAAAAYgAAABgAAADYJxAAbQAAAGsAAABRAAAA2CcQAG0AAABrAAAAIgAAANgnEABtAAAAZgAAABkAAADYJxAAbQAAAFcAAAAeAAAASW52YWxpZEFwcjogQXByIGlzIG91dHNpZGUgdGhlIHNsaXBwYWdlIGd1YXJkLgAASCkQAC4AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvYWRkLnJzAACAKRAAagAAABUAAAAYAAAARGVjcmVhc2VkUHJlc2VudFZhbHVlV2hlbkFkZGluZ0xpcXVpZGl0eTogUHJlc2VudCB2YWx1ZSBkZWNyZWFzZWQgYWZ0ZXIgYWRkaW5nIGxpcXVpZGl0eS4AAAD8KRAAWQAAAIApEABqAAAAJAAAABgAAABNaW5pbXVtVHJhbnNhY3Rpb25BbW91bnQ6IE5vdCBlbm91Z2ggbHAgc2hhcmVzIG1pbnRlZC4AAHAqEAA2AAAAgCkQAGoAAAAtAAAAGAAAAE91dHB1dExpbWl0OiBOb3QgZW5vdWdoIGxwIHNoYXJlcyBtaW50ZWQuAAAAwCoQACkAAACAKRAAagAAADQAAAAYAAAATWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBDb250cmlidXRpb24gaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHRyYW5zYWN0aW9uLgAEKxAATwAAAIApEABqAAAAQgAAABgAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvbWF0aC5yc3VwZGF0ZSB3b3VsZCByZXN1bHQgaW4gc2hhcmUgcmVzZXJ2ZXMgYmVsb3cgbWluaW11bS4A1ysQADQAAABsKxAAawAAAFkAAAAYAAAAbCsQAGsAAABYAAAASAAAAE5lZ2F0aXZlIHByZXNlbnQgdmFsdWUhADQsEAAXAAAAbCsQAGsAAACkAAAAGAAAAGwrEABrAAAAowAAABwAAABsKxAAawAAACwBAAAjAAAAbCsQAGsAAADMAAAAJwAAAEF2ZXJhZ2UgdGltZSByZW1haW5pbmcgaXMgZ3JlYXRlciB0aGFuIDFlMTgulCwQACwAAABsKxAAawAAADsBAAAYAAAAbCsQAGsAAABHAQAADQAAAGwrEABrAAAARAEAAA0AAABsKxAAawAAADkBAABZAAAAbCsQAGsAAAA5AQAAKwAAAFZhdWx0IHNoYXJlIHByaWNlIGlzIHplcm8uAAAYLRAAGgAAAGwrEABrAAAANwEAABgAAABsKxAAawAAADYBAAAoAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xwL3V0aWxzLnJzXC0QAGwAAAA/AAAAMgAAAFwtEABsAAAAPwAAABgAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvY2xvc2UucnMA6C0QAG8AAAB1AAAADQAAAOgtEABvAAAAswAAAA0AAADoLRAAbwAAAMUAAAAZAAAA6C0QAG8AAADCAAAADAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9mZWVzLnJzAACYLhAAbgAAABQAAAAVAAAAmC4QAG4AAABEAAAAFQAAAJguEABuAAAAeQAAABEAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvbWF4LnJzMWU5Tm8gc29sdmVudCBzaG9ydCBpcyBwb3NzaWJsZS4AAACoLxAAHQAAADgvEABtAAAAOQAAABgAAABJbnB1dCB0b28gbGFyZ2UuCiAgICAgICAgICAgICAgICB0YXJnZXRfYmFzZV9hbW91bnQ9CiAgICAgICAgICAgICAgICBtYXhfYmFzZV9hbW91bnQgICA94C8QADQAAAAUMBAAJAAAADgvEABtAAAAQAAAABgAAABDb3VsZCBub3QgY29udmVyZ2UgdG8gYSBib25kIGFtb3VudCBnaXZlbiBtYXggaXRlcmF0aW9ucyA9IC4KICAgICAgICAgICAgVGFyZ2V0IGJhc2UgZGVwb3NpdCA9IAogICAgICAgICAgICBFcnJvciAgICAgICAgICAgICAgID0gCiAgICAgICAgICAgIFRvbGVyYW5jZSAgICAgICAgICAgPSAAAABYMBAAOwAAAJMwEAAkAAAAtzAQACMAAADaMBAAIwAAADgvEABtAAAAnAAAABQAAABjdXJyZW50X2JvbmRfYW1vdW50PSBpcyBsZXNzIHRoYW4gdGhlIGV4cGVjdGVkIGFic29sdXRlX21heD0sIGJ1dCBzdGlsbCBub3Qgc29sdmVudC4wMRAAFAAAAEQxEAAoAAAAbDEQABgAAAA4LxAAbQAAAJIAAAAkAAAAOC8QAG0AAAAzAAAAMwAAADgvEABtAAAAjAEAACsAAAA4LxAAbQAAAKYBAAANAAAAOC8QAG0AAAChAQAAHgAAADgvEABtAAAAxQEAAD0AAAA4LxAAbQAAAMUBAAAnAAAAOC8QAG0AAADIAQAAOwAAADgvEABtAAAAyAEAACcAAAA4LxAAbQAAAMMBAABBAAAAOC8QAG0AAADAAQAAGgAAADgvEABtAAAAOwIAADMAAABleHBlY3RlZCBzaGFyZV9yZXNlcnZlcz0gPj0gc2hhcmVfZGVsdGE9XDIQABgAAAB0MhAAEAAAADgvEABtAAAAaQIAABgAAABleHBlY3RlZCBsb25nX2V4cG9zdXJlPSA+PSBjaGVja3BvaW50X2V4cG9zdXJlPS6kMhAAFwAAALsyEAAYAAAA0zIQAAEAAAA4LxAAbQAAAHMCAAAcAAAAU2hvcnQgd291bGQgcmVzdWx0IGluIGFuIGluc29sdmVudCBwb29sLvwyEAAoAAAAOC8QAG0AAAB/AgAAEQAAAEludmFsaWQgZGVyaXZhdGl2ZS4APDMQABMAAAA4LxAAbQAAAKICAAARAAAAOC8QAG0AAACdAgAAEAAAADgvEABtAAAAnAIAABAAAABNaW5pbXVtVHJhbnNhY3Rpb25BbW91bnQ6IElucHV0IGFtb3VudCB0b28gbG93LiBib25kX2Ftb3VudCA9ICBtdXN0IGJlID49IAAAiDMQAD4AAADGMxAADAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9vcGVuLnJzAADkMxAAbgAAADkAAAAYAAAASW5zdWZmaWNpZW50TGlxdWlkaXR5OiBOZWdhdGl2ZSBJbnRlcmVzdC4KICAgICAgICAgICAgICAgIGV4cGVjdGVkIGJvbmRfYW1vdW50PSA8PSBzaGFyZV9yZXNlcnZlc19kZWx0YV9pbl9zaGFyZXM9AABkNBAATwAAALM0EAAjAAAA5DMQAG4AAABTAAAAGAAAAFRoZSB0cmFuc2FjdGlvbiBjdXJ2ZSBmZWUgPSAsIGNvbXB1dGVkIHdpdGggY29lZmZpY2llbnQgPSAsCiAgICAgICAgICAgICAgICBpcyB0b28gaGlnaC4gSXQgbXVzdCBiZSBsZXNzIHRoYW4gc2hhcmUgcmVzZXJ2ZXMgZGVsdGEgPSAAAAD4NBAAHAAAABQ1EAAeAAAAMjUQAEsAAADkMxAAbgAAAGQAAAAYAAAA5DMQAG4AAABDAAAAQwAAAOQzEABuAAAAzwAAAD0AAADkMxAAbgAAAMEAAAAXAAAA5DMQAG4AAAC/AAAADgAAAOQzEABuAAAACgEAABkAAADkMxAAbgAAAAYBAAAeAAAA5DMQAG4AAAD8AAAAEwAAAOQzEABuAAAAMAEAABgAAABzaG9ydF9wcmluY2lwYWw9IGlzIHRvbyBsb3cgdG8gYWNjb3VudCBmb3IgZmVlcz0oNhAAEAAAADg2EAAgAAAA5DMQAG4AAAAzAQAAGAAAAOQzEABuAAAAmQEAAFcAAADkMxAAbgAAAJkBAAAOAAAA5DMQAG4AAADKAQAAIwAAAGV4cGVjdGVkIHk9ID4gMACoNhAACwAAALM2EAAEAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL3lpZWxkX3NwYWNlLnJzAMg2EABvAAAAIgAAABgAAADINhAAbwAAACEAAAAYAAAAZXhwZWN0ZWQgaz0gPj0gemU9AABYNxAACwAAAGM3EAAHAAAAyDYQAG8AAAA+AAAAGAAAAMg2EABvAAAAQwAAACsAAADINhAAbwAAAEMAAAAXAAAAID49IGRlbHRhX3k9qDYQAAsAAACsNxAADAAAAMg2EABvAAAASwAAABgAAADINhAAbwAAAEYAAAAnAAAAyDYQAG8AAABGAAAAFwAAAMg2EABvAAAAQQAAABEAAADINhAAbwAAADYAAAA6AAAAY2FsY3VsYXRlX3NoYXJlc19pbl9naXZlbl9ib25kc19vdXRfdXA6IHkgPSAgPCAgPSBkeRg4EAAsAAAARDgQAAMAAABHOBAABQAAAMg2EABvAAAAXQAAABgAAABjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogayA9ICA9IHl0OBAALAAAAEQ4EAADAAAAoDgQAAQAAADINhAAbwAAAGkAAAAYAAAAyDYQAG8AAAByAAAALQAAAMg2EABvAAAAcgAAABkAAABjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogX3ogPSAgPSB6ZQAA7DgQAC0AAABEOBAAAwAAABk5EAAFAAAAyDYQAG8AAAB8AAAAGAAAAMg2EABvAAAAdQAAACkAAADINhAAbwAAAHUAAAAZAAAAyDYQAG8AAABwAAAAEgAAAMg2EABvAAAAYwAAACUAAABjYWxjdWxhdGVfc2hhcmVzX291dF9naXZlbl9ib25kc19pbl9kb3duOiBrID0gAACIORAALgAAAEQ4EAADAAAAoDgQAAQAAADINhAAbwAAALcAAAAYAAAAyDYQAG8AAADEAAAALQAAAMg2EABvAAAAxAAAABkAAADINhAAbwAAANAAAAAQAAAAyDYQAG8AAADHAAAAKQAAAMg2EABvAAAAxwAAABkAAADINhAAbwAAAMIAAAASAAAAyDYQAG8AAACzAAAAJQAAAMg2EABvAAAA5QAAAD8AAADINhAAbwAAAOUAAAApAAAAY2FsY3VsYXRlX21heF9idXlfc2hhcmVzX2luOiBvcHRpbWFsX3plID0gAABwOhAAKgAAAEQ4EAADAAAAGTkQAAUAAADINhAAbwAAAPEAAAARAAAAyDYQAG8AAADoAAAAOQAAAMg2EABvAAAA6AAAACkAAADINhAAbwAAAOMAAAAaAAAAyDYQAG8AAADiAAAARgAAAMg2EABvAAAACAEAADsAAADINhAAbwAAAAgBAAAnAAAAY2FsY3VsYXRlX21heF9idXlfYm9uZHNfb3V0OiB5ID0gID0gb3B0aW1hbF95AAAAJDsQACEAAABEOBAAAwAAAEU7EAAMAAAAyDYQAG8AAAATAQAAEQAAAMg2EABvAAAACwEAADcAAADINhAAbwAAAAsBAAAnAAAAyDYQAG8AAAAGAQAAGQAAAMg2EABvAAAABQEAAD0AAADINhAAbwAAADQBAAA3AAAAyDYQAG8AAAA0AQAAJwAAAGNhbGN1bGF0ZV9tYXhfc2VsbF9ib25kc19pbjogb3B0aW1hbF95ID0gAAAA3DsQACkAAABEOBAAAwAAAKA4EAAEAAAAyDYQAG8AAAA/AQAAEQAAAMg2EABvAAAANwEAADsAAADINhAAbwAAADcBAAAnAAAAyDYQAG8AAAAyAQAAGQAAAMg2EABvAAAALwEAACkAAADINhAAbwAAAFABAAAaAAAAyDYQAG8AAABOAQAAMAAAAMg2EABvAAAAXAEAABoAAADINhAAbwAAAFoBAAAqAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xpYi5ycwCwPBAAZwAAAJ4AAAANAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvZml4ZWRfcG9pbnQucnMAACg9EABuAAAASwAAAE8AAABBAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAoPRAAbgAAAM0AAABGAAAAAQAAAAAAAAABAEGo/MAAC50BEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LjA+EAALAAAAOz4QACEAAAAoPRAAbgAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAHw+EAAdAAAAmT4QAAkAAAAoPRAAbgAAAKwAAAAUAAAAAQBB0P3AAAudBP//////////////////////////////////////////EgAAAAAAAABGYWlsZWQgdG8gY29udmVydCB2YWx1ZSB0byB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSB0eXBlOgogICAgdmFsdWU6IAogICAgVW5kZXJseWluZyByYW5nZTogIHRvIAoA+D4QAEcAAAA/PxAAFwAAAFY/EAAEAAAAWj8QAAEAAAAoPRAAbgAAACkAAAANAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwCMPxAAZwAAAEAAAAAOAAAAQ2Fubm90IGRpdmlkZSBieSB6ZXJvLgAABEAQABYAAACMPxAAZwAAADYAAAANAAAARml4ZWRQb2ludCBvcGVyYXRpb24gb3ZlcmZsb3dlZDogICogIC8gADRAEAAhAAAAVUAQAAMAAABYQBAAAwAAAIw/EABnAAAAPwAAABoAAACMPxAAZwAAADAAAAAKAAAAjD8QAGcAAAAmAAAADQAAAIw/EABnAAAALwAAABYAAACMPxAAZwAAAHUAAAAVAAAAjD8QAGcAAABdAAAAEQAAAEZpeGVkUG9pbnQoKdRAEAALAAAA30AQAAEAQZCCwQALqQdCAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzRmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gdTEyODogAAAAs0EQADYAAABLQRAAaAAAAJAAAAAFAAAAQ2Fubm90IGZsaXAgc2lnbiBvZiB1bnNpZ25lZCB0eXBlOiAABEIQACMAAABLQRAAaAAAAGkAAAANAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwBAQhAAZwAAACYAAAABAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheUMAAAAMAAAABAAAAEQAAABDAAAADAAAAAQAAABFAAAARAAAAOBCEABGAAAARwAAAEgAAABJAAAASgAAAEsAAAAYAAAABAAAAEwAAABLAAAAGAAAAAQAAABNAAAATAAAABxDEABOAAAATwAAAEgAAABQAAAASgAAAFEAAABSAAAAUgAAAFMAAABUAAAAVAAAAFUAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAHRDEAAdAAAAMWUxOC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy91dGlscy5yc2VmZmVjdGl2ZSBzaGFyZSByZXNlcnZlcyBjYW5ub3QgYmUgbmVnYXRpdmUJRBAAKwAAAKBDEABpAAAAMAAAABQAAACgQxAAaQAAAHoAAAAGAAAAoEMQAGkAAACMAAAAOgAAAKBDEABpAAAAnwAAADoAAACgQxAAaQAAAJ4AAABUAAAAoEMQAGkAAACeAAAACgAAAEVycm9yAAAAWAAAAAwAAAAEAAAAWQAAAFoAAABbAEHEicEAC6UCAQAAAFwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAAADRRAASwAAAAYKAAAOAAAASW52YWxpZCBhZGRyZXNzOiAKICAgIAAAYEUQABEAAABxRRAABQAAAAAAAAAEAAAABAAAAGIAAABFcnJvcm9iagAAAAAEAAAABAAAAGMAAABPYmplY3QAAAAAAAAEAAAABAAAAGQAAABSYW5nZUVycm9yAABlAAAADAAAAAQAAABmAAAAZwAAAFsAQfSLwQALvQMBAAAAaAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAADNGEABLAAAABgoAAA4AAABGYWlsZWQgdG8gcGFyc2UgQmlnSW50OiAKICAgIAAAAJBGEAAYAAAAqEYQAAUAAABJbnZhbGlkIHVpbnQyNTY6IAAAAMBGEAARAAAAqEYQAAUAAABJbnZhbGlkIGludDI1Njog5EYQABAAAACoRhAABQAAAEludmFsaWQgQmlnSW50OiAERxAAEAAAAAogICAgTG9jYXRpb246IAABAAAAAAAAABxHEAAPAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwA8RxAAZwAAACYAAAABAEHXj8EACwKAAgBB+I/BAAuNDmFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AAAA+EcQAB0AAABUcnlGcm9tQmlnSW50RXJyb3JFeHBvbmVudCAgaXMgdG9vIHNtYWxsIGZvciBVMjU2OiAAMkgQAAkAAAA7SBAAGAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3V0aWxzLnJzZEgQAGgAAAA2AAAACQAAAFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGluIFUyNTY6IAAA3EgQAB4AAABkSBAAaAAAAC0AAAANAAAAIGlzIHRvbyBzbWFsbCBmb3IgSTI1NjogMkgQAAkAAAAUSRAAGAAAAGRIEABoAAAAbAAAAAkAAABVbmV4cGVjdGVkIGNoYXJhY3RlciBpbiBJMjU2OiAAAExJEAAeAAAAZEgQAGgAAABkAAAADQAAADEzNTMwNTk5OTM2ODg5MzIzMTU4OWludmFsaWQgZXhwb25lbnQgAACZSRAAEQAAAGRIEABoAAAAfgAAAAkAAAA1AAAAZEgQAGgAAACEAAAACQAAADU0OTE2Nzc3NDY3NzA3NDczMzUxMTQxNDcxMTI4AAAAZEgQAGgAAACJAAAADgAAADI0Mzg1MjcyNTIxNDU0ODQ3OTA0NjU5MDc2OTg1NjkzMjc2AGRIEABoAAAAugAAABMAAAAzODIyODMzMDc0OTYzMjM2NDUzMDQyNzM4MjU4OTAyMTU4MDAzMTU1NDE2NjE1NjY3MTk1bwAAAAQAAAAEAAAAAgAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAZEgQAGgAAADIAAAAEgAAAGRIEABoAAAAxgAAAB4AAABkSBAAaAAAAKAAAAAXAAAAZEgQAGgAAACKAAAAFwAAAGRIEABoAAAAiQAAACQAAABkSBAAaAAAAIQAAAAeAAAAZEgQAGgAAAB9AAAADQAAAENhbm5vdCBjYWxjdWxhdGUgbG4gb2Ygb2YgbmVnYXRpdmUgbnVtYmVyIG9yIHplcm8uAAAcSxAAMgAAAGRIEABoAAAA0AAAAAkAAAA5NjE1OTMyNzMyODU0NTk2Mzg1MjM4NDg2MzIyNTQwNjYyOTYyNDgyODE1NzA4MTgzMzE2Mzg5MjY1ODA4OTQ0NTUyNDQzNDU2NDg1NzI1NzM5MDM3OTU4NzQwMzc1NzQzMzkzMTExMTE1MDkxMDk0NDA5NjcwNTIwMjM4NTU1MjY5Njc0NTAyMzcwOTY2NzI1NDA2Mzc2MzMzNjUzNDUxNTg1NzE0NzA2NzczNDE3Mzc4NjA4Nzg2NzA0NjM2MTg0NTI2Nzk1MTY0MjM1NjUxMzUwNDI2MjU4MjQ5Nzg3NDk4NTU3MzAzNTIzMzQ0MDY3MzQ2NjMwMDQ1MTgxMzkzNjcxNjk0ODc0Nzk5MzE3ODgzNzY0MDkwNTYxNDU0OTU4MjgzNDQ3MDM2MTcyOTI0NTc1NzI3MTk2NDUxMzA2OTU2NDAxNjg2NjkwMzk0MDI3NjYzNjUxNjI0MjA4NzY5NTUzMjA0MDQ4NDU3NTkwMzkyMDEyMzYyNDg1MDYxODE2NjIyMzE4NTM4OTk2OTg1MDE1NzE0MDI2NTMzNTk0MjcxMzg5MDk0Mjk5NzEyNDQzODczMDAyNzczNzY1NTgzNzUAAGRIEABoAAAADQEAAAsAAAAxNjc3MjAyMTEwOTk2NzE4NTg4MzQyODIwOTY3MDY3NDQzOTYzNTE2MTY2MTY1OTc1Nzc1NTI2ODU2MTQyMjE0ODcyODU5NTgxOTM5NDc0NjkxOTM4MjA1NTkyMTk4NzgxNzc5MDgwOTM0OTkyMDgzNzE2MDA5MjAxNzk4Mjk3MzE4NjE3MzY3MDI3NzkzMjE2MjE0NTk1OTU0NzIyNTgwNDkwNzQxMDE1NjczNzc4ODMwMjAwMTgzMDgAAGRIEABoAAAAHwEAABgAAABkSBAAaAAAABsBAAAJAAAAZEgQAGgAAAAYAQAAGAAAAGRIEABoAAAACwEAABcAAABkSBAAaAAAAAcBAAAXAAAAZEgQAGgAAAADAQAAFwAAAGRIEABoAAAA/wAAABcAAABkSBAAaAAAAPsAAAAXAAAAZEgQAGgAAAD3AAAAMgAAAGRIEABoAAAA9gAAACAAAABkSBAAaAAAAPIAAAAXAAAAZEgQAGgAAADvAAAANAAAAGRIEABoAAAA7gAAADQAAABkSBAAaAAAAO0AAAA0AAAAZEgQAGgAAADsAAAANAAAAGRIEABoAAAA6wAAADQAAABkSBAAaAAAAOoAAAAgAEGQnsEAC7EDAQAAAHAAAABkSBAAaAAAAOUAAAA1AAAAZEgQAGgAAADlAAAAGAAAAGRIEABoAAAA5AAAABwAAABkSBAAaAAAAOEAAAAhAAAAZEgQAGgAAADgAAAAIQAAAGRIEABoAAAA3wAAACEAAABkSBAAaAAAAN4AAAAhAAAAZEgQAGgAAADdAAAAIQAAAGRIEABoAAAA3AAAACEAAABkSBAAaAAAANoAAAAhAAAAAQAAAAAAAABGYWlsZWQgdG8gY29udmVydCB2YWx1ZSB0byB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSB0eXBlOgogICAgdmFsdWU6IAogICAgVW5kZXJseWluZyByYW5nZTogIHRvIAoAwE8QAEcAAAAHUBAAFwAAAB5QEAAEAAAAIlAQAAEAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5ycwAARFAQAG4AAAApAAAADQBB6KHBAAu1BBIAAAAAAAAA//////////////////////////////////////////8SAAAAAAAAAHMAAAAEAAAABAAAAAIAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAERQEABuAAAAzQAAAEYAAAABAAAAAAAAAAEAAAAAAAAARml4ZWRQb2ludCgpdFEQAAsAAAB/URAAAQAAAC1kZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5AAAAdAAAAAwAAAAEAAAAdQAAAHQAAAAMAAAABAAAAHYAAAB1AAAAvFEQAHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAABgAAAAEAAAAfQAAAHwAAAAYAAAABAAAAH4AAAB9AAAA+FEQAH8AAACAAAAAeQAAAIEAAAB7AAAAggAAAIMAAACDAAAAhAAAAIUAAACFAAAAhgAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAUFIQAGcAAAAmAAAAAQAAAEludGVnZXIgb3ZlcmZsb3cgd2hlbiBjYXN0aW5nIHRvIHVzaXplAADIUhAAJgAAAGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AAAA+FIQAB0AQcCmwQALpQdDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IABAUxAAIwAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzbFMQAGgAAABpAAAADQAAAEZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6IAAA5FMQADYAAABsUxAAaAAAAJAAAAAFAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdmFsdWVfaW1wbHMucnNGYWlsZWQgdG8gY29udmVydCB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSBvZiB0eXBlIFUyNTYgdG8gSTI1NjogAAAAolQQAEMAAAA0VBAAbgAAAH8AAAABAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQAAAAAUAAAABAAAAIkAAACKAAAAiwAAAAAAAAAIAAAABAAAAIwAAAAAAAAACAAAAAQAAACNAAAAjAAAAEBVEACOAAAAjwAAAJAAAACRAAAAkgAAAJMAAACUAAAAlAAAAJUAAACWAAAAlgAAAJcAAACYAAAADAAAAAQAAACZAAAAmAAAAAwAAAAEAAAAmgAAAJkAAACYVRAAjgAAAJsAAACQAAAAnAAAAJIAAACdAAAAngAAAJ4AAACfAAAAoAAAAKAAAAChAAAAogAAABQAAAAEAAAAowAAAKIAAAAUAAAABAAAAKQAAACjAAAA8FUQAKUAAACmAAAAkAAAAKcAAACSAAAAqAAAABgAAAAEAAAAqQAAAKgAAAAYAAAABAAAAKoAAACpAAAALFYQAKsAAACsAAAAkAAAAK0AAACSAAAAAQAAAAAAAAA6IAAAcFYQAAIAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAACuAAAAfFYQAHxWEACvAAAAsAAAALEAAAAKCkNhdXNlZCBieToKICAgIAoKTG9jYXRpb246CgAAAAAAAAAEAAAABAAAALMAAAC0AAAAtQAAAAEAQfCtwQALJRQAAAAEAAAAiQAAAIoAAACLAAAAAAAAAAwAAAAEAAAAtgAAALcAQaCuwQALpRIBAAAAuAAAALkAAAC6AAAAAQAAAAAAAAA6IAAAAQAAAAAAAAA4VxAAAgAAACAgICAgIAAATFcQAAYAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZXRoZXJzLWNvcmUtMi4wLjE0L3NyYy90eXBlcy9pMjU2LnJzAABcVxAAagAAANMAAAAyAAAAXFcQAGoAAADUAAAAMgAAAAEAAAAAAAAAaW52YWxpZCBkaWdpdCBmb3VuZCBpbiBzdHJpbmdudW1iZXIgZG9lcyBub3QgZml0IGluIDI1Ni1iaXQgaW50ZWdlcv///////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4P//////////////////////////////////8KCwwNDg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY29uc3QtaGV4LTEuMTIuMC9zcmMvbGliLnJzM1kQAGEAAAC6AgAADAAAAFVuc2lnbmVkIGludGVnZXIgY2FuJ3QgYmUgY3JlYXRlZCBmcm9tIG5lZ2F0aXZlIHZhbHVlAAAApFkQADUAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwBLWhAAEAAAADB4MGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93Z1oQAB0AAADkWRAAZwAAACYAAAABAAAA5FkQAGcAAAArAAAAAQAAAGNsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBhZnRlciBiZWluZyBkcm9wcGVkYHVud3JhcF90aHJvd2AgZmFpbGVkSW52YWxpZCBjaGFyYWN0ZXIgJycgYXQgcG9zaXRpb24g81oQABMAAAAGWxAADgAAAEludmFsaWQgaW5wdXQgbGVuZ3RoL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3J1c3RjLWhleC0yLjEuMC9zcmMvbGliLnJzOFsQAGAAAAD+AAAAKAAAADhbEABgAAAA/gAAAD8AAAAAAAAABAAAAAQAAADJAAAAAQAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9vbmNlX2NlbGwtMS4xOS4wL3NyYy9pbXBfc3RkLnJzAAAAzFsQAGUAAAChAAAANgAAAMxbEABlAAAAmwAAAAkAAAABAAAAAAAAAGEgY2hhcmFjdGVyIGlzIG5vdCBpbiB0aGUgcmFuZ2UgMC05dGhlIG51bWJlciBpcyB0b28gbGFyZ2UgZm9yIHRoZSB0eXBlSnNWYWx1ZSgpo1wQAAgAAACrXBAAAQAAAHJlZW50cmFudCBpbml0AAC8XBAADgAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAA1FwQAE0AAAAjAQAAQgAAAM0AAAAMAAAABAAAAM4AAADPAAAA0AAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZABMXRAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAATF0QACkAAACuBAAADQAAAHVzZSBvZiBzdGQ6OnRocmVhZDo6Y3VycmVudCgpIGlzIG5vdCBwb3NzaWJsZSBhZnRlciB0aGUgdGhyZWFkJ3MgbG9jYWwgZGF0YSBoYXMgYmVlbiBkZXN0cm95ZWRzdGQvc3JjL3RocmVhZC9tb2QucnMAUl4QABUAAADzAgAAEwAAAGZhaWxlZCB0byBnZW5lcmF0ZSB1bmlxdWUgdGhyZWFkIElEOiBiaXRzcGFjZSBleGhhdXN0ZWQAeF4QADcAAABSXhAAFQAAAMYEAAANAAAAcGFuaWNrZWQgYXQgOgptZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVk1l4QABUAAADrXhAADQAAAHN0ZC9zcmMvYWxsb2MucnMIXxAAEAAAAGMBAAAJAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZChfEAA0AAAAc3RkL3NyYy9wYW5pY2tpbmcucnNkXxAAFAAAAIMAAAAJAAAAzQAAAAwAAAAEAAAA0QAAAAAAAAAIAAAABAAAANIAAAAAAAAACAAAAAQAAADTAAAA1AAAANUAAADWAAAA1wAAABAAAAAEAAAA2AAAANkAAADaAAAA2wAAAEVycm9yTGF5b3V0RXJyb3LcAAAADAAAAAQAAADdAAAA3gAAAN8AAABjYXBhY2l0eSBvdmVyZmxvdwAAAAhgEAARAAAAYWxsb2Mvc3JjL3Jhd192ZWMucnMkYBAAFAAAABgAAAAFAEHQwMEAC30BAAAA4AAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90YWxsb2Mvc3JjL2ZtdC5ycwAArmAQABAAAAB+AgAADgBB2MHBAAuyHAEAAADhAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZWFsbG9jL3NyYy9zeW5jLnJzC2EQABEAAABtAQAAMgAAAC4uMDEyMzQ1Njc4OWFiY2RlZgAAAQAAAAAAAAA6W2NhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUAAAABAAAAAAAAAEhhEAABAAAASGEQAAEAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAkGEQACAAAACwYRAAEgAAAD09IT1tYXRjaGVzYXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogAN9hEAAQAAAA72EQABcAAAAGYhAACQAAACByaWdodGAgZmFpbGVkOiAKICBsZWZ0OiAAAADfYRAAEAAAAChiEAAQAAAAOGIQAAkAAAAGYhAACQAAADogAAABAAAAAAAAAGRiEAACAAAAAAAAAAwAAAAEAAAA5gAAAOcAAADoAAAAICAgICB7ICwgIHsKLAp9IH0KXWNvcmUvc3JjL2ZtdC9udW0ucnMAAKNiEAATAAAAZgAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXNzZXJ0aW9uIGZhaWxlZDogKmN1cnIgPiAxOQAAo2IQABMAAAANAgAABQAAAGNvcmUvc3JjL2ZtdC9tb2QucnMAwGMQABMAAACWCQAAJgAAAMBjEAATAAAAnwkAABoAAAByYW5nZSBzdGFydCBpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGgg9GMQABIAAAAGZBAAIgAAAHJhbmdlIGVuZCBpbmRleCA4ZBAAEAAAAAZkEAAiAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAAWGQQABYAAABuZBAADQAAAFsuLi5dYmVnaW4gPD0gZW5kICggPD0gKSB3aGVuIHNsaWNpbmcgYGCRZBAADgAAAJ9kEAAEAAAAo2QQABAAAACzZBAAAQAAAGJ5dGUgaW5kZXggIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSAgKGJ5dGVzICkgb2YgYADUZBAACwAAAN9kEAAmAAAABWUQAAgAAAANZRAABgAAALNkEAABAAAAIGlzIG91dCBvZiBib3VuZHMgb2YgYAAA1GQQAAsAAAA8ZRAAFgAAALNkEAABAAAAY29yZS9zcmMvc3RyL21vZC5ycwBsZRAAEwAAAPAAAAAsAAAAY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAAACQZRAAHQAAABoAAAA2AAAAkGUQAB0AAAAKAAAAKwAAAAAGAQEDAQQCBQcHAggICQIKBQsCDgQQARECEgUTERQBFQIXAhkNHAUdCB8BJAFqBGsCrwOxArwCzwLRAtQM1QnWAtcC2gHgBeEC5wToAu4g8AT4AvoD+wEMJzs+Tk+Pnp6fe4uTlqKyuoaxBgcJNj0+VvPQ0QQUGDY3Vld/qq6vvTXgEoeJjp4EDQ4REikxNDpFRklKTk9kZVy2txscBwgKCxQXNjk6qKnY2Qk3kJGoBwo7PmZpj5IRb1+/7u9aYvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/5+zv/8XGBCAjJSYoMzg6SEpMUFNVVlhaXF5gY2Vma3N4fX+KpKqvsMDQrq9ub76TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSSysIKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULQj4qBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkKRkUbSAhTDUkHCoD2RgodA0dJNwMOCAoGOQcKgTYZBzsDHFYBDzINg5tmdQuAxIpMYw2EMBAWj6qCR6G5gjkHKgRcBiYKRgooBROCsFtlSwQ5BxFABQsCDpf4CITWKgmi54EzDwEdBg4ECIGMiQRrBQ0DCQcQkmBHCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqC5oD3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AQRAw0DdwRfBgwEAQ8MBDgICgYoCCJOgVQMHQMJBzYIDgQJBwkHgMslCoQGAAEDBQUGBgIHBggHCREKHAsZDBoNEA4MDwQQAxISEwkWARcEGAEZAxoHGwEcAh8WIAMrAy0LLgEwBDECMgGnAqkCqgSrCPoC+wX9Av4D/wmteHmLjaIwV1iLjJAc3Q4PS0z7/C4vP1xdX+KEjY6RkqmxurvFxsnK3uTl/wAEERIpMTQ3Ojs9SUpdhI6SqbG0urvGys7P5OUABA0OERIpMTQ6O0VGSUpeZGWEkZudyc7PDREpOjtFSVdbXF5fZGWNkam0urvFyd/k5fANEUVJZGWAhLK8vr/V1/Dxg4WLpKa+v8XHz9rbSJi9zcbOz0lOT1dZXl+Jjo+xtre/wcbH1xEWF1tc9vf+/4Btcd7fDh9ubxwdX31+rq9/u7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHWWJi4vp6+3v8fP19+aAECXmDCPH9LUzv9OT1pbBwgPECcv7u9ubzc9P0JFkJFTZ3XIydDR2Nnn/v8AIF8igt8EgkQIGwQGEYGsDoCrBR8JgRsDGQgBBC8ENAQHAwEHBgcRClAPEgdVBwMEHAoJAwgDBwMCAwMDDAQFAwsGAQ4VBU4HGwdXBwIGFwxQBEMDLQMBBBEGDww6BB0lXyBtBGolgMgFgrADGgaC/QNZBxYJGAkUDBQMagYKBhoGWQcrBUYKLAQMBAEDMQssBBoGCwOArAYKBi8xTQOApAg8Aw8DPAc4CCsFgv8RGAgvES0DIQ8hD4CMBIKXGQsViJQFLwU7BwIOGAmAviJ0DIDWGoEQBYDfC/KeAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NY29yZS9zcmMvdW5pY29kZS91bmljb2RlX2RhdGEucnMAS2sQACAAAABQAAAAKAAAAEtrEAAgAAAAXAAAABYAAABhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAAAAjGsQABkAAAAAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLKArKjAgLG+m4CwCqGAtHvtgLgD+IDae/2A2/QHhNgEKITckDeE3qw5hOS8YoTkwHGFI8x6hTEA0YVDwaqFRT28hUp28oVIAz2FTZdGhUwDaIVQA4OFVruJhV+zkIVnQ6KFZIADuWfABf1oAcAAHAC0BAQECAQIBAUgLMBUQAWUHAgYCAgEEIwEeG1sLOgkJARgEAQkBAwEFKwM8CCoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAQIBAwEFAgcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLB0kCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAMdAh4CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwBwEBBQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsuAzABAgQCAicBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEAAJQA0YLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJCgQCAV8DAgEBAgYBAgGdAQMIFQI5AgEBAQEWAQ4HAwXDCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAgYBAWUDAgQBBQAJAQL1AQoCAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAQEBAAEGDwAFOwcAAT8EUQEAAgAuAhcAAQEDBAUICAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQVkAaAHAAE9BAAEAAdtBwBggPAAgwEJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0YyUxLjgyLjAtbmlnaHRseSAoNDFkZDE0OWZkIDIwMjQtMDgtMTEpBndhbHJ1cwYwLjIwLjMMd2FzbS1iaW5kZ2VuEjAuMi45MiAoMmE0YTQ5MzYyKQBJD3RhcmdldF9mZWF0dXJlcwQrD211dGFibGUtZ2xvYmFscysIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==") const wasmModule = new WebAssembly.Module(input); const wasmInstance = new WebAssembly.Instance(wasmModule, imports); diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm_bg.wasm b/packages/hyperdrive-wasm/hyperdrive_wasm_bg.wasm index 6c3572015..fd84665b8 100644 Binary files a/packages/hyperdrive-wasm/hyperdrive_wasm_bg.wasm and b/packages/hyperdrive-wasm/hyperdrive_wasm_bg.wasm differ